当前位置: 首页 > news >正文

操作系统基础·9 设备管理

1、①按使用特性分类:存储设备/IO设备。②按共享属性分类:独占设备/共享设备/虚拟设备(通过虚拟技术将一台独占设备改造成若干台逻辑设备)。③按信息交换单位分类:块设备/字符设备。④按从属关系分类:系统设备(OS生成时已登记的标准设备,如键盘、显示器、打印机)/用户设备(如鼠标)。

2、设备的电子部分通常称为设备控制器,处于CPU与I/O设备之间,如左下图。控制器功能:接收识别CPU命令(控制寄存器)、实现数据交换(数据寄存器)、记录设备状态供查询(状态寄存器)、识别控制的每个设备地址(地址译码器)。I/O通道是专门负责输入/输出工作的处理机,具有执行I/O指令的能力,指令系统比较简单。通道可分为①字节多路通道(字节交换,每个子通道连接一台I/O设备并以时间片轮转共享主通道,每次交换完一个字节后便轮换,用于连接中、低速I/O设备);②数据选择通道/数组选择通道(一个分配型子通道,一段时间内只能执行一个通道程序,用于连接高速I/O设备);③数据多路通道/数组多路通道(分时方式执行几个通道程序,用于连接高、中速I/O设备)。

3、I/O系统结构分为微型机(采用总线I/O系统结构,CPU和内存直接连接到总线,I/O设备通过设备控制器连接到总线)和主机(I/O系统结构中增加了一级I/O通道,右上图是多通路,去掉交叉就是主机)。I/O控制方式的宗旨:尽量减少主机对I/O控制的干预。常用方式:①程序直接控制方式,如左下图;②中断控制方式,如中下图;③直接存储器访问控制方式;④通道控制方式。中断方式以字节为单位中断CPU,对块设备其效率极低,为此引入了DMA,如右下图(在DMAC控制下,命令/状态寄存器CR、内存地址寄存器MAR、数据寄存器DR、数据计数器DC)。通道控制方式是DMA的发展,CPU干预更少,CPU只需发出启动指令,等数据传输结束发中断即可。

4、块设备如磁盘驱动器,字符设备如键盘、鼠标和串口设备。阻塞(进程挂起直到I/O完成)/非阻塞(I/O调用立即返回)/异步(在I/O处理时进程同时运行)。缓冲:传输数据时暂时存放在内存中。缓冲的目的:解决设备速度/传输快不匹配、维持“拷贝语义”、提高并行减少中断。缓冲的实现:①单缓冲;②双缓冲(如左下图,输入时先装第一缓冲区再装第二,同时OS将第一缓冲区的数据传到用户区;当第一缓冲区处理完后若第二个缓冲区已装满,则可处理第二缓冲区);③循环缓冲(如右下图,多个大小相等的缓冲区,对输入指针in指下一个可用空缓冲区,out指下一个可提取数据的满缓冲区;输出反之);④公用缓冲池,有三个队列:空缓冲队列、输入队列、输出队列,四个缓冲区:用于收容输入数据的工作缓冲区、用于提取输入数据的、用于收容输出数据的、用于提取输出数据的,以及四种工作方式:收容输入、提取输入、收容输出、提取输出。

5、Spooling系统如左下图:外部设备同时联机操作(假脱机操作)。用程序模拟脱机输入时的外围控制机功能,把低速输入设备的数据传到高速磁盘;用另一程序模拟脱机输出时的外围控制机功能,把数据从磁盘传到低速输出设备。输入井和输出井是磁盘上的两个存储区域,用于收容数据。例如打印机共享:用户进程请求打印输出时同意但不真正分配,而是由输出进程在输出井中申请一空闲磁盘区,并送入要打印的数据;输出进程再为用户进程申请一张空白的用户请求打印表,将打印要求填入其中再将表挂到请求打印队列。

6、设备管理的数据结构:①设备控制表(DCT如中上图);②控制器控制表(COCT如右上图);③通道控制表(CHCT如右上图);④系统设备表(SDT如左下图)。设备分配策略:独享分配/共享分配/虚拟分配。设备分配算法通常只有先来先服务/优先级高者优先。设备分配方式:①静态分配(执行前由系统一次分配所要求的全部设备、控制器和通道,不会出现死锁但设备使用效率低);②动态分配可再分为安全分配(进程发出I/O请求后阻塞直到I/O操作完成,设备分配安全但进程进展缓慢)和不安全分配(迅速,但可能死锁)。

7、单通路设备分配步骤:①分配设备(根据物理设备名找SDT,从中得到DCT,若忙则将进程插入等待队列,否则计算安全性);②分配控制器(设备分配后,到DCT中找COCT看是否忙碌);③分配通道(从COCT中找CHCT看是否忙碌)。多通路:①分配设备时仅当所有该类设备都忙才插入等待队列;②分配控制器时若此设备的所有控制器都忙,则只要不是该类设备的最后一个,便回到①找下一个空闲设备,否则插入控制器等待队列;③若通道忙查下一个,若全部通道都忙,则只要该控制器不是最后一个,便返回到②,否则插入通道等待队列。

8、大容量存储器结构通常由硬盘驱动器(HDD)和固态硬盘(SSD)组成,HDD是机械式存储器,SSD速度快、耐用性高但容量小。磁盘的一系列同心圆为磁道,磁道沿径向分成大小相等的多个扇区,与盘片中心有一定距离的所有磁道组成一个柱面,如右上图。将磁盘的扇区从0柱面开始,按柱面顺序编号得到的是逻辑扇区号。逻辑扇区号=柱面号*每柱面扇区数+磁头号*每磁头扇区数+扇区号,柱面号、磁头号、扇区号都从0开始。磁盘设备编址为逻辑块的一维大数组,数据首先都映射到一个磁道,其余数据映射到同一柱面的其他磁道,然后从外向里地映射到其余的柱面。

9、磁盘访问时间:①寻道时间(主要)指将磁头从当前位置移动到指定磁道;②旋转延迟时间指扇区移动到磁头下面=的时间,平均旋转延迟时间是每转所需时间的一半;③传输时间指读出/写入数据=的时间。

10、磁盘调度如下图:①先来先服务算法FCFS(按进程请求访问的先后次序调度,简单合理,但未对寻道进行优化);②最短寻道时间优先算法SSTF(选择从当前磁头位置所需寻道时间最短的,性能比FCFS好但不能保证平均寻道时间最短,可能会饥饿);③扫描算法SCAN(又称电梯调度,在磁头当前移动方向上选择与当前磁头所在磁道距离最近的请求,寻道性能较好,避免进程饥饿,不利于两端磁道的请求);④循环扫描算法CSCAN(磁头从磁盘的一端向另一端移动,沿途响应请求。当它到了另一端,就立即回到磁盘的开始处,在返回的途中不响应任何请求。消除了对两端磁道请求的不公平)注意采用的是边界还是请求的上下限;⑤若多进程反复请求对某一磁道的访问,磁臂可能停留在某处不动,此为磁臂粘着。N-Step-SCAN算法:将磁盘请求队列分成多个长度为N的子队列,队列内按FCFS,队列间按SCAN;⑥FSCAN算法是N-Step-SCAN的简化,将磁盘请求分成两个子队列。一个是当前所有请求的队列,按SCAN处理;另一队列是扫描期间新出现的磁盘请求。

11、SSTF通用,SCAN和C-SCAN适用重磁盘负载的系统。磁盘初始化:①分区;②创建卷(将分区转换为逻辑存储空间);③格式化(低级格式化又称物理格式化,指在磁盘表面上创建物理磁道和扇区的过程,确保物理结构正确;高级格式化指在磁盘上创建文件系统结构以及相关的元数据信息的过程,删除磁盘上的所有数据)。磁盘引导块(引导扇区/主引导记录)是存储在磁盘的第一个扇区的特殊区域,参与操作系统启动过程(CPU自检、运行ROM中的自举程序、从引导分区装入第一块)。

12、I/O设备管理软件分四层:①中断处理程序(唤醒被阻塞的驱动程序进程、保护现场、分析中断原因,转入设备中断处理程序进行中断处理、恢复现场);②设备驱动程序(接收来自上层的与设备无关软件的抽象请求、转换成设备控制器可接收的具体命令、发送给设备控制器、监督命令的执行);③与设备无关的软件(或设备独立性软件,实现设备命名、设备保护、提供与设备无关的逻辑块、缓冲管理、存储设备的空间管理、独占设备的分配/释放、错误处理);④用户空间的软件。I/O系统的层次结构如下图:

13、一道例题:假系统采用CSCAN磁盘调度策略,使用2KB的内存空间记录16384个磁盘块的空闲状态。(1)说明在上述条件下如何进行磁盘块空闲状态管理?(2)设某单面磁盘旋转速度为每分钟6000转,每磁道有100个扇区,相邻磁道间的平均移动时间为1ms。某时刻,磁头位于100号磁道,并沿磁道号增大方向移动(如图所示),磁道号请求队列为50,90,30,120,对请求队列中的每个磁道需读取1个随机分布的扇区,则读完这个扇区点共需要多少时间?(3)如果将磁盘替换为随机访问的Flash半导体存储器(如U盘、SSD等),是否有比CSCAN更高效的磁盘调度策略?若有,给出磁盘调度策略的名称并说明理由;若无,说明理由。

答:(1)使用位示图法,每一位表示一个磁道块是否为闲,共需16384/32=512个字=512×4个字节=2KB,可放在内存中。(2)访问磁道的顺序为120、30、50、90,移动磁道长度为20+90+20+40=170,总移动磁道时间为170×1ms=170ms。每分钟6000转,则平均旋转延迟为60/(6000×2)=5ms,总的旋转延迟时间=5ms×4=20ms。每分钟6000转,则读取一个磁道上一个扇区的平均读取时间为10ms/100=0.1ms,总读取扇区的时间=0.1ms×4=0.4ms。总时间=170ms+20ms+0.4ms=190.4ms。(3)采用FCFS更高效。因为Flash半导体存储器的物理结构不需要考虑寻道时间和旋转延迟,可直接按I/O请求的先后顺序服务。提示:Flash存储器(闪存)属可改写ROM,是一种长寿命的非易失性的存储器,数据删除不是以单个的字节为单位而是以固定的区块为单位,区块大小一般为256KB到20MB。

http://www.dtcms.com/a/579319.html

相关文章:

  • Codeforces Round 916 (Div. 3)
  • 积极推进网站建设高明网站设计案例
  • 公司的网站建设是什么部门一个网站需要什么
  • 可以大量免费发帖的网站wordpress 加盟主题
  • 响应式网站案列网易企业邮箱满了怎么办
  • 如何快速优化网站企业移动网站建设商
  • php网站开发示例代码如何建设基层网站
  • 深圳商城网站公司深圳便宜做网站
  • 【DIY】PCB练习记录1——USB拓展坞
  • 类和对象详解(1)
  • 中石化石油工程建设公司官方网站合肥缶间网络科技有限公司
  • 做一手房开什么网站比较好呢外贸生意如何做
  • 毕业设计心理评测网站开发淘宝代运营服务
  • 邯郸高端网站建设价格做网站设计需要多少钱
  • 济南网站网站建设怒江北京网站建设
  • 抖音seo排名软件哪个好seo课程总结怎么写
  • 如何用iis做网站房产交易中心官网
  • 网站开发的出路长沙优化网站价格
  • 网站开发导向图安徽网站建设认准-晨飞网络
  • 孟津网站开发阿里云域名注册万网
  • 项目软件开发中自动检测死锁的监控功能
  • 网站建设的基本技术步骤网站开发研究方法
  • 怎么注册微网站自己做网站的好处
  • 网站APP注册做任务制作简历的免费模板网站
  • 小程序如何开发制作广州百度提升优化
  • 建立网站的意义企业推广网站建设报价
  • react中的useEffect使用方法
  • 2025 口语练习软件实测排名 Top5:短期攻克口语难题
  • 做网站工作室wordpress加速访问
  • 泉州网站建设哪里好漳州做网站喊多少钱