研究生操作系统考试重要函数及知识点讲解.doc

研究生操作系统考试重要函数及知识点讲解.doc

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
研究生操作系统考试重要函数及知识点讲解

重要函数及知识点 1.int open(const char *pathname, int oflag, .../* mode_t mode*/) 返回值:若成功则返回文件描述符,若出错则返回-1. oflag: O_RDONLY 只读打开 O_WRONLY 只写打开 O_RDWR 读、写打开 在这三个常量中必须指定一个且只能指定一个。 由open返回的文件描述符一定是最小的未用描述符数值。 int creat(const char *pathname, mode_t mode) 返回值:若成功则返回为只写打开的文件描述符,若出错则返回-1. 它以只写方式打开创建的文件,创建好后关闭了用open打开才能读。 3.int close(int filedes) 返回值:若成功则返回0,若出错则返回-1。 关闭文件时还会释放该进程加在该文件上的所有记录锁。 4.off_t lseek(int filedes, off_t offset, int whence) 返回值:若成功则返回新的文件偏移量,若出错则返回-1.(如果文件描述符引用的 是一个管道、FIFO或网络套接字,则返回-1,并将errno设置为ESPIPE) whence: SEEK_SET:将该文件的偏移量设置为文件开始处offset个字节。 SEEK_CUR:将该文件的偏移量设置为当前值加offset,offset可为正或负。 SEEK_END:将该文件的偏移量设置为文件长度加offset,offset可为正或负。 Lseek仅将当前的文件偏移量记录在内核中,它并不引起任何i/o操作。 Lseek与write一起可能会造成文件空洞,但是有空洞时,虽然总长度长,但是实际不占磁盘。 5.ssize_t read(int filedes, void *buf, size_t nbytes); 返回值:若成功则返回读到的字节数,若已到文件结尾则返回0,若出错则返回-1. 注意:是将文件中的内容读到buf中。 在读到要求的字节数之前到达文件尾端,下一次再调用read时,返回0. 6.ssize_t write(int filedes, const void *buf, size_t nbytes); 返回值:若成功则返回已写的字节数,若出错则返回-1。 注意:是将buf中的内容写到文件中。 7.int dup2(int filedes, int filedes2) 返回值:若成功则返回新的文件描述符,若出错则返回-1; 文件共享: 每个打开文件(或设备)都有一个 v 节点(v-node)结构。v 节点包含了文件类型和对此文件进行各种操作的函数的指针。v 节点还包含了从磁盘读取的 i 节点(i-node)的信息,i 节点信息包含了文件的所有者、文件长度、文件所在的设备、指向文件的实际数据块在磁盘上的所在位置的指针等。 一个进程打开两个文件: 不同进程打开同一文件: 8 . stat函数: int stat(const char *restrict pathname, struct stat *restrict buf); int fstat(int filedes, struct stat *buf); int lstat(const char *restrict pathname, struct stat *restrict buf); 返回值:若成功返回0,出错返回-1. stat函数在给定pathname时返回于此命明文件有关的信息结构(注意:它没有打开而只是读出) fstat函数获取已打开的文件的有关信息 lstat返回符号链接的有关信息 9. int main(int argc,char *argv[]); Argc 是命令行参数的数目,argv是指向参数的各个指针所构成的数组 在调用main函数之前先调用一个特殊的启动例程,可执行程序将此启动例程指定为程序的起始地址,启动例程从内核中取得命令行参数和环境变量值,然后为调用main函数做好安排。 终止处理程序Exit函数 void exit(int status); void _Exit(int status); void _exit(int status); _exit _Exit立即进入内核,exit则先执行一些清理处理(总是之心一个标

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档