IO系统的控制方式

18 操作系统第五章 设备管理 IO设备的基本概念和分类 IO控制器 IO控制方式 IO软件层次结构 IO核心子系统 假脱机技术 设备的分配与回收 缓冲区管理 文章目录1 IO设备的基本概念和分类1.1 什么是I/O设备1.2 I/O设备分类2 IO控制器2.1 I/O设备组成2.2 I/O控制器功能2.3 I/O控制器的组成2.4 内存映像l/O VS 寄存器独立编址2.5 IO控制器小结3 IO控制方式3.1 程序直接控制方式3.2 中断驱动方式3.3 DMA方式3.3.1 DMA控制器3.3.2 DMA方式3.4 通道控制方式3.5 IO控制方式小结4 IO软件层次结构4.1 用户层软件4.2 设备独立性软件4.3 设备驱动程序4.4 中断处理程 阅读详情

概述

输入输出(I/O)系统作为计算机重要组成部分,其重要性也不言而喻。在面试中我们也常常遇到关于该部分的的面试题,下边让我一起从系统结构角度来学习一下 I/O系统。

I/O 的组成与功能

要学习 I/O 系统,我们首先要知道什么是 I/O 系统,首先我们给出 I/O 系统的学术定义,

概念 I/O 系统,英文全称为“Input output system”,中文全称为“输入输出系统”,包括 I/O 设备,设备控制器及 I/O 有关软硬件,是计算机系统的重要组成部分。在计算机系统中,通常把处理器和主存储器之外的部分称为输入输出系统。

学术定义比较枯燥,我们举一个简单例子来帮助大家理解。以打印机为例,打印机设备、连接线、驱动程序等整体便可以算作一个 I/O系统。

I/O系统 的主要功能是:对指定外设进行 I/O 操作,同时完成许多其他的控制。包括:外设编址,数据通路的建立,向主机提供外设的状态信息等。

I/O 系统的控制方式

为了有效地实现物理 I/O 操作,必须通过硬件和软件技术,对 CPU 和 I/O 设备的职能进行合理的分工,以调节系统性能和硬件成本之间的矛盾。按照 I/O 控制器功能的强弱以及和 CPU 之间联系方式的不同,可以把 I/O 设备的控制方式分为五类:

  1. 程序控制
  2. 中断方式
  3. DMA 方式
  4. CH(通道)方式
  5. PPU 方式

下边我们分五个小专题来对这五种方式来进行讲解。

## 程序控制方式

首先,我们能想到的,当然也是最容易的控制方式毫无疑问肯定是程序控制方式。程序控制方式由用户进程直接控制主存或 CPU 和外围设备之间的信息传送。直接程序控制方式又称为询问

【王道操作系统】5.1.3 控制IO设备的几种方式?(程序直接控制方式、中断驱动方式、DMA、通道控制) 基于《王道操作系统》得出的理论知识精华 阅读详情

相关推荐

操作系统---IO设备

操作系统—IO设备 IO设备 IO控制方式 1、程序中断控制方法 2、中断驱动方法 3、DMA 4、通道控制方法 举例子分析 IO子系统的层次结构 举个例子 操作系统—IO设备 IO设备 按使用特性分类 人机交互类外设:键盘、鼠标 存储设备:磁盘 网络通讯设备:网络接口啥的 按传输速率分类 低速设备:每秒一个或几个字节,如键盘等等 中速设...

Aaron_涛 3872

Windows系统下com0com虚拟串口安装与驱动签名禁用全攻略

本文详细介绍了在Windows系统下安装com0com虚拟串口工具的全过程,包括驱动签名问题的解决方法。通过禁用驱动程序强制签名,用户可以顺利安装并使用这款开源工具创建虚拟串口对,适用于软件开发测试、硬件调试等场景。文章还提供了验证虚拟串口功能的实用技巧和常见问题解决方案。

weixin_28720573的博客 387

光伏逆变器在环测试解决方案

光伏行业是利用太阳能光辐射将其转化为可用电能的行业。近年来,为应对气候变化和能源安全等挑战,全球对清洁能源的需求不断增长。太阳能作为最具潜力和可再生的能源之一,被视为替代传统化石能源的重要选择,光伏行业因此得到了迅猛发展,并在全球范围内得到了广泛应用。许多国家和地区都将光伏技术作为关键的能源发展方向。尤其是在新兴和发展中国家,光伏发电具有巨大的增长潜力,将成为未来市场竞争的重点。随着规模化生产的推进,光伏组件的制造成本不断降低。

shiwei0813的博客 960

YOLOv5添加注意力机制的具体步骤

本文主要介绍了 本文在此篇博客的基础上向YOLOv5-5.0版 本文主要包括以下内容一、CBAM注意力机制添加(1)修改yolov5s主干网络(2)在common.py中添加可调用的CBAM模块(3)向yolo.py文件添加CBAMC3判断语句二、SE注意力机制添加 本文以yolov5s网络为例 一、CBAM注意力机制添加 注意力机制可以添加在backbone,Neck,Head等部分,接下来本文以backbone主干网络为例 (1)修改yolov5s主干网络 1.在yolov5-5.0工程文件夹下,找到m

thy0000的博客 2万+

TwinCAT3 实时核异步通信:基于ADS的C++ Server/Client数据交换实战解析

本文深入解析了在TwinCAT3实时核中,如何利用ADS协议实现C++ Server与Client之间的异步数据交换。文章从核心概念入手,详细阐述了实时核、ADS通信及异步机制,并通过实战步骤指导环境搭建、路由配置、Server端服务创建与Client端请求发起,重点剖析了Req/Ind/Res/Con异步回调模型,旨在帮助开发者构建高效、非阻塞的实时工业控制应用。

purple的博客 469

USB-Blaster在Win11报错?3分钟搞定驱动兼容性问题(Quartus 21.4实测)

本文针对Windows 11系统下USB-Blaster驱动安装问题,提供了一套快速解决方案。通过优化驱动安装流程、绕过签名验证及设备管理器高级技巧,帮助开发者在3分钟内解决Quartus 21.4的兼容性问题,提升FPGA调试效率。

weixin_30772105的博客 293

Ubuntu中snap简单介绍

通过Snap可以安装众多的软件包。需要注意的是,snap是一种全新的软件包管理方式,它类似一个容器拥有一个应用程序所有的文件和库,各个应用程序之间完全独立。所以使用snap包的好处就是它解决了应用程序之间的依赖问题,使应用程序之间更容易管理。但是由此带来的问题就是它占用更多的磁盘空间 介绍一些常用命令,有点类似docker 1、查看已经通过snap安装的snap包 snap list可以查看 2、可以搜索想要的snap包,例如tomcat snap search tomcat

icanflying的博客 4万+

Python爬虫技术:使用Playwright和Twitter API v2高效获取Twitter/X数据完全教程

遵守规则:始终遵循Twitter的使用条款和速率限制错误处理:实现完善的错误处理和重试机制数据质量:进行数据清洗和验证性能优化:使用异步处理和合理的延迟设置可维护性:模块化代码,便于维护和扩展。

2201_76125261的博客 671

ESP32-S3模组上跑通esp32-camera(32)

ESP32-S3模组上跑通esp32-camera(32)

phmatthaus的专栏 772

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

上一篇: 深入理解unix中的普通链接与符号链接
下一篇: unix中数据缓冲区高速缓冲的设计
vcjmhg
博客等级 码龄11年 27粉丝 94原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值