从 01 开始 从 01 开始
首页
  • 📚 计算机基础

    • 计算机简史
    • 数字电路
    • 计算机组成原理
    • 操作系统
    • Linux
    • 计算机网络
    • 数据库
    • 编程工具
    • 装机
  • 🎨 前端

    • Node
  • JavaSE
  • Java 高级
  • JavaEE

    • 构建、依赖管理
    • Ant
    • Maven
    • 日志框架
    • Junit
    • JDBC
    • XML-JSON
  • JavaWeb

    • 服务器软件
    • 环境管理和配置管理-科普篇
    • Servlet
  • Spring

    • Spring基础
  • 主流框架

    • Redis
    • Mybatis
    • Lucene
    • Elasticsearch
    • RabbitMQ
    • MyCat
    • Lombok
  • SpringMVC

    • SpringMVC 基础
  • SpringBoot

    • SpringBoot 基础
  • Windows 使用技巧
  • 手机相关技巧
  • 最全面的输入法教程
  • 最全面的浏览器教程
  • Office
  • 图片类工具
  • 效率类工具
  • 最全面的 RSS 教程
  • 码字工具
  • 各大平台
  • 校招
  • 五险一金
  • 职场规划
  • 关于离职
  • 杂谈
  • 自媒体
  • 📖 读书

    • 读书工具
    • 走进科学
  • 🌍 英语

    • 从零开始学英语
    • 英语兔的相关视频
    • Larry 想做技术大佬的相关视频
  • 🏛️ 政治

    • 反腐
    • GFW
    • 404 内容
    • 审查与自我审查
    • 互联网
    • 战争
    • 读书笔记
  • 💰 经济

    • 关于税
    • 理财
  • 💪 健身

    • 睡眠
    • 皮肤
    • 口腔健康
    • 学会呼吸
    • 健身日志
  • 🏠 其他

    • 驾驶技能
    • 租房与买房
    • 厨艺
  • 电影

    • 电影推荐
  • 电视剧
  • 漫画

    • 漫画软件
    • 漫画推荐
  • 游戏

    • Steam
    • 三国杀
    • 求生之路
  • 小说
  • 关于本站
  • 关于博主
  • 打赏
  • 网站动态
  • 友人帐
  • 从零开始搭建博客
  • 搭建邮件服务器
  • 本站分享
  • 🌈 生活

    • 2022
    • 2023
    • 2024
    • 2025
  • 📇 文章索引

    • 文章分类
    • 文章归档

晓林

程序猿,自由职业者,博主,英语爱好者,健身达人
首页
  • 📚 计算机基础

    • 计算机简史
    • 数字电路
    • 计算机组成原理
    • 操作系统
    • Linux
    • 计算机网络
    • 数据库
    • 编程工具
    • 装机
  • 🎨 前端

    • Node
  • JavaSE
  • Java 高级
  • JavaEE

    • 构建、依赖管理
    • Ant
    • Maven
    • 日志框架
    • Junit
    • JDBC
    • XML-JSON
  • JavaWeb

    • 服务器软件
    • 环境管理和配置管理-科普篇
    • Servlet
  • Spring

    • Spring基础
  • 主流框架

    • Redis
    • Mybatis
    • Lucene
    • Elasticsearch
    • RabbitMQ
    • MyCat
    • Lombok
  • SpringMVC

    • SpringMVC 基础
  • SpringBoot

    • SpringBoot 基础
  • Windows 使用技巧
  • 手机相关技巧
  • 最全面的输入法教程
  • 最全面的浏览器教程
  • Office
  • 图片类工具
  • 效率类工具
  • 最全面的 RSS 教程
  • 码字工具
  • 各大平台
  • 校招
  • 五险一金
  • 职场规划
  • 关于离职
  • 杂谈
  • 自媒体
  • 📖 读书

    • 读书工具
    • 走进科学
  • 🌍 英语

    • 从零开始学英语
    • 英语兔的相关视频
    • Larry 想做技术大佬的相关视频
  • 🏛️ 政治

    • 反腐
    • GFW
    • 404 内容
    • 审查与自我审查
    • 互联网
    • 战争
    • 读书笔记
  • 💰 经济

    • 关于税
    • 理财
  • 💪 健身

    • 睡眠
    • 皮肤
    • 口腔健康
    • 学会呼吸
    • 健身日志
  • 🏠 其他

    • 驾驶技能
    • 租房与买房
    • 厨艺
  • 电影

    • 电影推荐
  • 电视剧
  • 漫画

    • 漫画软件
    • 漫画推荐
  • 游戏

    • Steam
    • 三国杀
    • 求生之路
  • 小说
  • 关于本站
  • 关于博主
  • 打赏
  • 网站动态
  • 友人帐
  • 从零开始搭建博客
  • 搭建邮件服务器
  • 本站分享
  • 🌈 生活

    • 2022
    • 2023
    • 2024
    • 2025
  • 📇 文章索引

    • 文章分类
    • 文章归档
  • 计算机简史

  • 数字电路

  • 计算机组成原理

  • 操作系统

    • 我的操作系统学习笔记

    • 我的操作系统实验笔记

    • 操作系统网课-王道考研

      • 0_课程白嫖指南
      • 1_1_操作系统的概念(定义)、功能和目标
      • 1_2_操作系统的特征
      • 1_3_操作系统的发展与分类
      • 1_4_操作系统的运行机制与体系结构
      • 1_5_中断和异常
      • 2_1_6_系统调用
      • 2_1_1_进程的定义、组成、组织方式、特征
      • 2_1_2_进程的状态与转换
      • 2_1_3_进程控制
      • 2_1_4_进程通信
      • 2_1_5_线程概念和多线程模型
      • 2_2_1_处理机调度的概念、层次
      • 2_2_2_进程调度的时机、切换与过程、方式
      • 2_2_3_调度算法的评价指标
      • 2_2_4_FCFS、SJF、HRRN调度算法
      • 2_2_5_调度算法:时间片轮转、优先级、多级反馈队列
      • 2_3_1_进程同步、进程互斥
      • 2_3_2_进程互斥的软件实现方法
      • 2_3_3_进程互斥的硬件实现方法
      • 2_3_4_信号量机制
      • 2_3_5_用信号量实现进程互斥、同步、前驱关系
      • 2_3_6_生产者-消费者问题
      • 2_3_7_多生产者-多消费者问题
      • 2_3_8_吸烟者问题
      • 2_3_9_读者-写者问题
      • 2_3_10_哲学家进餐问题
      • 2_3_11_管程
      • 2_4_1_死锁的概念
      • 2_4_2_死锁的处理策略—预防死锁
      • 2_4_3_死锁的处理策略—避免死锁
      • 2_4_4_死锁的处理策略—检测和解除
      • 3_1_1_内存的基础知识
      • 3_1_2_内存管理的概念
      • 3_1_3_覆盖与交换
      • 3_1_4_连续分配管理方式
      • 3_1_5_动态分区分配算法
      • 3_1_6_基本分页存储管理的基本概念
      • 3_1_7_基本地址变换机构
      • 3_1_8_具有快表的地址变换机构
      • 3_1_9_两级页表
      • 43_3_1_10_基本分段存储管理方式
      • 3_1_11_段页式管理方式
      • 3_2_1_虚拟内存的基本概念
      • 3_2_2_请求分页管理方式
      • 3_2_3_页面置换算法
      • 3_2_4_页面分配策略
      • 4_1_1_初识文件管理
      • 4_1_2_文件的逻辑结构
      • 4_1_3_文件目录
      • 4_1_4_文件的物理结构(上)
      • 4_1_4_文件的物理结构(下)
      • 54_4_1_5_文件存储空间管理
      • 4_1_6_文件的基本操作
      • 4_1_7_文件共享
      • 4_1_8_文件保护
      • 4_1_9_文件系统的层次结构
      • 4_2_1_磁盘的结构
      • 4_2_2_磁盘调度算法
      • 4_2_3_减少磁盘延迟时间的方法
      • 4_2_4_磁盘的管理
      • 5_1.2_I-O 控制器
      • 5_1.3_I-O 控制方式
      • 65_5_1_1_I-O 设备的概念和分类
      • 5_1_4_I-O 软件层次结构
      • 5_1_5_I-O 核心子系统
        • IO 子系统的功能
        • lO 调度
        • 设备保护
        • 小结
      • 5_1_6_假脱机技术
      • 5_1_7_设备的分配与回收
      • 5_1_8_缓冲区管理
  • Linux

  • 计算机网络

  • 数据库

  • 编程工具

  • 装机

  • 计算机基础
  • 操作系统
  • 操作系统网课-王道考研
2023-05-15
目录

515_I-O 核心子系统

# 5.1_5_I-O 核心子系统

‍从小节开始我们会学习 IO 核心子系统相关的一系列功能,‍‍那么上个小节中我们知道 IO 软件的层次可以分为这样的 4 个层次,其中设备独立性软件、‍‍设备驱动程序,还有终端处理程序,这三层其实是属于操作系统的内核部分的,‍‍所以它们也称作 IO 核心子系统,又可以简称为 IO 系统。‍‍

‍

因此其实 IO 核心子系统需要实现的功能就是这三层需要实现的功能,咱们在上个小节中已经有‍‍提过。‍‍在考研当中我们需要重点掌握的是 IO 调度、设备保护、假脱机技术、‍‍设备分配与回收、缓冲区管理这几种功能的原理和实现,我们来看一下这些事情分别需要在哪些层次实现。‍‍

​ ‍

# IO 子系统的功能

首先我们在上个小节中已经强调过,所有和硬件直接相关的,那肯定是设备驱动程序和中断处理程序需要负责的。‍‍但是咱们刚才提到的那些功能当中都没有直接与硬件相关的,‍‍其中假脱机技术又叫 SPOOLing 技术,它一般来说是在用户层实现的,‍‍而 IO 调度设备保护设备的分配与回收还有缓冲区管理,这几个功能是在设备独立性软件这层实现的。‍‍

这个地方大家可能会比较奇怪,刚才不是说 lO 核心子系统要实现的是这些技术吗?‍‍而假脱机技术看起来并不是 lO 核心子系统来实现的,一般来说假脱机技术都需要使用到磁盘这种设备的‍‍设备独立性软件这一层的服务,所以假脱机技术一般来说都是在用户层软件实现的,但是在咱们 408 的考研大纲中,又把假脱机技术‍‍把它归为 lO 核心子系统要实现的一个功能,所以在考试的时候如果我们遇到了,那还是以这个大纲为准。‍‍不过大家也需要知道在实际应用中,其实假脱机技术是用户层软件这样实现的

​ ‍

# lO 调度

这个小节中我们先简单的介绍两个我们很熟悉的功能的实现,一个是 lO 调度,一个是设备保护。

首先来看一下 IO 调度,其实 IO 调度和‍‍处理基调度是很类似的,就是用某一种算法来确定一个好的顺序来处理各个 IO 请求。‍‍比如说咱们在上一章学过的磁盘调度,其实就是用某一种算法来确定应该先满足哪些磁盘的访问请求。‍‍由于磁盘其实也是一种 IO 设备,所以其实磁盘调度也是 IO 调度的问题,‍‍除了磁盘之外,像什么打印机等等这些设备,也同样是可以采用类似于先来先服务优先以及算法或者短作业优先等等这些算法来确定一个‍‍合适的 l 调度顺序,这些咱们在之前已经训练过很多次了,所以这就不再赘述,大家只需要根据题目中提供的算法的名字,再结合咱们之前学习过的那些调‍‍度算法的思想来分析做题就可以了。‍‍所以 lO 调度其实是我们很熟悉的一个内容。‍‍

​

# 设备保护

接下来我们再来看一下设备保护,‍‍这个点其实咱们在上一小节也简单的提及过,‍‍其实怎么实现设备保护,这一点咱们也已经很熟悉了,因为在 UNIX 系统当中,设备会被看作是一种特殊的文件,‍‍因此其实系统也会为各个设备建立一个相应的 fcb 也就是文件控制快。‍‍那就像咱们之前在文件管理的章节中学到的一样,‍‍不同的用户对于不同的文件是有不同的访问权限的,比如说某个用户对于有的文件只能读,而对于有的文件又可以读也可以写,‍‍所以其实只要把设备看作是一种特殊的文件的话,那么当一个用户想要访问某种设备的时候,‍‍系统也会根据这个设备对应的 fcb 来判断一下这个用户是否有相应的访问权限。‍‍这样的话就实现了所谓的设备保护的功能,但它其实也是‍‍文件保护那一块所需要做的事情,这个知识点如果回忆不起来的话,可以再参考咱们在第四章中文件保护小节当中讲到的内容。‍‍

​

# 小结

那么这个小节我们只是简单的对 l 核心子系统需要实现哪些功能进行了一个简要的概述,‍‍并且简单提了一下 lO 调度和设备保护应该怎么实现,这都是咱们很熟悉的内容。‍‍之后的小节中我们还会展开介绍设备分配与回收,还有缓冲区管理应该怎么实现。‍‍而假脱机技术或者叫 SPOOLing 技术,它在实际当中本来是在用户层软件当中实现的,但是在 408 考研大纲中也把它归为 lO 核心子系统要‍‍实现的功能之一,所以我们按照从上之下的顺序,在下个小节会先介绍假脱机技术的实现

上次更新: 2025/6/3 17:50:46
5_1_4_I-O 软件层次结构
5_1_6_假脱机技术

← 5_1_4_I-O 软件层次结构 5_1_6_假脱机技术→

最近更新
01
语雀文档一键下载至本地教程
07-04
02
要成功,就不要低估环境对你的影响
07-03
03
血泪教训:电子设备要定期开机
07-02
更多文章>
Theme by Vdoing | Copyright © 2022-2025 | 粤 ICP 备 2022067627 号 -1 | 粤公网安备 44011302003646 号 | 点击查看十年之约
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式