模拟电梯调度算法,实现对磁盘的驱动调度。

模拟电梯调度算法,实现对磁盘的驱动调度。
模拟电梯调度算法,实现对磁盘的驱动调度。

操作系统实验

(第三次)

一、实验内容

模拟电梯调度算法,实现对磁盘的驱动调度。

二、实验目的

磁盘是一种高速、大容量、旋转型、可直接存取的存储设备。它作为计算机系统的辅

助存储器,担负着繁重的输入输出任务、在多道程序设计系统中,往往同时会有若干个要求

访问磁盘的输入输出请求等待处理。系统可采用一种策略,尽可能按最佳次序执行要求访问

磁盘的诸输入输出请求。这就叫驱动调度,使用的算法称为驱动调度算法。驱动调度能降低

为若干个输入输出请求服务所需的总时间,从而提高系统效率。本实验要求学生模拟设计一

个驱动调度程序,观察驱动调度程序的动态运行过程。通过实验使学生理解和掌握驱动调度

的职能。

三、实验题目

模拟电梯调度算法,对磁盘进行移臂和旋转调度。

[提示]:

(1)磁盘是可供多个进程共享的存储设备,但一个磁盘每时刻只能为一个进程服务。

当有进程在访问某个磁盘时,其他想访问该磁盘的进程必须等待,直到磁盘一次工作结束。

当有多个进程提出输入输出要求而处于等待状态时,可用电梯调度算法从若干个等待访问者

中选择一个进程,让它访问磁盘。选择访问者的工作由“驱动调度”进程来完成。

由于磁盘与处理器是可以并行工作的、所以当磁盘在作为一个进程服务时,占有处理

器的另一进程可以提出使用磁盘的要求,也就是说,系统能动态地接收新的输入输出请求。

为了模拟这种情况,在本实验中设置了一个“接收请求”进程。

“驱动调度”进程和“接收请求”进程能否占有处理器运行,取决于磁盘的结束中断信

号和处理器调度策略。在实验中可用随机数来模拟确定这两个进程的运行顺序,以代替中断四、处理和处理器调度选择的过程。因而,程序的结构可参考图3—1

(2)“接收请求”进程建立一张“请求I/O”表,指出访问磁盘的进程要求访问的物理

地址,表的格式为:

假定某个磁盘组共有 200 个柱面,由外向里顺序编号(0—199),每个柱面上有20 个

磁道,编号为0—19,每个磁道分成8 个物理记录,编号0—7。进程访问磁盘的物理地址可以用键盘输入的方法模拟得到。图3—2 是“接收请求”进程的模拟算法。

在实际的系统中必须把等待访问磁盘的进程排入等待列队,由于本实验模拟驱动调

度,为简单起见,在实验中可免去队列管理部分,故设计程序时可不考虑“进程排入等待队列”的工作。

(3)“驱动调度”进程的功能是查“请求I/O”表,当有等待访问磁盘的进程时,按

电梯调度算法从中选择一个等待访问者,按该进程指定的磁盘物理地址启动磁盘为其服务。对移动臂磁盘来说,驱动调度分移臂调度和旋转调度。电梯调度算法的调度策略是与

移动臂的移动方向和移动臂的当前位子有关的,所以每次启动磁盘时都应登记移动臂方向和当前位子。电梯调度算法是一种简单而实用的驱动调度方法,这种调度策略总是优先选择与当前柱面号相同的访问请求,从这些请求中再选择一个能使旋转距离最短的等待访问者。如果没有与当前柱面号相同的访问请求,则根据移臂方向来选择,每次总是沿臂移动方向选择一个与当前柱面号最近的访问请求,若沿这个方向没有访问请求时,就改变臂的移动方向。这种调度策略能使移动臂的移动频率极小,从而提高系统效率。用电梯调度算法实现驱动调度的模拟算法如图3-3。

(4)图3-1 中的初始化工作包括,初始化“请求I/O”表,置当前移臂方向为里移;

置当前位置为0 号柱面,0 号物理记录。程序运行前可假定“请求I/O”表中已经有如干个进程等待访问磁盘。

在模拟实验中,当选中一个进程可以访问磁盘时,并不实际地启动磁盘,而用显示:“请

求I/O”表;当前移臂方向;当前柱面号,物理记录号来代替图3-3 中的“启动磁盘”这项工作。

(1)程序中使用的数据结构及其说明。

(2)const int PCB=100; ylinder != NULL; i++)

(3){

(4)}

(5)cout << i << endl;

(6)return i;

(7)}

(8)void accept() name >> pcbs[pcbs_num].Cylinder >> pcbs[pcbs_num].Track >>

pcbs[pcbs_num].Record;

(9)pcbs_num++;

(10)}

(11)int Cylinder_e() ylinder ==

(12)return i;

(13)}

(14)return 0;

(15)}

(16)int Cylinder_near(int cylinder, int record) ylinder == cylinder)

(17){

(18) a = pcbs[i].Record - record;

(19)if (a<0){ a = a + 8; }

(20)if (a

(21){

(22)t = a; k = i;

(23)}

(24)}

(25)}

(26)return k;

(27)}

(28)int Cylinder_max(int cylinder) ylinder - cylinder)) cylinder)(29){

(30)t = abs(pcbs[i].Cylinder - cylinder);

(31)}

(32)} num = cylinder + t; ylinder == num &&pcbs[i].Record < t)

(33){

(34)t = pcbs[i].Record; a = i;

(35)}

(36)}

(37)return a;

(38)}

(39)int Cylinder_max1(int cylinder)

(40){

(41)int t = 199, i, b = 0, c = 0;

(42)for (i = 0; i

(43){

(44)if ((abs(pcbs[i].Cylinder - cylinder))>b && pcbs[i].Cylinder > cylinder)

(45){

(46) b = abs(pcbs[i].Cylinder - cylinder);

(47)}

(48)}

(49)return b;

(50)}

(51)int Cylinder_min(int cylinder) ylinder - cylinder))

(52){

(53)t = abs(pcbs[i].Cylinder - cylinder);

(54)}

(55)}

(56)num = cylinder - t; t = 8; ylinder == num && pcbs[i].Record

(57){

(58)t = pcbs[i].Record; a = i;

(59)}

(60)}

(61)return a; name << setfill(' ') << setw(8) << pcbs[i].Cylinder << setfill(' ') << setw(8) << pcbs[i].Track << setfill(' ') << setw(10) << pcbs[i].Record << endl;

(62)}

(63)}

(64)void print_scan(bool x)

(65){

(66)cout << "选中的:" << endl; cout << "进程名" << " 柱面号" << " 磁道号" << " 物

理记录号" << " 方向" << endl; cout << setfill(' ') << setw(6) << << setfill(' ') << setw(8) << << setfill(' ') << setw(10) << << setfill(' ') << setw(10) << << setfill(' ') << setw(6) << x << endl;

(67)}

(68)int SCAN() ylinder == ylinder<

(69){

(70)way = 0;

(71)}

(72)else way = 1;

(73)}

(74)else

(75){

(76)if (way == 1)

(77){

(78)scan = Cylinder_max; //选择比当前柱面号大的请求中物理块号最小的(79)scan1 = Cylinder_max1;

(80)if (scan == scan1)

(81){

(82)scan = Cylinder_min; //选择比当前柱面号小的请求中物理块号最大的(83)way = 0;

(84)}

(85)}

(86)else

(87){

(88)scan = Cylinder_min;

(89)if (scan == 0)

(90){

(91)scan = Cylinder_max;

(92)way = 1;

(93)}

(94)}

(95)} a = pcbs[scan];

(96)delete_scan(scan); //删除pcbs[scan]

(97)print_scan(way); //打印

(98)return 1;

(99)}

(100)}

(101)void work()//初始化

(102){

(103)float n; char y = 'y'; while (y == 'y' || y == 'Y')(104){

(105)cout << "输入在[0,1]区间内的一个随机数" << endl;(106)cin >> n;

(107)if (n>

(108){

(109)SCAN(); //驱动调度

(110)}

(111)else

(112){

(113)accept(); //接受请求

(114)}

(115)cout << "继续?(y/n)" << endl;

(116)cin >> y;

(117)}

(118)}

(119)void main()

(120){

(121)work();

(122) }

(4)打印驱动调度进程每次选择访问请求前的“请求I/O”表以及每次选中的进程名、访问的柱面号、物理记录号和当前移臂方向(用up 代表里移,down 代表外移

磁盘驱动器

磁盘驱动器 磁盘驱动器分软盘驱动器和硬盘驱动器,是目前微型计算机上配置的最重要的外存储器,特别是硬盘,具有容量大,数据存取速度快,是各种计算机安装程序、保存数据的最重要存储设备。 软盘驱动器 软盘驱动器是抽取式储存装置中的一种,目前市面上流行的几种抽取式储存装置,包括磁介质的Zip,LS-120软盘,Jaz,Winchester磁盘(包括SyQuest),和磁光介面的MO,PD等。一般来说,这些介面可以配接大部份目前最流行的接驳口,包括并行接口,ATAPI(IDE硬盘接口),SCSI接口,和专为笔记本电脑而设的PCMCIA卡端子。另外,不同的储存媒介有着不同的性能和容量;一般来说,软磁盘介面的容量和速度都比较低,每储存单位的价钱则属于中游价格。硬盘式储存媒介则是最高速的一类,其每单位的价格则不算太贵,可能是因为每个储存介面的容量大,所以除开来的储存价格都算合理。磁光介面的储存媒体是价钱最便宜的,而且速度比软盘高,可是由于驱动器牵涉镭射光学装置,故一般都比较昂贵。 新型的软盘驱动 目前微型计算机已进入千兆字节时代,而与之相配的软盘已不堪重任,进入老化时期。近几年,新软盘技术不断出现,使软盘的容量越来越大,数据存取速度越来越高,甚至有些新软盘的容量超过了旧硬盘的软盘容量。目前流行的大容量软盘驱动器主要有ZIP、LS120和M.O.(Magneto Optical)等。下面分别给予介绍。 ZIP磁盘驱动器 ZIP驱动器是美国IOMEGA公司研制生产的一种大容量磁盘驱动器,每张磁盘存储量100MB,适用于DOS、Windows、Mac OS、OS/2。作为新一代可交换存储设备,ZIP适用于数据的存档、转移和共享,随着Internet的广泛应用,人们可以利用这种新存储设备方便地把网上信息拷贝下来。它是软盘驱动器的最佳替代品,在国际市场上的占有率比其他外部存储设备如IOMEGA公司的JAZ活动硬盘驱动器、SYQUEST公司的EZFILYER驱动器和可擦写MO(磁光)驱动器而言相

群控电梯调度算法

一)、弄清群控电梯调度算法的评价指标 由于乘客心理等待时间的长短、电梯响应呼梯的快慢、召唤厅站客流量的大小、轿厢内乘客人数的多少等均是一些模糊的概念,很难用确切的数量关系定义,也难以用普通的逻辑规则综合描述。 近年来,人们借助于模糊数学中的隶属函数来表述,将复杂的模糊问题转化为简单清晰的形式进行求解和控制.模糊控制通过模糊逻辑进行推理,有效地对电梯运行状况作出判断,但对于非常复杂的多变量系统,要建立正确的模糊规则和隶属函数是非常困难的,而且通过大量实验建立的隶属函数和规则有时也很难保证十分精确与合理。此外,其隶属函数中的加权系数是确定的,不能根据客流改变而相应改变。 为了解决模糊控制中存在的某些问题,新发明将神经网络控制方法应用于电梯控制中,无需建立精确数学模型,可以提供准确的控制策略,以减少候梯时间,降低乘客的焦急等待心理,节约能源,合理有效地调度电梯最佳运行。 (二)、理解上行高峰模式、下行高峰模式、双路运行模式等概念,并找出根据一系列输入手段间接算出运行模式的算法: 上行高峰交通模式:当主要的客流是上行方向,即全部或者大多数乘客从建筑物的门厅进入电梯且上行,这种状况被定义为上行高峰交通状况。 下行高峰交通模式:当主要的客流是下行方向,即全部或者大多数乘客乘电梯下行到门厅离开电梯,这种状况被定义为下行高峰交通状况。 二路交通模式:当主要的客流是朝着某一层或从某一层而来,而该层不是门厅,这种状况被定义为二路交通状况。二路交通状况多是由于在大楼的某一层设有茶点部或会议室,在一天的某一时刻该层吸引了相当多的到达和离开呼梯信号。所以二路交通状况发生在上午和下午休息期间或会议期间。 四路交通模式:当主要的客流是朝着某两个特定的楼层而来,而其中的一个楼层可能是门厅,这种交通状况被定义为四路交通状况。当中午休息期间,会出现客流上行和下行两个方向的高峰状况。午饭时客流主要是下行,朝门厅和餐厅。午休快结束时,主要是从门厅和餐厅上行。所以四路交通多发生在午休期间。四路交通又可分为午饭前交通和午饭后交通模式。此两类交通模式和早晨与晚上发生的上行、下行高峰不同,虽然主要客流都为上行和下行模式,但此两类交通模式同时还有相当比例的层间交通和相反方向的交通。各交通量的比例还与午休时间的长短,餐厅的位置和大楼的使用情况有关。四路交通时不但要考虑主要交通客流,还要考虑其他客流,与单纯的上、下行高峰期不同。 平衡的层间交通模式:当上行和下行乘客数量大致相同,并且各层之间的交通需求基本平衡时,此时的交通模式是处于一种普通的双向层间交通状况,它存在于一天中的大部分时间,乘客通常要求最小的候梯时间和乘梯时间。 空闲交通模式:空闲交通模式通常发生在假日、深夜、黎明等情况下,此时大楼的客流稀少、乘客的到达间隔很长,在这种状况下群控系统中仅仅有部分电梯进行工作,而其余电梯轿厢则空闲等候。 基于神经网络的交通模式识别 基于统计规律的交通模式识别 (三)、不同的运行模式各自适用什么样的调度算法? 1、基于专家系统的电梯群控调度算法[8] 电梯群控系统是一个具有大量不确定和不完整信息的复杂的非线性系统。这样一个复杂的系

操作系统实验报告—磁盘调度算法

操作系统实验报告实验3 磁盘调度算法 报告日期:2016-6-17 姓名: 学号: 班级: 任课教师:

实验3 磁盘调度算法 一、实验内容 模拟电梯调度算法,实现对磁盘的驱动调度。 二、实验目的 磁盘是一种高速、大量旋转型、可直接存取的存储设备。它作为计算机系统的辅助存储器,负担着繁重的输入输出任务,在多道程序设计系统中,往往同时会有若干个要求访问磁盘的输入输出请示等待处理。系统可采用一种策略,尽可能按最佳次序执行要求访问磁盘的诸输入输出请求,这就叫驱动调度,使用的算法称驱动调度算法。驱动调度能降低为若干个输入输出请求服务所须的总时间,从而提高系统效率。本实验要求学生模拟设计一个驱动调度程序,观察驱动调度程序的动态运行过程。 三、实验原理 模拟电梯调度算法,对磁盘调度。 磁盘是要供多个进程共享的存储设备,但一个磁盘每个时刻只能为一个进程服务。当有进程在访问某个磁盘时,其他想访问该磁盘的进程必须等待,直到磁盘一次工作结束。当有多个进程提出输入输出请求处于等待状态,可用电梯调度算法从若干个等待访问者中选择一个进程,让它访问磁盘。当存取臂仅需移到一个方向最远的所请求的柱面后,如果没有访问请求了,存取臂就改变方向。 假设磁盘有200个磁道,用C语言随机函数随机生成一个磁道请求序列(不少于15个)放入模拟的磁盘请求队列中,假定当前磁头在100号磁道上,并向磁道号增加的方向上移动。请给出按电梯调度算法进行磁盘调度时满足请求的次序,并计算出它们的平均寻道长度。 四、实验过程 1.画出算法流程图。

2.源代码 #include #include #include int *Init(int arr[]) { int i = 0; srand((unsigned int)time(0)); for (i = 0; i < 15; i++) { arr[i] = rand() % 200 + 1; printf("%d ", arr[i]); } printf("\n"); return arr; } void two_part(int arr[]) { int i = 0; int j = 0;

实验一 模拟实现进程调度算法

实验一模拟实现进程调度算法(4学时) ①、实验目的 a、进程调度是处理机管理的核心内容。观察、体会操作系统的进程调度方法,并通过一个简单的进程调度模拟程序的实现,加深对进程控制块、进程队列、进程调度算法,进程切换的理解,并体会和了解各种调度算法的具体实施办法。 b、提高实际动手编程能力,为日后从事软件开发工作打下坚实基础。 ②、实验内容 a、设计进程控制块PCB表结构,模拟实现进程调度算法:FIFO,静态优先级调度,时间片轮转调度,短进程优先调度算法,多级反馈队列调度。(实现静态优先级调度算法、短进程优先调度算法)。 b、编写一个进程调度程序模拟程序。模拟程序只对PCB进行相应的调度模拟操作,不需要实际程序。 c、由用户输入(可通过文件输入)进程名、进程状态、进程运行时间和进程优先级等数据。 ③、实验要求 a、使用模块化设计思想来设计。 b、给出主函数和各个算法函数的流程图。 c、学生可按照自身条件,随意选择采用的算法,(例如:采用冒泡法编写程序,实现短进程优先调度的算法)。 d、进程调度程序模拟程序只对PCB进行相应的调度模拟操作,不需要实际程序。 ④、运行结果 a、给出进程的调度模拟操作排序结果。 ⑤、提示 a、每个进程可有三个状态,并假设初始状态为就绪状态。 b、为了便于处理,程序中的进程运行时间以纳秒为单位计算。 C、各进程的优先级或轮转时间数以及进程需运行的纳秒数的初始值均由用户给定。 d、在优先级算法中,采用静态优先级。在时间片轮转算法中,采用可变时间片,由用户给定。 e、对于遇到优先级一致的情况,采用FIFO策略解决。

f、输入:进程流文件(文本文件),其中存储的是一系列要执行的进程,每个进程包括四个数据项:进程名进程状态(1就绪2等待3运行) 所需时间优先级(0级最高)。 g、输出:进程执行流等待时间平均等待时间。 ⑥、分析与讨论 a、各种进程调度算法的异同? b、如何理解“算法+数据结构=程序设计”? c、如何理解“数据结构始终是为实现功能服务的”? ⑦、参考代码 参看:附录A1 考核方法: 1、实验报告占50%,程序设计30%,出勤占20%; 3、每次实验100分,2次实验的平均分为最终实验成绩。 注:无出勤只交实验报告者,以实验报告成绩×50%为最后成绩。 打游戏者发现一次本次实验扣10分。 早退者本次实验扣10分。 点名时未到者,后来补签到按照迟到时间长短扣分,点名后即来扣5分,1节课过后才来扣10分。

磁盘驱动读取系统的分析设计

磁盘驱动读取系统的分析设计 一、闭环系统的性能分析 (1)确定使闭环系统稳定的Ka 的取值范围 >> G1=tf([5000],[1,1000]); >> G2=tf([1],conv([1,0],[1,20])); >> G=series(G1,G2) Transfer function: 5000 ------------------------ s^3 + 1020 s^2 + 20000 s g3= s s s K 2000010205000023++ 一一开环传函 G3=K s s s K 500002000010205000023+++ 一一闭环传函 >> syms K den >> den=[1 1020 20000 5000*K]; >> K=den(2)*den(3)/den(1)/5000 K = 4080 有劳斯判据可得k 的范围是0< K< 4080 (2)在上述取值范围内取较小和较大的两个Ka 值,仿真闭环系统的阶跃响应,并进行分析 K=100时 >> g=100*G g1=feedback(g,1) C=dcgain(g1) Transfer function:

500000 ------------------------ s^3 + 1020 s^2 + 20000 s Transfer function: 500000 --------------------------------- s^3 + 1020 s^2 + 20000 s + 500000 C = 1 [c,t]=step(g1); >> [y,k]=max(c); >> percentovershoot=100*(y-C)/C percentovershoot = 21.6918 >>t=setllingtime(g1) t = 0.3697 K=1000时 >> g=1000*G Transfer function: 5e006 -------------------------------- s^3 + 1020 s^2 + 20000 s >> g2=feedback(g,1) Transfer function: 5e006 ------------------------------------------ 调节时间函数s^3 + 1020 s^2 + 20000 s + 5e006 >> [c,t]=step(g2); >> C=dcgain(g2) C = 1 >> [y,k]=max(c) y = 1.7109 k =

电梯调度算法

课程设计报告 电梯调度算法 学院医药信息工程学院 专业 年级 2008 学生姓名 学号 指导教师 2011-7-12 电梯调度算法设计报告

一.LOOK(查找)调度(电梯)电梯算法,操作系统学术名为SCAN算法。磁臂仅移动到请求的最外道就回转。反方向查找服务。 1.问题描述: 说明:电梯调度算法的基本原则就是如果在电梯运行方向上有人要使用电梯则继续往那个方向运动,如果电梯中的人还没有到达目的地则继续向原方向运动。具体而言,如果电梯现在朝上运动, *如果当前楼层的上方和下方都有请求,则先响应所有上方的请求,然后才向下响应下方的请求;如果电梯向下运动,则刚好相反。 *设计要求:模拟多人在不同楼层同时要求到各自目的地时电梯的响应顺序,要求使用C语言编程,定义合适的数据结构。最后,需要说明设计思想,同时给出能够运行的源程序,并给出对应的程序流程图。 * 设计提示:可以用一个结构体表示乘电梯的人,其中内容包括人的姓名、起始楼层、目的楼层;建立一个结构体的数组模拟当前所有需要乘电梯的人。把这个结构体数组作为程序的输入,*通过对数组中每个人的起始楼层和目的楼层进行分析,确定每个人进出电梯的顺序,并打印输出。 2.算法设计: 本程序用java语言、eclipse平台编写。 (1)算法思想:本算法只设计了一辆电梯,通过往返寻找方法,即先查询电梯运行方向的楼层是否存在有其他键被按下,有就继续往该方向运行,如果没有就查询电梯运行反方向的楼层是否有按键被按下,如果有电梯就改变方向,反方向运行。如果没有电梯就停止在该楼层,30秒后如果没有任何键被按下,电梯就自动返回1楼驻停。同时,电梯乘客所去的楼层方向与电梯当前方向一致的话,则电梯优先搭载该乘客。随后再搭载去反方向的乘客。实现电梯的升降操作。 二.1.总程序流程图如下

处理器调度习题

处理器调度 选择题 当CPU执行操作系统代码时,则处理机处于( )。 A.执行态 B.目态 C.管态 D.就绪态 ( )是机器指令的扩充,是硬件的首次延伸,是加在硬件上的第一层软件。 A.系统调用 B.操作系统 C.内核 D.特权指令 操作系统提供给程序员的接口是( )。 A.进程 B.系统调用 C.库函数 D.B和C 用户程序向系统提出使用外设的请求方式是( )。 A.作业申请 B.原语 C.系统调用 D.I/O指令 当作业正常完成进入完成状态时,操作系统( )。 A.将输出该作业的结果并删除内存中的作业 B.将收回该作业的所占资源并输出结果 C.将收回该作业的所占资源及输出结果,并删除该作业 D.将收回该作业的所占资源及输出结果,并将它的控制块从当前的队列中删除 下列选项是关于作业和进程关系的描述,其中哪一个是不正确的( )。 A.作业的概念主要用在批处理系统中,而进程的概念则用在几乎所有的OS中。 B.作业是比进程低一级的概念。 C.一个作业至少由一个进程组成。 D.作业是用户向计算机提交任务的实体,而进程是完成用户任务的执行实体以及向系统申请分配资源的基本单位。 作业从后备作业到被调度程序选中的时间称为( )。 周转时间B.响应时间C.等待调度时间D.运行时间 设有三个作业J1,J2,J3,它们同时到达,运行时间分别为T1,T2,T3,且T1≤T2≤T3,若它们在一台处理机上按单道运行,采用短作业优先算法,则平均周转时间为( )。 A.T1+T2+T3 B.1/3(T1+T2+T3) C.T1+2/3T2+1/3T3 D.T1+1/3T2+2/3T3 从作业提交给系统到作业完成的时间间隔称为作业的( )。 A.中断时间 B.等待时间 C.周转时间 D.响应时间 设有四个作业同时到达,每个作业执行时间均为2 h,它们在一台处理机上按单道方式运行,则平均周转时间为( )。 A.1 h B.5 h C.2.5 h D.8 h FCFS调度算法有利于( )。 A.长作业和CPU繁忙型作业 B.长作业和I/O繁忙型作业 C.短作业和CPU繁忙型作业 D.短作业和I/O繁忙型作业 下列哪种说法不是SJ(P)F调度算法的缺点( )。 A.对于长作业(进程)不利 B.未考虑作业(进程)的紧迫程度 C.不能有效降低作业(进程)的平均等待时间 D.由于根据的是用户提供的估计执行时间,因此不一定真正做到短而优先。 选择排队进程中等待时间最长的进程被优先调度,该调度算法是( )。 A.先来先服务调度算法B.短进程优先调度算法 C.优先权调度算法D.高响应比优先调度算法 在采用动态优先权的优先权调度算法中,如果所有进程都具有相同优先权初值,则此时的优先权调度算法实际上和( )相同。

进程调度算法的模拟实现

操作系统课程设计报告题目:进程调度算法的模拟实现_ 专业计算机科学与技术 学生姓名 班级 学号 指导教师 发放日期2015.1.30 信息工程学院

目录 1 概述 (1) 2 设计原理 (1) 2.1先来先服务算法 (1) 3 详细设计与编码 (2) 3.1 模块设计 (2) 3.2 系统流程图 (2) 3.3 系统详细设计 (2) 4 结果与分析 (6) 4.1 测试方案 (6) 4.2 测试结果 (6) 4.3 测试结果分析 (9) 5 设计小结 (10) 6 参考文献 (10) 附录程序代码 (12)

进程调度算法的模拟实现 进程调度算法的模拟实现 1 概述 选择一个调度算法,实现处理机调度,进程调度算法包括:先来先服务算法,短进程优先算法,时间片轮转算法,动态优先级算法。可选择进程数量,本程序包括四种算法,用C或C++语言实现,执行时在主界面选择算法(可用函数实现),进入子页面后输入进程数,(运行时间,优先数由随机函数产生),执行,显示结果。 2 设计原理 2.1先来先服务(FCFS)算法 每次调度都是从后备作业队列中选择一个或多个最先进入该队列的作业,将它们调入内存,为它们分配资源创建进程,然后放入就绪队列 2.2 时间片轮转法(RR)算法 系统将所有的就绪进程按先来先服务的原则排成一个队列,每次调度时,把CPU分配给队首进程,并令其执行一个时间片。时间片的大小从几ms到几百ms。当执行的时间片用完时,由一个计时器发出时钟中断请求,调度程序便据此信号来停止该进程的执行,并将它送往就绪队列的末尾;然后,再把处理机分配给就绪队列中新的队首进程,同时也让它执行一个时间片。 2.3短作业优先(SJF)算法 短作业优先调度算法是从就绪队列中选出一个估计运行时间最短的进程,将处理机分配给它,使它立即执行并一直执行到完成,或发生某事件而被阻塞放弃处理机时再重新调度。 2.4最高优先权优先(HRRN)算法 优先权调度算法是为了照顾紧迫型作业,使之在进入系统后便获得优先处理,引入最高优先权优先调度算法。动态优先权是指在创建进程时所赋予的优先权,是可以随进程的推进或随其等待时间的增加而改变的,以便获得更好的调度性能。

天津理工大学 操作系统实验3:磁盘调度算法地实现

实验报告学院(系)名称:计算机与通信工程学院

【实验过程记录(源程序、测试用例、测试结果及心得体会等)】 #include #include #include using namespace std; const int MaxNumber=100; int TrackOrder[MaxNumber]; int MoveDistance[MaxNumber]; //----移动距离; int FindOrder[MaxNumber]; //-----寻好序列。 double AverageDistance; //-----平均寻道长度 bool direction; //-----方向 true时为向外,false为向里 int BeginNum; //----开始磁道号。 int M; //----磁道数。 int N; //-----提出磁盘I/O申请的进程数 int SortOrder[MaxNumber]; //----排序后的序列 bool Finished[MaxNumber]; void Inith() { cout<<"请输入磁道数:"; cin>>M; cout<<"请输入提出磁盘I/O申请的进程数:"; cin>>N; cout<<"请依次输入要访问的磁道号:"; for(int i=0;i>TrackOrder[i]; for(int j=0;j>BeginNum; for(int k=0;k=0;i--) for(int j=0;jSortOrder[j+1])

数学建模电梯调度问题

电梯调度问题

电梯调度问题 摘要: 本题为一个电梯调度的优化问题,在一栋特定的写字楼内,利用现有的电梯资源,如何使用电梯能提高它的最大运输量,在人流密度十分大的情况下,如何更快的疏通人流成为一个备受关注的问题。为了评价一个电梯群系统的运作效率,及运载能力,在第一问中,我们用层次分析发,从效益、成本两大方面给出了六个分立的小指标,一同构成电梯群运载效率的指标体系。对第二问,本文根据题目情况的特殊性,定义忙期作为目标函数,对该电梯调度问题建立非线性规划模型,最后用遗传算法对模型求解。第三问中,本文将模型回归实际,分析假设对模型结果的影响,给出改进方案。 对于问题一,本文用评价方法中的层次分析法对电梯群系统的运作效率及运载能力进行分析。经分析,本文最终确定平均候梯时间、最长候车时间、平均行程时间、平均运营人数(服务强度)、平均服务时间及停站次数这六个指标作为电梯调度的指标体系。在这些评价指标的基础上,本文细化评价过程,给出完整的评价方案:首先,采用极差变换法对评价指标做无量纲化处理。然后,采用综合评价法对模型进行评价。在这个过程中,本文采用受人主观影响较小的夹角余弦法来确定权重系数。 对于第二问,本文建立非线性优化模型。借鉴排队论的思想,本文定义忙期,构造了针对本题中特定情形的简单数学表达式,作为目标函数。利用matlab软件,采用遗传算法对模型求解。多次运行可得到多个结果,然后用第一问中的评价模型进行评价,最终选出较优方案。最得到如下方案: 第一个电梯可停层数为:1,2,3,4,5,6,7,10,14,15,16,19,20,22 第二个电梯可停层数:1,4,5,7,10,13,16,18,19,20,21 第三个电梯可停层数:1,2,3,4,6,8,10,11,12,15,16,20,22 第四个电梯可停层数:1,2,3,4,7,10,11,17,18,19,21,22 第五个电梯可停层数:1,2,4,7,8,9,17,18,19,20,21 第六个电梯可停层数:1,4,5,6,7,8,9,11,13,18,19,20 此方案平均忙期为:15.3分钟。 对于第三问,本文是从每分钟到达人群数的分布角度改进模型的。第二问中

进程模拟调度算法课程设计

一.课程概述 1.1.设计构想 程序能够完成以下操作:创建进程:先输入进程的数目,再一次输入每个进程的进程名、运行总时间和优先级,先到达的先输入;进程调度:进程创建完成后就选择进程调度算法,并单步执行,每次执行的结果都从屏幕上输出来。 1.2.需求分析 在多道程序环境下,主存中有着多个进程,其数目往往多于处理机数目,要使这多个进程能够并发地执行,这就要求系统能按某种算法,动态地把处理机分配给就绪队列中的一个进程,使之执行。分配处理机的任务是由处理机调度程序完成的。由于处理机是最重要的计算机资源,提高处理机的利用率及改善系统必(吞吐量、响应时间),在很大程度上取决于处理机调度性能的好坏,因而,处理机调度便成为操作系统设计的中心问题之一。本次实验在VC++6.0环境下实现先来先服务调度算法,短作业优先调度算法,高优先权调度算法,时间片轮转调度算法和多级反馈队列调度算法。 1.3.理论依据 为了描述和管制进程的运行,系统为每个进程定义了一个数据结构——进程控制块PCB(Process Control Block),PCB中记录了操作系统所需的、用于描述进程的当前情况以及控制进程运行的全部信息,系统总是通过PCB对进程进行控制,亦即,系统是根据进程的PCB 而不是任何别的什么而感知进程的存在的,PCB是进程存在的惟一标志。本次课程设计用结构体Process代替PCB的功能。 1.4.课程任务 一、用C语言(或C++)编程实现操作模拟操作系统进程调度子系统的基本功能;运用多 种算法实现对进程的模拟调度。 二、通过编写程序实现进程或作业先来先服务、高优先权、按时间片轮转、短作业优先、多 级反馈队列调度算法,使学生进一步掌握进程调度的概念和算法,加深对处理机分配的理解。 三、实现用户界面的开发

磁盘驱动器

第7章 磁盘驱动器 7.1 IDE接口概述 在PC中用于连接磁盘驱动器的主要接口中,一类典型的接口是IDE(Integrated Drive Electronics,集成驱动器电路)接口。这个接口所反映的是接口电路或控制器内置于驱动器自身这一事实。在IDE接口出现之前,驱动器和控制器的接口是分离的,因而可以说IDE是以前接口的革命化变革。IDE的原名叫ATA (AT Attachment,AT嵌入式接口), IDE和ATA实际上描述的是同一种接口,因此可以互换使用。尽管IDE的使用更加流行和广泛,但从技术上来看,ATA才是真正的称呼。如果吹毛求疵一点儿,可以这样认为:IDE通常指任何一种将控制器嵌入到驱动器的驱动器接口;而ATA则是PC机中IDE接口所遵循的标准或具体的实现。如今,ATA不仅被用于硬盘驱动器,还用于CD-ROM驱动器,DVD驱动器,高容量超级软盘驱动器以及磁带驱动器。 ATA是一个16位并行接口,即可以通过接口电缆同时传输16位数据。2000年底,一种称为串行ATA (Serial ATA)的新接口由官方正式发布,从2002年起将被各种系统陆陆续续地采纳。串行ATA(SATA)一次向电缆上发送一位数据,这样就可以使用更短更细的电缆;同时由于速率增加,性能也有很大的提高。SATA是一种全新的物理接口,但在软件级则与并行ATA保持兼容。在本书中,术语ATA指的是并行接口,而SATA指的是串行接口。 许多系统主板上的ATA连接器实际上就是一条ISA(或AT)总线槽。在ATA的安装中,一般只使用了98针中的40针,标准的16位ISA总线槽都会提供这些针。应该注意的是,较小的2.5英寸ATA驱动器使用一种44针的连接,包含了电源和配置所需的针。使用的针仅仅是那些标准型的XT或AT硬盘控制器所必需的信号针。举例而言,由于基本的AT型磁盘控制器仅使用中断行14,那么基本的主板ATA IDE 连接器也就仅提供该中断行,其他中断行是不必要的。已经过时的8位 XT IDE主板连接器提供中断行5,那是因为XT控制器需要用到它。注意,即使所用的ATA接口连接于主板芯片组上的South Bridge芯片或I/O控制器Hub芯片(它可能出现在较新的系统中)并且以较快的总线速度运行,所用针的输出针和功能也没有什么不同。 这里要澄清一个问题,就是许多人在使用主板上装有ATA连接器的系统时,都认为硬盘控制器也安装在主板上,而实际上控制器是在驱动器中,还没有哪个PC系统将硬盘控制器安装到主板上。尽管集成于主板上的ATA端口常被称为“控制器”,他们实际上应被叫做“主机适配器”(诚然,该术语并不常见)。主机适配器可以看作是连接控制器与总线的设备。 7.2 IDE接口类型 曾经存在四种基于三种不同总线标准的主要的IDE接口类型: ·串行ATA(SATA)。 · AT嵌入式接口(ATA)IDE(16位ISA)。 · XT IDE(8位ISA)。 · MCA IDE(16位微通道)。 其中,只有ATA现在还在使用,它与串行ATA一起,已发展成为更新、更快、更强大的版本。这些发展了的ATA并行版本指的是ATA-2及其更高版本,它们也被称为EIDE(增强型IDE)、快速ATA、ultra-ATA 或Ultra-DMA,尽管ATA最终可能只能发展到ATA-6版本,但串行ATA弥补了 ATA的不足,其性能更加优越,便于以后版本的升级。

磁盘移臂调度过程模拟设计-电梯算法最短寻道时间优先

学号: 课程设计 题目 磁盘移臂调度过程模拟设计 --电梯算法、最短寻道时间优先算法 学院计算机科学与技术学院专业 班级 姓名 指导教师吴利军

2013 年 1 月15 日 课程设计任务书 学生姓名: 指导教师:吴利军工作单位:计算机科学与技术学院 题目: 磁盘移臂调度过程模拟设计——电梯算法、最短寻道时间优先算法初始条件: 1.预备内容:阅读操作系统的文件管理章节内容,理解有关文件组织形式、存储设备的概念。 2.实践准备:掌握一种计算机高级语言的使用。 要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1.编程序模拟磁盘调度的过程,采用指定算法,模拟并输出存取臂的移动顺序,并计算存取臂移动的磁道总数。能够处理以下的情形: ⑴可根据需要输入当前磁头的位置,磁头移动方向; ⑵能够输入柱面数,磁道访问序列等参数,并能够显示调度结果(磁盘访问请求的磁道号 以及磁头移动的总磁道数)。 2.设计报告内容应说明: ⑴课程设计目的与功能; ⑵需求分析,数据结构或模块说明(功能与框图);

⑶源程序的主要部分; ⑷测试用例,运行结果与运行情况分析; ⑸自我评价与总结: i)你认为你完成的设计哪些地方做得比较好或比较出色; ii)什么地方做得不太好,以后如何改正; iii)从本设计得到的收获(在编写,调试,执行过程中的经验和教训); iv)完成本题是否有其他的其他方法(如果有,简要说明该方法); v)对实验题的评价和改进意见,请你推荐设计题目。 时间安排: 设计安排一周:周1、周2:完成程序分析及设计。 周2、周3:完成程序调试及测试。 周4、周5:验收,撰写课程设计报告。 (注意事项:严禁抄袭,一旦发现,抄与被抄的一律按0分记) 指导教师签名:年月日 系主任(或责任教师)签名:年月日 磁盘移臂调度过程模拟设计 ——电梯算法、最短寻道时间优先算法1 课程设计目的与功能

模拟电梯调度算法,实现对磁盘的驱动调度。

操作系统实验 (第三次) 一、实验内容 模拟电梯调度算法,实现对磁盘的驱动调度。 二、实验目的

磁盘是一种高速、大容量、旋转型、可直接存取的存储设备。它作为计算机系统的辅 助存储器,担负着繁重的输入输出任务、在多道程序设计系统中,往往同时会有若干个要求访问磁盘的输入输出请求等待处理。系统可采用一种策略,尽可能按最佳次序执行要求访问磁盘的诸输入输出请求。这就叫驱动调度,使用的算法称为驱动调度算法。驱动调度能降低为若干个输入输出请求服务所需的总时间,从而提高系统效率。本实验要求学生模拟设计一个驱动调度程序,观察驱动调度程序的动态运行过程。通过实验使学生理解和掌握驱动调度的职能。 三、实验题目 模拟电梯调度算法,对磁盘进行移臂和旋转调度。 [提示]: (1)磁盘是可供多个进程共享的存储设备,但一个磁盘每时刻只能为一个进程服务。 当有进程在访问某个磁盘时,其他想访问该磁盘的进程必须等待,直到磁盘一次工作结束。当有多个进程提出输入输出要求而处于等待状态时,可用电梯调度算法从若干个等待访问者中选择一个进程,让它访问磁盘。选择访问者的工作由“驱动调度”进程来完成。 由于磁盘与处理器是可以并行工作的、所以当磁盘在作为一个进程服务时,占有处理 器的另一进程可以提出使用磁盘的要求,也就是说,系统能动态地接收新的输入输出请求。为了模拟这种情况,在本实验中设置了一个“接收请求”进程。 “驱动调度”进程和“接收请求”进程能否占有处理器运行,取决于磁盘的结束中断信 号和处理器调度策略。在实验中可用随机数来模拟确定这两个进程的运行顺序,以代替中断四、处理和处理器调度选择的过程。因而,程序的结构可参考图3—1

磁盘调度算法的模拟实现

磁盘调度算法的模拟实现 学院 专业 学号 学生姓名 指导教师姓名 2014年3月19日 目录

一、课设简介 (2) 1.1 课程设计题目 (2) 1.2 课程设计目的 (2) 1.3 课程设计要求 (2) 二、设计内容 (3) 2.1功能实现 (3) 2.2流程图 (3) 2.3具体内容 (3) 三、测试数据 (4) 3.3 测试用例及运行结果 (4) 四、源代码 (5) 五、总结 (12) 5.1 总结............................................ 一、课设简介 1.1课程设计题目

磁盘调度算法的模拟实现1 1.2程序设计目的 操作系统课程设计是计算机专业重要的教学环节,它为学生提供了一个既动手又动脑,将课本上的理论知识和实际有机的结合起来,独立分析和解决实际问题的机会。 1)进一步巩固和复习操作系统的基础知识。 2)培养学生结构化程序、模块化程序设计的方法和能力。 3)提高学生调试程序的技巧和软件设计的能力。 4)提高学生分析问题、解决问题以及综合利用C语言进行程序设计的能力。 1.3 设计要求 1)磁头初始磁道号,序列长度,磁道号序列等数据可从键盘输入,也可从文件读入。 2)最好能实现磁道号序列中磁道号的动态增加。 3)磁道访问序列以链表的形式存储 4)给出各磁盘调度算法的调度顺序和平均寻道长度 二、设计内容 2.1 功能实现 设计并实现一个本别利用下列磁盘调度算法进行磁盘调度的模拟

程序。 1) 先来先服务算法FCFS 2) 最短寻道时间优先算法 SSTF 2.2流程图 2.3具体内容 1)先来先服务算法FCFS 这是一种比较简单的磁盘调度算法。它根据进程请求访问磁盘 的先后次序进行调度。此算法的优点是公平、简单,且每个进程的请 求都能依次得到处理,不会出现某一进程的请求长期得不到满足的情 况。此算法由于未对寻道进行优化,在对磁盘的访问请求比较多的情开始 选择算法 F C F S S S T F 结束

进程调度算法模拟程序设计C++

(1)用C语言(或其它语言,如Java)实现对N个进程采用某种进程调度算法(如动态优先权调度)的调度。 (2)每个用来标识进程的进程控制块PCB可用结构来描述,包括以下字段:?进程标识数ID。 ?进程优先数PRIORITY,并规定优先数越大的进程,其优先权越高。 ?进程已占用CPU时间CPUTIME。 ?进程还需占用的CPU时间ALLTIME。当进程运行完毕时,ALLTIME变为0。 ?进程的阻塞时间STARTBLOCK,表示当进程再运行STARTBLOCK个时间 片后,进程将进入阻塞状态。 ?进程被阻塞的时间BLOCKTIME,表示已阻塞的进程再等待BLOCKTIME 个时间片后,将转换成就绪状态。 ?进程状态STATE。 ?队列指针NEXT,用来将PCB排成队列。 (3)优先数改变的原则: ?进程在就绪队列中呆一个时间片,优先数增加1。 ?进程每运行一个时间片,优先数减3。 (4)为了清楚地观察每个进程的调度过程,程序应将每个时间片内的进程的情况显示出来,包括正在运行的进程,处于就绪队列中的进程和处于阻塞队列中的进程。 (5)分析程序运行的结果,谈一下自己的认识。 实验代码 #include "iostream.h" #include "windows.h" //#define N 3 typedef struct{ int ID; int PRIORITY; int CPUTIME;

int ALLTIME; int STARTBLOCK; int BLOCKTIME; int STATE;//0-运行1-阻塞2-就绪3-结束4-未到达 int REACH; int TIME; }PROCESS; void textcolor (int color) { SetConsoleTextAttribute (GetStdHandle (STD_OUTPUT_HANDLE), color ); } void main(){ int i,time,max,l,l1,time1,flag=0,total=0,N,server[10],sum=0; PROCESS pro[10]; textcolor(13); cout<<"注意:本程序中状态代表如下"<>N; cout<<"请设置时间片长度:"; cin>>time; cout<<"请输入各进程初始状态:"<>pro[i].ID>>pro[i].PRIORITY>>pro[i].REACH;

操作系统课程设计--模拟实现磁盘的调度

课 程 设 计设计题目:模拟实现磁盘的调度

一、课题设计目的 a、观察、体会操作系统的磁盘调度方法,并通过一个简单的磁盘调度模拟程序的实现,加深对磁盘调度的理解。 b、提高实际动手编程能力,为日后从事软件开发工作打下坚实基础。 c、通过对磁盘调度算法的设计,深入理解提高磁盘访问速度的原理。 二、课题实现环境 VC++6.0 MFC 三、课题设计思路 算法描述: 1.服务算法(FCFS) 先来先服务(FCFS)调度:按先来后到次序服务,未作优化。 最简单的移臂调度算法是“先来先服务”调度算法,这个算法实际上不考虑访问者要求访问的物理位置,而只是考虑访问者提出访问请求的先后次序。例如,如果现在读写磁头正在50号柱面上执行输出操作,而等待访问者依次要访问的柱面为130、199、32、159、15、148、61、99,那么,当50号柱面上的操作结束后,移动臂将按请求的先后次序先移到130号柱面,最后到达99号柱面。 采用先来先服务算法决定等待访问者执行输入输出操作的次序时,移动臂来回地移动。先来先服务算法花费的寻找时间较长,所以执行输入输出操作的总时间也很长。 2.算法(SCAN) SCAN 算法又称电梯调度算法。SCAN算法是磁头前进方向上的最短查找时间优先算法,它排除了磁头在盘面局部位置上的往复移动,SCAN算法在很大程度上消除了SSTF算法的不公平性,但仍有利于对中间磁道的请求。 “电梯调度”算法是从移动臂当前位置开始沿着臂的移动方向去选择离当前移动臂最近的那个柱访问者,如果沿臂的移动方向无请求访问时,就改变臂的移动方向再选择。这好比乘电梯,如果电梯已向上运动到4层时,依次有3位乘客陈生、伍生、张生在等候乘电梯。他们的要求是:陈生在2层等待去10层;伍生在5层等待去底层;张生在8层等待15层。由于电梯目前运动方向是向上,所以电梯的形成是先把乘客张生从8层带到15层,然后电梯换成下行方向,把乘客伍生从5层带到底层,电梯最后再调换方向,把乘客陈生从2层送到10层。 我们仍用前述的同一例子来讨论采用“电梯调度”算法的情况。由于磁盘移动臂的初始方向有两个,而该算法是与移动臂方向有关,所以分成两种情况来讨论。 〈1〉.移动臂由里向外移动 开始时,,在50号柱面执行操作的读写磁头的移动臂方向是由里向外,趋向32号柱面的位置,因此,当访问50号柱面的操作结束后,沿臂移动方向最近的柱面是32号柱面。所以应先为32号柱面的访问者服务,然后是为15号柱面的访问者服务。之后,由于在向外移方向已无访问等待者,故改变移动臂的方向,由外向里依次为各访问者服务。在这种情况下为等待访问者服务的次序是61、99、130、148、159、199。

模拟磁盘调度算法,操作系统课程设计

某某大学 课程设计报告课程名称:操作系统 设计题目:模拟磁盘调度算法 系别:计算机系 专业:计算机科学与技术 组别: 学生姓名: 学号: 起止日期: 指导教师:

目录 第一章需求分析 (1) 1.1课程设计的简介 (1) 1.2课程设计的目的 (1) 1.3磁盘调度主要思想 (1) 1.4课程设计内容 (2) 第二章概要设计 (3) 2.1设计思想 (3) 2.2 数据结构 (3) 2.3模块调用关系图 (3) 2.4子模块程序流程图 (5) 第三章详细设计 (6) 3.1模块划分 (6) 第四章代码测试 (9) 4.1先来先服务 (9) 4.1最短寻道时间优先 (11) 4.1扫描算法 (12) 第五章心得体会 (13) 第六章致谢 (13) 参考文献 (1) 附源代码 (2)

第一章需求分析 1.1课程设计的简介 这是一个用VC++6.0为工具、C++为编程语言而实现模拟先来先服务算法(FCFS)、最短寻道时间优先算法(SSTF)、扫描算法(SCAN)的一个磁盘调度程序。该程序设计系统主界面可以灵活选择某种算法并算出磁头移动的总磁道数以及平均磁道数。 1.2课程设计的目的 本课程设计的目的是通过设计一个磁盘调度模拟系统,从而使磁盘调度算法更加形象化,容易使人理解,使磁盘调度的特点更简单明了,能使使用者加深对先来先服务算法(FCFS)、最短寻道时间优先算法(SSTF)、扫描算法(SCAN)等磁盘调度算法的理解。 1.3磁盘调度主要思想 设备的动态分配算法与进程调度相似,也是基于一定的分配策略的。常用的分配策略有先请求先分配、优先级高者先分配等策略。在多道程序系统中,低效率通常是由于磁盘类旋转设备使用不当造成的。操作系统中,对磁盘的访问要求来自多方面,常常需要排队。这时,对众多的访问要求按一定的次序响应,会直接影响磁盘的工作效率,进而影响系统的性能。访问磁盘的时间因子由3部分构成,它们是查找(查找磁道)时间、等待(旋转等待扇区)时间和数据传输时间,其中查找时间是决定因素。因此,磁盘调度算法先考虑优化查找策略,需要时再优化旋转等待策略。 平均寻道长度(L)为所有磁道所需移动距离之和除以总的所需访问的磁道数(N),即: L=(M1+M2+……+Mi+……+MN)/N。其中Mi为所需访问的磁道号所需移动的磁道数。 启动磁盘执行输入输出操作时,要把移动臂移动到指定的柱面,再等待指定扇区的旋转到磁头位置下,然后让指定的磁头进行读写,完成信息传送。因此,执行一次输入输出所花的时间有:

相关文档
最新文档