第五章 I/O管理 七、设备的分配与回收

目录

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

1、设备的固有属性

2、设备分配算法

3、设备分配中的安全性

(1)安全分配方式:

优点:

缺点:

(2)不安全分配方式:

优点:

缺点:

4、静态分配

5、动态分配

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

1、"设备、控制器、通道"之间的关系:

2、设备控制表(DCT):

3、控制器控制表(COCT)::)

4、通道控制表(CHCT):

5、系统设备表(SDT):

三、设备分配的具体步骤

缺点:

改进方法:

改进后步骤:

四、总结


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

1、设备的固有属性

(1)独占设备―---一个时段只能分配给一个进程(如打印机)

(2)共享设备――可同时分配给多个进程使用(如磁盘),各进程往往是宏观上同时共享使用设备,而微观上交替使用。

(3)虚拟设备――采用SPOOLing 技术将独占设备改造成虚拟的共享设备,可同时分配给多个进程使用(如采用SPOOLing技术实现的共享打印机)

2、设备分配算法

先来先服务,优先级高者优先,短任务优先

3、设备分配中的安全性

(1)安全分配方式:

为进程分配一个设备后就将进程阻塞,本次I/O完成后才将进程唤醒。

(eg:考虑进程请求打印机打印输出的例子)一个时段内每个进程只能使用一个设备

优点:

破坏了"请求和保持"条件,不会死锁

缺点:

对于一个进程来说,CPU和I/O设备只能串行工作

(2)不安全分配方式:

进程发出I/O请求后,系统为其分配I/O设备,进程可继续执行,之后还可以发出新的I/O请求。只有某个I/O请求得不到满足时才将进程阻塞。

优点:

进程的计算任务和I/O任务可以并行处理,使进程迅速推进

缺点:

有可能发生死锁(死锁避免、死锁的检测和解除)

4、静态分配

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

5、动态分配

进程运行过程中动态申请设备资源

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

1、"设备、控制器、通道"之间的关系:

2、设备控制表(DCT):

系统为每个设备配置一张DCT,用于记录设备情况

注意:

系统会根据阻塞原因不同,将进程PCB挂到不同的阻塞队列中"

3、控制器控制表(COCT):

每个设备控制器都会对应一张COCT。操作系统根据COCT的信息对控制器进行操作和管理。

4、通道控制表(CHCT):

每个通道都会对应一张CHCT。操作系统根据CHCT的信息对通道进行操作和管理。

5、系统设备表(SDT):

记录了系统中全部设备的情况,每个设备对应一个表目。

三、设备分配的具体步骤

①根据进程请求的物理设备名查找SDT(注:物理设备名是进程请求分配设备时提供的参数)

②根据SDT找到DCT,若设备忙碌则将进程PCB挂到设备等待队列中,不忙碌则将设备分配给进程。

③根据DCT找到COCT,若控制器忙碌则将进程PCB挂到控制器等待队列中,不忙碌则将控制器分配给进程。

④根据COCT找到CHCT,若通道忙碌则将进程PCB挂到通道等待队列中,不忙碌则将通道分配给进程。

**注︰**只有设备、控制器、通道三者都分配成功时,这次设备分配才算成功,之后便可后动I/O设备进行数据传送

缺点:

改进方法:

改进后步骤:

四、总结

相关推荐
ccice018 小时前
硬核实战:调用Gemini多模态管道,直击办公中的图表解析、发票识别与自动化脚本生成(国内镜像免费方案)
运维·自动化
爱喝水的鱼丶8 小时前
SAP-ABAP:数据类型与数据对象(8篇) 第七篇:进阶优化篇——基于类型与对象特征的性能优化技巧
运维·数据库·学习·性能优化·sap·abap·开发交流
程序员榴莲8 小时前
网络编程入门 Python Socket 实现一个简单的用户认证系统
服务器·网络·python
ZStack开发者社区8 小时前
全球化2.0 | ZStack亮相印尼云计算与数据中心大会 以新一代云底座助力数字印尼建设
服务器·云计算·gpu算力
DFT计算杂谈8 小时前
VASP新手入门: IVDW 色散修正参数
linux·运维·服务器·python·算法
楼兰公子9 小时前
《深入理解Linux网络技术内幕》配套学习大纲 + 源码Demo + 进阶实战实例
linux·arm开发·学习
programhelp_9 小时前
Google 2026 New Grad SDE VO 三轮面试详解 | 含Behavioral、Coding、Design
java·服务器·数据库
qq_366032789 小时前
Claude API中转怎么选?简易api下的国内接入与兼容 OpenAI 接口实践
大数据·运维·人工智能
Donk_679 小时前
HAProxy实验搭建
运维·负载均衡
樱桃花下的小猫9 小时前
腐蚀Rust-服务器插件模组教程
服务器·新手友好·云鸢互联·零门槛一键开服·腐蚀rust