OS ##设备管理

南大OS

设备管理

概述

解决目标:与cpu速度不匹配问题
屏蔽设备物理细节

IO控制方式

设备控制器:与系统交互的接口
轮询方式:处理器向控制器轮询结果,等待控制器就绪
中断方式:控制器向处理发出中断
DMA直接存储器访问方式:DMA负责传送全部数据,处理器只在开始和结束时
    参与
IO通道:通道处理器,CPU让通道程序控制IO设备,通道执行完后发出中断

总线和IO:总线极大影响计算机价格

单总线模型:慢速设备过多占用总线
三级总线模型:局部总线,主存总线,扩展总线
南桥与北桥:北桥(主存控制器),南桥(IO控制器)扩展成多级总线
采用IO通道的多级总线:

IO软件

设计目标:
    高效率
    通用性
设计思路:
    层次性:用户空间自定义的调用->独立于设备的系统调用->设备驱动->中断处理->硬件
实现:
    IO中断程序:位于OS底层,与硬件密切,通用的部分
    设备驱动程序:完成到设备机器码转换,具体的部分
    独立于设备的:封装好的操作设备的接口,系统调用级别
    用户空间的:存在OS内核之外库函数,虚拟设备软件

IO缓冲区:在内存开辟的专门临时存放IO数据

目的:
    解决速度匹配
    协调逻辑大小和物理大小
    提高并行性
    减少IO操作产生的中断
操作过程
    写:写满缓冲区后,才真正写到设备上,回写思想
    读:从缓冲区选取合适的大小读入到进程
单缓冲技术:
    在主存系统中开设一个缓冲区,进程处理快但设备读写无法跟上.
双缓冲技术:开设两个,一个被进程使用时另一个依旧与设备交互,解决设备速度慢问题
循环缓冲技术:让IO设备数据不断地进入缓冲区

设备独立性

逻辑设备:应用程序和物理设备无关,例如逻辑打印机
优点:设备更改不用修改源程序,提高系统可靠性,使分配灵活

独占型外围设备的分配

独占:一次只能一个进程使用
静态分配:进程活动前就申请好所有设备,利用率低
动态分配:随用随申请,使用时才申请,会发生死锁
设备表:每类设备有一张设备表,记录具体设备,通过设备表管理来分配设备
设备类表:设备表的表

磁盘:最重要的io设备

物理结构
磁盘:多个盘片
盘面:一个盘片2个盘面 磁头号
磁道:盘面上的同心圆  柱面号
扇区:每个磁道分为固定大小的扇区 扇区号
簇:相邻扇区组织
物理块地址:柱面号,磁头号,扇区号
磁盘调度:解决多个程序访问磁盘,使总时间最少
移臂调度:减少寻道总时间
常用算法:单向扫描,双向扫描,电梯调度
旋转调度:使得旋转总圈数最少
常用算法:循环排序
优化分布:
    改变信息的排列方式,交替排序
    按柱面而非盘面存储

SPOOLing系统

虚拟设备技术:一类物理设备模拟另一类物理设备
SPOOLing系统:用磁盘缓存慢速字符设备
输入井:输入缓存
输出井:
井管理程序:处理缓存数据
预输入程序:是设备数据进入到缓存
缓输出程序:服务进程有权使用硬件,将缓存输出到设备,此时主进程早已结束
批处理系统的作业管理:一连串作业的调度管理
SPOOLing系统:磁盘缓存作业设备数据
对应状态:输入->收容->执行->完成
打印机Spooling:磁盘缓存打印内容
守护进程(缓输出)是唯一有特权使用打印机设备的进程
打印文件前,用户进程先产生完整的待输出文件,并存放在打印目录(输出井)下
打印机空闲时,启动守护进程,打印待输出文件
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值