计算机操作系统设备管理算法,操作系统——磁盘设备管理

一、磁盘的结构

其实在上个学期学习计算机组成原理的时候,我写过一篇博客 计算机组成原理——辅助存储器

这篇博客中有关于磁盘的介绍和一些计算,由于本课是操作系统,这里我根据王道考研讲解的磁盘设备,再总结一下,主要的侧重点还是有点不同。

1、磁盘、磁道和扇区

05156f5baf989ba0c689d19778a5faac.png

2、盘面和柱面

90070130072e137dc19d78325fab0489.png

3、磁盘的物理地址

e87a28d680f42b025880bf6bb9ae4cee.png

磁盘块的物理地址是用三个参数来表示的。也就是说要在磁盘上访问一个扇区,必须给出其柱面号、磁头号(盘面号)和扇区号,这称为扇区的物理地址,即物理扇区号。由物理扇区号表示的扇区称为绝对扇区。为了方便,操作系统通常将其转变为连续的逻辑扇区号加以管理。

这里解释一下磁头号,这是我们老师对其的称呼,也有人习惯称其为盘面号或者是磁道号,我个人更倾向于称其为盘面号,毕竟扇区在盘面上,称其为对应的磁头,感觉很奇怪?这里姑且还是称为磁头号吧。

编址方式为:对整个磁盘从柱面0到最后一个柱面增加,在柱面上按磁道号增加,在磁道上按扇区号增加。

磁盘块号的组成形式:

6a70a5dabef97a5a4d3d257b0ceffb5e.png

设一块为一扇,则磁盘块号及其物理三地址之间可按以下式子转换:

注意这里的磁头数是磁道数,也就是说这里的磁盘是固定头磁盘,每一个磁道都有一个磁头。

(1)已知块号,则磁盘驱动用的三地址:

柱面号=[块号/(磁头数×扇区数)]

磁头号=[(块号mod(磁头数×扇区数))/扇区数]

扇区号=(块号mod(磁头数×扇区数))mod 扇区数

(2)已知磁盘块物理地址,则磁盘块号:

块号=柱面号×(磁头数×扇区数)+磁头号×扇区数+扇区号

上课的时候我看到上面的式子是有些疑惑的,但后来我对照着磁盘块号的组成形式就很快明白了。

设磁盘组共有n个柱面,编号顺序为0、1、2、…、n-1;共有m个磁头,编号顺序为0、1、2、…、m-1;每个磁道内的k个信息块从1开始编号,依次为1、2、…、k。现用x表示逻辑磁盘块号,用a,b,c分别表示任一逻辑磁盘块的柱面号、磁头号、磁道内块号,则x与a,b,c可通过如下公式进行转换:

x=k*m*a+k*b+c

a=(x-1) DIV (k*m)

b=((x-1) MOD (k*m)) DIV k

c=((x-1) MOD (k*m)) MOD k +1

注意这里扇区的编号是从1开始的,所以x需要-1

79e85ae304f201d1bed43f818f12b268.png

4、磁盘的分类

45294b552b5a0b520c95ae9d841ae777.png

5、总结

0aca6491fc1ed86d3d3fa001c6a423b5.png

二、磁盘调度算法

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

4931cbadd1ba906dade04070acfb04a7.png

1、先来先服务算法(FCFS)

8efb42fe98d169cbc920122cdea5c785.png

2、最短寻找时间优先算法(SSTF)

c2bea0a871ebce8e1be7e6e8c403e8d0.png

3、扫描算法(SCAN)

3038d39842a0dd02924a7b688cf70214.png

4、LOOK调度算法

cc2ee44f3d4a05faba07ead939a39bf2.png

5、循环扫描算法(C-SCAN)

abdd9f50056d9a50e4d8cb4509335fff.png

6、C-LOOK调度算法

5f048b22763fa477d656cee69ed4feeb.png

7、总结

96f79b30c831690c137c3e54ec7bbe6c.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值