1、I/O设备的概念、分类

  • 基础知识
    • 思维导图
    • 什么是I/O设备?
    • 分类
  • I/O控制器
    • 思维导图
    • I/O控制器功能
    • I/O控制器的组成
    • 内存映像I/O vs 寄存器独立编址
  • I/O控制方式
    • 1、程序直接控制方式
    • 2、中断驱动方式
    • 3、DMA方式(直接存储器存取)
    • 4、通道控制方式
    • 对比

基础知识

思维导图

什么是I/O设备?

分类


![

I/O控制器

思维导图

I/O控制器功能

I/O控制器的组成


内存映像I/O vs 寄存器独立编址

I/O控制方式

1、程序直接控制方式


为解决上述方式中的缺点,产生了中断驱动方式

2、中断驱动方式

与程序直接控制相比,区别是:
1、在CPU发出读/写命令后,可将等待I/O的进程阻塞,先切换到别的进程执行
2、I/O完成后,控制器会向CPU发出一个中断信号,CPU检测到中断信号后,会保存当前进程的运行环境信息,转去执行中断处理程序处理该中断。
3、CPU从I/O控制器读一个字的数据传送到CPU寄存器,再写入主存
问题:中断处理过程中需要保存、恢复进程的运行环境,这个过程是需要一定时间开销的。可见,如果中断发生的频率太高,也会降低系统性能;每个字在I/O设备与内存之间的传输,都需要经过CPU。为此提出来DMA方式。

3、DMA方式(直接存储器存取)

1、CPU到I/O的操作都交由DMA控制器完成,数据的传输不在经由CPU处理,CPU仅在传送一个或多个数据块的开始和结束时,才需要干预。
2、区别于中断驱动方式,多加入一个DMA控制器用于数据传输。
3、DMA控制器:

1、从DMA控制图中可知,内存到I/O设备的数据传输通过DMA就可以完成,该不需要CPU的干预,大大提高了CPU与I/O设备间的并行效率
2、CPU只是负责发出对I/O设备的请求以及接收当数据传输完成后的中断

4、通道控制方式

通道控制方式区别于DMA方式:当CPU请求I/O设备时,会先在内存的任务清单中添加任务,然后通道检查内存中的任务清单,若有任务则由通道负责与I/O设备的数据传输。所以每次可以进行一组数据块的读写。

对比

操作系统之I/O管理:1、I/O控制器、I/O控制方式(程序直接控制方式、中断驱动方式、DMA方式、通道控制方式)相关推荐

  1. 【转】聊聊Linux操作系统中的显示管理器及如何更换

    转自:聊聊Linux操作系统中的显示管理器及如何更换 - linux-123 - 博客园 聊聊Linux操作系统中的显示管理器及如何更换 | <Linux就该这么学> 什么是 Linux ...

  2. (王道408考研操作系统)第二章进程管理-第三节10:经典同步问题之哲学家进餐问题

    本文接: (王道408考研操作系统)第二章进程管理-第三节6:经典同步问题之生产者与消费者问题 ((王道408考研操作系统)第二章进程管理-第三节7:经典同步问题之多生产者与多消费者问题 (王道408 ...

  3. (王道408考研操作系统)第二章进程管理-第三节8:经典同步问题之吸烟者问题

    本文接: (王道408考研操作系统)第二章进程管理-第三节6:经典同步问题之生产者与消费者问题 ((王道408考研操作系统)第二章进程管理-第三节7:经典同步问题之多生产者与多消费者问题 文章目录 一 ...

  4. (王道408考研操作系统)第二章进程管理-第三节7:经典同步问题之多生产者与多消费者问题

    注意:生产者与消费者问题Linux系统编程专栏有案例讲解 Linux系统编程39:多线程之基于阻塞队列生产者与消费者模型 Linux系统编程40:多线程之基于环形队列的生产者与消费者模型 本文接:(王 ...

  5. (王道408考研操作系统)第二章进程管理-第一节4:进程通信(配合Linux)

    文章目录 一:什么是进程通信 二:如何实现进程间通信及其分类 三:通信方式1-共享存储(共享内存) (1)课本基础内容 (2)补充-Linux中的进程通信 四:通信方式2-管道 (1)管道是什么 (2 ...

  6. 【操作系统】操作系统的功能管理与分类

    这两天复习了操作系统的一些理论,并将此整理成读书笔记,内容如下: 一般来说,操作系统可以分为五大管理功能部分: 1)  设备管理:主要是负责内核与外围设备的数据交互,实质是对硬件设备的管理,包括对输入 ...

  7. 利用图文和代码深度解析操作系统OS的内存管理实现原理机制和算法

    利用图文和代码深度解析操作系统OS的内存管理实现原理机制和算法. 内存作为计算机系统的组成部分,跟开发人员的日常开发活动有着密切的联系,我们平时遇到的Segment Fault.OutOfMemory ...

  8. 操作系统-课堂笔记-内存管理(南航)

    文章目录 内存管理 回顾 内存管理的作用是什么? 如何分配物理内存 物理内存分配方案 1.连续分配存储管理(可应用于嵌入式设备) 1.1单一连续分配 1.2固定分区分配 1.3可变分区分配 连续分配存 ...

  9. 从零手写操作系统之RVOS内存管理模块简单实现-02

    从零手写操作系统之RVOS内存管理模块简单实现-02 内存管理分类 内存映射表(Memory Map) Linker Script 链接脚本 语法 基于符号定义获取程序运行时内存分布 基于 Page ...

  10. 笔记篇:操作系统第二章 进程管理

    笔记篇:操作系统第二章 进程管理 目录 笔记篇:操作系统第二章 进程管理 2.1 进程的基本概念 2.1.1 程序的顺序执行及其特征 2.1.2 前驱图 2.1.3 程序的并发执行及其特征 2.1.4 ...

最新文章

  1. 全球首个开源图像识别系统上线了!人脸、商品、车辆识别一网打尽!
  2. gvim 实现自动全文排版
  3. 2440从sd卡启动wince
  4. as3 内容自适应容器大小
  5. java 线程 通过interrupted_分析Java线程中断机制stop和interrupted的用法
  6. [JSP暑假实训] 一.MyEclipse安装及JAVA基础知识
  7. 在c语言程序中无论是整数还是实数,C语言基础题及参考答案
  8. django后端用websocket传输数据
  9. StringUtils,FileUtils,PropertiesUtils,DataBaseUtils
  10. [oracle] 设置PL/SQL Developer 字符集
  11. c语言贪吃蛇自动移动,C语言贪吃蛇移动
  12. Android字体设置,Roboto字体使用
  13. 18个免费视频素材网站,超高清、不限速、无版权、可商用,1秒解决你90%的视频剪辑难题!
  14. 用微信公众号控制ESP8266的LED,进一步使用微信当遥控器
  15. LayUI之动态选项卡Tabiframe使用
  16. 暑期2020“大咖说开源” | 陈莉君:Linux从入门到深入内核有多远
  17. 磁力搜索网站+下载神器放送2019-03-05
  18. OS模块--批量修改文件名字(一)创建和修改文件路径
  19. Httpd:无法找到/etc/httpd/conf
  20. 【Educoder python 作业答案】国防科技大学《大学计算机基础》Python控制结构(二)※

热门文章

  1. 编程技术分享,程序员小技巧,程序员小伙伴们,你们用到了多少
  2. 官方:Angular 5 推迟到10月底发布
  3. 圆括号匹配c语言代码,求救!!一道关于表达式圆括号匹配的经典题目
  4. 近10万人基因组数据!美国All of Us项目发布首批人群队列数据
  5. 【资源】福利来了!生物学相关常用软件小工具,百度云下载链接持续更新中...
  6. R语言学习 - 非参数法生存分析
  7. 1288:三角形最佳路径问题-2019-07-04
  8. js写随机输出7位数代码教程
  9. 八个角最多可以把平面分成多少部分?_平面设计构图的基本形式
  10. 数字类 default 0和 default 0_04Optional类和接口中的default、static方法