《操作系统》——文件管理(下)

二、磁盘组织与管理

  • 在磁盘上进行一次读写操作需要哪几部分时间?其中那部分时间最长?
    答:寻道时间+延迟时间+传输时间,寻道时间最长
  • 存储一个文件时,当一个磁道存储不下时,剩下的部分是存在同一个盘面的不同磁道好,还是存在同一个柱面的不同盘面好?
    答:同一个柱面的不同盘面好

(一)磁盘的结构

1、磁盘、磁道、扇区

请添加图片描述

2、如何在磁盘中读写数据

请添加图片描述

3、盘面、柱面的概念

三元组定位一个磁盘块

请添加图片描述

4、磁盘的物理地址

物理地址块号可以转化为三元组的表示形式

5、磁盘的分类

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

(二)磁盘调度算法

1、一次磁盘读写操作需要的时间

寻找时间——磁头移动到对应磁道

请添加图片描述

延迟时间——转到对应磁盘

请添加图片描述

传输时间——转动磁盘,读出/写入的时间

请添加图片描述

  • 延迟时间和传输时间都与转速有关,是硬件指标,无法用算法优化,只能针对寻找时间进行优化
    请添加图片描述

2、磁盘调度算法(追求更少的读写时间(寻道时间~移动磁道数))

内侧磁道号小,外侧磁道号大
指标:平均寻道长度

1)先来先服务FCFS

请添加图片描述

2)最短寻找时间优先SSTF

优先处理最近的,不能保证总体最优
请添加图片描述

3)扫描算法SCAN(电梯算法)

折返响应
不会产生饥饿

扫描算法两个缺点

1、只有到了最边上才能返回
2、每个磁道响应频率不平均

请添加图片描述

改进1:LOOK算法

边移动边观察
请添加图片描述

4)改进2:循环扫描算法C-SCAN

一直从左到右一个方向进行扫描,而不是折返扫描,实现了响应平均
请添加图片描述

同时改进12:C-LOOK算法

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

(三)减少磁盘延迟时间的方法

因为读入磁盘后的一小段处理时间,导致连续的扇区被错过,只能等下次经过的时候再读,增加了延迟时间
请添加图片描述

方法一 交替编号

请添加图片描述

方法二 合理设计磁盘地址结构

磁头移动会花费大量的时间,尽量避免时间,所以采用(柱面号,盘面号,扇区号),而不是(盘面号,柱面号,扇区号)
推荐方法:每次先把磁头移到0号柱面,0号盘面,转动两圈就可以读完整个盘面里的扇区,继续读下面的1号盘面,等读完0号磁柱下的所有盘面后,再移动磁头到下一个磁柱,减少磁头移动次数;
不推荐方法:先读0号盘面的所有磁柱,每一盘要移动很多次磁头
请添加图片描述
请添加图片描述

方法三 错位命名

读完一盘之后,也会有处理时间,如果每盘对应的盘区一致的话,会导致盘和盘之间有错过的盘区
请添加图片描述
请添加图片描述
请添加图片描述

(四)磁盘的管理

1、磁盘初始化

请添加图片描述

2、引导块

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

3、坏块的管理

文件分配表FAT上记录坏块
请添加图片描述
请添加图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值