恶补《操作系统》5_2——王道学习笔记

5.2_1 I-O核心子系统

1、用户层软件

假脱机系统

2、设备独立性软件(设备无关性软件)

IO调度、设备保护、设备分配与回收、缓冲区管理

3、设备驱动程序(比如打印机驱动)

4、中断处理程序

5、硬件

5.2_2 假脱机技术(SPPOLing技术)

1、什么是脱机技术,脱机技术可以解决什么问题

脱离主机的控制进行输入/输出控制

SPPOLing系统:必须要有多道程序并发进行

2、假脱机技术的实现原理

  • 输入井和输出井
  • 输入进程和输出进程
  • 输入缓冲区和输出缓冲区

3、共享打印机的原理分析

5.2_3 设备的分配与回收

1、设备分配时应考虑的因素

  1. 设备的固有属性:独占设备(打印机)、共享设备(磁盘)、虚拟设备
  2. 设备分配算法:
  3. 设备分配中的安全:为进程分配一个设备后就将进程阻塞,本次IO完成后才将进程唤醒

2、静态分配与动态分配

静态分配:进程运行前为其分配全部所需资源、运行结束后归还资源

动态分配:运行中动态分配

3、设备分配管理中的数据结构

  1. 系统设备表SDT,表目:(设备类型、设备标识符、DCT、驱动程序入口)
  1. 设备控制表DCT(设备类型、设备标识符、设备状态、指向控制器表的指针、重复执行次数或事件、设备队列的队首指针)
  1. 控制器控制表COCT(控制器标识符、控制器状态、指向通道表的指针设备队列的队首指针、控制器队列的队尾指针)
  1. 通道控制表CHCT(通道标识符、通道状态、与通道连接的控制器表首址、通道队列的队首指针、通道队列的队尾指针)

4、设备分配的步骤

根据进程请求的物理设备名------>设备控制表------>控制器控制表------>通道

5、设备分配步骤的改进方法

建立逻辑设备名和设备的映射

5.2_4 缓冲区管理

1、什么时缓冲区?有什么作用?

缓冲区是一个存储区域

缓和CPU与IO设备之间速度不匹配的矛盾

减少对CPU的中断频率

解决数据粒度不匹配的问题

提高CPU与IO设备之间的并行性

2、单缓冲

在内存中分配一块缓冲区

处理一块时间=max(C,T)+M

3、双缓冲

在内存中分配两块缓冲区

max(T,C+M)

4、循环缓冲

5、缓冲池

由系统中共用的缓冲区组成。这些缓冲区可以分为:空缓冲队列、装满输入数据的缓冲队列、装满输出数据的缓冲队列

相关推荐
上海云盾安全满满1 小时前
高防 IP 是如何帮助数藏行业防刷
网络·网络协议·tcp/ip
小奶包他干奶奶4 小时前
Webpack学习——Loader(文件转换器)
前端·学习·webpack
小奶包他干奶奶4 小时前
Webpack学习——原理理解
学习·webpack·devops
励志成为美貌才华为一体的女子4 小时前
强化学习PPO和GRPO逻辑学习
学习
meichaoWen5 小时前
【Vue3】vue3的全面学习(一)
前端·javascript·学习
FFF团团员9095 小时前
树莓派学习笔记3:LED和Button
笔记·学习
碧海潮生_CC6 小时前
【CUDA笔记】04 CUDA 归约, 原子操作,Warp 交换
笔记·cuda
多多*6 小时前
Java复习 操作系统原理 计算机网络相关 2025年11月23日
java·开发语言·网络·算法·spring·microsoft·maven
摇滚侠6 小时前
2025最新 SpringCloud 教程,从单体到集群架构,笔记02
笔记·spring cloud·架构
p***43486 小时前
Rust网络编程模型
开发语言·网络·rust