search
HomeDatabaseMysql Tutorial2.3.5 磁盘调度和电梯算法

2.3.5 磁盘调度和电梯算法 2010-12-14 09:39 杨冬青/吴愈青 等译 机械工业出版社 字号: T | T 综合评级: 想读(14)在读(4)已读(6)品书斋鉴(4) 已有24 人发表书评 《数据库系统实现(第2版)》第2章辅助存储管理,本章讲述我们需要知道的一个典型的计算机系

2.3.5 磁盘调度和电梯算法

2010-12-14 09:39 杨冬青/吴愈青 等译 机械工业出版社 字号:T | T

综合评级:

想读(14)  在读(4)  已读(6)   品书斋鉴(4)   已有24人发表书评

2.3.5 磁盘调度和电梯算法

《数据库系统实现(第2版)》第2章辅助存储管理,本章讲述我们需要知道的一个典型的计算机系统如何进行存储管理。我们将回顾存储器层次,其设备的访问速度递减而存储空间却递增。我们将特别关注磁盘,研究磁盘上数据的组织形式对其访问速度的影响。我们还将学习提高磁盘可靠性的机制。本节为大家介绍磁盘调度和电梯算法。

AD:WOT2015 互联网运维与开发者大会 热销抢票

2.3.5 磁盘调度和电梯算法

提高磁盘系统吞吐率的另一个有效方法是让磁盘控制器在若干个请求中选择一个来首先执行。当系统需要按一定的顺序访问磁盘块的时候该方法无法使用,但若请求来自独立的进程,一般而言,这些请求都会得益于调度程序公平而审慎的调度。

调度大量块请求的一个简单而有效的方法被称为电梯算法(elevator algorithm)。我们把磁头看作是在做横跨磁盘的扫描,从柱面最内圈到最外圈,然后再返回来,正如电梯做垂直运动,从建筑物的底层到顶层,然后再返回来。当磁头通过柱面时,如果有一个或多个对该柱面上的块的请求,磁头就停下来。根据请求,所有这些块被读或写。然后磁头沿着其正在行进的同一方向继续移动,直至遇到下一个包含要访问块的柱面。当磁头到达其行进方向上的某一个位置时,在该位置的前方不再有访问请求,磁头就朝相反方向移动。

例2.6假设我们正在调度一个Megatron 747磁盘,我们回忆起该磁盘的平均寻道时间、旋转等待时间和传输时间分别为6.46、4.17和0.13(在本例中,所有时间均以ms计算)。假设某一时刻存在着对柱面8000、24000和56000的块访问请求。磁头正位于柱面8000。此外,还有3个对块的访问请求,在晚些时候到来,正如图2-6所概括的那样。例如,对柱面16000的块的访问请求在10ms时产生。

我们将假定,每个块访问导致0.13ms传输时间和4.17ms平均旋转等待时间,即无论寻道时间是多少,我们都需要为每一次块访问加上4.3ms。寻道时间可通过例2.2给出的Megatron 747的规则计算:1加上磁道数被4000除(1+磁道数/500)。让我们看看,如果通过电梯算法调度会发生什么情况。对柱面8000的第一个请求不需要寻道,因为磁头已经定位在那里。这样,在时间4.3ms处第一次访问将完成。对柱面16000的请求这时尚未到达,所以我们移动磁头到柱面24000,即我们在向数字最大的磁道方向扫描中所请求的下一“站”。从柱面8000到24000的寻道花费5ms,所以我们在时间9.3到达,并在另一个4.3ms内完成访问。这样,第二次访问在时间13.6完成。在这个时间之前,对柱面16000的请求已经到达,但是我们是在时间7.3经过那个柱面,并且在下一次经过之前不会回到那个位置。

这样,我们接下来移动到柱面56000,花费9ms用于寻道,4.3ms用于旋转和传输。这样,第三次访问在时间26.9完成。现在,对柱面64000的请求已经到达,所以我们继续向外圈行进。我们需要3ms寻道时间,所以本次访问完成时间是在26.9+3+8.3=34.2处。

在这个时刻,对柱面40000的请求已经产生,所以现在还有本次请求和柱面16000的请求。于是我们内圈行进,处理这两次请求。图2-7总结了各个请求处理的时间。

2.3.5 磁盘调度和电梯算法 
图2-6 6个块请求的到达时间
2.3.5 磁盘调度和电梯算法 
图2-7采用电梯算法的块访问完成时间
让我们与诸如“先到达先服务”这样更朴素的方法来比较电梯算法的性能。假设头三个请求的顺序是8000、24000、56000,头三个请求完全以同样的方式处理。然而,在那一点,我们要到柱面16000去,因为那是第四个请求要到达的柱面。这个请求的寻道时间是11.0ms,因为我们从柱面56000行进到16000,行程超过了跨越磁盘的一半。第五次请求是对柱面64000,要求一个13ms的寻道时间,最后一次请求是对柱面40000,其寻道时间是7。图2-8概括了由“先到达先服务”调度法所产生的活动。两种算法相差14ms,看起来可能并不是很显著,但是请注意,在这个简单的例子中,请求数较少,而且假设在到达六个请求中的第四个之前两种算法没有区别。

【责任编辑:云霞 TEL:(010)68476606】


回书目   上一节   下一节
Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
在 Windows 11 上配置 RAID 1 的步骤在 Windows 11 上配置 RAID 1 的步骤Sep 22, 2023 pm 03:05 PM

Windows11有严格的要求,在努力获取该存储之后,丢失硬盘驱动器和数据将是一个遗憾。好吧,我们带来了好消息,可以帮助您缓冲硬盘驱动器故障。使用内置的Windows工具,您可以将所有数据从一个驱动器复制到另一个驱动器。这样,如果一个驱动器发生故障,您可以在替换驱动器上镜像和重建原始数据。Windows11可以做RAID吗?借助Windows存储空间功能,您可以在Windows11上执行RAID。此功能允许您使用直接连接到计算机的硬盘驱动器创建多个虚拟磁盘,而不会降低性能。突袭的好处:降低因磁盘

如何在 Windows 11 上 RAID 外部硬盘驱动器如何在 Windows 11 上 RAID 外部硬盘驱动器Sep 16, 2023 pm 10:05 PM

RAID或独立磁盘冗余阵列是一种数据存储技术,其中多个外部驱动器组合成一个。当大型硬盘价格昂贵时,它被广泛使用,但许多人仍然更喜欢RAID外部驱动器的方法。RAID有几个级别,每个级别都用于特定目的。请记住,普通用户不必深入了解复杂性,RAID0或RAID1的简单设置应该可以正常工作。考虑突袭外部驱动器的原因:改进了电脑的性能易于配置,比现有替代方案便宜更快的数据读取和写入通过镜像实现有效的备份解决方案如何在Windows11上RAID外部驱动器?在RAID外部硬盘驱动器之前,需要注意以下几个先

如何在 Windows 11 上将动态磁盘转换为基本磁盘如何在 Windows 11 上将动态磁盘转换为基本磁盘Sep 23, 2023 pm 11:33 PM

如果要在Windows11中将动态磁盘转换为基本磁盘,则应首先创建备份,因为该过程将擦除其中的所有数据。为什么要在Windows11中将动态磁盘转换为基本磁盘?根据Microsoft,动态磁盘已从Windows中弃用,不再推荐使用。此外,Windows家庭版不支持动态磁盘,因此您将无法访问这些逻辑驱动器。如果要将更多磁盘合并到更大的卷中,建议使用基本磁盘或存储空间。在本文中,我们将向您展示如何在Windows11上将动态磁盘转换为基本磁盘如何在Windows11中将动态磁盘转换为基本磁盘?在开始

掌握Ubuntu系统中的磁盘使用情况的方法掌握Ubuntu系统中的磁盘使用情况的方法Jan 03, 2024 pm 11:13 PM

我们在系统要查看硬盘使用的情况,Ubuntu系统该怎么查看呢?下面我们就来看看,Ubuntu系统查看硬盘占用率的教程。1、在系统上,点击桌面左下角,如图示。2、在系统,点击公用程式,如图示。3、点击磁碟使用量,如图示。4、那么即可看到磁盘使用的情况,就是中间的磁盘就是你电脑硬盘,如图示。磁盘下面的小字就是使用情况。5、或点击公用程式上的磁碟,如图示。6、那么在容量这里,看得到硬盘使用情况,如图示。下面是文字版本查看磁盘的使用情况:df-h结果如下:FilesystemSizeUsedAvailU

win11磁盘清理在哪查看win11磁盘清理在哪查看Jun 29, 2023 pm 09:25 PM

win11磁盘清理在哪查看?随着系统使用时间变久,c盘或者其他电脑磁盘里经常会多出来十几个G,或者是更多的无用垃圾文件。这时,使用win11自带的磁盘清理功能就可以帮助我们快速清理掉这些无用的文件。但是有不少用户们不清楚win11的磁盘清理功能在哪,怎么操作。今天小编就给大家带来了win11自带垃圾清理功能查看步骤,来给大家说明一下吧。win11自带垃圾清理功能查看步骤1、首先,按键盘上的【Win】键,或点击任务栏上的【开始菜单】,再选择已固定应用下的【设置】;2、当前路径为:系统>存储,

任务管理器磁盘100%是什么意思任务管理器磁盘100%是什么意思Jan 03, 2024 pm 06:13 PM

很多小伙伴打开任务管理器cpu时候,发现磁盘显示百分之100,这是怎么一回事呢?因为当WindowsDefender在进行扫描时,如果再进行其他的工作,磁盘占用率就达到了100%,或者还有其他功能的占用,具体的介绍及解决方法下面一起来看看吧。任务管理器磁盘100%是什么意思:答:当前磁盘资源被大量的占用了。磁盘占用的最大问题其实是windows搜索导致的,这个功能需要不断地简历因此会导致占用超高。任务管理器磁盘100%怎么办?1、首先右击任务栏,打开“任务管理器”。2、然后看看那个占用率高,右击

How to Resolve a Disk Read ErrorHow to Resolve a Disk Read ErrorFeb 19, 2024 pm 02:39 PM

标题:如何解决"Adiskreaderroroccurred"错误字数:1470引言:在使用电脑的过程中,我们可能会遇到各种各样的错误。其中,硬盘读取错误是较为常见的问题之一。当您的计算机显示“adiskreaderroroccurred”时,这表示您的计算机无法从硬盘上读取数据。虽然这个问题可能会导致一些麻烦,但幸运的是,我们有一些方法可以

在Windows 11上下载和安装三星NVME驱动程序的方法在Windows 11上下载和安装三星NVME驱动程序的方法Aug 23, 2023 pm 06:01 PM

我们一再重申定期更新驱动程序的重要性。一个好的驱动程序可以在您的PC上产生巨大的影响,NVMe驱动程序也不例外。在今天的文章中,我们的主要重点是三星NVMe驱动程序。我们将探讨如何在Windows11上下载和安装它、安装错误驱动程序可能出现的潜在问题以及如何优化它。三星NVMe驱动程序是否适用于Windows11?是的,三星NVMe驱动程序适用于Windows11,前提是您满足所有系统要求。三星NVMe驱动程序软件允许您的Windows操作系统识别您的三星NVMeSSD并与之通信。如果没有此驱动

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Tools

SublimeText3 English version

SublimeText3 English version

Recommended: Win version, supports code prompts!

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Integrate Eclipse with SAP NetWeaver application server.

WebStorm Mac version

WebStorm Mac version

Useful JavaScript development tools

SublimeText3 Linux new version

SublimeText3 Linux new version

SublimeText3 Linux latest version

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.