1.linux系统调用和文件io(ppt)

1.linux系统调用和文件io(ppt)

ID:34450431

大小:339.29 KB

页数:18页

时间:2019-03-06

1.linux系统调用和文件io(ppt)_第1页
1.linux系统调用和文件io(ppt)_第2页
1.linux系统调用和文件io(ppt)_第3页
1.linux系统调用和文件io(ppt)_第4页
1.linux系统调用和文件io(ppt)_第5页
资源描述:

《1.linux系统调用和文件io(ppt)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、文件操作主讲人::李奎:李奎本章学习目标•文件操作在在linux在linuxlinux系统编程中linux系统编程中,,通过,通过linuxlinux系统调用linux系统调用操作文件,完成本章学习应该能够通过linuxlinux系统调用linux系统调用操作文件以下部分:•创建文件创建文件•读和写文件读和写文件•更新文件内容更新文件内容文件操作理论及原理介绍•LinuxLinux系统调用Linux系统调用所谓系统调用是操作系统提供给用户程序的一组““特殊“特殊”接口,,用户程序可以通过这组,用户程序可以通过这组““特殊“特殊””接口来获得操作系”接口来获得操作系统内核提供

2、的特殊服务。。在。在在linux在linux中用户程序不能直接访问内核提供的服务,,为了更好的保护内核空间,为了更好的保护内核空间,,将程序的运,将程序的运行空间分为内核空间和用户空间,,它们运行在不同的级别,它们运行在不同的级别上上,上,,在逻辑上是相互隔离的,在逻辑上是相互隔离的。用户程序接口((API(APIAPI)API)在在linux在linuxlinux中用户编程接口linux中用户编程接口((API(APIAPI)API))遵循了在)遵循了在UNIXUNIX中最流行的UNIX中最流行的应用编程界面标准——POSIX—POSIXPOSIX标准POSIX标准。这些

3、系统调用编程接口主要通过CCC库C库库(库((libc.so(libc.solibc.so)libc.so))实现的)实现的。系统调用、、API、APIAPI与系统命令之间的关系API与系统命令之间的关系文件I/OI/O函数I/O函数•可用的文件I/OI/O函数I/O函数打开文件、、读文件、读文件、、写文件等等、写文件等等。大多数linuxlinux文件linux文件I/OI/O只需用到I/O只需用到555个函数5个函数:openopen、open、、read、readread、read、writewrite、write、、lseek、lseeklseek以及lseek以及

4、closeclose。close。openopen函数open函数#include#include#includeintopen(constchar*pathname,intoflag,intopen(constchar*pathname,intoflag,…intopen(constchar*pathname,intoflag,……/*,…/*,mode_tmode*/);返回::若成功为文件描述符:若成功为文件描述符,,若出错为,若出错为---1-111文件描述符对于内核而言,,所有打开文件都由文件描述

5、符引用,所有打开文件都由文件描述符引用。。文件。文件描述符是一个非负整数。。当打开一个现存文件或创建一个。当打开一个现存文件或创建一个新文件时,,内核向进程返回一个文件描述符,内核向进程返回一个文件描述符。。当读。当读、、写一、写一个文件时,,用,用open返回的文件描述符标识该文件,将其作为参数传送给read或write。在在POSIX.1在POSIX.1POSIX.1应用程序中POSIX.1应用程序中,,整数,整数000、0、、1、111、、、2、222应被代换成符应被代换成符号常数:STDIN_FILENOSTDOUT_FILENOSTDERR_FILENO这些常数都

6、定义在头文件中中。中。文件描述符的范围是0~OPEN_MAX0~OPEN_MAX。0~OPEN_MAX。。早期的。早期的UNIX版本采用的上限值是19(19(允许每个进程打开19(允许每个进程打开2020个文件20个文件))),),现在很多系统则将其增加至256。openopen函数说明open函数说明参数pathnamepathname指向想要打开的文件路径字符串pathname指向想要打开的文件路径字符串。参数flagsflags表示打开文件的方式flags表示打开文件的方式,,例如,例如:O_RDONLY以

7、只读方式打开文件O_WRONLY以只写方式打开文件O_RDWR以读写方式打开文件以上三种打开方式是互斥的,,即,即即flags即flagsflags只能选择一种flags只能选择一种,但可以利用’’

8、’

9、

10、

11、’’’运算符组合’运算符组合。O_APPEND每次写时都加到文件的尾端。O_CREAT若此文件不存在则创建它。。使用此选择项时。使用此选择项时,,需,需同时说明第三个参数modemode,mode,,用其说明该新文件的存取许可,用其说明该新文件的存取许可权位。O_EXCL如果同时指定了O_CREATO_CREA

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

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

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