操作系统第五章——设备笔记

1 、I/O系统
1、设备分类
使用特性分类:
存储设备
输入输出设备
交互式设备
信息交换的单位分类:
块设备:数据块为单位、可寻址
字符设备:不寻址、中断方式驱动
设备的共享属性分类:
独占设备:临界资源 (between 单用户) 多进程互斥访问
共享设备:between 多进程访问 可寻址 可随机访问
虚拟设备:多用户(进程)使用
2、设备接口
1、设备与控制器模型:
1、设备控制器是内核和IO设备联系的桥梁
2、三线:数据线、状态县、控制线

2、设备控制器:
1、可编址设备,一个地址对应一个设备
2、基本功能:
1、接收和识别命令
2、数据交换(总线、并行传输)
3、表示和报告设备的状态
4、地址识别(控制器地址 地址译码器)
5、数据缓冲(总线速度限制)
6、差错控制
3、设备控制器的组成
1、设备控制器与处理机的接口:数据线和三类寄存器相连
2、设备控制器与设备接口:I/O逻辑依据地址信号选择设备接口
3、IO逻辑:控制命令+地址信号

	4、I/O通道
			1、执行I/O任务的“微处理机”  与CPU共享内存
			2、类型:
				1、字节多路通道:时间片轮转   共享主通道
				2、数组选择通道:通道是临界资源
				3、数组多路通道:兼顾传输速率和通道利用率   通路:一个通道连接多个控制器

5、总线系统
1、ISA&EISA:低速总线
2、局部总线:
1、直连CPU和高速设备
2、VESA总线:32bit+132Mb/s
3、PCI总线:数据缓冲 + 管理层
2、I/O控制方式
1、程序I/O方式
控制指令–>检测状态寄存器–>忙-等待–>完成
2、中断驱动I/O控制方式
CPU控制命令|------>控制器获取数据-------->数据寄存器满中断、状态Re置位
|------>CPU执行别的任务
->CPU错误检查—>读数据进内存

	3、DMA方式
		1、块设备的数据传输方式
		2、DMA控制器组成
			1、三大接口:

主机与DMA控制器接口、DMA控制器与块设备接口、I/O逻辑
2、主机与DMA控制器接口
1、四大寄存器:
1、CR:控制与状态信息
2、MAR:数据在内存的源地址和目的地址
3、DR:内存到设备、设备到内存
4、DC:读写数据的次数(长度)
2、DMA工作过程

		3、通道程序:
				1、通道是硬件,通道程序是软件
				2、通道是一个抽象的概念,可以理解为总线控制器,通道程序则是其总线控制器的驱动程序
				3、通道连接这多个各种类型的控制器

3、缓冲管理
1、缓冲引入
1、&设备速度不匹配
2、减少中断
3、提高并行
2、单双缓冲
1、单缓冲:T任务和C任务可以并行执行、阻塞避免数据覆盖
2、双缓冲:(buffer swapping)Ci和Ti+2同时执行 双向传输
3、循环缓冲:
输入进程(设备、生产者)+计算进程(用户、消费者)
1、组成:空缓冲R、满载缓冲G、工作缓冲C
2、指针:计算进程可用G和C指针、输入进程的R指针
3、使用:
1、getbuf过程(计算进程:Current=Nextg、Nextg=G)
2、Releasebuf:(R=C,G=C)
3、进程同步
I/O限制:G指针追赶I指针(I多)
计算限制:I指针追赶G指针(G多)
4、缓冲池:
共享缓冲区思想
1、三类缓冲区(队列)
1、空缓冲区(队列):F指针和L指针
2、输入缓冲区(队列):满载输入数据、F&L
3、输出缓冲区(队列):满载输出数据、F&L
2、四种缓冲区:收容(提取)输入(输出)缓冲区
3、互斥同步的Getbuf和Putbuf:设置互斥信号量
4、缓冲区工作方式:
1、注意几点
1、进程产生的数据需要收容(提取),
2、数据需要从一中队列转移到另一种队列
3、主要就是两个动作:Getbuf()和Putbuf()

4、I/O软件
1、目标和实现方式:
1、高效性:I/O设备与CPU并发
通用性:抽象、清晰接口 层次结构
接口名字体现层次和接口功能
2、I/O软件的目标
1、设备无关
1、设备抽象为文件
2、逻辑设备与具体设备的映射
2、逻辑设备统一命名
3、错误处理:尽量底层化处理
Note:cat /proc/sys/kernel/printk查看打印级别,只会打印比该数值高的打印
4、缓冲技术:屏蔽不同设备需要的缓冲区大小不一致
5、分配与释放逻辑
3、I/O软件的四个层次
1、用户层调用的I/O操作库函数
2、设备独立性软件(有很多设备):设备的组织、管理相关
3、设备驱动程序:设备层、原始设备层、抽象层
4、中断处理程序

2、中断处理程序
1、主要工作
1、进程上下文切换
2、中断信号源测试
3、读取设备状态
4、修改进程状态
2、处理步骤:中断总控程序
1、 唤醒被阻塞驱动程序进程:信号量机制
2、 被中断进程CPU环境保护:入中断栈
3、 转入设备处理程序:测试中断源—应答请求进程----PC加载—执行处理程序
4、 中断处理:读设备状态—进行相应设备的处理程序处理
5、 恢复中断现场
3、设备驱动程序
1、进程的形式存在,也叫设备驱动进程
2、功能:
1、接收由设备独立软件发来的命令和参数
2、检查用户I/O请求合法性、设备状态、工作方式
3、发出I/O命令
4、及时响应控制器或者通道的请求,然后调用对应的处理程序
3、设备处理方式
1、一个设备设置一个进程(打印、交互终端)
2、在整个系统中设置一个I/O进程(输入、输出进程)
3、不设置专门的设备处理进程(.ko模块)
4、设备独立性软件
1、逻辑设备和物理设备:其实就是设备文件为逻辑设备
2、好处:
设备分配灵活性:一类设备共用一个进程
重定向输出
4、功能:
1、执行所有设备的共有操作
1、对独立设备的分配与回收
2、逻辑设备映射物理设备
3、对设备进行保护(禁止用户直接访问设备)
4、缓冲管理(缓冲技术)
5、差错控制:
6、统一设备逻辑数据块
2、向文件层(用户层)软件提供统一接口
5、逻辑设备表
1、实现设备的独立性
2、一个系统一张LUT(单用户)
3、一个用户一张LUT(多用户)

5、设备分配
1、设备控制表
1、设备队列队首指针:请求设备的进程PCB
2、设备状态:cpu到控制器到设备相连
3、与设备连接的控制器表指针:一个控制器对应一条通路
4、重复执行次数:表征数据传输次数的量
2、其他
a 控制器控制表:与通道表相互可寻址
b 通道控制表
c 系统设备表:一个表目对应一个设备的详细信息,包括设备驱动程序入口地址
3、通道:
A 比如DMA通道,就是实现i/o和内存的数据交互的各种通道,不需要CPU的干预
B 只有在设备、控制器和通道三者都分配成功时,这次的设备分配才算成功。然后,便可启动该I/O设备进行数据传送
4、虚拟设备:
一台物理设备虚拟出多台虚拟设备,控制访问下实现多进程共享使用
5、分配算法:
进入队列的PCB需要经过优先级处理
6、设备分配安全性
安全分配方式:避免死锁,但进程进展慢
7、设备分配程序:
a 设备、控制器、通道缺一不可
b 逻辑设备思维和多通道思维
8、Spoling技术
a 解决高低速设备传输效率的问题
b 需要基于多道程序技术和设备虚拟化的技术
6、磁盘存储器管理
A why????

B	电梯调度算法
	同向而且距离最短
C	CSSAN算法
	最外之后回到最里
D	NStepSCAN 算法思想
	将请求队列进行切割,然后轮流服务
E	高速缓存:

a 存在内存,属于磁盘
b 固定大小、缓冲池

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

专一的黄先生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值