磁盘调度算法fcfs_磁盘操作

大成若缺,其用不敝;大盈若冲,其用不穷

文件系统从根本上说是操作系统对磁盘进行的抽象和装扮

本篇最重要的核心是文件夹及其实现,因为它是文件系统运作的根本。通过文件夹,我们才能找到我们需要的文件,完成从抽象到现实的转换。

磁盘操作

磁盘组织与管理

由于文件系统是磁盘的抽象,因此不了解磁盘就很难深刻理解文件系统。

 磁盘的结构

一块磁盘实际上并不只有一块盘片,而是由多块盘片组成,每块盘片的正反两面皆可以存放数据。每个盘面上都配有一个读写磁头,而所有的读写磁头连在一根共享的磁臂上。当磁臂运动时,所有的磁头均作相同的运动。盘片则以常速不停地旋转。这个旋转速度通常为每分钟3500转到10000转,即大约每6毫秒到17毫秒旋转一圈。

05141f6cd3ae8d56f1257e0a38543d28.png

除此之外,一块磁盘还含有信号和界面电子系统。

盘面的结构

为方便存储数据,人们将每块盘面分为磁道和扇面。磁道是一个个的同心环。而每个磁道又被分为扇面(也称为扇区)。数据则以扇面进行存储。扇面也是磁盘I/O的最小单位,如图

ddcfc72c28d66ddbc99f86b6df5291ca.png

磁盘驱动器的访问速度

磁盘在读写数据时的访问速度称为磁盘的动态属性。这是衡量一个磁盘性能的重要数据。数据访问时间或速度的计算并不简单,而这种计算不仅依赖于磁盘的旋转速度,而且还依赖于在访问开始时读写磁头所处的位置。数据访问时间也有几种衡量办法。

影响磁盘读写时间的因素有3个:

寻道时间

旋转延迟

数据传输时间

操作系统界面

对于磁盘来说,操作系统的一种功能是将磁盘驱动器系统里面的各种细节屏蔽起来,这样用户和应用程序都无须知道数据到底是如何存放在磁盘上的。操作系统在对磁盘进行管理时通常以磁盘块作为最小单位。而定位一个磁盘块则通过磁盘块地址进行。磁盘块通常为扇面数的整数倍,更为常见的是2的幂次方倍,如32个扇面或64个扇面等。

下列步骤描述的是从磁盘上读取一个扇面的过程:

1)操作系统将要读取的LBA传送给磁盘驱动器并启动读取命令。

2)磁盘驱动器通过将磁头移动到正确的位置,并启动处于指定盘面上的磁头来搜索指定的磁道。在磁头的移动过程中,读取磁头将不断地检查下面的扇面号直到找到所要求的扇面为止。

3)磁盘控制器将扇面数据和ECC信息传送到一个处于磁盘界面里的缓冲区。这里的ECC信息是在数据流动的动态过程中进行计算而得出的。

4)磁盘驱动器向操作系统发出“数据就绪”信号。

5)操作系统从磁盘界面里的缓冲区读取数据,既可以按一个字节一个字节的方式来读取,又可以启动DMA命令来读取。

磁盘调度算法

磁盘调度的算法主要有以下几种:

先来先服务FCFS(First Come,First Serve)

短任务优先STF(Shortest Task First)

短寻道优先SSF(Shortest Seek First)

电梯调度ES(Elevator Scheduling)

提前查看电梯调度ESLA(Elevator Scheduling with Look Ahead)

单向电梯调度OWES(One Way Elevator Scheduling)

讨论:

固态盘

智能磁盘系统

《操作系统之哲学原理第2版》邹恒明

                             精彩摘抄

                                    ?

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值