最新1linux系统io课件ppt.ppt

最新1linux系统io课件ppt.ppt

ID:62053276

大小:3.10 MB

页数:60页

时间:2021-04-13

最新1linux系统io课件ppt.ppt_第1页
最新1linux系统io课件ppt.ppt_第2页
最新1linux系统io课件ppt.ppt_第3页
最新1linux系统io课件ppt.ppt_第4页
最新1linux系统io课件ppt.ppt_第5页
资源描述:

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

1、1linux系统ioUNIX环境的文件具有非常重要的意义,因为它们提供了到操作系统服务和设备的简单而又统一的接口,一切皆文件程序完全可用像对待文件一样处理系统设备、如网络、串口设备驱动程序对操作系统内核提供操作硬件设备的接口程序设备驱动程序为应用程序屏蔽硬件细节,在应用程序看来只是一个设备文件设备驱动程序是内核的一部分,它完成对设备的初始化和释放、数据的读写、检测和处理设备出现的错误用户程序库驱动程序程序调用硬件设备用户空间内核空间系统调用内核文件描述符内核如何区分和引用特定文件?--文件描述符对设备和文件的操作都使用文件描述符来进行.是一个非负整数,是一个索引值,指向内核中每个进程

2、打开文件的记录表打开或新建时内核向进程返回读写时做参数提供给系统调用open#includeintopen(constchar*pathname,intflags,.../*mode_tmode*/);作用:打开或创建文件返回值:成功则返回文件描述符,否则返回-1可变参数,第三个参数由第二个参数确定是否需要仅当创建新文件时才使用,用于指定文件的访问权限位openflags函数代表打开模式都以O_开头必选项:O_RDONLY只读打开O_WRONLY只写打开O_RDWR可读可写打开这三个参数必须有一个且只能有一个openflags可选项O_APPEND追加打开O_CRE

3、AT不存在则创建O_EXCL如果要创建的文件已存在,则返回-1O_TRUNC以只写/读写方式打开已存在文件,则清空文件全部内容这些选项为可选项,与必选项用

4、来连接openmode指定文件权限,可以用八进制数表示,比如0644表示-rw-r--r--,。在第二个参数有O_CREAT时添加第三参数依赖用户当前掩码mode&~umaskclose函数关闭一个已打开的文件:#includeintclose(intfd);返回值:成功返回0,出错返回-1并设置errno练习打开文件/home/haubo/test.txt用于写操作,以追加方式打开打开文件/home/haub

5、o/test.txt用于写操作,如果该文件不存在则创建它打开文件/home/haubo/test.txt用于写操作,如果该文件已存在则截断为0字节,如果该文件不存在则创建它打开文件/home/haubo/test.txt用于写操作,如果该文件已存在则报错退出,如果该文件不存在则创建它write#includessize_twrite(intfd,constvoid*buf,size_tcount);把缓存区buf的前count个字节写入与文件描述符fd相关联的文件中去返回值:成功返回写入的字节数,出错返回-1并设置errnoread#include

6、h>将指定的文件描述符中读出数据ssize_tread(intfd,void*buf,size_tcount)返回:成功返回读到的字节数,0已到文件尾,出错返回-1并设置errno练习分别用标准I/O和系统调用实现文件拷贝,以及一次读写快的大小不同,验证标准I/O和系统调用的效率lseek函数描述:每个打开文件都有一个与其相关联的“读写位置”。它是一个非负整数,lseek用于操作该值。参数:filedes文件描述符offset偏移量,<0代表向前偏移参数(whence):SEEK_SET以文件开头为基点进行偏移SEEK_CUR以当前位置为基点进行偏移SEEK_END以文件尾为基点进行

7、偏移返回值:成功:返回调整之后的偏移量(相对于文件开头)失败:-1,并且设置errno注意:lseek仅将当前的文件位移量记录在内核内,并不引起任何IO操作文件位移量可以大于文件的当前长度,在这种情况下,对该文件的下一次写将延长该文件,并在文件中构成一个空洞,这一点是允许的。位于文件中但没有写过的字节都被读为0。文件锁当多个用户共同使用、操作一个文件的时候,通过采用文件上锁来避免资源产生竞争的状态包括建议性锁和强制性锁共享锁和排他锁fcntllockffcntl#include#include#includeintfcn

8、tl(intfd,intcmd,structflock*lock)返回值成功返回0,失败返回-1fcntlcmd取值F_SETLK设置文件锁F_SETLKW阻塞F_GETLK判断锁fcntlstructflock{shortl_type;off_tl_start;shortl_whence;off_tl_len;pid_tl_pid;};lockf#includeIntlockf(intfd,intcmd,off_tlen)对文件描述符

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

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

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