【OS笔记38】:设备管理 - I/O 设备原理

文章目录

    • [7.1 I/O 设备原理](#7.1 I/O 设备原理)
      • [1. 设备的类别与概念](#1. 设备的类别与概念)
        • [(1) 基本概念](#(1) 基本概念)
        • [(2) 设备的分类 (按使用特性)](#(2) 设备的分类 (按使用特性))
      • [2. 设备管理的设计目标](#2. 设备管理的设计目标)
        • [(1) 向用户提供方便的统一接口 (User Interface)](#(1) 向用户提供方便的统一接口 (User Interface))
        • [(2) 提高各种设备的使用效率](#(2) 提高各种设备的使用效率)
        • [(3) 统一的管理方法](#(3) 统一的管理方法)
      • [3. 设备管理的主要功能](#3. 设备管理的主要功能)
        • [(1) 记录设备的管理信息](#(1) 记录设备的管理信息)
        • [(2) 实施设备分配](#(2) 实施设备分配)
        • [(3) 完成 I/O 操作](#(3) 完成 I/O 操作)
        • [(4) 缓冲管理与地址转换](#(4) 缓冲管理与地址转换)
      • 知识点关联记忆

前言

计算机系统中,除了 CPU 和内存,其余部分均为外设。设备管理的任务最为繁杂,源于设备种类繁多且速度差异极大。
本章内容:实现用户能以操作文件的方式简便地操作各种复杂硬件设备。

7.1 I/O 设备原理

1. 设备的类别与概念

(1) 基本概念
  • 外设 (I/O Device) :计算机系统中,通常将处理机 (CPU)主存储器 (Memory) 之外的部分定义为外设。
  • 设备管理的职责 :对种类繁多的 I/O 设备进行管理和控制,以实现用户对各类设备的高效、统一、简便使用。
(2) 设备的分类 (按使用特性)

为便于管理,设备通常按功能和使用特性进行分类结构化:

  • 存储设备 :主要用于信息存储。
    • 磁带
    • 磁盘(软盘、硬盘)
    • 其他(光盘、磁鼓等)
  • 输入输出设备 :用于人机交互或数据转换。
    • 键盘、显示器、打印机
    • 图形/图像输入输出设备
    • 音频设备、网络通信板等
  • 终端设备
    • 通用终端(对话型、批处理型)
    • 专用终端、虚终端
  • 脱机设备:不直接由主机控制的设备。

2. 设备管理的设计目标

操作系统设计设备管理模块,主要为实现以下三个目标:

(1) 向用户提供方便的统一接口 (User Interface)

此目标最为重要,即实现设备独立性

  • 屏蔽物理细节:使用户无需了解具体设备的物理特性,例如磁盘磁头运转或打印机针头工作方式。
  • 虚拟设备:用户程序中使用逻辑设备(虚拟设备),系统在后台负责将其映射至物理设备(实设备)。
  • Linux/UNIX 哲学 :在 Linux 系统中,外设被视为特殊文件处理 ,与普通文件统一管理(即"一切皆文件")。用户可通过 readwrite 等系统调用来操作硬件。
(2) 提高各种设备的使用效率
  • 并行性
    • 提高 CPU 与外设 之间的并行程度(避免 CPU 空等 I/O 完成)。
    • 提高 外设与外设 之间的并行程度。
(3) 统一的管理方法
  • 尽管外设差异显著,操作系统应尽可能采用统一的策略和数据结构进行管理,以使系统更简练、易于维护。

3. 设备管理的主要功能

为实现上述目标,设备管理程序需完成以下具体工作:

(1) 记录设备的管理信息
  • 核心数据结构设备控制块 (DCB, Device Control Block)
  • 作用:类似于进程管理中的 PCB 和文件管理中的 FCB,DCB 记录了设备的详细信息(如状态、类型、等待队列等),便于系统有效管理。
(2) 实施设备分配
  • 冲突解决:当请求使用某种设备的进程数大于实际设备数时,系统需依据特定策略(如先来先服务、优先级等)决定设备分配。
(3) 完成 I/O 操作
  • 驱动执行 :根据用户需求调用相应的设备驱动程序
  • 硬件控制:启动相应设备进行 I/O 操作。
  • 中断处理:处理来自设备的中断信号(如键盘输入完成、磁盘读写完成)。
(4) 缓冲管理与地址转换
  • 缓冲技术:此为解决 CPU(高速)与外设(低速)速度不匹配问题的关键技术。

知识点关联记忆

为便于复习,可将操作系统的"三大控制块"进行关联记忆:

管理模块 核心对象 核心数据结构 英文缩写
进程管理 进程 进程控制块 PCB
文件管理 文件 文件控制块 FCB
设备管理 设备 设备控制块 DCB

本节小结

7.1 节主要引入基本概念。重点在于理解设备管理的必要性 (旨在提供统一接口、提高效率)以及操作系统对设备的视角(分为存储、IO等类别,并通过DCB记录状态)。

相关推荐
go_bai3 小时前
Linux-网络基础
linux·开发语言·网络·笔记·学习方法·笔记总结
代码游侠4 小时前
学习笔记——HC-SR04 超声波测距传感器
开发语言·笔记·嵌入式硬件·学习
Abbylolo5 小时前
《Obsidian Excalidraw插件配置与使用指南》
笔记
@zulnger5 小时前
python 学习笔记(闭包)
笔记·python·学习
AomanHao6 小时前
【阅读笔记】Bayer阵列坏点校正-《Adaptive pixel defect correction》
图像处理·笔记·isp·坏点补偿
yewq-cn6 小时前
Joplin 客户端与服务端
笔记
佑白雪乐6 小时前
<王道操作系统第1集>1.1.1~1.3.1
笔记
bodybo6 小时前
搭建内网穿透服务器NPS
笔记
强子感冒了6 小时前
Java IO流学习笔记:从字节流到字符流
java·笔记·学习