假设每磁道划分成10个物理块,每块存放1个逻辑记录。逻辑记录R1,R2,…

news/2024/11/17 1:41:32/

一个经典的操作系统题目: 

数据存储在磁盘上的排列方式会影响I/O服务的总时间。假设每磁道划分成10个物理块,每块存放1个逻辑记录。逻辑记录R1,R2,…,R10存放在同一个磁道上,记录的安排顺序如下表所示: 物理块 1 2 3 4 5 6 7 8 9 10 逻辑记录 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 假定磁盘的旋转速度为20ms/周,磁头当前处在R1的开始处。若系统顺序处理这些记录,使用单缓冲区,每个记录处理时间为4ms,则处理这10个记录的最长时间为___(15)___;若对信息存储进行优化分布后,处理10个记录的最少时间为___(16)___。
网友给的解释如下(结果肯定是正确的啦):
首先从磁盘的转速:20ms/圈,我们可以知道:读取一条记录需要2ms。值得注意的一点是:处理一条记录的前提,是将其读出来。所以处理第一条记录时,要先将其读取出来,再进行处理,所以处理R1所需时间为2ms+4ms,当R1处理完时,磁头已经转到了R4的位置,此时要将其调整到R2的位置,需要经过R4,R5,R6,R7,R8,R9,R10,R1,这样要耗16ms的时间,再加上读取R2需要2ms以及处理数据的4ms,R2的总处理时间应为22ms。所以2+4+(16+2+4)*9=204ms。而优化后的排列顺序应为:R1,R8,R5,R2,R9,R6,R3,R10,R7,R4,这样的排列顺序刚好是处理完R1,磁头就到了R2的位置,直接读取R2,处理R2,处理完R2,磁头又到了R3的位置,依此类推,每条记录的读取及处理时间为:2ms+4ms=6ms,所以总时间为:(2+4)*10=60ms。


http://www.ppmy.cn/news/182342.html

相关文章

服务器磁盘raid0,raid1,raid10,raid5,raid50,raid6,raid60 分析与案例

1,raid0的特性:采用剥离,数据将在几个磁盘上进行分割。数据被分成很多数据块,每一数据块会被写入不同的磁盘。从而,每一磁盘的工作负荷都得到了降低,这有助于加速数据传输。RAID-0可让磁盘更好地响应&#…

【Android】android ndk r10 环境配置

android sdk 更新到 r23 时,eclipse 自带 adt版,里面并没有设置ndk的路径,从而导致了在ndk配置方面的难度。本文主要适合: ① 使用 android sdk r23 20140702 的朋友 ② 使用 android ndk r10 的朋友 ③ 想知道andorid adt自带ecl…

一文看懂JDK12中新版垃圾回收器-Shenandoah GC

目录 1. 简介 2. 流程 3. 实现 3.1. GC 前 3.2. GC 疏散阶段(Concurrent Evacuation) 3.3. GC 更新引用阶段(Concurrent Update References) 3.4. GC更新引用阶段(Final Update Refs ) 4. 对象比较…

安装R语言(Rstudio、R、RTools)

安装R语言(Rstudio、R、RTools) 本文介绍一下从零搭建R环境。 那么R语言,RTools和Rstudio有什么区别? R是基本的编程语言,单纯使用R是可以的,如图: image-20221207112951762 为了编写R程序,单独…

R10 Wifi 模块

一个很好的Wifi 模块 本模块支持透传、支持配置、支持定制 1.产品简介 1.1 概述 随着智能手机普及和 AI 技术流行,物联网技术已经应用到各个领域,越来越多的设备 连接互联网、云端、大数据。在智能化趋势的今天,我们可以通过手机、语音来操…

ARM寄存器R0-R15别名

寄存器R0-R15别名 1.1基本名与别名 ARM寄存器 寄存器名字Reg#APCS意义R0a1工作寄存器R1a2"R2a3"R3a4"R4v1必须保护R5v2"R6v3"R7v4"R8v5"R9v6"R10sl栈限制R11fp桢指针R12ip内部过程调用寄存器R13sp栈指针R14lr连接寄存器R15pc程序计…

ARM-汇编指令集(总结)

ARM汇编指令集 指令、伪指令 (汇编)指令: 是机器码的助记符,经过汇编器编译后,由CPU执行。 (汇编)伪指令:用来指导指令执行,是汇编器的产物,最终不会生…

R0~R16寄存器作用

R0-R3 用作传入函数参数,传出函数返回值。在子程序调用之间,可以将 r0-r3 用于任何用途。 被调用函数在返回之前不必恢复 r0-r3。如果调用函数需要再次使用 r0-r3 的内容,则它必须保留这些内容。 R4-R10 被用来存放函数的局部变量。如…