Advertisement

文件系统—打开和读取文件

阅读量:

4 文件的打开与读写

如之前所述的例子中所示,请用户输入一条shell指令:将MS-DOS(微软磁盘操作系统)类型的文件复制至目标Ext2分区。该指令会调用外部程序(如cp),在执行这一操作的过程中涉及了以下三种基本文件操作:启动了一个系统调用序列用于打开源文件(open()),随后读取数据至缓冲区(read()),最后将数据写入目标介质(write())。

下面介绍这三个系统调用的实现及涉及的相关知识。

一、文件打开

该系统函数的主要作用是打开指定的文本 files 并返回一个唯一对应的 file descriptor变量。 实际上而言,在操作系统层面上,“打开”指定 files 的过程就是在进程与 files 之间创建了一种通道连接关系。“打开” files 的这一行为会在 file 系统中为每个被访问的 files 创建或引用特定的数据结构类型来管理该通道状态。“上下文”一词在这里指的就是这一特定的操作结果及其相关属性设置情况。 此外,在执行上述操作的同时,在内存中也会加载该节点的数据副本,并对这些数据进行初始化设置。

open()操作在内核中由sys_open()函数完成的,其代码如下:

![](https://ad.itadn.com/c/weblog/blog-img/images/2025-05-31/GLiyAR8dbKJ67xw4rmkufMInlv

全部评论 (0)

还没有任何评论哟~