本文已收录至 Github(MD-Notes),若博客中有图片打不开,可以来我的 Github 仓库:https://github.com/HanquanHq/MD-Notes,涵盖了互联网大厂面试必问的知识点,讲解透彻,长期更新中,欢迎一起学习探讨。
面试必会系列专栏:https://blog.csdn.net/sinat_42483341/category_10300357.html
操作系统系列专栏:https://blog.csdn.net/sinat_42483341/category_10519484.html


第四章 文件管理2 - 磁盘管理

目录

  • 第四章 文件管理2 - 磁盘管理
    • 磁盘的物理地址
    • 磁盘调度算法
      • 影响磁盘“寻道时间”的算法
        • 先来先服务算法(FCFS)
        • 最短寻找时间优先(SSTF)
        • 扫描算法(SCAN)
        • 扫描算法的改进:LOOK调度算法
        • 扫描算法的改进:循环扫描算法(C-SCAN)
      • 减少磁盘“延迟时间”的方法
        • 交替编号(同一个盘面内的扇区交替编号)
        • 错位命名(不同盘面之间扇区错位命名)
    • 磁盘的管理
      • 磁盘初始化
      • 引导块
      • 坏块的管理

磁盘的物理地址

可用 柱面号,盘面号,扇区号 来定位任意一个“磁盘块”

磁臂可以来回伸缩的称为 活动头磁盘,来带动磁头定位磁道

磁头不可移动的称为 固定头磁盘,这种磁盘中每个磁道有一个磁头。

磁盘调度算法

一次磁盘读/写操作需要的时间:

  1. 寻道时间:启动磁头臂、移动磁头所花的时间
  2. 延迟时间:将目标扇区转到刺头下面所花的时间
  3. 传输时间:读 / 写数据花费的时间

影响磁盘“寻道时间”的算法

操作系统的磁盘调度算法会直接影响 寻道时间

先来先服务算法(FCFS)

根据进程请求访问磁盘的先后顺序进行调度。

最短寻找时间优先(SSTF)

优先处理的磁道是与当前磁头最近的磁道。可以保证每次的寻道时间最短,但是并不能保证总的寻道时间最短。(其实就是贪心算法的思想,只是选择眼前最优,但是总体未必最优)

扫描算法(SCAN)

只有磁头移动到最外侧磁道的时候才能往内移动,移动到最内侧磁道的时候才能往外移动。这就是扫描算法(SCAN)的思想。由于磁头移动的方式很像电梯,因此也叫电梯算法。

扫描算法的改进:LOOK调度算法

如果在磁头移动方向上已经没有别的请求,就可以立即改变磁头移动方向。(边移动边观察,因此叫LOOK)

扫描算法的改进:循环扫描算法(C-SCAN)

只有磁头朝某个特定方向移动时才处理磁道访问请求,而返回时直接快速移动至起始端而不处理任何请求。

减少磁盘“延迟时间”的方法

延迟时间:将目标扇区转到刺头下面所花的时间

需要解决的问题:磁头读入一个扇区数据后,需要时间处理,物理上相邻的扇区可能来不及处理,磁头还没有准备好,只能等该扇区再次划过磁头再读入,导致延迟时间长

交替编号(同一个盘面内的扇区交替编号)

即让逻辑上相邻的扇区在物理上有一定的间隔,可以使读取连续的逻辑扇区所需要的延迟时间更小

思考:为什么磁盘的物理地址是(柱面号,盘面号,扇区号)而不是(盘面号,柱面号,扇区号)?

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

错位命名(不同盘面之间扇区错位命名)

所有盘面都是一起连轴转的,读完 0 号盘面的磁盘块后,需要时间处理,才能读取 1 号扇区的磁盘块。采用错位命名法,可以留出处理时间。

磁盘的管理

磁盘初始化

  1. 低级格式化(物理格式化),将磁盘的各个磁道划分为扇区。一个扇区通常可分为头、数据区域(如512B大
    小)、尾三个部分组成。管理扇区所需要的各种数据结构一般存放在头、尾两个部分,包括扇区校验码(如奇偶校验、CRC循环冗余校验码等,校验码用于校验扇区中的数据是否发生错误)
  2. 将磁盘分区,每个分区由若干柱面组成(即分为我们熟悉的C盘、D盘、E盘)
  3. 进行逻辑格式化,创建文件系统。包括创建文件系统的根目录、初始化存储空间管理所用的数据结构(如位示图、空闲分区表)

引导块

计算机开机时需要进行一系列初始化的工作,这些初始化工作是通过执行初始化程序(自举程序)完成的。

ROM中只存放很小的“自举装入程序”,开机时计算机先运行“自举装入程序”,通过执行该程序就可找到引导块在硬盘中的位置,并将完整的“自举程序”读入内存,完成初始化。

拥有启动分区的磁盘称为启动磁盘或系统磁盘(C:盘)

坏块的管理

坏了、无法正常使用的扇区就是“坏块”。

对于简单的磁盘,可以在逻辑格式化时(建立文件系统时)对整个磁盘进行坏块检查,标明哪些扇区是坏扇区,比如:在FAT表上标明。(在这种方式中,坏块对操作系统不透明)

对于复杂的磁盘,磁盘控制器(磁盘设备内部的一个硬件部件)会维护一个坏块链表。在磁盘出厂前进行低级格式化(物理格式化)时就将坏块链进行初始化。会保留一些“备用扇区”,用于替换坏块。这种方案称为扇区备用。且这种处理方式中,坏块对操作系统透明。

操作系统:第四章 文件管理2 - 磁盘管理,磁盘调度算法相关推荐

  1. (王道408考研操作系统)第四章文件管理-第一节7:文件共享

    文章目录 一:基于索引结点的共享方式(硬链接) (1)介绍 (2)Linux演示 二:基于符号链的共享方式(软链接) (1)介绍 (2)Linux演示 所谓文件共享就是指 使多个用户(进程)共享同一个 ...

  2. 操作系统第四章-文件管理

    写在前面:本文参考王道论坛的 操作系统考研复习指导单科书 文章目录 第四章 文件管理 4.1 内存管理概念 4.1.1 文件的概念 4.1.2 文件的逻辑结构 1. 无结构文件(流式文件) 2.有结构 ...

  3. 操作系统 第四章 文件管理

    4.1 文件系统基础 所谓文件,指的是以计算机硬盘为载体的存储在计算机上的信息的集合.系统运行时,计算机以进程为基本单位进行资源的分配调度,而在用户的输入输出时则以文件为基本单位. 可以采取自底向上的 ...

  4. (王道408考研操作系统)第四章文件管理-第二节4:磁盘的管理

    文章目录 一:磁盘初始化 二:引导块 三:坏块的管理 一:磁盘初始化 一个新的磁盘只是一个含有磁性记录材料的空白盘 在磁盘能存储数据之前,它必须分成扇区以便磁盘控制器能进行读和写操作,此过程称之为低级 ...

  5. 15 操作系统第四章 文件管理 文件的物理结构 文件存储空间管理

    文章目录 1 文件的物理结构 (文件分配方式) 1.1 文件块.磁盘块 1.2 文件分配方式--连续分配 1.3 文件分配方式--链接分配 1.3.1 链接分配--隐式链接 1.3.2 链接分配--显 ...

  6. (王道408考研操作系统)第四章文件管理-第一节5:文件存储空间管理

    文章目录 一:空闲表法 (1)定义 (2)如何分配磁盘块 (3)如何回收磁盘块 二:空闲链表法 (1)空闲盘块链的分配和回收 (2)空闲盘区链的分配和回收 三:位示图法 (1)定义 (2)如何分配磁盘 ...

  7. (王道408考研操作系统)第四章文件管理-第二节2:磁盘调度算法

    注意:本文涉及的磁头移动轨迹图片,来自于 作者:小林coding 文章目录 一:一次读/写磁盘所消耗的时间 二:磁盘调度算法 (1)先来先服务算法(FCFS) (2)最短寻道时间优先(SSTF) (3 ...

  8. (王道408考研操作系统)第四章文件管理-第二节1:磁盘的结构

    文章目录 (1)磁盘设备组成 A:存储区域 B:硬盘存储器的构成 (2)磁盘性能指标 (3)磁盘地址 (4)磁盘工作过程 (1)磁盘设备组成 A:存储区域 一块硬盘含有若干记录面,每个记录面划分为若干 ...

  9. 16 操作系统第四章 文件管理 文件的基本操作 文件共享 文件保护 文件系统的层次结构

    文章目录 1 文件的基本操作 1.1 创建文件 1.2 删除文件 1.3 打开文件 1.4 关闭文件 1.5 读文件 1.6 写文件 1.7 文件基本操作小结 2 文件共享 2.1 基于索引结点的共享 ...

  10. 14 操作系统第四章 文件管理 文件逻辑结构 文件目录结构

    文章目录 1 初识文件管理 1.1文件属性 1.2 文件内部的数据应该怎样组织起来? 1.3 文件之间应该怎样组织起来? 1.4 操作系统应该向上提供哪些功能? 1.5 文件应如何存放在外存? 1.6 ...

最新文章

  1. 面试技巧——保持一颗乐观的心态
  2. Flex/Silverlight的技术比较
  3. Ardino基础教程 19_舵机控制
  4. 宁波理工大学计算机程序设计培训,拼搏在程序设计前列——专访ACM大赛冠军浙江大学宁波理工学院FBH团队...
  5. Linux基础 —— Linux命令简介
  6. android落下动画,Android应用开发android 购物车小球掉落动画
  7. 华为鸿蒙2.0什么核心,鸿蒙系统2.0:安卓最核心部分基本已去除,将带来全新的体验...
  8. 步步惊芯 软核处理器的内部设计分析 pdf_【深度分析】互联网巨头造“芯”现状...
  9. 乐鑫科技线上笔试什么内容_2020广东省公务员考试笔试考什么内容?笔试如何去备考?...
  10. jquery bind button 点击事件
  11. iBATIS的自定义类型处理器TypeHandlerCallback解决乱码
  12. 数字图像处理 冈萨雷斯 一些理解
  13. 软件工程----项目的进度安排
  14. org.apache.jasper.JasperException: /app/jsonp.jsp(1,2) Page-encoding specified in jsp-property-grou
  15. db2检查什么表被锁住了,如何解锁
  16. python sub函数用法_Python Pandas dataframe.sub()用法及代码示例
  17. 目标追踪拍摄?目标遮挡拍摄?拥有19亿安装量的花瓣app,究竟有什么别出心裁的功能如此吸引用户?
  18. Golang 的 mgo 连接池
  19. JAVA大华摄像头抓拍与API接口集成
  20. 长期戴耳机的危害有哪些?耳机种类的选择很重要

热门文章

  1. 个人常用Sublime Text 插件
  2. IOCP配合AcceptEx的例子
  3. ARP欺骗与嗅探入侵揭密--上篇(转)
  4. spring源码构建以及模块划分和依赖
  5. kubernetes(二)k8s组件
  6. 如果世界上只有一种数据结构,那么我选择 hash
  7. shell编程之文本处理工具sed
  8. 音视频技术开发周刊 | 225
  9. 视频大时代下基础架构的演进
  10. 感谢有你 WebRTCon 2018优秀出品人、讲师与志愿者