摘要: Ctrl+Alt+T terminal clear 清屏 vim hello.cpp进入命令行模式,按“i”进入插入模式,即可进行粘贴以及其他编辑工作。 按“ESC”,即可回到命令行模式。按“:”冒号键进入底行模式 。 输入 「w filename」将文章以指定的文件名filename保存。 输入「 阅读全文
posted @ 2019-08-15 23:23 yang_xs 阅读(112) 评论(0) 推荐(0) 编辑
摘要: 1. 内存映射 在unix/linux平台下读写文件,一般有两种方式。第一种是首先open文件,接着使用read系统调用读取文件的全部或一部分。于是内核将文件的内容从磁盘上读取到内核页高速缓冲,再从内核高速缓冲读取到用户进程的地址空间。这么做需要在内核和用户空间之间做四次数据拷贝。而且当多个进程同时 阅读全文
posted @ 2019-08-15 17:34 yang_xs 阅读(2483) 评论(0) 推荐(0) 编辑
摘要: 逻辑地址(Logical Address) 是指由程序产生的和段相关的偏移地址部分。例如,在进行C语言指针编程中,能读取指针变量本身值(&操作),实际上这个值就是逻辑地址,他是相对于当前进程数据段的地址,不和绝对物理地址相干。应用程式员仅需和逻辑地址打交道,而分段和分页机制对你来说是完全透明的,仅由 阅读全文
posted @ 2019-08-15 17:11 yang_xs 阅读(784) 评论(0) 推荐(0) 编辑
摘要: 操作系统的核心是内核,独立于普通的应用程序,可以访问受保护的内存空间,也有访问底层硬件设备的权限。为了保证用户进程不能直接操作内核,保证内核安全,操作系统将虚拟空间划分为两部分,一部分是内核空间,一部分是用户空间。 针对Linux操作系统,将最高的1G字节(从虚拟地址0xC0000000到0xFFF 阅读全文
posted @ 2019-08-15 17:07 yang_xs 阅读(351) 评论(0) 推荐(0) 编辑
摘要: 通过framebuffer绘制屏幕上的每一个像素点: 1.打开framebuffer设备; 2.通过ioctl取得fixed screen information;(ioctl(fd, FBIOGET_FSCREENINFO, &finfo)) 3.通过ioctl取得variable screen 阅读全文
posted @ 2019-08-15 16:53 yang_xs 阅读(216) 评论(0) 推荐(0) 编辑
摘要: 帧缓冲设备对应的设备文件为/dev/fb* 通过/dev/fb,应用程序的操作主要有这几种: 1. 读/写(read/write)/dev/fb:相当于读/写屏幕缓冲区。 2. 映射(map)操作:由于Linux工作在保护模式,每个应用程序都有自己的虚拟地址空间,在应用程序中是不能直接访问物理缓冲区 阅读全文
posted @ 2019-08-15 16:47 yang_xs 阅读(1736) 评论(0) 推荐(1) 编辑