- 1、本文档共65页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
五嵌入式文件IO编程
嵌入式应用程序设计第五章 嵌入式文件I/O编程 5.1 Linux系统调用及用户编程接口 5.2 Linux文件I/O系统概述 5.3 底层文件I/O操作 5.4 嵌入式Linux串口应用编程 5.5 标准I/O编程 5.6 实验内容 5.7 小结 5.8 思考与练习 5.1 Linux系统调用及用户编程接口 5.1.1 系统调用 5.1.2 用户编程接口 5.1.3 系统命令 5.1.1 系统调用 系统调用是指操作系统提供给用户程序调用的一组“特殊”接口,用户程序可以通过这组“特殊”接口获得操作系统内核提供的服务。例如用户可以通过进程控制相关的系统调用来创建进程、实现进程之间的通信等。 在Linux中,为了更好地保护内核空间,将程序的运行空间分为内核空间和用户空间(也就是常称的内核态和用户态),它们分别运行在不同的级别上,逻辑上是相互隔离的。 用户进程在通常情况下不允许访问内核数据,也无法使用内核函数,它们只能在用户空间操作用户数据,调用用户空间的函数。 但是,在有些情况下,用户空间的进程需要获得一定的系统服务(调用内核空间程序),这时操作系统就必须利用系统提供给用户的“特殊接口”——系统调用规定用户进程进入内核空间的具体位置。进行系统调用时,程序运行空间需要从用户空间进入内核空间,处理完后再返回到用户空间。 5.1.2 用户编程接口 在Linux中,用户编程接口(API)遵循了在Unix中最流行的应用编程界面标准——POSIX标准。POSIX标准是由IEEE和ISO/IEC共同开发的标准系统。该标准基于当时现有的Unix实践和经验,描述了操作系统的系统调用编程接口(实际上就是API),用于保证应用程序可以在源代码一级上在多种操作系统上移植运行。这些系统调用编程接口主要是通过C库(libc)实现的。 5.1.3 系统命令 系统命令相对API更高了一层,它实际上是一个可执行程序,它的内部引用了用户编程接口(API)来实现相应的功能 ,它们之间的关系如图: 5.2 Linux文件I/O系统概述 5.2.1 虚拟文件系统 5.2.2 通用文件模型 5.2.3 Linux中文件及文件描述符 5.2.1 虚拟文件系统 Linux系统成功的关键因素之一就是具有与其他操作系统和谐共存的能力。Linux的文件系统由两层结构构建。第一层是虚拟文件系统(VFS),第二层是各种不同的具体的文件系统。 VFS在linux系统中的位置如图: 5.2.2 通用文件模型 通用的文件模型(common file model),这个模型的核心是4个对象类型,即超级块对象(superblock object)、索引节点对象(inode object)、文件对象(file object)和目录项对象(dentry object)。 5.2.3 Linux中文件及文件描述符 对于Linux而言,所有对设备和文件的操作都是使用文件描述符来进行的。文件描述符是一个非负的整数,它是一个索引值,并指向在内核中每个进程打开文件的记录表。当打开一个现存文件或创建一个新文件时,内核就向进程返回一个文件描述符;当需要读写文件时,也需要把文件描述符作为参数传递给相应的函数。 一个进程启动时,都会打开3个文件:标准输入、标准输出和标准出错处理 5.3 底层文件I/O操作 5.3.1 基本文件操作 5.3.2 文件锁 5.3.3 多路复用 5.3.1 基本文件操作 open函数是用于打开或创建文件,在打开或创建文件时可以指定文件的属性及用户的权限等各种参数。 所需头文件: #include sys/types.h #include sys/stat.h#include fcntl.h 原型: int open(const char *pathname, int flags, int perms) open系统调用 进程要访问一个文件,必须首先获得一个文件描述符,这是通过open系统调用来完成的。文件描述符是有限的资源,所以在不用时应该及时释放。 该系统调用是用来获得欲访问文件的文件描述符,如果文件并不存在,则还可以用它来创建一个新文件。 5.3.1 基本文件操作 open函数语法要点 Perms 这个参数实际上是可选的,如果用open()创建一个新文件,则要用到该参数,它用来规定对该文件的所有者、文件的用户组和系统中其他用户的访问权限位。它用或运算对下列符号常量建立所需的组合: S_IRUSR 文件所有者的读权限位 S_IWUSR 文件所有者的写权限位 S_IXUSR 文件
您可能关注的文档
- 九装饰装修工程.ppt
- 之打造同个中国南车.ppt
- 九物流信息管理.ppt
- 九过敏性紫癜.ppt
- 乙肝对半定量检.ppt
- 乳癌是女性最常见的恶性肿瘤之在我国发病率呈逐上升趋势.ppt
- 乡镇卫生院合理用药培训教材.ppt
- 乳腺疾病(DH).ppt
- 主动脉疾病的超声诊断姚克纯空军总院.ppt
- 乡镇卫生院药学人员培训药剂学知识.ppt
- 2016-2017学年高中生物第二单元生态工程与生物安全第1章第2节我国的生态工程教案中图版选修3.doc
- 2022-2023学年小升初英语易错点专练06完形填空15篇(广州教科版专版含答案)2.docx
- 期中专项四年级英语下册(含答案)3.docx
- 期末卷(二)(含答案解析)-2022-2023学年高二历史期中期末复习备考必刷题(选择性必修一国家制度与社会治理).docx
- 第4课欧姆定律的应用第一讲欧姆定律实验探究(原卷版).docx
- Unit1限制性定语从句语法讲义人教版高一英语学生版213.docx
- 2023年宁波市初中毕业升学文化考试科学模拟卷(八).docx
- 5.3细胞呼吸的原理和应用课件高一上学期生物人教版必修12.pptx
- 高中政治更好发挥政府作用教学设计.docx
- 体悟民间故事中的幸福--五上《中国民间故事》导读课.docx
文档评论(0)