如需ppt和思维导图请拉到最后,有github链接
推荐大家自己记笔记,非常好的学习过程
文章链接
操作系统笔记(第一章).
操作系统笔记(第二章).
操作系统笔记(第三章).
操作系统笔记(第四章).
操作系统笔记(第五章).
“I/O”就是“输入/输出”(Input/Output)I/O设备就是可以将数据输入到计算机,或者可以接收计算机输出数据的外部设备,属于计算机中的硬件部件。
用于与计算机用户之间交互设备(打印机,鼠标,键盘)
交换速度相对较慢,以字节为单位进行数据交换
用于存储程序和数据的设备(磁盘、磁带、光盘)
交换速度较快,以多字节组成的块为基本单位交换
用于远程设备通信的设备(网络接口、调制解调器)
速度介于前两类之间
低速设备:每秒进位几个字节到数百字节(鼠标、键盘)
中速设备∶传输速率为每秒数千字节至数万字节(行式打印机、激光打印机)
高速设备:传输速率在数百兆字节至千兆字节的一类设备(磁带机、磁盘机、光盘机)
块设备:信息存取总是以数据块为基本单位,存储信息的设备称为块设备传输速率高,可寻址,可以任意读写某块
字符设备:用于数据输入输出的设备为字符设备,传输的基本单位是字符(交互式终端机,打印机)”传输速率低,不可寻址,输入输出时常采用中断驱动方式
计算机从外部设备读取数据到存储器,每次读一个字的数据,对读入的每个字,CPU都要对外没状态进行循环检查,知道确定该字已经在I设备控制器的数据寄存器中。
读写单位:字
优点:容易实现,操作简单
缺陷∶CPU高速性和IO设备的低速性的矛盾(降低了CPU的利用率),CPU和IO设备只能串行工作
允许IO设备主动打断CPU的运行并请求服务,进而解放CPU,使其向IO控制器发送读命令后可以继续做其他有用的工作
读写单位∶字
优点∶比程序直接控制方式有效
缺点:数据的传输必须要经过CPU,仍然后消耗CPU的时间
在IO设备和内存之间开辟直接的数据交换通路,彻底解放CPU
读写单位:数据块
设备直接送入内存
只有当一个或多个数据块开始和结束的时候,CPU才会进行干预
命令/状态寄存器(CR):用于接收CPU发送的IO命令和有关控制信息或者设备状态
内存地址寄存器(MAR):数据直接在设备与内存之间交互
数据寄存器(DR):用于暂存从设备到内存或者从内存到设备的数据
数据计数器(DC) :存放本次要传送的字(节)数
设置一个专门负责输入/输出的处理机(DMA方式的发展),实现对一组数块的读写以及相关控制和管理为单位干预
读写单位:一组块
优点:有效的提高了系统资源利用率
缺点:实现较为复杂
DMA需要CPU来控制传输的数据块大小、传输的内存位置、而通道方式中这些信息是由通道控制的
DMA控制器对应一台设备与内存传递数据,通道可以控制多态设备与内存的数据交换
实现与用户交互的接口,用户可以直接调用在用户层提供的,与IO操作有关的库函数,对设备进行操作
用于实现用户程序与设备驱动器的统一接口、设备命令、设备保护、差错控制及设备分配与释放,同时为设备管理与数据传送提供必要的存储空间
设备独立性也称为设备无关性,使得应用程序独立于具体使用的物理设备(使用逻辑设备名)
使用逻辑设备名的好处:增加设备分配的灵活性;易于实现IO重定向
主要功能
执行所有设备的公有操作(设备的分配与回收,逻辑设备名映射为物理设备名,对设备进行保护,进制用户直接访问设备),屏蔽设备之间数据交换的速度差异等
向用户层(文件层)提供统一接口∶无论哪种设备,他们向用户提供的接口都是相同的
与硬件直接相关,负责实现系统对设备发出的操作命令,驱动IO设备工作的驱动程序
用于保存被中断进程的CPU环境,转入相应的中断处理程序进行处理,处理完并恢复被中断进程的现场后,返回被中断进程
IO设备通常包括一个机械部件和一个电子部件
主要提供IO调度,缓冲与高速缓存,设备分配与回收,假脱机,设备保护和差错处理
通过IO调度改善系统整体性能,使得进程之间公平共享设备访问,减少IO完成所需要的平均等待时间
使用主存或者磁盘上的存储空间的技术,如缓冲、高速缓存、假脱机等来改善计算机效率
缓解CPU 与IO的速度差异矛盾
要实现SPOOLing 技术,必须要有多道程序技术的支持
输入井用来收容IO设备的数据
输出井用来模拟输出时的磁盘
输入缓冲区:暂存由输入设备送来的数据
输出缓冲区:暂存从输出井送来的设备
输入进程∶模拟脱机输入时的外围控制机,将用户要求的数据从输入机通过输入缓冲区送到输入并中,当CPU需要数据,直接将输出井中的数据送入内存
输出进程:模拟脱机输出时的外围控制机,把用户要求输出的数据先从内存送到输出井中,待输出设备空闲时,再将输出井中的数据经过输出缓冲区送到输出设备
提高了IO速度
独占设备变成了共享设备
实现了虚拟设备功能
通俗一点就是,如果设备被占用,我们就先把数据暂存一下,等到设备空闲了就把这些数据输送到设备中
―根据用户IO请求分配设备,原则:充分发挥设备的使用效率,避免进程死锁
独占式使用设备设备只能互斥使用(打印机)
分时共享使用设备通过分时共享来提高设备的利用率
SPoOLing方式使用设备使用空间换时间,对IO设备进行批处理
一个设备控制表表征一个设备,控制表中是设备的各项属性
COCT与DCT——对应关系,DCT需要一个表项来表示控制器,即一个指向控制器控制表的指针
CHCT提供服务的那几个设备控制器
记录已经连接到系统中的所有物理设备的情况
分配原则:充分发挥设备效率,避免进程死锁
静态:系统—次性的把设备分配给相应作业,直到作业结束
优点∶没有死锁问题
缺点:降低了设备使用率
动态:进程执行过程中根据执行需要进行分配
优点:提高了设备利用率
缺点∶分配算法不当可能导致死锁
先请求先分配类似于先来先服务
优先级高者优先
独占设备一般使用静态分配,共享设备一般使用动态分配
使用磁盘高速缓存技术可以提高磁盘的IO速度,对高速缓存复制的访问要比原始数据访问更高效
磁盘高速缓存,逻辑上属于磁盘,物理上属于驻留在内存中的盘块
在内存中开辟一个单独的存储空间作为磁盘高速缓存,大小固定
把未利用的内存空间作为一个缓冲池,供请求分页系统和磁盘IO时共享
缓和CPU与IO之间的速度差异矛盾
减少对CPU的中断频率,放宽对CPU中断响应时间的限制
解决基本数据单元大小不匹配的问题
提高CPU和IO设备之间的并行性
采用硬件缓冲器〔成本过高),除了关键位置,一般不使用硬件缓冲器
采用缓冲区(位于内存区域)
单缓冲
设备和处理机之间设置缓冲区,设备和处理机交换数据的时候,先把被交换的数据写入缓冲区,然后需要数据的设备或处理机从缓冲区中取走数据
使用时间max( C,T)+M
双缓冲
设置两个缓冲区,当缓冲区1满时,向缓冲区2中注入数据,只有缓冲区满才能取出数据
提高了处理机和输入设备的并行操作程度
max( C+M,T)
循环缓冲
包含多个大小相等的缓冲区,每个缓冲区中有一个链接指针指向下一个缓冲区,最后一个缓冲区指针指向第一个缓冲区,多个缓冲区构成一个环形
缓冲池
缓冲区分为三个队列,空缓冲队列,装满输入数据的缓冲队列,装满输出数据的缓冲队列
四种缓冲区:收容输入数据的工作缓冲区,提取输入数据的工作缓冲区,收容输出数据的工作缓冲区,提取输出数据的工作缓冲区
管道通信中的“管道”其实就是缓冲区。要实现数据的双向传输,必须设置两个管道
都介于高速设备和低速设备之间
存放数据
高速缓存:存放的是低速设备上的某些数据的复制数据
缓冲区:存放的是低速设备传递给高速设备的数据,这些数据在低速设备上不一定有备份,这些数据再从缓冲区传送到高速设备
目的
高速缓存∶高速缓存存放的是高速设备经常要访问的数据,如高速缓存中数据不在,高速设备就要访问低速设备
高速设备和低速设备的通信都要经过缓冲区,高速设备永远不会去直接访问低速设备
感谢王道考研
若有侵权请联系,立删
本笔记非考研用途,不适合考研使用
408思维导图和ppt(GitHub里大家多点star和关注哈哈哈)
链接: 我的GitHub.
如有问题请留言,我每天都刷基本上会及时回复