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

在这里插入图片描述

在这里插入图片描述

🌈个人主页:godspeed_lucip
🔥 系列专栏:OS从基础到进阶

🏆🏆本文完整PDF源文件请翻阅至文章底部下载。🏆🏆


  • ♈1 SPOOLing技术
    • 🔱1.1 总览
    • 🔱1.2 什么是脱机技术
      • 1.2.1 概述
      • 1.2.2 脱机技术的流程
      • 1.2.3 示意图
      • 1.2.4 脱机技术的优点
    • 🔱1.3 假脱机技术(SPOOLing)
      • 💣1.3.1 示意图
      • 💣1.3.2 解释
    • 🔱1.4 假脱机技术的应用
      • 💣1.4.1 背景
      • 💣1.4.2 实现原理
    • 🔱1.5 总结
  • ♈2 设备的分配与回收
    • ⚜️2.1 总览
    • ⚜️2.2 设备分配时应该考虑的因素
      • 🗜️2.2.1 设备的固有属性
      • 🗜️2.2.2 设备分配算法
      • 🗜️2.2.3 设备分配中的安全性
    • ⚜️2.3 设备分配方式
      • 🗜️2.3.1 静态分配方式
      • 🗜️2.3.2 动态分配方式
    • ⚜️2.4 设备分配管理中的数据结构
      • 📡2.4.1 设备、控制器与通道之间的关系
      • 📡2.4.2 设备控制表(DCT,Device Control Table)
      • 2.4.3 控制器控制表(COCT,Controller Control Table)
      • 📡2.4.4 通道控制表(CHCT,Channel Control Table)
      • 📡2.4.5 系统设备表(SDT,System Device Table)
    • ⚜️2.5 设备分配的步骤
      • 📡2.5.1 描述
      • 📡2.5.2 存在的缺点
      • 📡2.5.3 如何解决
    • ⚜️2.6 改进的设备分配方法
      • 📡2.6.1 描述
      • 📡2.6.2 逻辑设备表(LUT)
    • ⚜️2.7 总结
  • ♈3 总结


♈1 SPOOLing技术

🔱1.1 总览

image1

🔱1.2 什么是脱机技术

1.2.1 概述

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

1.2.2 脱机技术的流程

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

1.2.3 示意图

image2

1.2.4 脱机技术的优点

image3

🔱1.3 假脱机技术(SPOOLing)

💣1.3.1 示意图

image4

💣1.3.2 解释

(1)输入进程、输出进程相当于脱机技术中的外围处理机
(2)输入井、输出井相当于脱机技术中的高速磁带
(3)在用户输入时,输入进程在内存中开辟一块临时区域存放用户输入的数据,在输入完成后再将数据复制到输入井中。输出过程同理。
(4)之所以叫假脱机是因为它采用的是脱机技术的原理,但是用软件的方式实现。

🔱1.4 假脱机技术的应用

💣1.4.1 背景

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

💣1.4.2 实现原理

image5

🔱1.5 总结

image6

♈2 设备的分配与回收

⚜️2.1 总览

image1

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

🗜️2.2.1 设备的固有属性

image2

🗜️2.2.2 设备分配算法

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

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

(1)安全分配方式
①解释
为进程分配一个设备后就将进程阻塞,本次I/O完成后才将进程唤醒
②例子
进程使用打印机时,该进程被阻塞,只有当进程要求打印的数据全部打印完成后该进程才可以去进行其他的操作。
③优缺点
image3

(2)不安全分配方式
①解释
进程发出I/O请求后,系统为其分配I/O设备,进程可继续执行,之后还可以发出新的I/O请求。只有某个I/O请求得不到满足时才将进程阻塞
②例子
进程申请使用打印机时,之需将数据传入内核中,就可以继续去进行另外的工作。
③优缺点
image4

⚜️2.3 设备分配方式

🗜️2.3.1 静态分配方式

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

🗜️2.3.2 动态分配方式

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

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

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

一个通道可控制多个设备控制器,每个设备控制器可控制多个设备。
示意图:
image5

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

(1)解释
系统为每个设备配置一张DCT,用于记录设备情况
(2)示意图
image6

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

(1)解释
每个设备控制器都会对应一张COCT。操作系统根据COCT的信息对控制器
进行操作和管理
(2)示意图
image7

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

(1)解释
每个通道都会对应一张CHCT。操作系统根据CHCT的信息对通道进行操作和
管理。
(2)示意图
image8

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

(1)解释
记录了系统中全部设备的情况,每个设备对应一个表目。
(2)示意图
image9

⚜️2.5 设备分配的步骤

📡2.5.1 描述

image10

📡2.5.2 存在的缺点

image11

📡2.5.3 如何解决

image12

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

📡2.6.1 描述

image13

📡2.6.2 逻辑设备表(LUT)

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

(2)示意图
image14

(3)逻辑设备表的功能

image15

(4)逻辑设备表的设置

image16

⚜️2.7 总结

image17

♈3 总结

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

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

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

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

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

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

在这里插入图片描述

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/465563.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CodeMeter强化了ETM WinCC 开放架构平台的许可与安全保护

在面对日益复杂的网络安全威胁时,ETM professional control采取了前瞻性的措施,选择了业界领先的威步CodeMeter技术,以保护其标志性的WinCC开放架构平台。这一选择不仅体现了ETM对安全的高度重视,也标志着其在保障关键基础设施运营…

【Rust】使用Rust实现一个简单的shell

一、Rust Rust是一门系统编程语言,由Mozilla开发并开源,专注于安全、速度和并发性。它的主要目标是解决传统系统编程语言(如C和C)中常见的内存安全和并发问题,同时保持高性能和底层控制能力。 Rust的特点包括&#x…

同余数论性质

同余概念 当 a%m b%m,说明a和b同余,写作若 a≡b(mod m) 性质 衍生出几条性质 1.m | abs(a-b),即|a-b|是m的倍数。(注意,0是任何数的倍数) 2.当a≡b(mod m),c≡d(mod m), 有ac…

电路设计(15)——篮球赛24秒违例倒计时报警器的proteus仿真

1.设计要求 设计、制作一个篮球赛24秒违例倒计时报警器。要求: (1)具有倒计时功能。可完整实现从“24”秒开始依序倒计时并显示倒计时过程,显示时间间隔为1秒。 (2)具有消隐功能。当“24”秒倒计时…

2023年度总结 EXI-小洲

2023年度总结 EXI-小洲 文章目录 2023年度总结 EXI-小洲前言一、2023的记录1.1 工作1.2 副业1.2.1 投资1.2.2 接活 1.3 减肥1.4 校园 二、核对2022的flag三、反思四、展望2024 前言 一、2023的记录 1.1 工作 关于目前的工作,我用两个词语来介绍:运气、…

第80讲订单管理功能实现

后端 <?xml version"1.0" encoding"UTF-8" ?> <!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace"com.java1234.mapper.OrderM…

MVC模式和三层架构

目录 1.MVC模式概述 2.三层架构概述 3.MVC模式和三层架构的关系 1.MVC模式概述 MVC 是一种分层开发的模式&#xff0c;其中: M:Model,业务模型&#xff0c;处理业务 V:View,视图&#xff0c;页面展示 C:Controller,控制器&#xff0c;处理请求&#xff0c;调用模型和视图 2.…

python+flask+django农产品供销展销电子商务系统lkw43

供销社农产品展销系统的设计与实现&#xff0c;最主要的是满足使用者的使用需求&#xff0c;并且可以向使用者提供一些与系统配套的服务。本篇论文主要从实际出发&#xff0c;采用以对象为设计重点的设计方法&#xff0c;因此在进行系统总体的需求分时借助用例图可以更好的阐述…

点云标注工具

目录 3d手势识别 c 3d关键点&#xff0c;Bounding Box Labels Rectangle Labels KITTI 3D Ground Truth Annotator c标注工具 3d手势识别 GitHub - 99xtaewoo/Automated-Hand-3D-pose-annotation-Tool: Automated Hand 3D pose annotation Tool c 3d关键点&#xff0c;Bou…

fast.ai 机器学习笔记(一)

机器学习 1&#xff1a;第 1 课 原文&#xff1a;medium.com/hiromi_suenaga/machine-learning-1-lesson-1-84a1dc2b5236 译者&#xff1a;飞龙 协议&#xff1a;CC BY-NC-SA 4.0 来自机器学习课程的个人笔记。随着我继续复习课程以“真正”理解它&#xff0c;这些笔记将继续更…

2.11 运算符

1、选择题 1.1、若有以下程序 main() { char a1,b2; printf("%c,",b); printf("%d\n",b-a); } 程序运行后的输出结果是 C A&#xff09;3,2 B&#xff09;50,2 C&#xff09;2,2 D&#xff09;2,50 解析&#xff1a;b是先赋值后自加&#…

中科大计网学习记录笔记(七):Web and HTTP

前言&#xff1a; 学习视频&#xff1a;中科大郑烇、杨坚全套《计算机网络&#xff08;自顶向下方法 第7版&#xff0c;James F.Kurose&#xff0c;Keith W.Ross&#xff09;》课程 该视频是B站非常著名的计网学习视频&#xff0c;但相信很多朋友和我一样在听完前面的部分发现信…