灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:3057回复:2

《计算机操作系统》学习笔记(五)---设备管理

楼主#
更多 发布于:2011-12-19 18:14


一、I/O系统
I/O设备的分类
    按传输速率分类:低速设备(键盘,鼠标)、中速设备(激光打印机)、高速设备(磁带机、磁盘机)
    按信息交换的单位分类:字符设备、块设备
    按设备的共享属性分类:独占设备、共享设备、虚拟设备
2、设备控制器
主要职责是控制一个或多个I/O的设备。
    设备控制器的基本功能:
1)接收和识别命令(cpu->设备)
2)标识和报告设备状态(设备->CPU
3)数据交换
4)地址识别
5)数据缓冲
6)差错控制
    设备控制器的组成:
    设备控制器与处理机的接口
    设备控制器与设备的接口
    I/O逻辑

图片:32_3710_6b7b3581b60b2f3.gif


3I/O通道
I/O通道是一种特殊的处理机,具有执行I/O指令的能力。其目的就是为了独立的I/O操作,它不仅数据的传送能够独立于CPU,对于I/O操作的组织、管理及其结束处理也能够独立。
通道类型有:
    字节多路通道(控制器->通道轮流交叉传输一个字节)
    数组选择通道(控制器->通道按顺序一个控制器传输完所有字节再到下一个)
    数组多路通到(控制器->通道轮流交叉传输一组字节)
4、总线系统
ISA-->EISA-->VESA-->PCI(目前最流行的)
二、I/O控制方式
1、程序I/O方式
CPU定时查询设备的状态,若有数据需要输入或需要输出,即开始数据传输,否则下个时刻继续查询
2、中断驱动I/O控制方式
如:CPU向设备控制器发送读命令,设备控制器收到命令后便去控制相应的输入设备读数据,当数据进入数据寄存器后,控制器便通过控制线向CPU发送中断信号,由CPU检查输入过程是否差错,若无错即通过控制器以及数据线,将数据写入内存指定单元。每个数据从设备到控制器的输入过程中,无须CPU干预,可使CPUI/O设备并行工作。
3、直接存储器访问DMAI/O控制方式
中断驱动I/O控制方式时的CPU是以字节为单位进行干预的,如果将其用于块设备,显然极其低效。
该方式的特点:
1)数据传输的基本单位是数据块;
2)所传送的数据是从设备直接读入内存的,或者相反;
3)仅在传送一个或多个数据块的开始或结束时,才需要CPU干预,数据块的传输是在控制器的控制下完成的。
4I/O通道控制方式
I/O通道方式是DMA方式的发展,它可进一步减少CPU的干预,即把对一个数据块的读写为单位的干预,减少为对一组数据块的读写以及有关的控制和管理为单位的干预。

三、缓冲管理
设备管理中,引入缓冲区的主要原因,可归纳为以下几点:
    缓和CPUI/O设备间速度不匹配的矛盾;
    减少对CPU的中断频率,放宽对CPU中断响应时间的限制;
    提高CPUI/O设备之间的并行性。
缓冲类型有三种:
    单缓冲
    双缓冲
    循环缓冲
三种缓冲区:无数据的空缓冲区R、有数据的满缓冲区G、计算进程正用的缓冲区C
三个指针:
计算进程下一可用缓冲Nextg(对应G
输入进程下一可用缓冲Nexti(对应R
计算进程正在使用缓冲Current(对应C
两个过程:GetbufReleasebuf

图片:32_3710_9b0f0523a2b3174.gif


    缓冲池
三种队列:空缓冲队列(emq)、输入队列(inq)、输出队列(outq)三个队列;
四种缓冲:
用于收容输入数据的工作缓冲区的工作缓冲区(hin
用于提取输入数据的工作缓冲区(sin
用于收容输出数据的工作缓冲区(hout
用于提取输出数据的缓冲区(sout)四个工作缓冲区
两个过程:GetbufPutbuf

图片:32_3710_cb2c57f89a299c9.gif


四、设备分配
设备分配中的数据结构
    设备控制表DCT
    控制器控制表COCT
    通道控制表CHCT
    系统设备表SDT

设备分配中的考虑因素
    设备固有属性:独占设备,共享设备(容易造成死锁),虚拟设备
    设备分配算法:先来先服务,优先级高者优先
    设备分配安全性
    设备独立性:设立一层独立性软件,(1)执行所有设备的公共操作(面向设备),(2)向用户层软件提供统一接口(面向用户)

SPOOLing技术(伪脱机操作)
与脱机操作差不多,只是有两点不一样:
    输入进程与输出进程模拟外围机
    脱机操作是使用整个磁盘来缓存作业,而SPOOLing技术只是从磁盘中划分出“输出井”和“输出井”来缓存作业

图片:32_3710_06c1746cb6a71bb.gif


六、设备处理
设备驱动程序的特点:
驱动程序主要是指在请求I/O的进程与设备控制器之间的一个通信和转换程序。它将进程的I/O请求经过转换后,传送给控制器;又把控制器中的记录的设备状态和I/O操作完成情况及时地反映给请求I/O的进程。
设备驱动的特点:
    驱动程序与设备控制器和I/O设备的硬件特性紧密相关,对不同类型的设备应该配置不同的驱动程序。
    驱动程序与I/O设备所采用的I/O控制方式紧密相关。
    由于驱动程序与硬件紧密相关,因而其中的一部分必须用汇编语言写。
驱动程序分两部分:
    设备驱动程序(驱动设备进行I/O
    设备中断处理程序(设备I/O后处理相关)

图片:32_3710_97017e3a9636afc.gif


七、磁盘存储器管理
磁盘访问
访问时间=寻到时间+旋转延迟时间+传输时间
磁盘调度
    先来先服务FCFS
    最短寻道时间优先SSTF
    扫描算法(电梯调度算法)SCAN
    循环扫描算法CSCAN
    N-Step-SCAN调度算法(FCFSSCAN的结合体)
    廉价磁盘冗余阵列
    RAID0级:仅提供并行交叉存取
    RAID1级:具有磁盘镜像功能,备份用
    RAID3级:具有并行传输功能,有一专门的校验盘
    RAID5级:具有并行传输功能,没有专门的校验盘,校验信息螺旋方式散布在所有数据盘




喜欢0 评分0
64949118
禁止发言
禁止发言
  • 注册日期2013-07-12
  • 发帖数11
  • QQ649491183
  • 火币13枚
  • 粉丝0
  • 关注0
沙发#
发布于:2013-07-12 17:38
用户被禁言,该主题自动屏蔽!

回复(0) 喜欢(0)     评分
wxlzx8812
  • 注册日期2011-11-17
  • 发帖数74
  • QQ646887484
  • 火币91枚
  • 粉丝7
  • 关注10
板凳#
发布于:2012-01-01 16:51
         

回复(0) 喜欢(0)     评分
游客

返回顶部