王道考研操作系统——I/O管理

I/O设备的基本概念 

王道考研操作系统——I/O管理_第1张图片

键盘:输入设备(把设备准备好的数据读入计算机当中);

显示器:输出设备(把计算机中准备好的数据写出到设备上);

移动硬盘:既是输入又是输出

王道考研操作系统——I/O管理_第2张图片 

王道考研操作系统——I/O管理_第3张图片 

中断驱动方式是一种io控制方式

王道考研操作系统——I/O管理_第4张图片 

IO设备的机械部件和电子部件

CPU通过控制电子部件间接地控制机械部件

王道考研操作系统——I/O管理_第5张图片 

状态寄存器:空闲、忙碌、故障...

王道考研操作系统——I/O管理_第6张图片 

王道考研操作系统——I/O管理_第7张图片 

王道考研操作系统——I/O管理_第8张图片 

王道考研操作系统——I/O管理_第9张图片 

王道考研操作系统——I/O管理_第10张图片 

I/O控制方式

王道考研操作系统——I/O管理_第11张图片 

io控制器根据CPU的要求来启动相应的设备

CPU轮询检查状态寄存器的值

王道考研操作系统——I/O管理_第12张图片 

王道考研操作系统——I/O管理_第13张图片 

王道考研操作系统——I/O管理_第14张图片 

王道考研操作系统——I/O管理_第15张图片 

引入中断机制之后,CPU和io设备就可以并行工作了

数据的传输每次都需要CPU来中转

王道考研操作系统——I/O管理_第16张图片 

王道考研操作系统——I/O管理_第17张图片 

dma控制器也是io控制器的一种

也是有三部分组成:CPU-控制器接口,io控制逻辑,块设备和控制器的接口

这些寄存器是最主要的CPU和控制器之间的接口

dma读入数据的过程也是一个字一个字地读入的,先存放到DR当中,然后再放到内存当中

王道考研操作系统——I/O管理_第18张图片 

连续多个快CPU只需要发送一次命令,要想读写多个离散的块CPU就需要执行多次命令

王道考研操作系统——I/O管理_第19张图片 

通道就是弱鸡版的CPU,只能执行固定的指令,指令存放在内存当中 

王道考研操作系统——I/O管理_第20张图片 

王道考研操作系统——I/O管理_第21张图片 

i/o软件层次结构 

王道考研操作系统——I/O管理_第22张图片 

 

王道考研操作系统——I/O管理_第23张图片

设备独立性软件:

王道考研操作系统——I/O管理_第24张图片 

不同的设备需要不同的设备驱动程序 

王道考研操作系统——I/O管理_第25张图片 

设备独立性软件不能够直接操纵硬件,它必须调用厂家提供的设备驱动程序才能完成对硬件的具体控制,而驱动程序在OS当中一般会以一个独立进程的形式存在

王道考研操作系统——I/O管理_第26张图片 

王道考研操作系统——I/O管理_第27张图片 

11111111111111

王道考研操作系统——I/O管理_第28张图片 

输入输出管理 

王道考研操作系统——I/O管理_第29张图片 

根据设备的不同特性设置不同的统一接口

块设备有地址的概念,可以用seek系统调用来指定读写指针应当放到磁盘的哪个地址 

王道考研操作系统——I/O管理_第30张图片

fd是文件打开表的索引

connect(fd,对方的ip+port) 

王道考研操作系统——I/O管理_第31张图片

进程准备写入的数据在用户区,发出write系统调用就会快速复制一块到内核区,然后慢慢把这些数据写回磁盘 

王道考研操作系统——I/O管理_第32张图片 

统一设备驱动程序的接口!!!

如果你想让你的设备在我的OS上面跑,那么你提供的read系统调用就必须有三个参数,并且类型大小都有统一的标准,然后硬件厂商再根据这个标准专门开发设备驱动程序

王道考研操作系统——I/O管理_第33张图片 

王道考研操作系统——I/O管理_第34张图片 

io调度:使用算法来确定一个比较好的顺序来处理各个io的请求 

王道考研操作系统——I/O管理_第35张图片 

王道考研操作系统——I/O管理_第36张图片 

假脱机技术 

王道考研操作系统——I/O管理_第37张图片 

王道考研操作系统——I/O管理_第38张图片 

王道考研操作系统——I/O管理_第39张图片 

王道考研操作系统——I/O管理_第40张图片 

王道考研操作系统——I/O管理_第41张图片 

王道考研操作系统——I/O管理_第42张图片 

设备的分配与回收 

王道考研操作系统——I/O管理_第43张图片 

王道考研操作系统——I/O管理_第44张图片 

王道考研操作系统——I/O管理_第45张图片 

王道考研操作系统——I/O管理_第46张图片 

王道考研操作系统——I/O管理_第47张图片 

王道考研操作系统——I/O管理_第48张图片 

11111111111111111111111 

三者都分配成功,这次的设备分配才成功,否则就挂在对应的等待队列里面

王道考研操作系统——I/O管理_第49张图片 

由OS来负责逻辑设备名->物理设备名之间的转换

王道考研操作系统——I/O管理_第50张图片 

王道考研操作系统——I/O管理_第51张图片 

银行家算法避免死锁/资源分配图来检测和解除死锁

王道考研操作系统——I/O管理_第52张图片 

缓冲区管理 

王道考研操作系统——I/O管理_第53张图片 

王道考研操作系统——I/O管理_第54张图片 

王道考研操作系统——I/O管理_第55张图片 

王道考研操作系统——I/O管理_第56张图片 

王道考研操作系统——I/O管理_第57张图片 

王道考研操作系统——I/O管理_第58张图片 

小结:

王道考研操作系统——I/O管理_第59张图片 

王道考研操作系统——I/O管理_第60张图片 

王道考研操作系统——I/O管理_第61张图片 

小结:

 

王道考研操作系统——I/O管理_第62张图片 

为了实现同一时刻双向传输,可以使用双缓冲区,一个缓冲区用来暂存即将发送的数据,另一个缓冲区用于接收输入的数据

王道考研操作系统——I/O管理_第63张图片 

了解大致原理:

王道考研操作系统——I/O管理_第64张图片 

缓冲池:按功能划分缓冲区,并使用队列来组织 

王道考研操作系统——I/O管理_第65张图片 

三种操作:

王道考研操作系统——I/O管理_第66张图片

王道考研操作系统——I/O管理_第67张图片 

磁盘的结构 

王道考研操作系统——I/O管理_第68张图片 

王道考研操作系统——I/O管理_第69张图片 

一个盘片可能对应两个盘面:正面反面

柱面就是磁道

王道考研操作系统——I/O管理_第70张图片 

王道考研操作系统——I/O管理_第71张图片 

磁盘调度算法 

王道考研操作系统——I/O管理_第72张图片 

王道考研操作系统——I/O管理_第73张图片 

王道考研操作系统——I/O管理_第74张图片 

OS唯一可以影响的就是寻道时间了

王道考研操作系统——I/O管理_第75张图片 

王道考研操作系统——I/O管理_第76张图片 

假设循环为18 38服务,其他就会产生饥饿

王道考研操作系统——I/O管理_第77张图片 

王道考研操作系统——I/O管理_第78张图片 

王道考研操作系统——I/O管理_第79张图片 

王道考研操作系统——I/O管理_第80张图片 

减少磁盘延迟的方法 

王道考研操作系统——I/O管理_第81张图片 

王道考研操作系统——I/O管理_第82张图片 

王道考研操作系统——I/O管理_第83张图片

 读取地址连续的磁盘块的时候,可以减少磁头臂移动所消耗的时间

王道考研操作系统——I/O管理_第84张图片 

王道考研操作系统——I/O管理_第85张图片 

王道考研操作系统——I/O管理_第86张图片 

磁盘管理 

王道考研操作系统——I/O管理_第87张图片 

对磁盘的各个磁道划分扇区

扇区:头、数据部分(512B)、尾

物理格式化(划分扇区)》磁盘分区(C盘、D盘)》逻辑格式化(创建文件系统:建立根文件目录、建立管理磁盘的数据结构)

王道考研操作系统——I/O管理_第88张图片 

ROM出厂时就集成在主板上不可修改的

王道考研操作系统——I/O管理_第89张图片 

自举程序在ROM上面不方便修改怎么办?

》只在ROM当中放置核心模块(自举装入模块),核心的初始化工作放在磁盘的启动块(即启动分区)上 

王道考研操作系统——I/O管理_第90张图片 

王道考研操作系统——I/O管理_第91张图片 

王道考研操作系统——I/O管理_第92张图片 

固态硬盘 

王道考研操作系统——I/O管理_第93张图片 

王道考研操作系统——I/O管理_第94张图片 

王道考研操作系统——I/O管理_第95张图片 

王道考研操作系统——I/O管理_第96张图片

你可能感兴趣的:(考研,c++,c语言)