首页 > 代码库 > Linux文件
Linux文件
------------------------------------
要去访问磁盘的文件,必须通过系统调用来返回一个与该文件相关联的ID,
这个ID就是文件描述符file descriptor
linux操作系统提供了一个open系统调用,
任何进程要去访问一个文件,首先使用这个open打开这个
文件,系统将返回一个编号,及与这个文件相关联的文件描述符
(1)用户程序从用户从用户空间向内核提交了打开申请
(2)操作系统会在内核中去检查请求是否合法,如果合法
在内核中申请打开文件相关联的信息(读写位置,在磁盘中的位置,全用struct file来存储)
并且添加到当前进程的PCB打开文件列表数组中,对应的这个数组
小标及文件描述符
(3)将文件描述符返回非用空间,用户空间接下来对这个文件进行读写就是通过这个编号值
------------------------------------------------------------------------------------------------------------
系统默认为每个进程打开了三个文件:
printf/scanf:
文件描述符值0(标准输入,键盘)
1(标准输出,显示器)
2(标准错误输出,显示器)
相应的宏
STDIN_FILENO
STDOUT_FILENO
STDERR_FILENO
Linux文件
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。