文件管理 III(文件的操作、共享、保护)


一、文件的操作

对文件的操作不是操作系统重点关心的问题,无须做深入研究。

【总结】:

1. 文件的基本操作

文件属于抽象数据类型。为了正确地定义文件,需要考虑可以对文件执行的操作。操作系统提供系统调用,它对文件进行创建、写、读、重定位、删除和截断等操作。

1)创建文件

创建文件有两个必要步骤:一是为新文件分配必要的外存空间;二是在目录中为之创建一个目录项,目录项记录了新文件名、在外存中的地址及其他可能的信息。

2)写文件

为了写文件,执行一个系统调用。对于给定文件名,搜索目录以查找文件位置。系统必须为该文件维护一个写位置的指针。每当发生写操作时,便更新写指针。

3)读文件

为了读文件,执行一个系统调用。同样需要搜索目录以找到相关目录项,系统维护一个读位置的指针。每当发生读操作时,更新读指针。一个进程通常只对一个文件读或写,因此当前操作位置可作为每个进程当前文件位置的指针。由于读和写操作都使用同一指针,因此节省了空间,也降低了系统复杂度。

4)重新定位文件

也称文件定位。搜索目录以找到适当的条目,并将当前文件位置指针重新定位到给定值。重新定位文件不涉及读、写文件。

5)删除文件

为了删除文件,先从目录中检索指定文件名的目录项,然后释放该文件所占的存储空间,以便可被其他文件重复使用,并删除目录条目。

6)截断文件

允许文件所有属性不变,并删除文件内容,将其长度置为 0 并释放其空间。

这 6 个基本操作可以组合起来执行其他文件操作。例如,一个文件的复制,可以创建新文件、从旧文件读出并写入新文件。

2. 文件的打开与关闭

当用户对一个文件实施操作时,每次都要从检索目录开始。为了避免多次重复地检索目录,大多数操作系统要求,在文件使用之前通过系统调用 open 被显式地打开。操作系统维护一个包含所有打开文件信息的表(打开文件表)。

所谓 “打开” ,是指调用 open 根据文件名搜索目录,将指明文件的属性(包括该文件在外存上的物理位置),从外存复制到内存打开文件表的一个表目中,并将该表目的编号(也称索引)返回给用户。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Kusunoki_D

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值