恶补《操作系统》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、缓冲池

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

相关推荐
迷路爸爸18010 分钟前
Claude Code 核心设计学习记录
学习·microsoft·agent·智能体·multi-agent·claude code
SLD_Allen15 分钟前
基于 eBPF + Cilium 的 Kubernetes 网络可观测与安全治理实践
网络·安全·kubernetes
Jlzn88881 小时前
轻量化与高可靠性的平衡之道:CCS集成母排产线关键工艺解析
大数据·网络·物联网
云边有个稻草人1 小时前
复盘小站:用 Doubao-Seed-Evolving,把厚厚的笔记一键变成可复习、可自测、可批改的知识资产
笔记·doubao·ai开发实战·复盘小站
小绫网络安全1 小时前
2026 年网络安全新手入门实战路线
网络·安全·web安全
草莓熊Lotso2 小时前
【LangChain】核心技术:嵌入模型与向量存储完全指南
服务器·网络·python·langchain
KKKlucifer10 小时前
拨开接口黑盒迷雾:运营商第三方合作接口安全审计与准入管控落地实践
网络·人工智能·安全
不会代码的小猴10 小时前
21. 泛型编程上
开发语言·c++·笔记·算法
青瓦梦滋11 小时前
传输层UDP/TCP协议
linux·网络·c++·网络协议·tcp/ip·udp
江畔柳前堤11 小时前
LLM 训练核心机制深度解析:Warmup、Cosine Decay 与 Perplexity 的完整知识体系
网络·人工智能·深度学习·算法·机器学习·语音识别