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

ops/2024/9/21 10:47:46/

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、什么时缓冲区?有什么作用?

缓冲区是一个存储区域

缓和CPUIO设备之间速度不匹配的矛盾

减少对CPU的中断频率

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

提高CPUIO设备之间的并行性

2、单缓冲

在内存中分配一块缓冲区

处理一块时间=maxC,T)+M

3、双缓冲

在内存中分配两块缓冲区

max(T,C+M)

4、循环缓冲

5、缓冲池

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


http://www.ppmy.cn/ops/33353.html

相关文章

【微服务】 OpenFeign

OpenFeign OpenFeignOpenFeign的使用连接池日志 OpenFeign OpenFeign是一个声明式的http客户端,是SpringCloud在Eureka公司开源的Feign基础上改造而来 地址: https://github.com/OpenFeign/feign 作用: 基于SpringMVC的常见注解&#xff0c…

考研入门55问---基础知识篇

考研入门55问---基础知识篇 01 >什么是研究生入学考试? 研究生是指大专和本科之后的深造课程。以研究生为最高学历, 研究生毕业后,也可称研究生,含义为研究生学历的人。在中国大陆地区,普通民众一般也将硕士毕业生称…

mac通过termius连接Linux服务器

mac上安装 linux系统 如果有 linux服务器账号密码,那么上一步可忽略; 比如:直接连接阿里云或腾讯云账号 1. 安装termius 链接: https://pan.baidu.com/s/1iYsZPZThPizxqtkLPT89-Q?pwdbw6j 提取码: bw6j 官网 Termius - SSH platform for …

OpenHarmony实战开发-手势事件

手势表示由单个或多个事件识别的语义动作(例如:点击、拖动和长按)。一个完整的手势也可能由多个事件组成,对应手势的生命周期。支持的事件有: 触摸 touchstart:手指触摸动作开始。touchmove:手…

《Spring-MVC》系列文章目录

简介 Spring MVC是一种基于Java的实现MVC设计模式的请求驱动类型的轻量级Web框架,它通过把Model(模型)、View(视图)、Controller(控制器)分离,将web层进行职责解耦,把复杂…

笔记12-远程服务器上配置linux深度学习C++环境全过程记录(笔记1和2的同样环境第3次配置)

(笔记1和2在windows上装的同样环境在远程服务器上配置) 文章目录 conda create -n zgp_m3dm_main python3.8(失败)反向代理[笔记10-linux服务器可以通过SSH连接但是没法上网](https://editor.csdn.net/md/?articleId137644653)c…

【数据结构】链表专题2

前言 本篇博客继续探讨有关链表的专题,这片博客的题,提前打个预防针,有点意思哦,哈哈哈,话不多说,进入正文 💓 个人主页:小张同学zkf ⏩ 文章专栏:数据结构 若有问题 评论…

C语言【文件操作】(1)

文章目录 1.为什么使用文件2.文件是什么?2.1程序文件2.2数据文件 3.二进制文件和文本文件4.文件的打开和关闭4.1流和标准流流标准流 4.2文件指针4.3文件的打开和关闭 结语 1.为什么使用文件 很简单 长久的存储数据 如果没有文件,我们写程序所产生的数据…