操作系统学习笔记(Ⅳ):文件
创始人
2024-03-08 08:27:55
0

目录

1 文件管理

1.1 初识文件管理

1.文件属性

2.文件数据组织

3.向上功能

1.2 文件逻辑结构

1.无结构文件

2.有结构文件

3.顺序文件

4.索引文件

5.索引顺序文件

1.3 文件目录

1.文件控制块

2.目录结构

3.索引结点

1.4 文件物理结构

1.连续分配

2.链接分配

3.索引分配

1.5 文件存储空间管理

1.存储空间的划分与初始化

2.空闲表法

3.空闲链表法

4.位示图法

5.成组链接法

1.6 文件基本操作

1.创建文件

2.删除文件

3.读文件

4.写文件

5.打开文件

6.关闭文件

1.7 文件共享

1.基于索引结点的共享方式

2.基于符号链的共享方式

1.8 文件保护

1.口令保护

2.加密保护

3.访问控制

1.9 文件系统的层次结构

2 磁盘

2.1 磁盘结构 

1.组成

2.读写数据

3.磁盘物理地址

4.磁盘分类

2.2 磁盘调度算法

1.磁盘操作时间

2.磁盘调度算法

2.3 减少磁盘延迟时间方法

1.延迟时间问题

2.交替编号

3.磁盘地址结构设计

4.错位命名

2.4 磁盘的管理

1.磁盘初始化

2.引导块

3.坏块处理


1 文件管理

1.1 初识文件管理

1.文件属性

文件名:方便用户找到文件,同一目录下不能有重名文件。

标识符:区分各个文件的一种内部名称

类型:指明文件类型

位置:文件存放路径(用户使用)、在外存中的地址(操作系统使用)

大小、创建时间、保护信息等

2.文件数据组织

无结构文件:由一些二进制或字符流组成,又称流式文件

有结构文件:由一组相似的记录组成,又称记录式文件

3.向上功能

创建文件:create系统调用

读文件:read系统调用

写文件:write系统调用

删除文件:delete系统调用

打开文件:open系统调用

关闭文件:close系统调用

1.2 文件逻辑结构

1.无结构文件

由一些二进制或字符流组成,又称流式文件

2.有结构文件

由一组相似的记录组成,又称记录式文件,每条记录由若干个数据项组成。每条记录中又一个数据项作为关键字。根据各条记录的长度是否相等,可分为定长记录可变长记录两种。

3.顺序文件

文件中的记录一个接一个地顺序排列(逻辑上),记录可以是定长的或可变长的。各个记录在物理上可以顺序存储或链式存储。

顺序文件的缺点是增删一个记录较为困难 

4.索引文件

为了在可变长记录文件中快速找到第i个记录,建立一张索引表,每条记录对应一个索引项。索引表本身是定长记录的顺序文件

5.索引顺序文件

索引顺序文件是索引文件和顺序文件思想的结合。索引顺序文件中,同样会为文件建立一张索引表,但不同的是: 并不是每个记录对应一个索引表项,而是一组记录对应一个索引表项。为了进一步提高检索效率,可以为顺序文件建立多级索引表。
 

1.3 文件目录

1.文件控制块

 目录文件中的一条记录就是一个文件控制块(FCB)

2.目录结构

·单级目录:系统中只建立一张目录表,每个文件占一个目录项。但不允许文件重名。

·两级目录结构:包括主文件目录和用户文件目录。允许不同用户的文件重名。

·多级目录结构:又称树形目录结构。当用户从根目录开始访问某个文件时使用绝对路径;当用户从当前目录出发访问时使用相对路径。但多级目录结构不便于文件的共享

·无环图目录结构:可以用不同的文件名指向同一个文件,需要为每个共享结点设置共享计数器,用于记录此时有多少共享,当进行删除操作时,FCB被删除,共享计数器减一,只有当共享计数器为0时,结点被删除

3.索引结点

将除文件名外的所有信息都存入索引结点中,可以提升文件检索速度。

1.4 文件物理结构

在外存管理中,为方便对文件数据的管理,文件的逻辑地址空间被划分为文件块。将文件的逻辑地址转换为物理地址即文件分配方式,包括连续分配、链接分配及索引分配。

1.连续分配

每个文件在磁盘上占有一组连续的块。操作系统只需转换逻辑块号为物理块号,块内地址保持不变(物理块号 = 起始块号 + 逻辑块号)。连续分配支持顺序访问和直接访问,其在顺序读写时速度最快。

但该分配方式不便于拓展,且存储空间利用率低,会产生磁盘碎片。

2.链接分配

采用离散分配的方式,可以为文件分配离散的磁盘块。分为隐式链接和显式链接。

·隐式链接

只支持顺序访问,不支持随机访问,查找效率较低。但便于拓展文件,不会有磁盘碎片问题。

·显式链接

将用于链接文件各物理块的指针显式地存放在一张表中,即文件分配表(FAT)。一个磁盘仅设置一个FAT。从目录项找到起始块号,若i>0,则查询内存中的文件分配表,往后找到i号逻辑块对应的物理块号。逻辑块号转换成物理块号的过程不需要读磁盘操作。因此访问速度较快,但FAT需要占用一定内存空间。

3.索引分配

索引分配允许文件离散地分配在各个磁盘块中,系统会为每个文件建立一张索引表,索引表中记录了文件的各个逻辑块对应的物理块(索引表的功能类似于内存管理中的页表――建立逻辑页面到物理页之间的映射关系)。索引表存放的磁盘块称为索引块。文件数据存放的磁盘块称为数据块。
从目录项中可知索开画放位置,将索引表从外存读入内存,并查找索引表即可只i号逻辑块在外存中的存放位置。

索引分配支持随机访问,文件拓展较方便,但索引表需要占据一定空间

若文件大小超过了磁盘块大小,其解决方式如下:

·链接方案

若索引表过大,将多个索引块链接存放。

·多层索引

建立多层索引(原理类似于多级页表)。使第一层索引块指向第二层的索引块。还可根据文件大小的要求再建立第三层、第四层索引块。各层索引表大小不能超过一个磁盘块。

采用n层索引结构,且顶级索引表未调入内存,则访问弄一个数据块需要K+1次读磁盘操作。

计算:若磁盘块大小为x,一个索引表项占y,则一个磁盘块能存放 z = x / y 个索引项。若采用n层索引,则该文件最大长度可以为z^n * x 

·混合索引

多种索引分配方式的结合。例如,一个文件的顶级索引表中,既包含直接地址索引(直接指向数据块),又包含一级间接索引(指向单层索引表)、还包含两级间接索引(指向两层索引表)。

1.5 文件存储空间管理

管理空闲磁盘区

1.存储空间的划分与初始化

存储空间的划分:将物理磁盘划分为文件卷

存储空间初始化:将各文件卷划分为目录区(存放文件目录信息、用于磁盘存储空间管理的信息)、文件区(存放文件数据)

2.空闲表法

记录空闲盘块起始位置与块数,适用于连续分配方法。 

3.空闲链表法

空闲盘块链中系统保存着链头和链尾指针。若某文件申请K个盘块,则从链头开始一次分配K个盘块,并修改空闲链的链头指针。

空闲盘区链中:若某文件申请K个盘块,则可以采用首次适应、最佳适应等算法,从链头开始检索,按照算法规则找到一个大小符合要求的空闲盘区,分配给文件。若没有合适的连续空闲块,也可以将不同盘区的盘块同时分配给一个文件,注意分配后可能要修改相应的链指针、盘区大小等数据。

4.位示图法

 

5.成组链接法

文件卷的目录区中专门用一个磁盘块作为“超级块”,当系统启动时需要将超级块读入内存。并且要保证内存与外存中的“超级块”数据一致。

1.6 文件基本操作

1.创建文件

2.删除文件

3.读文件

4.写文件

5.打开文件

6.关闭文件

1.7 文件共享

1.基于索引结点的共享方式

设置一个包含文件物理地址都索引结点,内置一个链接技术变量count,用于表示链接到本索引结点上的用户目录项数。

2.基于符号链的共享方式

1.8 文件保护

1.口令保护

设置存放在系统内部的访问口令,一致时才可访问

2.加密保护

使用加密密码对文件进行加密,如异或加密,需要花费一定时间

3.访问控制

在每个文件FCB中增加访问控制列表,限制不同用户可以执行的操作

为了精简访问列表,可以以组为单位,标记各组用户的权限。

1.9 文件系统的层次结构

2 磁盘

2.1 磁盘结构 

1.组成

磁盘:表面由磁性物质组成,可记录二进制数据

磁道:磁盘的盘面被划分成一个个磁道

扇区:一个磁道又被划分成一个个扇区,每个扇区就是一个“磁盘块”。各个扇区存放的数据量相同(如1KB)。最内侧数据密度最大

2.读写数据

需要把“磁头”移动到想要读/写的扇区所在的磁道。磁盘会转起来,让目标扇区从磁头下面划过,才能完成对扇区的读/写操作。


3.磁盘物理地址

4.磁盘分类

根据磁头类型分为:活动头磁盘、固定头磁盘

根据盘片是否可更换分为:可换盘磁盘、固定盘磁盘

2.2 磁盘调度算法

1.磁盘操作时间

2.磁盘调度算法

·先来先服务(FCFS):根据进程请求访问磁盘的先后顺序进行调度。公平但性能差,寻道时间长

·最短寻找时间优先(SSTF):优先处理的磁道是与当前磁头最近的磁道。性能好,但可能产生饥饿现象

·扫描算法(SCAN):只有磁头移动到最外侧磁道时才能往内移动,移动到最内侧磁道时才能往外移动。不会产生饥饿现象,但不同磁道响应频率不平均。

·LOOK调度算法:若磁头移动方向上没有请求,立即改变磁头移动方向。

·循环扫描算法:磁头朝某个特定方向移动时才处理磁道访问请求,而返回时直接快速移动至起始端而不处理任何请求。响应频率较为平均,但比SCAN平均寻道时间更长。

·C-LOOK调度算法:若磁头移动方向上没有磁道访问请求,就可立即让磁头返回,需返回到有磁道访问请求的位置即可。

2.3 减少磁盘延迟时间方法

1.延迟时间问题

磁头读入一个扇区数据后需要一小段时间处理,如果逻辑上相邻的扇区在物理上也相邻,则读入几个连续的逻辑扇区,可能需要很长的“延迟时间”

2.交替编号

采用交替编号的策略,让逻辑上相邻的扇区在物理上有一定间隔,使读取连续扇区需要的延迟时间减小。


3.磁盘地址结构设计

磁盘的物理地址是(柱面号、盘面号、扇区号),无需移动磁头臂,减少磁头移动消耗时间。

4.错位命名

相邻盘面相对位置相同处扇区号若相同会增加延迟时间。采用错位命名可以减少延迟时间

2.4 磁盘的管理

1.磁盘初始化

2.引导块

部分初始化程序放在ROM中,不可修改;完整的初始化程序放在磁盘的启动快上,位于磁盘的固定位置。

3.坏块处理

扇区损坏故障无法使用。可以在逻辑格式化时对整个磁盘进行检查,并进行标记。磁盘中保留一些备用扇区,用于替换坏块。

相关内容

热门资讯

常用商务英语口语   商务英语是以适应职场生活的语言要求为目的,内容涉及到商务活动的方方面面。下面是小编收集的常用商务...
六年级上册英语第一单元练习题   一、根据要求写单词。  1.dry(反义词)__________________  2.writ...
复活节英文怎么说 复活节英文怎么说?复活节的英语翻译是什么?复活节:Easter;"Easter,anniversar...
2008年北京奥运会主题曲 2008年北京奥运会(第29届夏季奥林匹克运动会),2008年8月8日到2008年8月24日在中华人...
英语道歉信 英语道歉信15篇  在日常生活中,道歉信的使用频率越来越高,通过道歉信,我们可以更好地解释事情发生的...
六年级英语专题训练(连词成句... 六年级英语专题训练(连词成句30题)  1. have,playhouse,many,I,toy,i...
上班迟到情况说明英语   每个人都或多或少的迟到过那么几次,因为各种原因,可能生病,可能因为交通堵车,可能是因为天气冷,有...
小学英语教学论文 小学英语教学论文范文  引导语:英语教育一直都是每个家长所器重的,那么有关小学英语教学论文要怎么写呢...
英语口语学习必看的方法技巧 英语口语学习必看的方法技巧如何才能说流利的英语? 说外语时,我们主要应做到四件事:理解、回答、提问、...
四级英语作文选:Birth ... 四级英语作文范文选:Birth controlSince the Chinese Governmen...
金融专业英语面试自我介绍 金融专业英语面试自我介绍3篇  金融专业的学生面试时,面试官要求用英语做自我介绍该怎么说。下面是小编...
我的李老师走了四年级英语日记... 我的李老师走了四年级英语日记带翻译  我上了五个学期的小学却换了六任老师,李老师是带我们班最长的语文...
小学三年级英语日记带翻译捡玉... 小学三年级英语日记带翻译捡玉米  今天,我和妈妈去外婆家,外婆家有刚剥的`玉米棒上带有玉米籽,好大的...
七年级英语优秀教学设计 七年级英语优秀教学设计  作为一位兢兢业业的人民教师,常常要写一份优秀的教学设计,教学设计是把教学原...
我的英语老师作文 我的英语老师作文(通用21篇)  在日常生活或是工作学习中,大家都有写作文的经历,对作文很是熟悉吧,...
英语老师教学经验总结 英语老师教学经验总结(通用19篇)  总结是指社会团体、企业单位和个人对某一阶段的学习、工作或其完成...
初一英语暑假作业答案 初一英语暑假作业答案  英语练习一(基础训练)第一题1.D2.H3.E4.F5.I6.A7.J8.C...
大学生的英语演讲稿 大学生的英语演讲稿范文(精选10篇)  使用正确的写作思路书写演讲稿会更加事半功倍。在现实社会中,越...
VOA美国之音英语学习网址 VOA美国之音英语学习推荐网址 美国之音网站已经成为语言学习最重要的资源站点,在互联网上还有若干网站...
商务英语期末试卷 Part I Term Translation (20%)Section A: Translate ...