操作系统 磁盘调度中旋转延迟和磁盘访问时间的差异

操作系统 磁盘调度中旋转延迟和磁盘访问时间的差异

操作系统进行磁盘调度以调度到达磁盘的I/O请求。磁盘调度很重要,因为不同进程可能会有多个I/O请求到达,而磁盘控制器一次只能处理一个I/O请求。因此,其他I/O请求需要等待在等待队列中并且需要被调度。有一些重要的术语:寻道时间、旋转延迟、传输时间和磁盘访问时间。

寻道时间 是衡量硬盘的读/写头查找磁盘上的数据物理位置所需的时间。

延迟 是指在完成寻道后,正在访问的扇区平均旋转到读/写头下方的位置所需的时间。

什么是旋转延迟

磁盘被分为许多圆形轨道,这些轨道进一步划分为称为扇区的块。为了访问数据,执行器臂将读/写头移动到盘片上的特定轨道,同时盘片旋转以将请求的扇区置于读/写头下方。盘片旋转并将数据定位到读/写头下方所需的时间称为 旋转延迟

此延迟取决于主轴的旋转速度,并以毫秒为单位进行测量。磁盘的平均旋转延迟是磁盘完成一次旋转所需时间的一半。

旋转延迟时间取决于磁盘或主轴电机的旋转速度,以每分钟旋转次数(RPM)为单位进行测量。对于大多数基于磁介质的驱动器而言,平均旋转延迟通常基于经验关系,即此类驱动器的平均延迟(以毫秒为单位)为旋转周期的一半。以下是两种磁盘旋转方法:

  1. 恒定线速度 (CLV),主要用于光学存储,根据磁头的位置而改变光盘的旋转速度。
  2. 恒定角速度 (CAV),用于硬盘驱动器、标准软盘驱动器、一些光盘系统和黑胶唱片,无论磁头的位置如何都以一个恒定速度旋转介质。

例如,我们将每个轨道划分为4个扇区。系统接收到从轨道1读取扇区的请求。因此,读/写头将移动到轨道1,这将是寻道时间。在下面的图示中,读/写头目前位于扇区3。

操作系统 磁盘调度中旋转延迟和磁盘访问时间的差异

但是数据可能不在扇区3中,数据块可能存在于扇区1中。读/写头从扇区3移动到扇区1所需的时间是下面示意图中显示的 旋转延迟

操作系统 磁盘调度中旋转延迟和磁盘访问时间的差异

公式

以下公式用于计算磁盘调度中的旋转延迟。

Rotational Latency = (Angle between current sector and required sector) / (Rotational frequency) 
    //And

Average Rotational Latency = (1/2) * One rotation time

所有盘片都有自己的读写头。该头只能前后移动。如果头部向前移动,说明头部正在向内部轨道移动。如果头部向后移动,说明头部正在向外部轨道移动。

  • 最佳情况 = 当头部已经在所需扇区时。
  • 最坏情况 = 当头部在离所需扇区很远的扇区时,你必须等待完整一次旋转。
  • 平均情况 = 旋转时间的一半。

示例

在下面的示例中,我们使用公式来计算旋转延迟,

Suppose, Speed = 2400 RPM (Rotation Per Minute)
Then, 2400 Rotation = 1 min 
1 Rotation = 60 sec / 2400     // 1 min = 60 sec
1 Rotation = 1/40 sec

One Rotation Time = 1/40 sec

Average Rotational Latency = (1/2) * (1/40)
= 1/80 sec 

什么是磁盘访问时间

磁盘访问时间被定义为计算机处理读/写请求并从磁盘存储中检索所需数据所需的总时间。

磁盘访问时间由两个组成部分组成。第一个组成部分是搜索时间,在读写臂搜索所需轨道时发生。第二个组成部分是延迟等待时间,在读写臂等待所需轨道上的目标扇区旋转时发生。

对于磁盘上的数据访问以毫秒为单位进行测量。然而,这比CPU的处理速度要慢得多。尽管I/O仍然很慢,但它无法与现代处理器的速度改进相匹配。磁盘访问时间分为两部分:

  1. 访问时间
  2. 数据传输时间

公式

您可以使用以下公式计算磁盘访问时间。

Disk Access Time = Access Time + Data Transfer Time 

//OR

Disk Access Time = Seek time + Rotational delay + Transfer time + Controller overhead + Queuing delay

// Average disk access time is calculated as

Average disk access time = Average seek time + Average rotational delay + Transfer time + Controller overhead + Queuing delay

1. 访问时间

访问时间是指实际数据传输之前的设置时间。例如,读/写头在第一轨道上,但我们需要从另一个轨道或段读取数据。因此,在实际传输发生之前,读/写头将移动到数据块的位置。这个延迟称为访问时间。访问时间通过以下方式进行计算:

  • 搜索时间: 读/写头到达所需输出所需的时间。它被认为是最重要的时间,因为它不能产生间隙。搜索时间与性能成反比。搜索时间越少,性能越好。
Seek Time = (Number of tracks/cylinders crossed) * (Time to cross one track/cylinder)
  • 旋转延迟: 读/写头从当前扇区移动到请求的扇区所需的时间。
Rotational latency = (Angle by which disk is rotated) / (Angular Frequency) 
  • 命令处理时间: 它是磁盘设备处理命令并在磁盘设备的各个组件之间建立连接以读取/写入数据所需的时间。这是由于内部电路。
  • 稳定时间: 稳定时间是读/写头停止振动所需的时间。

注意:通常在数值问题中不提及命令处理时间和稳定时间,我们将其视为零。

2. 数据传输时间

数据传输时间定义为系统和磁盘之间传输数据所需的时间。数据传输时间有两种类型:

  • 内部传输速率: 定义为在磁盘表面和硬盘缓存之间移动数据所需的时间。
  • 外部传输速率: 定义为在硬盘缓存和系统之间移动数据所需的时间。

旋转延迟和磁盘访问时间的区别

以下是在磁盘调度中旋转延迟和磁盘访问时间之间的一些区别:

旋转延迟 磁盘访问时间
它是读/写头从一个扇区移动到另一个扇区所需的时间。 这是计算机处理读/写请求和检索所需数据所需的时间。
大多数磁盘调度不考虑旋转频率,因为在大多数现代系统中,块的实际物理位置不可用。 与寻道时间相比,它非常大。
旋转延迟取决于主轴的旋转速度。 磁盘访问时间取决于两个部分,即访问时间和数据传输时间。
如果后续请求属于相邻的扇区,则可以减少旋转延迟。 如果我们可以减少访问时间和数据传输时间,我们可以减少磁盘访问时间。
旋转延迟, = (当前扇区和所需扇区之间的角度)/(旋转频率)。 磁盘访问时间, = 寻道时间 + 旋转延迟 + 数据传输时间

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程