加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

Unix I/O

发布时间:2020-12-15 18:22:45 所属栏目:安全 来源:网络整理
导读:Unix I/O 打开文件 一个应用程序通过要求内核打开相应的文件,来宣告它想要访问一个I/O设备.内核返回一个小的非负整数,叫做 描述符 ,它在后续对此文件的所有操作中标识这个文件.内核记录有关这个打开文件的所有信息.应用程序只需记住这个描述符. Linux shell

Unix I/O

打开文件

一个应用程序通过要求内核打开相应的文件,来宣告它想要访问一个I/O设备.内核返回一个小的非负整数,叫做描述符,它在后续对此文件的所有操作中标识这个文件.内核记录有关这个打开文件的所有信息.应用程序只需记住这个描述符.

Linux shell创建的每个进程开始时都有三个打开的文件: 标准输入(描述符为0),标准输出(描述符为1)标准错误(描述符为2).

改变当前的文件位置

对于每个打开的文件,内核保持着一个文件位置k,初始为0.这个文件位置是从文件开头起始的字节偏移量.应用程序能够通过执行seek操作,显式地设置文件的当前位置为k.

读写操作

一个读操作就是从文件复制n > 0个字节到内存,从当前文件位置k开始,然后将k增加到k + n.给定一个大小为m字节的文件,当k ≥ m时执行读操作会触发一个称为EOF的条件.

类似的,写操作就是从内存复制n > 0个字节到一个文件,然后更新k.

关闭文件

关闭文件时,内核释放打开文件时创建的数据结构,并将这个描述符恢复到可用的描述符池中.无论一个进程因为何种原因终止时,内核都会关闭所有打开的文件并释放它们的内存资源.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读