如题:2020年8月
分析: 其他三种I/O控制方式(是i/o软件实现设备控制的具体实现方式),程序控制、中断控制、DMA方式、这些都好理解,本身就是搞硬件,只有通道是新东西。书中讲的很明白了,不过多叙述。
通道是专门处理外围设备与内存之间数据传送的处理器。进一步减少数据输入输出对整个系统的运行效率的影响。前三个选项都是书止明确标明的,但要理解:C灵活增加外设,为什么strong>通道是为并行而设计,为什么可以增加外设呢与它的三种通道类型有很大关系:
1、选择通道:信息以成组的方式高速传输,主要用来连接高速外围设备。一段时间只能连接一个设备。
2、数组多路通道:寻址时会断开与此设备连接。然后为其他设备服务。所以是具有并行操作 “选择通道“。
3、字节多路通道:以字节为单位交替进行分时为低速中速设备提供服务。
可见,通道是具有选择算法的专门硬件部件选择接口,提供中低速设备的支持,所以是可以灵活扩展外围器件的。
D、通道作为cpu内存、设备中间接口,只是提供一个便捷的控制通道,没有减轻数据传输时的处理器开销,不能像DMA一样可以处理连续的数据。
如题:2020年8月,大题:
分析:1、先在草纸上将不同柱面请求次序,按从小到大的顺序,并按间隔比例画一条直线出来 。(也就是按从小到大排序,间隔比例画出)2、按算法,将移动的路线标出来,将相间隔柱面数量标在路线上。如下图:
(1)最短寻找时间的次序:105 ,155,196,38,36,25,15,总共移动了1+50+41+158+2+11+10柱面的距离。
(2)告诉是从104位置向柱面 减小的方向移动,所以顺序是:38,36,25,15(此方面没有立即转换方向)105,155,196 总共移动距离:66+2+11+10+90+50+41柱面距离。
扩展:
1、设备与文件管理对象有哪些什么unix把所有的设备都当作文件来处理/strong>
设备是对资源的管理,提供接口供用户使用设备
2、从操作系统角度看I/O硬件组成/strong>
最里层是处理器和内存, 第二层接口(适配器)部件相连接,可以理解为就是总线+寄存器,相对应的就是软件可以操作的部分,第三层各种外围设备控制器,最外层是外围设备
3、I/O软件组成/strong>
从底往上,依次中断处理层(i/O设备和内存与处理器间的数据传送),设备驱动层(如字义,设备的控制细节及其用途的部分),设备独立层(提供操作系统的标准接口),用户层软件(实现软件I/O设备与用户交互,满足软件功能实现)。
4、设备分配策略(算法)有哪些/strong>
由于i/o资源是有限的,决定了得实现互斥操作。
通过四个底层的数据结构来实现算法:
1、系统设备表(System Device Table,SDT),系统中所有外设的名称、标识、DCT(设备控制表)入口地址址,数量、占用情况。
2、设备控制表(Device Countrol Table,DCT),控制器块的入口地址及与该设备相连的设备控制器的情况。
3、控制器控制表(Controller Control Table COCT),控制器里面的表,记录控制的分配情况及相连通道的情况。
4、通道控制表(Channel Control Table,CHCT),反映通道的情况。
可以看到操作系统就是分层来处理IO的,并且是层层封装,这也是软件的基本思想。这些封装结构层层递进的方式实现了对设备的控制操作。操作问题解决之后,剩下的问题就是设备分配了,尤其是对多进程的情况。
分配方式:原则:使用效率和避免死锁。
静态分配:作业执行前一次分配该作业所要求的全部设备,直到作业完成释放。这种方式没什么分配策略,也不符合分配原则。
动态分配:根据进程需要及策略(只有两个,先来先服务和高优先级优先)分配所需要的设备、I/O控制器和通道。可能会造成死锁。
分配策略:还需要考虑因素是设备的固有属性(独占还是共享设备)、分配算法、分配安全性及设备独立性
独占设备:(一段时间内只能由一个进程所占用,如打印机),几个概念
设备绝对 :系统为每一个设备确定的一个编 。
设备相对 :用户程序定义的设备编 ,即所谓的逻辑设备(与具体的物理设备无关,比较适合程序编写),仅在进程向系统提出设备请求时使用,系统分配时会建立“绝对 与相对 ”的对应关系。
共享设备:多个进程所共享,以块为传输单位,进程间可以交叉进行。如硬盘
5、磁盘调度策略有哪些/strong>
磁盘属于存储设备,与前面《操作系统考点之存储管理》中存储管理不同是,存储管理是从操作系统角度看存储,而这里是作为硬件设备是完全从硬件设备原理角度看存储。
几个概念:
寻找时间:磁头寻找柱面所花时间,移动臂所花的时间。
延迟时间:扇区旋转到磁头下面所花时间,磁盘旋转时间
传送时间:磁头读写时间。
如下图所示:
关于块 理解/strong>
注:这里所说的盘面 ,就是书中的磁头 。
真实的单面磁盘就是由磁道和扇区组成的。双面磁盘+陈列,就得再加上磁头 。而磁盘块 指的是什么呢人理解就是扇区里面的分块磁道。书中给出的公式:
参数:磁道数×扇区数表示单面磁盘总的扇区数
1、柱面 ×磁道数×扇区数表示具体柱面所在的扇区
2、磁头 ×扇区数表示多面磁盘阵列对应的扇区数
3、扇区 表示对应的磁盘块所在扇区
为什么上面1,2,3加起来就是磁盘块 呢提,还是前提,针对的是磁盘阵列。也就是多个磁盘,如何表示磁盘扇区上的一小块呢先找到单个磁盘的对应的扇区 ,再找磁盘阵列中扇区编址, 磁头 (代表第几个磁盘面) x 扇区数 表示当前扇区在磁盘阵列中的扇区数(其实就是扇区统一编数) 再找扇区 里面块(也就是对应的第几个磁道)磁道在磁盘阵列如何表示呢nbsp;柱面 X 磁道数 X 扇区数 (对磁道 统一编数),若还有思绪的混乱,暂且当成规定吧。
已知块 ,则磁盘驱动用的三地址:
柱面 =[块 /(磁头数×扇区数)//这里的柱面 要理解透,可不是只包含一个磁道,里面可能有多个磁道,进而形成一个面,里面有多个相同容量扇区,这很重要
磁头 =[(块 mod(磁头数×扇区数))/扇区数]
扇区 =(块 mod(磁头数×扇区数))mod 扇区数
调度策略:根据访问者指定的柱面位置来决定执行次序,也就是移臂调度。目的是尽可能减少操作中寻找时间。
6、基于调度策略的调度算法有哪些
1、先来先服务(FCFS);实际上不考虑访问者要求的访问的物理位置,只是考虑提出访问请求的先后顺序。
2、最短寻找时间优先调度算法(SSTF),总是从等待访问者中挑选寻找时间最短的那个请求先执行。(实际就是贪心算法的思想,只选择眼前最优)
3、电梯调度算法(LOOK,边移动边观察),考虑了移臂的移动方向的最短寻找时间优先调度算法。如果移臂方向无请求访问时,就改变臂的移动方向再选择。
4、单向扫描调度算法(循环扫描算法,c-look):总是从0 柱面开始向里道扫描,按照各自所要求的访问的柱面位置的次序去选择访问者。在移动臂到达最后一个请求柱面后,立即返回到0 柱面,返回时不为任何访问等待服务。
7、旋转调度策略什么会还要旋转调度/strong>
针对的是同一柱面的上不同扇区的操作。
策略是总是读取首先到达磁头位置的扇区进行操作。
8、多缓冲与缓冲池的概念/p>
多缓冲指一种具有多缓冲区的结构,其中一部分缓冲区专门用于输入,另一部分缓冲区专门用于输出。
缓冲池是把多个缓冲区连接起来统一管理,在缓冲池中每个缓冲区即可以用于输入,也可以用于输出的一种缓冲结构
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!