操作系统基础之设备管理

设备管理

设备管理的主要对象是I/O设备以及设备控制器和I/O通道,主要任务是:完成用户提出的I/O请求,提高I/O速率以及提高I/O设备的利用率,主要功能是:缓冲区管理、设备分配、设备处理、虚拟设备以及实现设备独立性等

I/O系统

  • I/O设备的类型
    • 按照设备使用特性分类
      • 存储设备
      • 输入输出设备
    • 按照速率分类
      • 低速设备:键盘、鼠标、语音的输入输出等
      • 中速设备:行式打印机、激光打印机
      • 高速设备:磁带机、磁盘机、光盘机
    • 按照信息交换的单位分类
      • 块设备:信息存取总是以块为单位
      • 字符设备:信息存取以字符为单位
    • 按照设备的共享属性
      • 独占设备:需要互斥访问
      • 共享设备:可寻址、可随机访问
      • 虚拟设备
  • 设备与控制器之间的接口
    • 设备一般不是与CPU直接通信,而是通过设备控制器通信
    • 数据信号线
    • 控制信号线
    • 状态信号线
  • 设备控制器:CPU和I/O设备之间的接口,接收从CPU发来的命令,并且控制I/O设备进行工作
    • 责职:控制一个或者多个I/O设备,以实现I/O设备和计算机之间的数据交换
    • 基本功能
      • 接收和识别命令:接收识别CPU发出的命令
      • 数据交换:实现CPU与控制器之间,控制器与设备之间的数据交换
      • 标识和报告设备的状态:记下设备的状态供CPU了解
      • 地址识别:识别所控制的每个设备的地址
      • 数据缓冲
      • 差错控制
    • 组成
      • 设备控制器与处理机接口:用于实现CPU与设备控制器之间的通信
      • 设备控制器与设备的接口:一个接口对应一个设备
      • I/O逻辑:用于实现对设备的控制
  • I/O通道
    • 作用:介于CPU和设备控制器之间,建立独立的I/O操作,使数据的传送能独立于CPU
    • 本质:一种特殊的处理机,具有执行I/O指令的能力,并通过通道程序控制I/O操作,但与CPU共享内存
    • 类型
      • 字节多路通道
      • 数组选择通道
      • 数组多路通道
  • 总线系统
    • 计算机系统中的各个部件之间的联系,都是通过总线来实现的

I/O控制方式

宗旨:尽量减少主机对I/O控制的干预,把主机从繁杂的I/O控制事务中解脱出来

  • 程序I/O方式:不断去查看是否已经完成
  • 中断驱动I/O方式:以字节为单位
  • 直接存储器访问(DMA)I/O控制方式
    • 基本单位是数据库
    • 传送的数据直接从设备送入内存,或者相反
    • 仅在传送一个或者多个数据块的开始和结束时,才需要CPU的干预
  • DMA控制器的组成

缓冲管理

  • 单缓冲
  • 双缓冲
  • 循环缓冲
  • 缓冲池

I/O软件

  • I/O软件的设计目标和原则
    • 与具体设备无关
    • 统一命名
    • 对于错误的处理
    • 缓冲技术
    • 设备的分配和释放
    • I/O控制方式
  • 四个层次
    • 用户层软件
    • 设备独立性软件
    • 设备驱动程序
    • 中断处理程序
      • 唤醒被阻塞的驱动程序
      • 保护被中断进程的的CPU环境
      • 转入相应的设备处理程序
      • 中断处理
      • 恢复被中断进程的现场

设备分配

系统设备不允许用户自行使用,必须由系统统一分配

  • 设备分配中的数据结构
    • 设备控制表(DCT):每个设备均有,记录本设备的情况
    • 控制器控制表、通道控制表、系统设备表
  • 设备分配时考虑的因素
    • 设备的固有属性
      • 独占设备
      • 共享设备
      • 虚拟设备
    • 设备分配算法
      • 先来先服务
      • 高优先级优先
    • 设备分配中的安全性
      • 安全分配方式:发出请求后阻塞,CPU与I/O是串行工作
      • 不安全分配方式:仅当所请求的设备被占用时才阻塞,应该进行安全性计算
  • 独占设备的分配程序
    • 基本的设备分配程序
      1. 分配设备
      2. 分配控制器
      3. 分配通道
    • 设备分配程序的改进
      • 增加设备的独立性
      • 考虑多通路情况
  • SPOLLing技术
    • 原理:在联机情况下实现的同时外围操作或者称为假脱机操作(利用多道技术,来模拟脱机输入、输出时的外围控制机功能),其实就是通过程序模拟硬件,其中磁盘用于模拟设备,进程用于模拟处理器,缓冲区用于缓冲
    • 系统组成
      • 输入井和输出井:在磁盘上开辟的两大存储空间,用于模拟脱机输入输出时的磁盘设备,用于暂存I/O设备的数据
      • 输入缓冲区和输出缓冲区:在内存上开辟的两大缓冲区,用于暂存输入输出设备的数据
      • 输入进程SPi和输出进程SPo:用两个进程来模拟脱机I/O时的外围控制机,等到设备真正空闲时,再讲数据传输过去
    • 共享打印机:接收请求,然后送到打印机列表
    • 特点
      • 提高了I/O速度
      • 将独占设备改造为共享设备
      • 实现了虚拟设备功能

磁盘存储器的管理

  • 磁盘性能简介
    • 数据组织形式和格式
      • 磁道、扇区、...
    • 磁盘类型
      • 固定磁头:每个磁道都有一个读写头
      • 移动磁头:每个盘面仅由一个读写头,需要寻道等操作
    • 磁盘访问时间
      • 寻道时间:Ts = m * n + s // s:启动磁臂时间,n:移动n个磁道的时间,m与磁盘驱动器速度有关的常数
      • 旋转延迟时间:指定扇区移动到磁头下面所需要的时间
      • 传输时间:t = b/(r*N)
  • 磁盘调度
    • 目标:使磁盘的平均寻道时间最小
    • 先来先服务(FCFS)
      • 根据进程请求访问磁盘的先后顺序进行调度
    • 最短寻道时间优先(SSTF Shortest Seek Time First)
      • 思想:选择与当前磁头距离最近的磁道,使得每次寻道时间最短,但不保证平均寻道时间最短
      • 缺点:可能导致饥饿现象,也就是某个进程得不到资源
    • 扫描算法(SCAN)
      • 思想:从一个方向访问直到尽头,再反方向(1 - 2 -3 -4 -3 -2 -1 )
    • 循环扫描算法(CSCAN)
      • 思想:(1 - 2 -3 -4 -1 -2 -3- 4)
    • NStepSCAN算法
      • 思想:将请求的进程队列分成若干个长度为N的子队列,每个队列按照SCAN算法执行
    • FSCAN算法
      • 思想:只将队列分成两个子队列,一个保存当前的进程,另一个保存扫描过程中出现的进程
  • 磁盘高速缓存
    • 利用内存中的存储空间作为磁盘的高速缓存,实际上并不存在一个设备称之为磁盘高速缓存
    • 数据交付方式
      • 数据交付:直接将高速缓存中的数据传送到请求者进程的内存工作区
      • 指针交付:将指向高速缓存区中某个区域的指针交给请求者进程
    • 置换算法
      • 最近最久未使用
      • 访问频率
      • 可预见性
      • 数据一致性
    • 周期性写回磁盘
  • 提高磁盘效率的其他方法
    • 提前读
    • 延迟写
    • 优化物理块的分配
    • 虚拟盘
  • 廉价磁盘冗余阵列(RAID)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,088评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,715评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,361评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,099评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 60,987评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,063评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,486评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,175评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,440评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,518评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,305评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,190评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,550评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,880评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,152评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,451评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,637评论 2 335

推荐阅读更多精彩内容