IO管理概述

I/O设备
人机交互设备:就是那些我们天天用的东西,比如键盘、鼠标、显示器,用来跟电脑聊天的。
存储设备:就是那些存东西的地方,比如你的硬盘,里面可以放很多电影和文档。
网络通信设备:比如你的路由器,用来让电脑上网,跟世界聊天的。
传输速率
低速、中速、高速设备:就像路上的车,有的跑得快,有的跑得慢,有的跑得一般。
信息交换单位
块设备:就是那些一次能搬一大堆数据的家伙,比如硬盘。
字符设备:就是那些一次只能搬一个字的家伙,比如键盘。
I/O控制方式
程序直接控制:就像你用手直接拿东西一样,CPU得自己来,每次拿一点数据,还得不停检查东西拿好了没。
中断驱动方式:就像有人敲门告诉你“嘿,我准备好了”,CPU就可以去做别的事,等准备好了再回来拿。
DMA方式:就像有个快递小哥,CPU告诉他“去把东西搬过来”,然后快递小哥就自己去搬,搬完了再告诉CPU一声。
通道控制方式:就像有个专门的搬运队,他们自己知道怎么搬,CPU就不用操心了。
DMA和通道的区别
DMA就像快递小哥,得CPU告诉他怎么搬,搬哪儿。
通道就像搬运队,他们自己搞定,可以同时帮好几个快递小哥搬东西。
简单来说,I/O管理就是电脑怎么跟这些设备打交道,怎么更高效地存取数据。不同的控制方式就像不同的搬运方法,有的简单直接,有的高级智能。

设备分配与回收
想象一下,操作系统就像个管家,要管理家里的各种设备(比如打印机、硬盘等)。分配设备的时候,管家得小心,不能让家里的成员(进程)因为抢设备而打起来,这就是所谓的“死锁”。
安全分配:就像你请求管家帮忙打印文件,管家说“好的,你先等等”,然后专心帮你打印,直到打印完才叫你。这样做很安全,但管家和打印机不能同时做其他事。
不安全分配:如果你告诉管家“我要打印,但你可以继续做其他事”,管家可能会在你打印的时候又去忙别的,这样虽然效率高,但有时候管家可能会忘记你在打印,导致打印出错。
逻辑设备名到物理设备名的映射
这就像是管家有个记事本,记录了每个设备的名字和它们实际的位置。这样做的好处是,即使设备换了位置,只要记事本更新了,你还是能找到它。
整个系统一张表:就像家里只有一本记事本,记录了所有的设备。
每个用户一张表:就像每个人有自己的记事本,只记录自己关心的设备。
SPOOLING技术(假脱机技术)
这个技术就像是管家用一个中间人(外围控制机)来协调家里的速度慢的设备和速度快的设备。
输入井和输出井:就像是管家用来暂时存放东西的地方,输入井放进来的东西,输出井放出去的东西。
缓冲区:就像是管家的小推车,用来临时放东西,方便随时取用。
输入进程和输出进程:就像是管家的助手,一个负责把东西从外面拿进来,另一个负责把东西送出去。
这个技术的好处是:
让慢设备也能快速工作。
让本来只能一个人用的设备,现在可以大家一起用。
让设备看起来更高级,像是虚拟设备。
要实现这个技术,家里得有足够的帮手(多道程序技术)来帮忙。
 

知识点链接


I/O设备分类
按使用特性分类:
人机交互的外部设备:如键盘、鼠标、显示器等,用于用户与计算机之间的交互。
存储设备:如硬盘、固态硬盘等,用于数据的存储和读取。
网络通信设备:如网卡、路由器等,用于网络数据的传输。
按传输速率分类:
低速设备:传输速率较慢的设备。
中速设备:传输速率适中的设备。
高速设备:传输速率较快的设备。
信息交换单位分类:
块设备:以数据块为单位进行数据交换的设备,如硬盘。
字符设备:以字符为单位进行数据交换的设备,如键盘。
I/O控制方式
程序直接控制方式:
概念:CPU直接控制每次数据的读取和写入。
读写单位:字。
优点:容易实现,操作简单。
缺点:CPU与I/O设备速度不匹配,导致CPU利用率低,串行工作。
中断驱动方式:
概念:I/O设备可以在需要时主动中断CPU,请求服务。
读写单位:字。
优点:比程序直接控制方式更有效。
缺点:数据传输仍需经过CPU,消耗CPU时间。
DMA方式(Direct Memory Access,直接内存访问):
概念:CPU接收到I/O设备的DMA请求后,启动DMA控制器,然后继续其他工作。DMA控制器直接与存储器交互。
DMA控制器寄存器:包括命令/状态寄存器、内存地址寄存器、数据寄存器和数据计数器。
特点:以数据块为单位读写,数据直接从设备送入内存,CPU只在数据块的开始和结束时干预。
通道控制方式:
概念:设置专门的处理机来负责输入/输出,以数据块为单位进行读写和控制。
读写单位:一组块。
优点:提高系统资源利用率。
缺点:实现较为复杂。
DMA与通道的区别
DMA需要CPU控制传输的数据块大小和内存位置,而通道方式中这些信息是由通道控制的。
DMA控制器对应一台设备与内存的数据传递,通道可以控制多台设备与内存的数据交换。
设备分配与回收
设备分配的安全性:在操作系统中,设备分配需要避免进程死锁,即多个进程在等待对方释放资源,导致系统无法继续执行。
安全分配方式:进程发出I/O请求后进入阻塞状态,直到I/O操作完成才被唤醒。这种方式确保了设备分配的安全性,但可能导致CPU和I/O设备串行工作,降低效率。
不安全分配方式:进程在发出I/O请求后继续执行,可能在需要时发出更多I/O请求。这种方式可以快速推进进程,但存在产生死锁的风险。
逻辑设备名到物理设备名的映射
目的:提高设备分配的灵活性和利用率,实现I/O重定向,引入设备独立性。
实现方法:通过引入逻辑设备表(LUT),将逻辑设备名映射为物理设备名。有两种建立方式:
整个系统设置一张LUT,记录所有设备的分配情况。
每个用户建立一张LUT,分别记录设备的分配情况。
SPOOLING技术(假脱机技术)
概念:为了解决CPU与I/O设备速度差异的问题,使用外围控制机将低速I/O设备的数据传送到高速磁盘上,或反向操作。
输入井和输出井:输入井用于接收I/O设备的数据,输出井用于模拟输出时的磁盘。
输入缓冲区和输出缓冲区:输入缓冲区暂存由输入设备送来的数据,输出缓冲区暂存从输出井送来的数据。
输入进程和输出进程:
输入进程:模拟脱机输入时的外围控制机,将数据从输入机通过输入缓冲区送到输入井中,供CPU使用。
输出进程:模拟脱机输出时的外围控制机,将数据从内存送到输出井中,待输出设备空闲时再发送到输出设备。
特点:
提高了I/O速度。
将独占设备转变为共享设备。
实现了虚拟设备功能。
实现SPOOLING技术需要多道程序技术的支持。
 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值