码迷,mamicode.com
首页 > 其他好文 > 详细

第十章 系统级I/O

时间:2019-01-20 20:04:42      阅读:145      评论:0      收藏:0      [点我收藏+]

标签:部分   表示   接口   nod   区分   linux内核   共享文件   进程   内核   

Unix/ I/O:

这种将设备优雅地映射为文件的方式,允许Linux内核引出一个简单、低级的应用接口,成为Unix I/O,这使得所有的输入和输出都能以一种统一且一致的方式来执行:

1)打开文件

2)Linux shell创建的每个进程开始时都有三个打开的文件:

标准输入、标准输出、标准错误

3)改变当前的文件位置(从文件开头起始的字节偏移量)

4)读写文件

5)关闭文件

 

文件:

普通文件:包含任意数据,但是应用程序常常要区分文本文件和二进制文件。

目录:一组文件链接的集合,每个链接对应一个文件,每个目录至少包含两个链接,一个是“.”对应当前目录自身的链接,一个是“..”对应上级父目录的链接。

套接字:用来与另一个进程进行跨网络通信

 

共享文件:

内核用三个数据结构来表示打开的文件:

描述符表:每个进程都拥有一个独立的描述符表, 它的表项是由该进程打开的描述符来索引的。

文件表:打开文件的集合由该表来维护,所有进程共享该表,文件表有个表项,它是由三个部分组成,分别是:该文件的位置,描述符表的应用计数,和v-node表的表项指针。

v-node表:所有进程共享该表

 

第十章 系统级I/O

标签:部分   表示   接口   nod   区分   linux内核   共享文件   进程   内核   

原文地址:https://www.cnblogs.com/sunnyDream/p/10295732.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!