操作系统-4.3-文件(文件存储空间管理&&文件的基本操作)
Posted LL.LEBRON
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了操作系统-4.3-文件(文件存储空间管理&&文件的基本操作)相关的知识,希望对你有一定的参考价值。
文章目录
操作系统-4.3-文件
1.文件存储空间管理
1.1存储空间的划分与初始化
- 存储空间的划分:将物理磁盘划分为一个个文件卷(逻辑卷,逻辑盘)。
- 存储空间的初始化:将各个文件卷划分为目录区,文件区。
- 目录区:主要存放文件目录信息(FCB)、用于磁盘存储空间管理的信息。
- 文件区:用于存放文件数据。
1.2存储空间管理—空闲表法
适用于”连续分配方式“。
1.3存储空间管理—空闲链表法
空闲链表法又分为:
- 空闲盘块链:以盘块为单位组成一条空闲链。
- 空闲盘区链:以盘区为单位组成一条空闲链。
空闲盘块链:
空闲盘区链:
1.4存储空间管理—位示图法
1.5总结
2.文件的基本操作
2.1创建文件
进行Create系统调用时,需要提供的几个主要参数:
- 所需的外存空间大小(如:一个盘块,即1KB)
- 文件存放路径(“D:/Demo”)
- 文件名(这个地方默认为“新建文本文档.txt”)
操作系统在处理Create系统调用时,主要做了两件事:
- 在外存中找到文件所需的空间(结合上小节学习的空闲链表法、位示图、成组链接法等管理策略,找到空闲空间)
- 根据文件存放路径的信息找到该目录对应的目录文件(此处就是D:/Demo目录),在目录中创建该文件对应的目录项。目录项中包含了文件名、文件在外存中的存放位置等信息。
2.2删除文件
进行Delete系统调用时,需要提供的几个主要参数:
- 文件存放路径(“D:/Demo”)
- 文件名(“test.txt”)
操作系统在处理Delete系统调用时,主要做了几件事:
- 根据文件存放路径找到相应的目录文件,从目录中找到文件名对应的目录项。
- 根据该目录项记录的文件在外存的存放位置、文件大小等信息,回收文件占用的磁盘块。(回收磁盘块时,根据空闲表法、空闲链表法、位图法等管理策略的不同,需要做不同的处理)
- 从目录表中删除文件对应的目录项。
2.3打开文件
在很多操作系统中,在对文件进行操作之前,要求用户先使用open系统调用“打开文件”,需要提供的几个主要参数:
- 文件存放路径(“D:/Demo”)
- 文件名(“test.txt”)
- 要对文件的操作类型(如: r只读;rw读写等)
操作系统在处理open系统调用时,主要做了几件事:
- 根据文件存放路径找到相应的目录文件,从目录中找到文件名对应的的目录项,并检查该用户是否有指定的操作权限。
- 将目录项复制到内存中的“打开文件表”中。并将对应表目的编号返回给用户。之后用户使用打开文件表的编号来指明要操作的文件。
2.4关闭文件
进程使用完文件后,要“关闭文件”,操作系统在处理Close系统调用时,主要做了几件事:
- 将进程的打开文件表相应表项删除。
- 回收分配给该文件的内存空间等资源。
- 系统打开文件表的打开计数器count 减1,若count = 0,则删除对应表项。
2.5读文件
2.6写文件
2.7总结
以上是关于操作系统-4.3-文件(文件存储空间管理&&文件的基本操作)的主要内容,如果未能解决你的问题,请参考以下文章
:文件管理 -- 文件存储空间管理操作系统应该向上提供哪些功能?(文件的基本操作)文件共享(软(快捷方式) / 硬链接)文件保护