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

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

相关推荐
阿伟来咯~10 分钟前
记录学习react的一些内容
javascript·学习·react.js
Suckerbin32 分钟前
Hms?: 1渗透测试
学习·安全·网络安全
Tassel_YUE38 分钟前
网络自动化04:python实现ACL匹配信息(主机与主机信息)
网络·python·自动化
水豚AI课代表43 分钟前
分析报告、调研报告、工作方案等的提示词
大数据·人工智能·学习·chatgpt·aigc
聪明的墨菲特i1 小时前
Python爬虫学习
爬虫·python·学习
Diamond技术流1 小时前
从0开始学习Linux——网络配置
linux·运维·网络·学习·安全·centos
密码小丑1 小时前
11月4日(内网横向移动(一))
笔记
斑布斑布1 小时前
【linux学习2】linux基本命令行操作总结
linux·运维·服务器·学习
Spring_java_gg1 小时前
如何抵御 Linux 服务器黑客威胁和攻击
linux·服务器·网络·安全·web安全
鸭鸭梨吖2 小时前
产品经理笔记
笔记·产品经理