操作系统之设备管理

  • I/O硬件
    • 分类
    • 组成
  • I/O通信——编制方式
    • I/O独立编址
    • 内存映射编址
    • 混合编址
  • I/O控制方式
      • 程序直接控制
    • 中断驱动方式
    • DMA直接存储方式
    • I/O通道
  • I/O软件
    • 设备独立性软件
    • 设备驱动程序
    • 中断处理程序
    • 硬件

I/O硬件

分类

按数据组织进行分类,可分为块设备、字符折别

  1. 块设备:以数据库啊作为信息存储和传输单位
    每个数据块有单独的地址,数据块之间的读写操作相互独立
    例如:各种存储设备、硬盘、U盘
  2. 字符设备:以字符作为信息存储和传输单位 数据即字符流,无定位,无寻址 如I/O设备、鼠标、键盘

组成

一个I/O单元由两部分组成,分别是机械部分和电子部分
机械部分是指具体设备,比如显示器、键盘,电子设备是操作系统中说的硬件,是指设备控制器。

设备控制器包含各种寄存器,如控制寄存器存储读写指令,数据寄存器、状态寄存器

设备控制器负责根据物理设备读写寄存器内容,这些寄存器内容后面又驱动程序进行解析。

I/O通信——编制方式

I/O独立编址

控制器中每一个寄存器分配一个端口号,称为I/O端口地址,然后用专门的指令对端口进行读写操作。

内存映射编址

所有控制器当中每一个寄存器都映射为一个内存地址,专门用于I/O操作
但是每一次的寻址都要判断访问的是内存还是I/O
CPU、内存、I/O设备都链接在总线上,则传输速率应该按照最慢的传输

混合编址

对于设备控制器中寄存器采用独立编址
设备的数据缓冲区采用内存映射编址

编址后的获得数据的方式:单总线——双总线——南北桥

I/O控制方式

程序直接控制

CPU向I/O模块发出读写指令,CPU会从状态寄存器读取I/O状态,如果是忙碌,则继续轮询检查
优点:实现简单,在读写指令之后加入轮询查询指令即可。
缺点:CPU长期处于忙等待状态,CPU利用流程极低。

中断驱动方式

I/O控制器从CPU接受一个指令,然后从外围设备读,一旦数据读入到控制器的数据寄存器,便通过控制线给CPU发出中断信号,表示已经准备好
优点:CPU和I/O可并行,利用率提高
缺点:每个字都会触发一次中断

DMA直接存储方式

数据流向是从设备直接到内存或者是从内存直接到设备,不再使用CPU作为作为中间者
DMA控制器当所有数据块传输完成后才会触发中断
但是,DMA读入内存的时候内存忙,CPU此时无法都内存,只能访问cache,所以提出机制,CPU可以打断DMA
优点:CPU利用率再次提高
缺点:不连续的数据块依旧会多次触发中断

I/O通道

I/O软件

设备独立性软件

又称为设备无关性软件
建立逻辑设备名到物理设备名映射关系,根据设备类型选择调用相应驱动程序
例如,去学校打印店打印时,需要选择打印机1、打印机2,这就是逻辑设备名

设备驱动程序

为何不同设备需要不同驱动程序?
佳能打印机的厂家规定状态寄存器为0表示空闲,1表示忙碌,有两个数据寄存器
惠普打印机的厂家规定状态寄存器为1表示空闲,1表示忙碌,有一个数据寄存器
厂家必须提供与设备相应驱动程序,CPU执行驱动程序指令序列,完成设置寄存器,检查状态
厂家会把驱动程序上传至微软官网,微软官网会进行而已检测,不交钱就删掉对应驱动城西,识别不了无法用,

中断处理程序

当I/O任务完成之后,I/O控制器会发生中断信号,系统会根据中断号找到对应程序处理
进程需求读写时也会调用中断——进程切换

硬件

执行I/O操作,是指控制器

操作系统之设备管理简介相关推荐

  1. threadx 信号量 应用_操作系统及ThreadX简介.ppt

    操作系统及ThreadX简介 操作系统及ThreadX简介 软件二部 2006.09 主要内容 多任务操作系统概述 ThreadX简介 关于驱动的交流 操作系统概述 什么是操作系统 管理计算机的所有资 ...

  2. 操作系统之设备管理-翟一鸣-专题视频课程

    操作系统之设备管理-93人已学习 课程介绍         本课程主要内容包括设备管理的任务和功能,设备管理的硬件组织与软件组织,设备管理中的缓冲技术和设备分配. 课程收益     让学员掌握设备管理 ...

  3. 操作系统实验—设备管理

    操作系统实验-设备管理 所有实验源码: gitee:https://gitee.com/infiniteStars/os-project github:https://github.com/hello ...

  4. 操作系统之设备管理习题

    设备管理习题 一.单项选择题 1.磁盘是可共享设备,因此每一时刻( A)作业启动它. A.可以由任意多个 B.能限定多个 C.至少能由一个 D.至多能由一个 2.存放在磁盘上的文件(A ). A.既可 ...

  5. 操作系统(设备管理)

    设备管理 一.实验目的 二.实验内容 三.实验准备 四.实验要求 1.数据结构 2.流程图 代码运行结果 总结 一.实验目的 1.理解设备管理的概念和任务. 2.掌握独占设备的分配.回收等主要算法的原 ...

  6. 操作系统基本原理---设备管理

    设备管理 在计算机系统中,除了处理器和内存之外,其他的大部分硬设备称为外部设备.它包括输入/输出设备,辅存设备及终端设备等.这些设备种类繁多,特性各异,操作方式的差异很大,从而使操作系统的设备管理变得 ...

  7. 开源IoT操作系统Mynewt使用简介

    开源IoT操作系统Mynewt介绍 最近,在Apache软件基金会(ASF, Apache Software Foundation)发起了一个开源的社区项目Mynewt,其最新的稳定版本1.0.0-b ...

  8. Sun公司的操作系统:Solaris简介

    作者: Badcoffee Email: blog.oliver@gmail.com 2004年9月 原文出处: http://blog.csdn.net/yayong 版权所有: 转载时请务必以超链 ...

  9. 计算机操作系统及编程语言简介

    一,概述: 1,什么是操作系统? 操作系统是一个协调/管理/控制计算机硬件资源与软件资源的一个控制程序. 2,为何要有操作系统? 1,把复杂硬件操作封装成简单的功能/接口 用来给用户或者应用程序使用( ...

最新文章

  1. 当代新青年,在看什么书?|主题书单揭晓
  2. 一文看懂https如何保证数据传输的安全性的
  3. 使用SQL*PLUS构建完美excel或html输出
  4. 奶源向左配方向右,飞鹤、澳优、贝因美们要如何重振国产奶粉?
  5. 《Cracking the Coding Interview》——第18章:难题——题目3
  6. ##API(二)————包装类
  7. java国际化服务器不识别_国际化踩坑记录java.util.MissingResourceException:
  8. httpposterror_java – HttpClientError:目标服务器无法响应
  9. hibernate框架 最新_Java 15 个框架
  10. Nagios监控数据脚本记录一下。
  11. html远程连接mysql_mysql允许远程连接
  12. 360浏览器html在哪儿,360浏览器打印页面设置在哪里
  13. zk的watcher机制
  14. Python 05-字符串
  15. 人脸识别之表情识别(七)--面部表情识别阶段综述
  16. DRF路由Routers
  17. linux驱动request_threaded_irq()
  18. pythongui界面管理系统_Python实现GUI学生信息管理系统
  19. 解决ubuntu终端输入异常,回退变成空格后移
  20. 强行往计算机上存储,存储卡常见问题及其解决方法

热门文章

  1. Linux 重定向与管道
  2. 今日头条频道管理(自带动画效果)
  3. 《深度学习》(美)Ian Goodfellow 花书简要笔记(第一部分:应用数学与机器学习基础)
  4. 爬取场库网站遇到的问题
  5. 【Vue3tinymce】Vue3使用tinymce富文本编辑器
  6. AES加密算法工作原理
  7. 视频编码格式转换工具:Compressor for mac中文版(完美兼容M1)
  8. tdcs系统与计算机联锁,铁路列车调度指挥系统(TDCS)实用问答
  9. XP如何显示文件扩展名
  10. python-如何解决执行pip install 命令的时候出现 File stdin,line 1 pip install XXX的问题