嵌入式学习笔记:第四周


嵌入式Linux文件操作


1、Linux系统空间的组成:用户空间、内核空间(提供核心的服务和数据)

注:用户空间到内核空间是有开销的(时间、CPU、 内存)

2、系统调用:用户空间访问内核空间的方式; (注: 用户不能直接发起系统调用;系统调用的接口不能跨平台使用)

用户编程接口API:发生系统调用-访问内核空间的服务和数据
(注:访问内核空间的方式:系统调用、硬件中断、软件中断)

3、Linux-一点哲学: 一切皆为文件;文件的分类;文件描述符的作用!

4、读写文件(除去普通文件)发生阻塞; (读空文件会阻塞、 写满文件会阻塞) ;

(注:标准输入设备: STDIN_ FILENO, 标准输出设备: STDOUT_ FILENO,标准出错设备: STDERR _FILENO) ;

5、如何改变设备的阻塞状态? (open打开文件时, 选择O_ NONBLOCK选项;对已打开的文件,使用fcntI函数进行标志位设置)

fcntl (fd, F_ SETL, O_ NONBLOCK) ;

6、文件的重定向(改变文件的输出输入方向) : dup,dup2

7、文件的属性获取: stat, fstat (文件的大小)

8、文件的读取: - -般方法: read映射的方法: mmap (NULL,len, PORT_ READ | PORT_ WRITE, MAX_ SHARED,fd,0) ;

9.文件的普通操作: creat\open\read\write\close\Iseek

10.C库函数: fopen\fclose\fread\fwrite\fseek
fgets\fputs\fprinf\fscanf\ftell\feof
11.自学: ioctl
嵌入式学习笔记:第四周
嵌入式学习笔记:第四周
嵌入式学习笔记:第四周
嵌入式学习笔记:第四周
嵌入式学习笔记:第四周
嵌入式学习笔记:第四周