操作系统第五次作业(不敢保证正确)
1、I/O控制方式可分为哪些类型?各类控制方式的优缺点有哪些?
1.程序I/O控制方式
2.中断驱动I/O控制方式
3.直接存储器访问DMA控制方式
4.I/O通道控制方式
(1)优点
控制简单,不需要多硬件支持
(2)缺点
CPU利用率低
不能实现设备间的并行工作
无法发现和处理产生的错误
(3)适用场景
适用于结构简单,只需少量硬件的电路
(2)大型机常常采用通道方式实现I/O控制,那么什么是通道?为什么要引入通道?
I/O通道控制
通道控制进一步减轻了CPU的工作负担,增加了计算机系统的并行工作程度。把CPU从繁琐的输入/输出操作中解放出来。采用通道技术后,不仅能实现CPU和通道的并行操作,而且通道与通道之间也能实现并行操作,各通道上的外设也能实现并行操作,从而可提高整个系统的效率。
(3)为什么要引入缓冲技术?其基本思想是什么?
1、 为了进一步缓和CPU和I/O设备之间速度不匹配的矛盾。
2、 提高CPU与I/O设备之间的并行性。
3、 为了减少中断次数和CPU的中断处理时间。如果没有缓冲,慢速I/O设备每传一个字节就要产生一个中断,CPU必须处理该中断。如果用了缓冲技术,则慢速的I/O设备将缓冲区填满时,才向CPU发出中断,从而减少了中断次数和CPU的中断处理时间。
4、 为了解决DMA或通道方式下数据传输的瓶颈问题。DMA或通道方式都适用于成批数据传输,在无缓冲的情况下,慢速I/O设备只能一个字节一个字节的传输信息,这造成DMA方式或通道方式数据传输的瓶颈。缓冲区的设置适应了DMA或通道方式的成批数据传输方式,解决了数据传输的瓶颈问题。
(4)为什么要引入设备独立性?如何实现设备独立性?
引入设备独立性后可以调高设备的利用率和分配时的灵活性;提高系统的可适应性和可扩展性;可以方便用户操作,易于实现IO[重定向
为了实现设备的独立性,应引入逻辑设备和物理设备两个概念。在应用程序中,使用逻辑设备名称来请求使用某类设备;而系统执行时,是使用物理设备名称。鉴于驱动程序是一个与硬件(或设备)紧密相关的软件,必须在驱动程序上设置一层软件,称为设备独立性软件,以执行所有设备的公有操作、完成逻辑设备名到物理设备名的转换(为此应设置一张逻辑设备表)并向用户层(或文件层)软件提供统一接口,从而实现设备的独立性
(5)什么是设备的静态分配?什么是设备的动态分配?
静态分配:对独占型设备一般采用静态分配,即在作业级进行的分配,当一个作业运行之前由系统一次分配满足需要的全部设备,这些设备一直为该作业占用,直到作业撤消。这种分配不会出现死锁,但设备的利用效率较低。
动态分配:对共享设备采用动态分配的方式,即在进程运行的过程中进行的,当进程需要使用设备时,通过系统调用命令向系统提出设备请求,系统按一定的分配策略给进程分配所需设备,一旦使用完毕立即释放。显然这种分配方式有利于提高设备的使用效率,但会出观死锁。
(6)SPOOLing系统是如何将独占型设备改造成共享型设备的?
由于Spooling技术把所有用户进程的输出都送入输出井,然后再由输出进程完成打印工作,而输出井在磁盘上,为共享设备。这样,Spooling技术就把打印机等独占设备改造成立共享设备。
2.应用题
(1)某操作系统采用中断方式控制I/O操作,假设CPU用1 ms来处理中断请求,其他CPU时间用于计算。若时钟中断频率为100 Hz,试计算CPU的利用率。
(2)已知磁盘的结构如下:共有n个柱面,编号顺序为0, 1, 2, …, n-1;共有m个磁头,编号顺序为0, 1, 2, …, m-1;每个磁道内的K个信息块从1开始编号,依次为1, 2, …, k。现用x表示逻辑磁盘块号,用a、b、c分别表示任意逻辑磁盘块的柱面号、磁头号、磁道内的块号,则x与a、b、c可通过如下公式进行转换:
若某磁盘满足n=200,m=20,k=10,试问:①柱面号为185、磁头号为12,磁道内的块号为5的磁盘块的逻辑块号是多少?②逻辑块号为1200,其所对应的柱面号、磁头号及磁道内的块号分别是多少?③若每一磁道内的信息块从0开始编号,即编号依次为0,1,…,k-1,其全条件同前,试写出x与a、b、c之间的转换公式。
(3) 若磁头当前位于第100号柱面,且正向柱面号增加的方向移动。现有磁盘读写请求队列,柱面号依次为23,376,205,132,19,61,190,398,29,4,18,40。若采用先来先服务算法、最短查找时间优先算法和双向扫描算法,试计算出各种算法中移动臂所经过的柱面数。
(4) 磁盘请求以10、22、20、2、40、6、38 柱面的次序到达磁盘驱动器。如果磁头当前位于柱面20,假设在查找过程中移过每个柱面要花费6ms,试基于以下算法计算查找时间:①先来先服务算法;②最短查找时间优先算法;③电梯调度算法(正问柱面号增加的方向移动)。
(5) 在旋转型设备上对信息进行优化分布能够减少为若干I/O服务的总时间。设旋转型设备磁鼓分为20个区,每区存放一条记录,磁鼓旋转一周用时20 ms,读取每条记录平均用时1 ms,之后经2 ms处理,再继续处理下一条记录。在当前磁鼓位置未知的情况下:①顺序存放记录1,记录2,…,记录20时,试计算读出并处理20条记录的总时间;②给出优化分布20条记录的一种方案,使得总处理时间缩短,并计算该方案所花费的总时间。
(6) 有5个作业依次进入系统,其提交时刻、运行时间、作业长度分别列于下表。设内存容量为100 KB,采用可变分区存储管理,且作业在内存中不能移动。作业调度采用先来先服务算法,进程调度采用内存中的就绪进程平分CPU时间的方式,不计作业对换及其他系统开销。试求各作业的开始执行时刻、完成时刻、周转时间。
作业 | 提交时刻 | 运行时间 | 作业长度/KB | 开始执行时间 | 完成时刻 | 作业周转时间/min |
---|---|---|---|---|---|---|
Job1 | 10:00 | 25 | 15 | |||
Job2 | 10:20 | 30 | 60 | |||
Job3 | 10:20 | 25 | 40 | |||
Job4 | 10:30 | 15 | 20 | |||
Job5 | 10:35 | 10 | 30 |
(7) 有一个多道程序系统,其 调度采用最短作业优先调度算法,进程调度采用优先数抢占式调度算法,且优先数越小则优先级越高。如果系统拥有一台打印机,采用静态方式进行分配,忽略系统调度开销。现有以下作业序列到达系统:
作业名 | 到达时刻 | 估计运行时间/min | 打印机需求/台 | 进程优先数 |
---|---|---|---|---|
Job1 | 14:00 | 40 | 1 | 4 |
Job2 | 14:20 | 30 | 0 | 2 |
Job3 | 14:30 | 50 | 1 | 3 |
Job4 | 14:50 | 20 | 0 | 5 |
Job5 | 15:00 | 10 | 1 | 1 |