设备管理(7)

news2024/9/27 15:32:25

设备管理

1 I/O硬件组成

在这里插入图片描述

设备的类型:

  • 块设备:如:磁盘、磁带,块大小512B~32KB,通常为512B。块设备的特点是速度高、随机访问、I/O采用DMA。
  • 字符设备:如:键盘、行式打印机。特点是速度低、不可寻址、I/O采用中断驱动。

设备控制器:
设备控制器或适配器是I/O设备的电子部分,它是CPU与I/O设备之间的接口,它接收从CPU发来的命令,并控制I/O设备工作。通常一台控制器可控制多台同一类型的设备。
在微机中,设备控制器常做成印刷电路卡的形式,如I/O卡。
设备控制器的种类很多,需要不同的软件来控制它,这样的软件就是设备驱动程序。
控制器的功能:

  • 接收和识别CPU发来的命令——控制寄存器
  • 数据交换——数据寄存器
  • 了解设备的状态,报告给CPU——状态寄存器
  • 地址识别——地址译码器

设备控制器的组成:
在这里插入图片描述
控制器与CPU之间接口——用于控制设备与总线之间交换数据。
控制器与设备之间接口——用于根据CPU发来的命令,控制设备的动作。
I/O逻辑——用于实现对设备的控制。I/O逻辑对收到的地址进行译码,在根据译出的命令对设备进行控制。

2 设备通道

虽然有控制器可以对设备进行控制,但当外设很多时,CPU负担过重,为此在CPU与控制器之间增加通道。
增加通道的目的“是建立独立的I/O操作,不仅使数据的传送能独立于CPU,而且有关I/O操作的组织、管理及结束也尽量独立,以保证CPU有更多的时间去进行数据处理。
通道是特殊的处理机,它指令单一,没有内存。

通道的类型:

数组选择通道:

  • 连接磁盘等高速外设。
  • 以块为传送单位。
  • 通道随与多个外设相连,但通常被一个设备专用,用完释放后才让给其他设备。

数组多路通道:

  • 连接高速外设。如磁盘。
  • 综合字节多路通道的”并行“和选择通道的”高速“的优点。通道利用一台设备”读写定位“的时间,再与另一外设交换信息。

字节多路通道:

  • 连接中、低速外设。如打印机、终端等。
  • 以字节为传送单位。
  • 传送时,通道与多个外设交叉传递,当一个外设交换一个字节后,立即腾出,将通道让给另一个设备使用。

通道的连接方式:
在这里插入图片描述

3 I/O控制方式

I/O数据控制方式的发展经历了四个阶段:

  • 程序直接控制方式
  • 中断驱动方式
  • DMA控制方式
  • 通道方式

在I/O控制的整个发展过程中,始终贯穿着一条宗旨,尽量减少主机对I/O控制的干预,把主机从繁杂的I/O控制事物中解脱出来,以更多地去完成数据处理任务。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

通道方式:
DMA方式比中断方式、程序I/O方式以显著地减少了CPU的干预,即从字节为单位的干预减少到以数据块为单位的干预。
I/O通道方式是DMA方式的发展,把以数据块为单位的干预,减少到对一组数据块为单位的干预。
在DMA方式中,每发出一个I/O指令,能读(写)一个连续的数据块,当需要一次去读多个离散的数据块且将它们分别传送到不同的内存区域时,则需多条I/O指令和多次中断,而通道只需一次即可完成。
通道有一系列通道指令构成。

在这里插入图片描述

4 I/O系统

在这里插入图片描述
设备的独立性
设备独立性也称设备无关性:指用户程序独立于具体物理设备。即用户只需说明使用哪类设备,如打印机或显示器(逻辑设备名),无需指定某个具体设备(物理设备名)。操作系统统一合理地进行设备分配。
设备独立性的优点–设备分配时的灵活性–易于实现I/O重定向
设备独立性的实现——逻辑设备表–操作系统实现逻辑设备到物理设备的转换。

5 SPOOLing技术

打印机是经常要用的输出设备,属于独享设备。利用SPOOLing技术,可将它改造为一台供多用户共享的设备,从而提高了设备的利用率。具体过程:
1>用户要求打印
2>输出进程SPO在“输出井”为之申请一空闲盘区,并将要求打印的数据送入其中。
3>SPO为用户进程申请“用户请求打印表”,将打印要求填入其中,并将该表挂到请求打印队列上。
4>打印机空闲时,SPO从打印队列上取出一张“请求打印表”将要打印数据从“输出井”送到内存“输出缓冲区”,由打印机进行打印。
5>重复4。
SPOOLing特点:

  • 提高I/O速度
  • 将独占设备改造为共享设备
  • 实现虚拟设备功能

6 中断

中断是指在计算机执行期间,系统内部发生任何非寻常和非预期的急需处理事件,使得CPU暂时中断当前正在执行的程序,而转去执行相应的事件处理程序,待处理完毕后又返回原来被中断处,继续执行或调度新的进程执行的过程。
禁止中断也被称为关中断。PSW的中断允许位的被重新设置被称为开中断。中断请求、关中断和开中断都是由硬件实现的。
中断屏蔽。通过在每一类中断源设置一个中断屏蔽触发器,来屏蔽它们的中断请求。
中断的分类:硬中断(内中断,外中断),软中断。
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/339978.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

河道治理漂浮物识别监测系统 yolov7

河道治理漂浮物识别监测系统通过yolov7网络模型深度视觉分析技术,河道治理漂浮物识别监测算法模型实时检测着河道水面是否存在漂浮物、水浮莲以及生活垃圾等,识别到河道水面存在水藻垃圾等漂浮物,立即抓拍存档预警。You Only Look Once说的是…

LeetCode 1138. 字母板上的路径

【LetMeFly】1138.字母板上的路径 力扣题目链接:https://leetcode.cn/problems/alphabet-board-path/ 我们从一块字母板上的位置 (0, 0) 出发,该坐标对应的字符为 board[0][0]。 在本题里,字母板为board ["abcde", "fghij…

66 使用注意力机制的seq2seq【动手学深度学习v2】

66 使用注意力机制的seq2seq【动手学深度学习v2】 深度学习学习笔记 学习视频:https://www.bilibili.com/video/BV1v44y1C7Tg/?spm_id_from…top_right_bar_window_history.content.click&vd_source75dce036dc8244310435eaf03de4e330 在机器翻译时,…

指针引用字符串问题(详解)

通过指针引用字符串可以更加方便灵活的使用字符串。 字符串的引用方式有两种,下面简单介绍一下这两种方法。 1.用字符数组来存放一个字符串。 1.1 可以通过数组名和下标来引用字符串中的一个字符。 1.2 还可以通过数组名和格式声明符%s输出整个字符串。 具体实…

【项目精选】百货中心供应链管理系统

点击下载源码 近年来,随着计算机技术的发展,以及信息化时代下企业对效率的需求,计算机技术与通信技术已经被越来越多地应用到各行各业中去。百货中心作为物流产业链中重要的一环,为了应对新兴消费方式的冲击,从供货到销…

第五十二章 BFS进阶(二)——双向广搜

第五十二章 BFS进阶(二)——双向广搜一、双向广搜1、优越之处2、实现逻辑3、复杂度分析二、例题1、问题2、分析3、代码一、双向广搜 1、优越之处 双向广搜是指我们从终点和起点同时开始搜索,当二者到达同一个中间状态的时候,即相…

Python __all__变量用法

事实上,当我们向文件导入某个模块时,导入的是该模块中那些名称不以下划线(单下划线“_”或者双下划线“__”)开头的变量、函数和类。因此,如果我们不想模块文件中的某个成员被引入到其它文件中使用,可以在其…

【算法题解】15. 设计最小栈

这是一道 中等难度 的题。 题目来自:leetcode 题目 设计一个支持 push ,pop ,top 操作,并能在 常数时间 内检索到最小元素的栈。 实现 MinStack 类: MinStack() 初始化堆栈对象。void push(int val) 将元素val推入堆栈。void p…

C语言-重点知识总结-建议收藏(完结)

一图带你梳理C语言重点知识。图片解析:这张图从C语言初阶开始,一直讲解到C语言进阶的知识。在C语言初阶:从初识C语言开始学习:初识C语言带你进入C语言的大门,了解C语言的魅力。然后为你讲解C语言的基本语法&#xff1a…

软件测试只会“点点点”,凭什么让开发看的起你?

众所周知,如今无论是大厂还是中小厂,自动化测试基本是标配了,毕竟像双 11、618 这种活动中庞大繁杂的系统,以及多端发布、多版本、机型发布等需求,但只会“写一些自动化脚本”很难胜任。这一点在招聘要求中就能看出来。…

开源代码的寿命为何只有1年?

说实话,如果古希腊的西西弗斯是一个在2016年编写开源代码的开发者,那他会有宾至如归的感觉。著名的西西弗斯处罚,是神话流传下来的,他被迫推一块巨大的石头上山,当登顶之后,只能眼睁睁看着它滚下去&#xf…

国内唯一一部在CentOS下正确编译安装和使用RediSearch的教程

开篇 Redis6开始增加了诸多激动人心的模块,特别是:RedisJSON和RediSearch。这两个模块已经完全成熟了。它们可以直接使用我们的生产上的Redis服务器来做全文搜索(二级搜索)以取得更廉价的硬件成本、同时在效率上竟然超过了Elastic…

基于人工大猩猩部队优化CNN-LSTM(GTO-CNN-LSTM)多变量时间序列预测(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

移动测试相关

一、环境搭建 准备工作: (python、pycharm安装配置好) 1、Java SDK 安装配置 Java Downloads | Oracle 下载安装后配置系统环境变量:JAVA_HOME(jdk根目录路径)和path(jdk根目录下的bin目录路径…

opencv的环境搭建

大家好,我是csdn的博主:lqj_本人 这是我的个人博客主页: lqj_本人的博客_CSDN博客-微信小程序,前端,python领域博主lqj_本人擅长微信小程序,前端,python,等方面的知识https://blog.csdn.net/lbcyllqj?spm1011.2415.3001.5343哔哩哔哩欢迎关注…

CV——day75 读论文:基于差分特征融合CNN的轨道交通目标检测

Differential feature fusion convolutional neural network基于差分特征融合CNN的轨道交通目标检测I. INTRODUCTIONII. RELATED WORKSIII. NETWORK ARCHITECTUREA. Prior Detection ModuleB. Object-Detection ModuleV. CONCLUSION基于差分特征融合CNN的轨道交通目标检测 基于…

数据仓库层Repository(CrudRepository、PagingAndSortingRepository、JpaRepository)

什么是数据仓库层Repository? 数据仓库接口的作用:Repository原意指的是仓库,即数据仓库的意思。Repository居于业务层和数据层之间,将两者隔离开来,在它的内部封装了数据查询和存储的逻辑。 Repository接口&#xff…

从运维角度看微服务 k8s部署微服务【偏理论】【AL】

从运维角度看微服务 & 部署微服务【偏理论】 1、微服务的特点 服务组件化: 每个服务独立开发、部署,有效避免一个服务的修改引起整个系统重新部署。 技术栈灵活: 约定通信方式,使得服务本身功能实现对技术要求不再那么敏感。…

MybatisX:简单却不失强大

插件介绍MyBatisX是一款基于MyBatis、开源的持久层框架,它提供了对数据库的操作方法。MyBatisX则是MyBatis的升级版本,提供了更丰富的功能。MyBatisX提供了一个强大的SQL映射系统,允许开发人员在数据库和Java对象之间建立映射。MyBatisX的特点…

spring的注入(set注入、构造器注入)

目录 一、介绍 1.set注入和构造器注入是什么? 2.通俗的理解 3.set注入和构造器注入的核心原理 4.set注入和构造器注入的类型 5.set注入的外部bean和内部bean 二、set注入和构造器注入例子步骤(引用数据类型) (一&#xf…