zoukankan      html  css  js  c++  java
  • 操作系统重点快览第五章

    第五章 设备管理


    按信息交换的单位对设备进行分类
    块设备(如磁盘,信息传送以块为单位,I/O控制方式通常采用DMA方式,其中的数据可寻址)
    字符设备(如打印机,键盘等,信息传送以字节为单位,I/O控制方式通常采用中断方式,其中的数据不可寻址)
    按设备的共享属性对设备进行分类
    独占设备:一段时间内只允许一个进程访问。
    共享设备:可同时访问。可寻址,可随机访问。
    虚拟设备: 1个物理设备→若干个逻辑设备

    设备控制器
       设备控制器是CPU与I/O设备之间的接口,它接收从CPU发来的命令,并去控制一个或多个设备的工作。
    通道
       通道通常是一个硬件,相当于一个功能简单的处理机。
    通道的指令类型单一,主要局限于与I/O操作有关的指令;
    通道没有自己的内存,是与CPU共享内存。



    I/O控制方式发展的主要推动力:
    尽量减少主机对I/O的干预;
    缓和CPU与I/O设备速度不匹配的矛盾;
    提高CPU和I/O设备操作的并行程度。
    I/O控制方式
    程序I/O方式;
    中断驱动方式;
    DMA控制方式;
       I/O设备直接与存储设备间之间交换数据,不需经过CPU 
    I/O通道控制方式。

    缓冲引入的原因
    (1)缓和CPU与I/O设备间速度不匹配的矛盾。 
    (2)减少对CPU的中断频率, 放宽对CPU中断响应时间的限制。
    (3)提高CPU和I/O设备之间的并行性。


    设备独立性
    是指应用程序独立于具体使用的物理设备。也称为设备无关性。
    优点: 1) 增加设备分配时的灵活性 ; 2) 易于实现I/O重定向。
    实现方式:1)应用程序通过逻辑设备名来请求使用某类设备;2)系统中必须设置一张逻辑设备表LUT用来进行逻辑设备到物理设备的映射;3)在设备驱动程序之上还应设置一层设备独立性软件。


     设备驱动程序(用来启动I/O设备进行I/O)
    (1) 接收由I/O进程发来的命令和参数, 并将命令中的抽象要求转换为具体要求。
    (2) 检查用户I/O请求的合法性,了解I/O设备的状态,传递有关参数,设置设备的工作方式。
    (3) 发出I/O命令,启动I/O设备。
    (4) 及时响应由控制器或通道发来的中断请求。
    (5) 根据用户的I/O请求,自动地构成通道程序。 

    SPOOLing系统的组成:
    ①磁盘上的输入/出井:模拟脱机输入/出时的磁盘;
    ②内存中的输入缓冲区和输出缓冲区;
    ③内存中的输入进程SPi和输出进程SPo :模拟脱机输入/出时的外围机。
    SPOOLing系统的特点
    提高了I/O的速度。 
    将独占设备改造为共享设备。 
    实现了虚拟设备功能。

    利用SPOOLing技术共享打印机 

    (1)当用户进程请求打印时,系统并不把打印机分配给它,而是为它做两件事:
    ① 在输出井中为之申请一个空闲磁盘分区, 并将要打印的数据送入其中; 
    ② 再为用户进程申请一张空白的用户请求打印表,并将用户的打印要求填入其中, 再将该表挂到打印请求队列上。 
    (2)打印机空闲时:输出进程取出一张打印请求表,再从输出井中取出打印数据到输出缓冲区,通过打印机进行打印。


    磁盘访问时间(寻道时间+旋转延迟时间+数据传输时间) 


    相关因素:寻道距离,磁盘旋转速度,每道的字节数及数据传输量

    磁盘移臂调度算法
    先来先服务FCFS
    最短寻道时间优先SSTF
    电梯调度SCAN
     循环扫描CSCAN
    NStepSCAN
    FSCAN


  • 相关阅读:
    在64位Win7下安装Oracle 10g客户端,以及PL/SQL Developer的经验
    Windows 8/Windows 8.1激活CMD命令大全
    安装交叉编译工具出错,arm-linux-gcc: 没有那个文件或目录
    驱动设备号创建
    内核驱动调试
    stm32定时器接力
    linux常用命令
    stm32定时器外部计数
    stm32 flash 选择
    pymysql 使用twisted异步插入数据库:基于crawlspider爬取内容保存到本地mysql数据库
  • 原文地址:https://www.cnblogs.com/dyllove98/p/3170380.html
Copyright © 2011-2022 走看看