操作系统基础:IO核心子系统【上】

简介: 操作系统基础:IO核心子系统【上】



♈1 SPOOLing技术

🔱1.1 总览

🔱1.2 什么是脱机技术

1.2.1 概述

在早期的操作系统中,计算机处于手工操作阶段:主机直接从 I/O设备获得数据,由于设备速度慢,主机速度很快。人机速度矛盾明显,主机要浪费很多时间来等待设备

1.2.2 脱机技术的流程

在外围控制机的控制下, 慢速输入设备的数据先被输入到更快速的磁带上。 之后主机可以从快速的磁带上读入数据。输出过程类似。

1.2.3 示意图

1.2.4 脱机技术的优点

🔱1.3 假脱机技术(SPOOLing)

💣1.3.1 示意图

💣1.3.2 解释

(1)输入进程、输出进程相当于脱机技术中的外围处理机

(2)输入井、输出井相当于脱机技术中的高速磁带

(3)在用户输入时,输入进程在内存中开辟一块临时区域存放用户输入的数据,在输入完成后再将数据复制到输入井中。输出过程同理。

(4)之所以叫假脱机是因为它采用的是脱机技术的原理,但是用软件的方式实现。

🔱1.4 假脱机技术的应用

💣1.4.1 背景

打印机属于一种慢速的I/O设备,同时也属于临界资源,同一时间只可以有一个进程使用。但是实际生活中,我们通常是连续传入好几个文件。

💣1.4.2 实现原理

🔱1.5 总结

♈2 设备的分配与回收

⚜️2.1 总览

⚜️2.2 设备分配时应该考虑的因素

🗜️2.2.1 设备的固有属性

🗜️2.2.2 设备分配算法

先来先服务

优先级高者优先

短任务优先

等等

🗜️2.2.3 设备分配中的安全性

(1)安全分配方式

①解释

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

②例子

进程使用打印机时,该进程被阻塞,只有当进程要求打印的数据全部打印完成后该进程才可以去进行其他的操作。

③优缺点

(2)不安全分配方式

①解释

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

②例子

进程申请使用打印机时,之需将数据传入内核中,就可以继续去进行另外的工作。

③优缺点

⚜️2.3 设备分配方式

🗜️2.3.1 静态分配方式

进程运行前为其分配全部所需资源,运行结束后归还资源。它破坏了“请求和保持”条件,不会发生死锁

🗜️2.3.2 动态分配方式

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

⚜️2.4 设备分配管理中的数据结构

📡2.4.1 设备、控制器与通道之间的关系

一个通道可控制多个设备控制器,每个设备控制器可控制多个设备。

示意图:

📡2.4.2 设备控制表(DCT,Device Control Table)

(1)解释

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

(2)示意图

2.4.3 控制器控制表(COCT,Controller Control Table)

(1)解释

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

进行操作和管理

(2)示意图

📡2.4.4 通道控制表(CHCT,Channel Control Table)

(1)解释

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

管理。

(2)示意图

📡2.4.5 系统设备表(SDT,System Device Table)

(1)解释

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

(2)示意图

⚜️2.5 设备分配的步骤

📡2.5.1 描述

📡2.5.2 存在的缺点

📡2.5.3 如何解决

⚜️2.6 改进的设备分配方法

📡2.6.1 描述

📡2.6.2 逻辑设备表(LUT)

(1)解释

类似于快表。系统在查找用户需要的逻辑设备的时候,首先会查看LUT,当该设备不在其中时再去SDT中查找,之后将该设备添加到LUT中,以便用户下次快速查找。

(2)示意图

(3)逻辑设备表的功能

(4)逻辑设备表的设置

⚜️2.7 总结

♈3 总结

本文PDF文件下载链接:提取码:ikun

操作系统,如默默守护的守夜者,无声地管理硬件与软件的交流,为计算机创造和谐秩序。

它是无形的引导者,让复杂的任务变得井然有序,为用户提供无忧体验。

操作系统的巧妙设计,让计算机变得更加智能高效,让人与科技之间的交流更加顺畅。

在每一次启动中,它如信任的伙伴,带领我们进入数字世界的奇妙旅程。

渴望挑战操作系统的学习路径和掌握进阶技术?不妨点击下方链接,一同探讨更多操作系统的奇迹吧。我们推出了引领趋势的💻OS专栏:《OS从基础到进阶》 ,旨在深度探索OS的实际应用和创新。🌐🔍

相关文章
|
7月前
|
Unix C语言
操作系统基础:IO管理概述【上】
操作系统基础:IO管理概述【上】
操作系统基础:IO管理概述【上】
|
7月前
|
存储 算法 Unix
操作系统基础:IO核心子系统【下】
操作系统基础:IO核心子系统【下】
|
7月前
|
Linux
Linux操作系统调优相关工具(三)查看IO运行状态相关工具 查看哪个磁盘或分区最繁忙?
Linux操作系统调优相关工具(三)查看IO运行状态相关工具 查看哪个磁盘或分区最繁忙?
158 0
|
7月前
|
存储 算法 安全
非常详细!操作系统【IO核心子系统】
非常详细!操作系统【IO核心子系统】
操作系统基础:IO管理概述【下】
操作系统基础:IO管理概述【下】
|
缓存 Linux C++
计算机操作系统学习笔记(10)——文件IO
计算机操作系统学习笔记(10)——文件IO
131 0
|
1月前
|
安全 Linux 数据安全/隐私保护
Vanilla OS:下一代安全 Linux 发行版
【10月更文挑战第30天】
59 0
Vanilla OS:下一代安全 Linux 发行版
|
1月前
|
NoSQL Linux PHP
如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤
本文介绍了如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤。接着,对比了两种常用的 PHP Redis 客户端扩展:PhpRedis 和 Predis,详细说明了它们的安装方法及优缺点。最后,提供了使用 PhpRedis 和 Predis 在 PHP 中连接 Redis 服务器及进行字符串、列表、集合和哈希等数据类型的基本操作示例。
59 4
|
1月前
|
人工智能 安全 Linux
|
2月前
|
Unix 物联网 大数据
操作系统的演化与比较:从Unix到Linux
本文将探讨操作系统的历史发展,重点关注Unix和Linux两个主要的操作系统分支。通过分析它们的起源、设计哲学、技术特点以及在现代计算中的影响,我们可以更好地理解操作系统在计算机科学中的核心地位及其未来发展趋势。