当前位置: 首页 > news >正文

review设备管理

目录

1、设备管理基础知识

         (1)、外部设备分类

(2)、注意事项

2、I/O硬件原理

(1)、不同方式对I/O设备分类

(2)、I/O控制方式

(3)、设备控制器

3、I/O软件原理

(1)、I/O软件设计目标和原则

(2)、设备驱动程序的

(3)、用户空间的I/O软件

4、缓冲技术

5、虚拟设备

         (1)、SPOOLing为什么又叫假脱机技术?

(2)、什么是虚拟设备?实现虚拟设备的主要条件是什么?


1、设备管理基础知识

(1)、外部设备分类

  • 存储型设备:磁带机、磁盘机等,以存储大量信息为主和快速检索为目标,在系统中存储持久性信息,它是作为内存的扩充,因此叫外存
  • I/O设备:显示器、打印机、通信设备等,他们把外界信息输入到计算机中,把计算结果从计算机输出,完成计算机之间的交互或者人机交互

(2)、注意事项

  • 设备管理系统是计算机中最为复杂的一部分,通常使用I/O中断、缓冲区管理等多种技术,这些措施能够很好地克服由于I/O设备和CPU速度不匹配的问题,使主机和设备能够并行工作,提高设备使用效率
  • 另一方面,操作系统将所有设备抽象为文件,将其统一在文件系统之下,赋予文件属性,对设备的操作就类似于对文件的操作,其优点是:尽可能统一文件和设备的I/O处理;尽可能把设备文件和普通文件纳入同一保护机制下

2、I/O硬件原理

(1)、不同方式对I/O设备分类

  • 按照I/O操作特性可以分为:输入型设备、输出设备、存储型设备
  • 按照I/O信息交换为单位分为:字符设备、块设备
  • 其中输入型和输出型设备通常是字符设备,它与内存进行交换的单位是字节,即一次交换1个或者多个字节,存储型设备通常是块设备
  • 存储型设备又可以分为顺序存储设备和直接存储设备

(2)、I/O控制方式

CPU 和并行工作具有重大意义,能大幅度提高计算机系统的效率和资源利用率。从早期的采用轮询方式,CPU 全程参加I/O操作,到使用中断方式,以减少CPU 参与I/O操作的工作量,直到引入DMA和通道方式,可以完全在没有CPU 的情况下实现I/O操作,消除系统性能瓶颈

  • 轮询查找:又称程序直接控制方式,使用查询指令测试设备控制器的忙闲状态位,确定内存和设备是否能交换数据
  1. 轮询方式使用三条指令:查询指令,查询设备是否就绪;读写指令,当设备就绪时执行数据交换;转移指令:当设备未就绪时执行转移指令转向查询指令继续查询
  2. 一方面CPU 轮询设备的当前状态会终止原程序的执行,浪费宝贵的时间;另一方面,I/O准备就绪后,需要CPU参与当前的数据传输工作。所以可见CPU和设备只能串行工作,而不能并行执行,不能充分发挥主机功效,设备也不能得到合理的利用,整个系统的效率很低
  • 中断方式:设备与CPU之间必须要有中断请求线,设备控制器的状态存储器中有相应的中断允许位
  1. 程序中断方式I/O由于不必忙式轮询设备,所以 CPU 和设备可以实现部分并行操作,所以与程序查询方式相比使得整个 CPU 的资源得到更加充分的利用
  2. 在I/O中断的方式中数据缓冲区很小,当缓冲区装满数据之后便会发生中断,那么在数据传输过程中发生中断的次数就会过多,这样就会大量耗费 CPU  的时间。若是系统配置多种设备,这些设备都是通过中断处理方式实现并行工作,会使得中断次数急剧增加,造成 CPU 来不及响应或者丢失数据
  • DMA方式
  1. DMA不仅设有中断机制而且还有DMA传输控制器,若是出现DMA和CPU同时经总线访问内存的情况,cpu总是把总线占有权让给DMA,称为“周期窃用”。窃取时间通常是一个存取周期,让设备和内存之间实现数据交换,而不再需要CPU 的干预,这样可以减轻CPU 的负担。每次传输数据的数据的时候,不必进入到中断系统,进一步提高了 cpu 资源利用率
  2. 但是DMA传输需要窃取时钟周期,会降低 CPU 的处理效率,DMA的功能不强,不能满足I/O 操作的复杂功能,所以在大型计算机中一般使用通道技术
  • 通道方式
  1. 通道方式是DMA方式的发展,能够再次减少cpu对I/O操作的干预。它能够充分发挥CPU 和设备之间并行工作的能力,也可以使种类繁多且物理特性各异的设备能够以标准的接口连接到计算机系统中
  2. 通过通道来管理和控制I/O操作,把CPU 从I/O 操作中彻底解放出来,实现设备和CPU 并行操作,通道之间并行操作,设备之间并行操作,设备之间并行操作,使整个系统效率高效

(3)、设备控制器

  • 接受或者识别 CPU 或通道发来的消息。例如,磁盘控制器能接受读、写、查找等各种命令
  • 实现数据交换。包括设备和控制器之间的数据传输,且通过数据总线或通道,控制器和内存之间数据传输
  • 发现或和记录设备及自身的状态信息,供CPU 处理使用
  • 设备地址识别

3、I/O软件原理

(1)、I/O软件设计目标和原则

  • I/O软件设计的总体目标是高效性和通用性

(2)、设备驱动程序的

  • 设备驱动程序主要包含三部分功能
  • 设备驱动程序的功能是从独立于设备的软件中接受并且执行I/O请求
  1. 设备初始化。在系统初次启动的时候或者进行数据传输时,预置设备和控制器以及通道的状态
  2. 执行设备驱动例程。负责启动设备,进行数据传输,对于具有通道的I/O设系统,此例程还负责生成通道命令和通道程序,启动通道工作
  3. 调用和执行中断处理程序。负责处理设备和控制器以及通道所发出的各种中断

(3)、用户空间的I/O软件

  • SPOOLing软件
  1. SPOOLing就是在内核外运行的系统I/O软件,它采用预输入、预输出、和井管理技术,是多道程序设计系统中处理独占资型设备的一种方法,创建守护进程和特殊目录解决独占型设备额空占问题

4、缓冲技术

  • 目的:为了解决 cpu 与设备之间速度不匹配的矛盾以及协调逻辑记录大小和物理记录大小不一致的问题,提高 CPU 和设备的并行性,减少I/O操作对 CPU 的中断次数,放宽对 CPU 响应时间的要求,操作系统普遍采用缓冲技术
  • 实现缓冲区技术的基本思想是:当进程执行写操作输出数据时,先向系统申请一个输出缓冲区,然后将数据送至缓冲区,若是顺序写请求,则不断地将数据填入缓冲区,直到装满为止,此后进程可以继续计算,同时系统将缓冲区中内容写到设备上。当进程执行读操作输入数据时,先向系统申请一个缓冲区,系统将设备上的一条物理记录读至缓冲区,根据要求把当前所需要的逻辑记录从缓冲区中选出并传送给进程
  • 常用的缓冲技术:单缓冲、双缓冲和多缓冲

5、虚拟设备

(1)、SPOOLing为什么又叫假脱机技术?

        Spooling是一种将计算机输出数据暂存到磁盘或其他存储设备中的技术,以便后续处理。它被称为假脱机技术,是因为它可以让计算机在处理输出数据时,看起来像是脱机状态,但实际上数据已经被暂存到了存储设备中,可以随时被访问和处理。这种技术可以提高计算机的效率和可靠性,减少了对打印机等外部设备的依赖。

(2)、什么是虚拟设备?实现虚拟设备的主要条件是什么?

        虚拟设备是指通过软件模拟出来的一种设备,它可以在不依赖于实际硬件的情况下提供相应的功能。实现虚拟设备的主要条件是需要有一定的软件开发技术和对硬件的深入理解,同时需要有足够的计算资源和操作系统支持。

相关文章:

review设备管理

目录 1、设备管理基础知识 (1)、外部设备分类 (2)、注意事项 2、I/O硬件原理 (1)、不同方式对I/O设备分类 (2)、I/O控制方式 (3)、设备控制器 3、I/O软…...

Cadence Allegro 导出Bill of Material Report (Condensed)详解

⏪《上一篇》   🏡《总目录》   ⏩《下一篇》 目录 1,概述2,Bill of Material Report (Condensed)作用3,Bill of Material Report (Condensed)示例4,Bill of Material Report (Condensed)导出方法4.1,方法14.2,方法2,...

B. Sherlock and his girlfriend

Sherlock has a new girlfriend (so unlike him!). Valentines day is coming and he wants to gift her some jewelry. He bought n pieces of jewelry. The i-th piece has price equal to i  1, that is, the prices of the jewelry are 2, 3, 4, ... n  1. Watson…...

Spring SpEL表达式

Java知识点总结:想看的可以从这里进入 目录17、Spring SpEL17.1、简介17.2、配合value使用17.2.1、基本字面值17.2.2、类相关表达式17.2.3、properties17.2.4、T运算符17.2.5、new17.2.6、Elvis运算符17.2.7、运算符17.2、配合XML使用17、Spring SpEL 17.1、简介 S…...

Nginx反向代理原理详解与配置

Nginx反向代理是一种常用的反向代理技术,它允许您将一个或多个Web服务器上的内容公开给Internet上的客户端,而不必暴露您的服务器的IP地址。Nginx反向代理的原理是:客户端发出一个HTTP请求,Nginx服务器收到请求后,将请…...

Happen-Before从入门到踹门

什么是Happen-Before有人翻译为"先行发生原则",其实也没错,但是更准确的说法应该是,前一个操作的值,后一个总能察觉到。Happen-Before的八条规则程序有序性:在前面的代码优先于在后面的代码执行volatile的变…...

电力系统系统潮流分析【IEEE 57 节点】(Matlab代码实现)

👨‍🎓个人主页:研学社的博客💥💥💞💞欢迎来到本博客❤️❤️💥💥🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密…...

Java——N皇后问题

题目链接 leetcode在线oj题——N皇后 题目描述 按照国际象棋的规则,皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。 n 皇后问题 研究的是如何将 n 个皇后放置在 nn 的棋盘上,并且使皇后彼此之间不能相互攻击。 给你一个整数 n &#xff…...

Mybatis一级缓存与二级缓存

一、MyBatis 缓存缓存就是内存中的数据,常常来自对数据库查询结果的保存。使用缓存,我们可以避免频繁与数据库进行交互,从而提高响应速度。MyBatis 也提供了对缓存的支持,分为一级缓存和二级缓存,来看下下面这张图&…...

LQB,手打,PCF8591,ADDA转换,AD1是光敏电阻,AD3是电位器,DA输出

在上述at24c02de 基础上,添加三个函数 一个是读取通道1光敏电阻的数据; 一个是读取通道3的电压; 一个是输出DA的数据。。 5V的AD DA。 如果读入的电压是5V,输入AD,就是255; 如果是0V,就是00000…...

【计组笔记06】计算机组成与原理之控制器和总线结构

这篇文章,主要介绍计算机组成与原理之控制器和总线结构。 目录 一、控制器功能 1.1、控制器组成 1.2、控制单元的输入和输出...

elisp简单实例: auto-save

elisp 能找一个简单又实用的代码很不容易,以下代码不是我的原创,只是结合自己的理解,添加修正了一些注释,荣誉归原作者,感谢原作者的开源精神! 调用说明: 把后面代码存为auto-save.el 在init.el 中写上 (require auto-save) 就可以了. 下面是auto-save.el 内容了. ;; 我…...

写字楼/园区/购物中心空置率太高?快用快鲸智慧楼宇系统

客户租不租你的写字楼,事关区位、交通、环境、价格、面积、装修等诸多因素,但很多招商部对这些影响客户决策的数据并不重视,在客户初次上门看房时仅简单记录姓名、联系方式、需求面积,对其他核心数据熟视无睹,也为日后…...

【JavaSE】数组的定义和使用(上)

数组的定义和使用(上)6-数组的定义与使用1. 数组的基本概念1.1 为什么要使用数组1.2 什么是数组1.3 数组的创建及初始化1.3.1 数组的创建1.3.2 数组的初始化1.4 数组的使用1.4.1 数组中元素的访问1.4.2 遍历数组2. 数组是引用类型2.1 初始JVM的内存分布2…...

计算机的学习路线

本文是介绍如何成为一个Geek,一个真正的计算机高手。 适合有成为IT领域技术大牛的人参考。 写给大一新生和所有向深耕IT领域的人,避免走一些弯路。 第一门入门的必备功课-语法与算法 什么是计算机? 用来做运算的机器 电子计算机在运算方面…...

TD算法超详细解释,一篇文章看透彻!

【已解决】TD算法超详细解释和实现(Sarsa,n-step Sarsa,Q-learning)一篇文章看透彻! 郑重声明:本系列内容来源 赵世钰(Shiyu Zhao)教授的强化学习数学原理系列,本推文出于非商业目的分享个人学习…...

4.1 路由器(华硕 官改/梅林 华为 小米 路由) 使用花生壳 实现远程管理

最近添置了一台华硕的八爪鱼GT AC5300,到手后刷了官改,而里面软件中就提供了花生壳程序,想到花生壳为每个用户提供了两条免费映射(带宽为1mbs,流量为1g/月),所以就打算利用来做一个远程访问。具…...

内容算法解读:提高内容摘要与原文的一致性(Faithfulness)

全文摘要:受益于预训练语言模型的发展,应用神经网络模型提取内容摘要的技术也获得了长足进步。但目前还存在一个未被很好解决的问题:神经网络模型提取的摘要不能如实反映原文档的中心思想,没有做到忠实(not faithful&a…...

python用openpyxl包操作xlsx文件,统计表中合作电影数目最多的两个演员

题目🎉🎉🎉:编程完成下面任务:已知excel文件“电影导演演员信息表.xlsx”如下图所示:🍳🍳🍳要求:使用 openpyxl 包操作打开此文件,编写程序统计在…...

Lesson12---人工神经网络(1)

12.1 神经元与感知机 12.1.1 感知机 感知机: 1957, Fank Rosenblatt 由两层神经元组成,可以简化为右边这种,输入通常不参与计算,不计入神经网络的层数,因此感知机是一个单层神经网络 感知机 训练法则&am…...

day52 ResNet18 CBAM

在深度学习的旅程中,我们不断探索如何提升模型的性能。今天,我将分享我在 ResNet18 模型中插入 CBAM(Convolutional Block Attention Module)模块,并采用分阶段微调策略的实践过程。通过这个过程,我不仅提升…...

【AI学习】三、AI算法中的向量

在人工智能(AI)算法中,向量(Vector)是一种将现实世界中的数据(如图像、文本、音频等)转化为计算机可处理的数值型特征表示的工具。它是连接人类认知(如语义、视觉特征)与…...

VTK如何让部分单位不可见

最近遇到一个需求&#xff0c;需要让一个vtkDataSet中的部分单元不可见&#xff0c;查阅了一些资料大概有以下几种方式 1.通过颜色映射表来进行&#xff0c;是最正规的做法 vtkNew<vtkLookupTable> lut; //值为0不显示&#xff0c;主要是最后一个参数&#xff0c;透明度…...

html css js网页制作成品——HTML+CSS榴莲商城网页设计(4页)附源码

目录 一、&#x1f468;‍&#x1f393;网站题目 二、✍️网站描述 三、&#x1f4da;网站介绍 四、&#x1f310;网站效果 五、&#x1fa93; 代码实现 &#x1f9f1;HTML 六、&#x1f947; 如何让学习不再盲目 七、&#x1f381;更多干货 一、&#x1f468;‍&#x1f…...

七、数据库的完整性

七、数据库的完整性 主要内容 7.1 数据库的完整性概述 7.2 实体完整性 7.3 参照完整性 7.4 用户定义的完整性 7.5 触发器 7.6 SQL Server中数据库完整性的实现 7.7 小结 7.1 数据库的完整性概述 数据库完整性的含义 正确性 指数据的合法性 有效性 指数据是否属于所定…...

4. TypeScript 类型推断与类型组合

一、类型推断 (一) 什么是类型推断 TypeScript 的类型推断会根据变量、函数返回值、对象和数组的赋值和使用方式&#xff0c;自动确定它们的类型。 这一特性减少了显式类型注解的需要&#xff0c;在保持类型安全的同时简化了代码。通过分析上下文和初始值&#xff0c;TypeSc…...

springboot 日志类切面,接口成功记录日志,失败不记录

springboot 日志类切面&#xff0c;接口成功记录日志&#xff0c;失败不记录 自定义一个注解方法 import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target;/***…...

Pydantic + Function Calling的结合

1、Pydantic Pydantic 是一个 Python 库&#xff0c;用于数据验证和设置管理&#xff0c;通过 Python 类型注解强制执行数据类型。它广泛用于 API 开发&#xff08;如 FastAPI&#xff09;、配置管理和数据解析&#xff0c;核心功能包括&#xff1a; 数据验证&#xff1a;通过…...

客户案例 | 短视频点播企业海外视频加速与成本优化:MediaPackage+Cloudfront 技术重构实践

01技术背景与业务挑战 某短视频点播企业深耕国内用户市场&#xff0c;但其后台应用系统部署于东南亚印尼 IDC 机房。 随着业务规模扩大&#xff0c;传统架构已较难满足当前企业发展的需求&#xff0c;企业面临着三重挑战&#xff1a; ① 业务&#xff1a;国内用户访问海外服…...

FOPLP vs CoWoS

以下是 FOPLP&#xff08;Fan-out panel-level packaging 扇出型面板级封装&#xff09;与 CoWoS&#xff08;Chip on Wafer on Substrate&#xff09;两种先进封装技术的详细对比分析&#xff0c;涵盖技术原理、性能、成本、应用场景及市场趋势等维度&#xff1a; 一、技术原…...