【四剑客】操作系统体系(三)

操作系统

四、文件

1. 初识文件管理

  • 文件:就是一组有意义的信息/数据集合
  • 计算机中存放了各种各样的文件,一个文件有哪些属性?
    • 文件名:由创建文件的用户决定文件名
    • 标识符:一个系统内的各文件标识符唯一
    • 类型:指明文件的类型
    • 位置:文件存放的路径(让用户使用)
    • 大小:指明文件大小
    • 保护信息:对文件进行保护的访问控制信息
  • 文件内部的数据应该怎样组织起来?(文件的逻辑结构)
    • 无结构文件(如文本文件):由一系列二进制或字符流组成,又称“流式文件”
    • 有结构文件(如数据库表):由一组相似的记录组成,又称“记录式文件”
  • 文件之间又应该怎么组织起来?(目录结构)
    • 根目录
    • 各层目录中存取相应的文件。
  • 操作系统应该向上提供哪些功能?
    • 可以“创建文件”,点击新建后,图形化交互进程在背后调用了"create”系统调用
    • 可以“读文件”,将文件数据读入内存,才能让CPU处理,双击后,“记事本”应用程序通过操作系统提供的“读文件”功能,即read系统调用,将文件数据从外存读入内存,并显示在屏幕上
    • 可以“写文件”,将更改过的文件数据写回外存(我们在“记事本”应用程序中编辑文件内容,点击“保存”后,“记事本”应用程序通过操作系统提供的“写文件”功能,即write系统调用,将文件数据从内存写回外存)
    • 删除文件
    • 打开文件
    • 关闭文件
  • 从上往下看,文件应如何存放在外存?(文件的物理结构)
    请添加图片描述
  • 操作系统如何管理外存中的空闲块(存储空间的管理)
  • 其他需要由操作系统实现的文件管理功能
    • 文件共享:使多个用户可以共享使用一个文件
    • 文件保护:如何保证不同的用户对文件有不同的操作权限

请添加图片描述

2. 文件的逻辑结构

  • 逻辑结构:指在用户看来,文件内部的数据应该是如何组织起来的
  • 物理结构:指在操作系统看来,文件的数据是如何存放在外存中的
  • 按文件是否有结构分类:
    • 无结构文件:“流式文件”,Windows操作系统中的.txt文件
    • 有结构文件:“记录式文件”,数据库表文件
      • 顺序文件
        • 串结构(链式存储):记录之间的顺序与关键字无关
        • 顺序结构(顺序存储):记录之间的顺序按关键字顺序排列
          请添加图片描述
          请添加图片描述
      • 索引文件
        请添加图片描述
      • 索引顺序文件
        请添加图片描述
        请添加图片描述
        请添加图片描述
        请添加图片描述

3. 文件目录

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

4. 文件的物理结构(文件分配方式)

  • 即:文件数据应该怎样存放在外存中?
  • 操作系统为文件分配存储空间都是以块为单位的。
  • 用户通过逻辑地址来操作自己的文件,操作系统要负责实现从逻辑地址到物理地址的映射。
    请添加图片描述
    请添加图片描述
    请添加图片描述
  • 读取某个磁盘块时,需要移动磁头。访问的两个磁盘块相隔越远,移动磁头所需时间就越长。
  • 结论:
    • 连续分配的文件在顺序读/写时速度最快。
    • 物理上采用连续分配的文件不方便拓展
    • 物理上采用连续分配,存储空间利用率低,会产生难以利用的磁盘碎片。可以用紧凑来处理碎片,但是需要耗费很大的时间代价。
  • 连续分配方式要求每个文件在磁盘上占有一组连续的块。
  • 优点:支持顺序访问和直接访问(即随机访问);连续分配的文件在顺序访问时速度最快
  • 缺点:不方便文件拓展:存储空间利用率低,会产生磁盘碎片
    请添加图片描述
  • 若此时要拓展文件,则可以随便找一个空闲磁盘块,挂到文件的磁盘块链尾,并修改文件的FCB
  • 结论:采用隐式链接的链接分配方式,很方便文件拓展
  • 另外,所有的空闲磁盘块都可以被利用,不会有碎片问题,外存利用率高。
  • 链接分配采取离散分配的方式,可以为文件分配离散的磁盘块。分为隐式链接和显式链接两种。
  • 隐式链接:除文件的最后一个盘块之外,每个盘块中都存有指向下一个盘块的指针。文件目录包括文件第一块的指针和最后一块的指针。
  • 优点:很方便文件拓展,不会有碎片问题,外存利用率高。
  • 缺点:只支持顺序访问,不支持随机访问,查找效率低,指向下一个盘块的指针也需要耗费少量的存储空间。
    请添加图片描述
  • 如何实现文件的逻辑块号到物理块号的转变?
    • 用户给出要访问的逻辑块号i,操作系统找到该文件对应的目录项(FCB)
    • 从目录项中找到起始块号,若i>0,则查询内存中的文件分配表FAT,往后找到i号逻辑块对应的物理块号。逻辑块号转换成物理块号的过程不需要读磁盘操作
  • 结论: 采用链式分配(显式链接)方式的文件,支持顺序访问,也支持随机访问(想访问i号逻辑块时,并不需要依次访问之前的0~i-1号逻辑块),由于块号转换的过程不需要访问磁盘,因此相比于隐式链接来说,访问速度快很多。
  • 显然,显式链接也不会产生外部碎片,也可以很方便地对文件进行拓展
  • 显式链接:把用于链接文件各物理块的指针显式地存放在一张表中,即文件分配表(FAT,File Allocation Table)。一个磁盘只会建立一张文件分配表。开机时文件分配表放入内存,并常驻内存
  • 优点:很方便文件拓展,不会有碎片问题,外存利用率高,并且支持随机访问。相比于隐式链接来说,地址转换时不需要访问磁盘,因此文件的访问效率更高。
  • 缺点:文件分配表需要占用一定的存储空间。
    请添加图片描述
  • 如何实现文件的逻辑块号到物理块号的转变?
    • 用户给出要访问的逻辑块号i,操作系统找到该文件对应的目录项(FCB)
    • 从目录项中可知索引表存放位置,将索引表从外存读入内存,并查找索引表即可知道i号逻辑块在外存中的存放位置。
  • 可见,索引分配方式可以支持随机访问。文件拓展也很容易实现(只需要给文件分配一个空闲块,并增加一个索引表项即可)。但是索引表需要占用一定的存储空间。
  • 若每个磁盘块1KB,一个索引表项4B,则一个磁盘块只能存放 256 个索引项。如果一个文件的大小超过了256块,那么一个磁盘块是装不下文件的整张索引表的,如何解决这个问题?
    • 链接方案,多层索引,混合索引
      请添加图片描述
      请添加图片描述
      请添加图片描述
  • 索引分配允许文件离散地分配在各个磁盘块中,系统会为每个文件建立一张索引表,索引表中记录了文件的各个逻辑块对应的物理块(索引表的功能类似于内存管理中的页表——建立逻辑页面到物理页之间 的映射关系)。索引表存放的磁盘块称为索引块。文件数据存放的磁盘块称为数据块
  • 若文件太大,索引表项太多,可以采取以下三种方法解决:
  • 链接方案:如果索引表太大,一个索引块装不下,那么可以将多个索引块链接起来存放。缺点:若文件很大,索引表很长,就需要将很多个索引块链接起来。想要找到 i 号索引块,必须先依次读入 0~i-1 号索引块,这就导致磁盘I/O次数过多,查找效率低下。
  • 多层索引:建立多层索引(原理类似于多级页表)。使第一层索引块指向第二层的索引块。还可根据文件大小的要求再建立第三层、第四层索引块。采用 K 层索引结构,且顶级索引表未调入内存,则访问一个数据块只需要 K + 1 次读磁盘操作。缺点:即使是小文件,访问一个数据块依然需要 K+1 次读磁盘。
  • 混合索引:多种索引分配方式的结合。例如,一个文件的顶级索引表中,既包含直接地址索引(直接指向数据块),又包含一级间接索引(指向单层索引表)、还包含两级间接索引(指向两层索引表)。 优点:对于小文件来说,访问一个数据块所需的读磁盘次数更少。
    请添加图片描述

5. 文件存储空间管理

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

6. 文件的基本操作

请添加图片描述

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

7. 文件共享

  • 操作系统为用户提供文件共享功能,可以让多个用户共享地使用同一个文件
  • 多个用户共享同一个文件,意味着系统中只有“一份”文件数据。并且只要某个用户修改了该文件的数据,其他用户也可以看到文件数据的变化。
  • 如果是多个用户都“复制”了同一个文件,那么系统中会有“好几份”文件数据。其中一个用户修改了自己的那份文件数据,对其他用户的文件数据并没有影响。
    请添加图片描述

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

8. 文件保护

  • 保护文件数据的安全
  • 口令保护
  • 加密保护
    请添加图片描述
  • 访问控制

请添加图片描述
请添加图片描述

9. 文件系统的层次结构

请添加图片描述

  • 假设某用户请求删除文件"D:/工作目录/学生信息.xlsx“的最后100条记录
  • 用户接口
    • 用户需要通过操作系统提供的接口发出上述请求
  • 文件目录系统(文件目录)
    • 由于用户提供的是文件的存放路径,因此需要操作系统一层一层地查找目录,找到对应的目录项
  • 存取控制模块(文件保护)
    • 不同的用户对文件有不同的操作权限,因此为了保证安全,需要检查用户是否有访问权限
  • 逻辑文件系统与文件信息缓冲区(文件逻辑结构)
    • 验证了用户的访问权限之后,需要把用户提供的”记录号“转变为对应的逻辑地址
  • 物理文件系统(文件物理结构)
    • 知道了目标记录对应的逻辑地址后,还需要转换成实际的物理地址
  • 辅助分配模块
    • 删除这些记录后,会有一些盘块空闲,因此要将这些空闲盘块回收
  • 设备管理模块
    • 要删除这条记录,必定要对磁盘设备发出请求

10. 磁盘的结构

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

11. 磁盘调度算法

请添加图片描述
请添加图片描述请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

12. 减少磁盘延迟时间的方法

请添加图片描述
请添加图片描述
请添加图片描述

  • 读取地址连续的磁盘块时,采用(柱面号,盘面号,扇区号)的地址结构可以减少磁头转动消耗的时间

请添加图片描述
请添加图片描述

13. 磁盘的管理

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
一、单选题 1、(D)不是基本的操作系统。 A.批处理操作系统 B.分时操作系统 C.实时操作系统 D.网络操作系统 2、(A)不是分时系统的基本特征: A.同时性 B.独立性 C.实时性 D.交互性 3、实时操作系统追求的目标是(C )。 A.高吞吐率 B.充分利用内存 C.快速响应 D.减少系统开销 4、操作系统是为了提高计算机的[1 B]和方便用户使用计算机而配置的基本软件。它负责管理计算机系统中的[2 C],其中包括[3 F],[4 A],外部设备和系统中的数据。操作系统中的[3 F]管理部分负责对进程进行管理。操作系统对系统中的数据进行管理的部分通常叫做[5 B]。 供选择的答案: [1] A.速度 B.利用率 C.灵活性 D.兼容性 [2] A.程序 B.功能 C.资源 D.进程 [3] [4] A.主存储器 B.虚拟存储器 C.运算器 D.控制器 E.微处理器 F.处理机 [5] A.数据库系统 B.文件系统 C.检索系统 D.数据库 E.数据存储系统 F.数据结构 G.数据库管理系统 5、批处理系统的主要缺点是(B )。 A.CPU的利用率不高 B.失去了交互性 C.不具备并行性 D.以上都不是 6、操作系统是计算机系统的核心软件。按功能特征的不同,可把操作系统分为[1 B]、[2 E]、[3 C]、网络操作系统和分布式操作系统基本类型。其中[1 B]的主要目标是提高系统的吞吐率和效率,而[2 E]是一旦有处理请求和要求处理的数据时,CPU就应该立即处理该数据并将结果及时送回 ,例如[4 D]等。 供选择的答案: [1][2][3] A.单用户系统 B.批处理系统 C.分时系统 D.微机操作系统 E.实时系统 [4] A.计算机激光照排系统 B.办公自动化系统 C.计算机辅助设计系统 D.航空订票系统 7、现代操作系统的两个基本特征是(C) 和资源共享。 A.多道程序设计 B.中断处理 C.程序的并发执行 D.实现分时与实时处理 8、系统调用是由操作系统提供的内部调用,它(B)。 A.直接通过键盘交互方式使用 B.只能通过用户程序间接使用 C.是命令接口中的命令使用 D.与系统的命令一样 9、操作系统有多种类型:允许多个用户以交互方式使用计算机的操作系统,称为(B) ;允许多用户将若干个作业提交给计算机系统集中处理的操作系统,称为( A );在(C)的控制下,计算机系统能及时处理由过程控制反馈的数据,并作出响应;在 IBM-PC机上的操作系统称为(D)。 A.批处理操作系统 B.分时操作系统 C.实时操作系统; D.微机操作系统 E.多处理机操作系统 F.分布式操作系统 10、关于操作系统的叙述(D)是不正确的。 A.管理资源的程序 B.管理用户程序执行的程序 C.能使系统资源提高效率的程序 D.能方便用户编程的程序 11、早期的OS主要追求的是(A)。 A.系统的效率 B.用户的方便性 C.可移植 D.可扩充性 12、(B)功能不是操作系统直接完成的功能。 A.管理计算机硬盘 B.对程序进行编译 C.实现虚拟存储器 D.删除文件 13、要求在规定的时间内对外界的请求必须给予及时相应的OS是( B )。 A.多用户分时系统 B.实时系统 C.批处理系统时间 D.网络操作系统 14、操作系统是对( C )进行管理的软件。 A.硬件 B.软件 C.计算机资源 D.应用程序 15、( B )对多用户分时系统最重要。 A.实时性 B.交互性 C.共享性 D.运行效率 16、分布式系统和网络系统的主要区别是( C )。 A.并行性 B.透明性 C.共享性 D.复杂性 17、并发性是指若干事件在( C )发生。 A.同一时刻 B.不同时刻 C.同一时间间隔 D.不同时间间隔 18、下述( B )不属于多道程序运行的特征。 A.多道 B.运行速度快 C.宏观上并行 D.实际上多道程序是串插运行的 19、引入多道程序的目的在于( A )。 A.充分利用CPU,减少CPU等待时间 B.提高实时响应速度 C.有利于代码共享,减少主、辅存信息交换量 D.充分利用存储器 20、( A )不是多道程序系统。 A.单用户单任务 B.多道批处理系统 C.单用户多任务 D.多用户分时系统 二、问答题 1、操作系统的目标是什么?它的主要作用是什么? 操作系统的主要目标是:方便性,有效性,可扩冲性和开放性。 主要作用:1.OS作为用户与计算机硬件系统之间的接口 2.OS作为计算机系统资源的管理者 3.OS实现了对计算机资源的抽象 2、操作系统采用了哪些方法实现目标"方便性"?至少列出5种方法。 .可以采用高级语言编写程序 直接使用操作系统提供的命令操作计算机 文件管理系统 图形化界面 留有诸多接口 3、操作系统采用了哪些方法实现目标"有效性"?至

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

柠檬小帽

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

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

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

打赏作者

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

抵扣说明:

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

余额充值