首页 > 系统服务 > 详细

Linux文件

时间:2014-09-09 20:11:49      阅读:272      评论:0      收藏:0      [点我收藏+]


------------------------------------
要去访问磁盘的文件,必须通过系统调用来返回一个与该文件相关联的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文件

原文:http://blog.csdn.net/hephec/article/details/39159617

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!