导图社区 IO管理
整体梳理了计算机I/O管理的知识结构,探索了内部各小点之间的组织关系,方便同学们理解计算机I/O管理的方式和处理I/O请求的过程<本思维导图形状类似于转轮pistol,有没有发现>??
本篇思维导图详细梳理了计算机组成原理--中央处理器这一章节的知识结构,正在学习计算机的小伙伴可以多多了解。
详细总结了数据表示和运算的知识结构,帮助同学总体把握本章知识重点、加深理解, 希望对大家有所帮助~
总结了《计算机组从原理》的存储系统相关知识点,将书本中零散的知识机构进行重组,帮助同学总体把握知识结构。
社区模板帮助中心,点此进入>>
英语词性
法理
刑法总则
【华政插班生】文学常识-先秦
【华政插班生】文学常识-秦汉
文学常识:魏晋南北朝
【华政插班生】文学常识-隋唐五代
【华政插班生】文学常识-两宋
民法分论
日语高考動詞の活用
I/O管理
I/O设备分类
使用特性
人机交互类外设
存储设备
网络通信设备
传输速率
低速设备
中速设备
高速设备
信息交换的单位
块设备
磁盘
传输效率高、可寻址
字符设备
打印机、不可寻址
I/O控制方式
目的
控制(设备、内存、处理机)之间的数据传送
方式
程序直接控制方式
中断驱动方式
DMA方式
通道控制方式
I/O系统层级结构
硬件
电子部件(设备控制器/I/O控制器)
硬件组成
数据寄存器(若干)
状态寄存器(若干)
控制寄存器(若干)
接受CPU指令的相关参数
CPU与控制器的接口
I/O逻辑
控制器与设备的接口(若干)
需要注意的地方
该硬件中存在若干寄存器,所以在CPU控制改硬件前,需要对各个寄存器进行编址
CPU通过地址线对I/O逻辑提供“地址”,来指明要读写哪一个寄存器
编址方式
内存印象I/O
占用内存中的一部分 与内存统一编址
寄存器独立编址
地址识别
机械部件(设备)
1.用户I/O软件
与用户的交互接口
为用户提供(I/O操作相关的库函数命令)printf()等
将用户的请求翻译成格式化的命令(read、write等)
而后通过系统调用,请求系统内核服务
2.设备独立性软件
向用户I/O软件层提供规范的命令接口(read、write等)
差错管理
设备分配与回收
设备的三种使用方式
独占式使用设备
分时式共享使用设备
虚拟设备
SPOOLing技术
将独占设备虚拟为可共享设备
用软件方式模拟脱机技术
磁盘中
输入井
输出井
模拟脱机输入时的磁带、磁盘等
负责暂存需要输入/输出 的数据
内存中
缓冲区
输入缓冲区
输出缓冲区
输入设备、输出设备,与输入井、输出井之间的数据中转站
进程
输入进程
负责将用户输入的数据,从设备通过缓冲区送到输入井,当CPU需要该数据时,直接将该数据从输入井中取出。
输出进程
负责将用户需要输出的数据,先从内存送到输出井,当输出设备空闲时,直接从输出井中取出数据
模拟脱机技术中,输入/输出时的外围控制机
分配算法
先来先服务
优先级高优先等
设备分配安全性
安全分配
进程发出I/O请求后就进入阻塞,直到I/O结束 ,设备利用效率低
不安全分配
进程在运行过程中可多次发出I/O请求,只有遇到I/O请求得不到满足时才进行阻塞
可能出现进程死锁
复习进程管理中的死锁相关知识
设备分配管理中的数据结构
设备控制表DCT
控制器控制表COCT
通道控制表CHCT
系统设备表SDT
关系
1个设备对应1个DCT
1个控制器对应1个COCT
1个通道对应1个CHCT
1个CHCT对应多个COCT
系统只有1个SDT
设备分配步骤
用户通过逻辑设备名(在SDT中称为设备类型)来请求访问设备
依次通过查找SDT为进程分配空闲设备-->找到设备对应的DCT(设备忙则加到DCT所指的等待队列)-->找到DCT中所指的COCT-->分配进程控制器(忙则加到COCT所指的等待队列)-->在COCT中找到对应CHCT-->分配通道(忙则加到CHCT所指的等待队列)
在查找DCT过程中,系统对照用户提供的【逻辑设备名】找到该设备类型下空闲的设备,为其进行分配
只有将设备、控制器、通道,三者都分配给对应的进程,才可以启动设备进行I/O操作
逻辑设备名与物理设备名的映射
逻辑设备表(LUT)
系统分配设备时,系统同时在LUT中新增一个表项
表项内容:【逻辑设备名(设备类型);物理设备名;设备驱动程序入口地址】
两种管理方式
整个系统1张LUT
各用户只能用不同的设备名
每个用户1张LUT
各用户可以使用相同的设备名
系统为用户建立用户管理进程,LUT存放在其FCB中
为设备管理、数据传输提供存储空间(缓冲)
缓冲区管理
缓冲区概念
利用内存的一部分
存放低速设备与高速设备相互传递的的信息,高速设备用不会直接访问低速设备
解决CPU与低速设备之间的速度不匹配、减少CPU中断频率、解决数据粒度不匹配、提高CPU与设备并行
缓冲策略
单缓冲
只有一个缓冲区
双缓冲
2个缓冲区(大小相等)
只有一个缓冲区充满,才开始虫另一个缓冲区
计算处理一块的平均用时
循环缓冲
多个大小相等的缓冲区,通过向下一个的链接指针,组成缓冲区环形链
in指向第一块空缓冲区
out指向第一块满的缓冲区
缓冲池
多个等大的缓冲区构成
三个队列
空缓冲队列
输出缓冲队列
输入缓冲队列
四种缓冲区
收容输入 缓冲区
提取输入 缓冲区
收容输出 缓冲区
提取输出 缓冲区
实现用户程序与设备驱动程序的统一接口
3.设备驱动程序
不同的设备有不同的驱动程序
处理用户的系统调用,找到对应的设备驱动程序
只有通过相应的驱动程序,才能将系统命令,翻译为设备听得懂的命令
对应驱动运行后,将系统格式化的命令翻译为具体的设备操作(比如计算需要操作的数据在硬盘的位置【柱面号、磁头号、扇区号】)
将具体的操作指令发送给设备控制器
4.中断处理程序
先中断该进程,而后系统执行I/O操作
当I/O任务完毕,设备控制器会向其发出中断信号,而后找到相应的中断程序,进行处理中断
主要任务
进程上下文切换
对中处理断信号源进行测试
读取设备状态和修改进程状态
I/O核心子系统
就是右边这个层次机构
设备
设备控制器
中断处理程序
设备驱动程序
设备独立性软件
用户I/O软件
向CPU报告设备状态
数据交换
接收、识别CPU发出的I/O指令