嵌入式应用程序设计 教学课件 华清远见嵌入式学院 穆煜 第2章 嵌入式文件IO编程.ppt

嵌入式应用程序设计 教学课件 华清远见嵌入式学院 穆煜 第2章 嵌入式文件IO编程.ppt

ID:50319263

大小:1.38 MB

页数:50页

时间:2020-03-08

嵌入式应用程序设计 教学课件 华清远见嵌入式学院 穆煜 第2章 嵌入式文件IO编程.ppt_第1页
嵌入式应用程序设计 教学课件 华清远见嵌入式学院 穆煜 第2章 嵌入式文件IO编程.ppt_第2页
嵌入式应用程序设计 教学课件 华清远见嵌入式学院 穆煜 第2章 嵌入式文件IO编程.ppt_第3页
嵌入式应用程序设计 教学课件 华清远见嵌入式学院 穆煜 第2章 嵌入式文件IO编程.ppt_第4页
嵌入式应用程序设计 教学课件 华清远见嵌入式学院 穆煜 第2章 嵌入式文件IO编程.ppt_第5页
资源描述:

《嵌入式应用程序设计 教学课件 华清远见嵌入式学院 穆煜 第2章 嵌入式文件IO编程.ppt》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、嵌入式应用程序设计第2章嵌入式文件I/O编程第1章搭建嵌入式Linux开发环境第2章嵌入式文件I/O编程第3章嵌入式Linux多任务编程第4章嵌入式Linux进程间通行第5章嵌入式Linux多线程编程第6章嵌入式Linux网络编程第7章Qt图形编程第8章嵌入式Linux设备驱动编程第9章Qt聊天项目设计课程安排:22.1Linux系统调用及用户编程接口2.2Linux文件I/O系统概述2.3底层文件I/O操作2.4嵌入式Linux串口应用编程2.5标准I/O编程2.6实验内容2.7小结2.8思考与练习本章课程:32.1.1系统调用2.1Linux系统调用

2、及用户编程接口系统调用是指操作系统提供给用户程序调用的一组“特殊”接口,用户程序可以通过这组“特殊”接口获得操作系统内核提供的服务。例如用户可以通过进程控制相关的系统调用来创建进程、实现进程之间的通信等。42.1.2用户编程接口2.1Linux系统调用及用户编程接口在Linux中,用户编程接口(API)遵循了在Unix中最流行的应用编程界面标准——POSIX标准。POSIX标准是由IEEE和ISO/IEC共同开发的标准系统。该标准基于当时现有的Unix实践和经验,描述了操作系统的系统调用编程接口(实际上就是API),用于保证应用程序可以在源代码一级上在多

3、种操作系统上移植运行。这些系统调用编程接口主要是通过C库(libc)实现的。52.1.3系统命令2.1Linux系统调用及用户编程接口系统命令相对API更高了一层,它实际上一个可执行程序,它的内部引用了用户编程接口(API)来实现相应的功能,它们之间的关系如图:62.2.1虚拟文件系统Linux系统成功的关键因素之一就是具有与其他操作系统和谐共存的能力。Linux的文件系统由两层结构构建。第一层是虚拟文件系统(VFS),第二层是各种不同的具体的文件系统。VFS在linux系统中的位置如图:2.2Linux文件I/O系统概述72.2.2中文件及文件描述符对

4、于Linux而言,所有对设备和文件的操作都是使用文件描述符来进行的。文件描述符是一个非负的整数,它是一个索引值,并指向在内核中每个进程打开文件的记录表。当打开一个现存文件或创建一个新文件时,内核就向进程返回一个文件描述符;当需要读写文件时,也需要把文件描述符作为参数传递给相应的函数。一个进程启动时,都会打开3个文件:标准输入、标准输出和标准出错处理2.2Linux文件I/O系统概述文件描述符宏标准输入0STDIN_FILENO标准输出1STDOUT_FILENO标准出错2STDERR_FILENO82.3.1基本文件操作open函数是用于打开或创建文件,

5、在打开或创建文件时可以指定文件的属性及用户的权限等各种参数。所需头文件:#include#include #include原型:intopen(constchar*pathname,intflags,intperms)2.3底层文件I/O操作92.3.1基本文件操作open函数语法要点2.3底层文件I/O操作102.3.1基本文件操作close()函数是用于关闭一个被打开的文件。close函数语法要点:2.3底层文件I/O操作112.3.1基本文件操作read()函数是用于将从指定的文件

6、描述符中读出的数据放到缓存区中,并返回实际读入的字节数。read函数语法要点:2.3底层文件I/O操作122.3.1基本文件操作write()函数是用于向打开的文件写数据,写操作从文件的当前指针位置开始。write函数语法要点:2.3底层文件I/O操作132.3.1基本文件操作lseek()函数是用于在指定的文件描述符中将文件指针定位到相应的位置。lseek函数语法要点:2.3底层文件I/O操作142.3.2文件锁fcntl()函数具有很丰富的功能,它可以对已打开的文件描述符进行各种操作,不仅包括管理文件锁,还包括获得设置文件描述符和文件描述符标志、文件

7、描述符的复制等很多功能。2.3底层文件I/O操作152.3.2文件锁fcntl()函数语法要点2.3底层文件I/O操作162.3.2文件锁fcntl()函数第三个参数lock说明lock为结构体flock它的定义为:structflockflock成员取值含义如表:{shortl_type;off_tl_start;shortl_whence;off_tl_len;pid_tl_pid;}2.3底层文件I/O操作172.3.3多路复用I/O处理模型阻塞I/O模型非阻塞模型I/O多路转接模型信号驱动I/O模型异步I/O模型select和poll的I/O转接

8、模型是处理I/O复用的一个高效的方法2.3底层文件I/O操作182.3.3多路复

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。