OS复习笔记ch11-1

外围设备的管理和磁盘调度

外围设备

image.png

从CPU的角度来看,外设有几个比较重要的I/O接口(interfaces)

  • 状态reg:向CPU报告设备的状态(忙碌/空闲)
  • 命令reg:接收CPU命令,存储 CPU 需要执行的指令
  • 数据reg:存储了 CPU 传输给设备,或设备传入到设备控制器的数据

在设备的视角上(internals)来看,自身有微处理器、内存、特定的硬件芯片。
e.g.,磁盘阵列有磁盘自身的处理器来管理。


PPT中的问题:

While (STATUS == BUSY) ; // wait until device is not busy
Write data to DATA register
Write command to COMMAND register(starts the device and executes the command)
While (STATUS == BUSY); // wait until device is done with your request

代码部分是轮询的过程,属于程序查询的外设交互

I/O系统

I/O系统:I/O设备及其接口线路、控制部件、通道和管理软件的总称。
I/O操作:计算机的主存和外围设备的介质之间的信息传送操作

image.png

  • 木桶效应:最慢的决定了系统性能,CPU性能过高,性能越高,差距确实越大
  • I/O控制设备的复杂多样
  • I/O系统和系统功能紧密联系,比如文件系统
  • I/O系统是系统的重要组成部分

设备的分类

根据功能分为三大类:

  • Human readable用户可读:终端、打印机、投影仪等
  • Machine readable机器可读:磁盘、磁带;传感器、控制器等
  • Communications通信:数字线路驱动器、调制解调器(光猫)

其他的分类:
image.png

一般输入输出型的设备,比如键盘和串口都是字符设备,往往都是字符流的形式传输
存储型设备比如磁带、磁盘、光盘等都是块设备,一般可以顺序或者随机访问。

这里需要强调一下字符设备和块设备。

  • 字符设备的驱动程序通常至少实现open,close,read和write系统调用。字符终端、串口、鼠标、键盘、摄像头、声卡和显卡等就是典型的字符设备。该类设备不可寻址,往往由中断驱动,速度较慢。
  • 块设备上能够容纳文件系统,如:u盘,SD卡,磁盘等。该类设备可寻址,随机存取,读写速度快。

设备的差异

image.png

  1. 数据速率:通常意义上像键鼠就是低速设备,激光打印机是中速,而电脑的固态硬盘就是高速设备。
  2. 应用方面:由于不用的I/O设备支持不同的功能,所以相关的应用有很大区别。比如键鼠主要用来支持用户输入,而显示器是输出,磁盘则是存储,各司其职。(ppt中举例是磁盘和OS的存储管理挂钩,终端管理员的优先级应该更高)
  3. 控制复杂性:这一点好理解,比如键盘只需要考虑按键映射和字符传输就行,而磁盘需要有DMA控制器和通道来负责文件的读写和传输。
  4. 传输单位:字符设备一般都是字符流的形式,而存储型设备往往是块设备。
  5. 数据表示:主要是数据编码和传输格式上的区别
  6. 出错条件:不同设备出错的后果,报告方式,以及响应范围都不同

e.g., 不同的设备速度差异比较明显
image.png
这里我们可以看到:最快的是千兆以太网,然后是显示器、硬盘、百兆以太网、光盘、扫描仪、激光打印机、软盘、调制解调器(光猫)、鼠标,而最慢的是键盘。

e.g., 数据表示
image.png
不同设备采用不同的数据编码,如图所示异步串行通信(uart)传输格式,以下是一些常见设备的数据表示方式。

  • 存储设备:例如硬盘和固态硬盘可能使用不同的编码技术来优化存储密度和读写速度,如NRZ(非归零编码)、RLL(跑长限制编码)等。
  • 网络设备:例如调制解调器或网络卡可能使用QAM(正交幅度调制)、PSK(相位偏移键控)等复杂的编码方案来在有限的带宽中传输尽可能多的数据。
  • 显示设备:例如显示器可能使用不同的颜色编码系统(如RGB、YCbCr等)来表示图像数据。

e.g., 出错条件
image.png

  • 错误的报告方式(报告方式)
    • 存储设备(如硬盘、SSD)通常通过设备的自检程序(如SMART技术)来报告错误,这可能包括扇区错误或硬件故障。
    • 网络设备(如路由器、交换机)则可能通过网络管理软件或日志文件来报告丢包、连接超时等网络问题。
    • 人机输入设备(如键盘、鼠标)错误可能直接体现在设备响应上,如按键无响应或指针移动不正常,通常通过操作系统的设备管理器来报告错误状态。
  • 错误的后果(错误的后果)
    • 对于存储设备,错误可能导致数据丢失或文件系统损坏,影响数据的完整性和可用性。
    • 网络设备中,错误通常导致数据传输中断或性能下降,影响网络的稳定性和效率。
    • 对于人机输入设备,错误可能导致用户输入被错误解读或完全无法输入,影响用户的操作体验。

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

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

相关文章

SwiftUI 6.0(iOS/iPadOS 18)中全新的 Tab 以及 Sidebar+悬浮 TabView 样式

概览 看来苹果一直对 iPadOS 中标签栏(TabView)不甚满意。这不,在 WWDC 2024 中苹果又对 TabView 外观做了大幅度的进化。 现在我们可以在顶部悬浮条和左侧的 Sidebar 两种不同布局之间恣意切换 TabView 的外观啦。而且,这在 Swi…

用AI帮助设计师提升工作效率?

在创意设计的世界里,效率往往意味着灵感与时间的完美结合。设计师们时常面临各种挑战,如何在保证作品质量的同时,又能提升工作效率?这不仅是设计师们思考的问题,也是AI技术正在积极解决的问题。那么,用AI帮…

华为仓颉开发语言“可能”明天正式面世(2024年6月20日写下)

众多迹象表明,鸽了几次的华为仓颉开发语言,有望在2024华为开发者大会上正式面世,你的期待热情是否还在? 1、“仓颉编程语言”公众号面世 最近,华为旗下的公众号“编程语言Lab”悄然改名为“仓颉编程语言”&#xff0c…

MySQL中实现行列转换的示例

在 MySQL 中进行行列转换(即,将某些列转换为行或将某些行转换为列)通常涉及使用条件逻辑和聚合函数。虽然 MySQL 没有像 Oracle/SQL Server 中的 PIVOT 和 UNPIVOT 那样的直接功能,但你可以通过结合 CASE 语句、UNION 或 UNION AL…

汽车信息安全硬件讨论:SE vs HSM

目录 1.什么是Secure Element 2.芯片内置HSM和SE 3.未来HSM的发展 现在的智能网联汽车看起来像是一个连接万物的智能移动终端,它不仅可以与OEM云服务器通信接收OTA推送,还可以与手机蓝牙、Wifi交互完成远程汽车解锁、座舱内环境设置等等,借…

echarts dataZoom用按钮代替鼠标滚轮实现同样效果

2024.06.19今天我学习了echarts dataZoom如何用按钮来控制放大缩小的功能, 效果如下: 通过控制按钮来实现图表放大缩小数据的效果。 步骤如下: 一、写缩放按钮,以及图表数据。 二、设置初始位置的变量,我这边是七个…

爬虫学习。。。。

爬虫的概念: 爬虫是一种自动化信息采集程序或脚本,用于从互联网上抓取信息。 它通过模拟浏览器请求站点的行为,获取资源后分析并提取有用数据,这些数据可以是HTML代码、JSON数据或二进制数据(如图片、视频&#xff09…

【类型转换】C++中char、char*、int、string相互转换函数及string转不同进制数函数

参考资料:cplusplus官方资料strtol 函数用法 总结: 1、这些在做编程题处理输入数据时常用,需要牢记。

打造智能家居:用ESP32轻松实现无线控制与环境监测

ESP32是一款集成了Wi-Fi和蓝牙功能的微控制器,广泛应用于物联网项目。它由Espressif Systems公司开发,具有强大的处理能力和丰富的外设接口。下面我们将详细介绍ESP32的基础功能和引脚功能,并通过具体的实例项目展示其应用。 主要功能 双核处…

XSS+CSRF组合拳

目录 简介 如何进行实战 进入后台创建一个新用户进行接口分析 构造注入代码 寻找XSS漏洞并注入 小结 简介 (案例中将使用cms靶场来进行演示) 在实战中CSRF利用条件十分苛刻,因为我们需要让受害者点击我们的恶意请求不是一件容易的事情…

商业银行数据资产管理体系建设的实践与展望

随着数字经济的快速发展,数据已成为商业银行的核心资产。商业银行在数字化转型过程中,面临如何有效管理和利用海量数据资产的挑战。本文基于《商业银行数据资产管理体系建设实践报告》,探讨浦发银行、IBM和中国信息通信研究院在数据资产管理体…

DVWA - Brute Force

DVWA - Brute Force 等级:low ​ 直接上bp弱口令爆破,设置变量,攻击类型最后一个,payload为用户名、密码简单列表 ​ 直接run,长度排序下,不一样的就是正确的用户名和密码 ​ 另解: 看一下…

NSSCTF-Web题目8

目录 [LitCTF 2023]Http pro max plus 1、题目 2、知识点 3、思路 [NSSCTF 2022 Spring Recruit]babyphp 1、题目 2、知识点 3、思路 [LitCTF 2023]Http pro max plus 1、题目 2、知识点 http数据包头部字段 3、思路 打开题目 第一想法就是加上X-forwarded-for字段 …

一分钟搭建新生录取查询系统

小伙伴们,新学期就要开始了,招生老师们,你们准备好迎接新生了吗?我给老师们分享一个超级实用的小技巧——如何用快速搭建一个新生录取查询系统! 准备好录取名单的电子表格,记得包含“姓名”和“手机号”这样…

可视化大屏:选了浅色系,结果悲剧了

某些时候,有些客户不听劝告,感觉深色系大屏过于压抑,就让用浅色系,结果浅色系投到大屏上,直接亮瞎了。 选择浅色系的可视化大屏可能会存在以下几个问题: 视觉疲劳: 浅色系的颜色相对较亮&…

极限编程里最容易被忽略的实践

在前面的一篇文章里面我和大家聊过了极限编程的重要性,今天想和大家聊聊极限编程里面最简单但也往往最容易被忽略的实践——编码规范。 说到编码规范,每一个开发人员都非常熟悉,每一个团队也都有自己的编码规范。但实际的执行情况如何呢&…

深圳信用贷款之路:申请了10次都被拒!这三步帮你逆袭银行贷款!

贷款客户最头疼的就是明明查询了一堆资料,贷款还是办不下来!尤其是那些负债累累的,急需资金还月供和本金的朋友们,不是在贷款就是在贷款的路上,一个月申请了10次都被拒!去了好几家贷款机构,费用…

数据库开发-MySQL

前言 首先来了解一下什么是数据库。 数据库:英文为 DataBase,简称DB,它是存储和管理数据的仓库。 像我们日常访问的电商网站京东,企业内部的管理系统OA、ERP、CRM这类的系统,以及大家每天都会刷的头条、抖音类的app…

文字游侠:一款全新AI写作模型,每天10分钟一键创作爆文!附渠道和玩法教程!

在当今快节奏的社会中,虽然传统的工作可以满足我们基本的物质需求,但许多人内心深处渴望的是更高层次的精神满足。这就像是我们常说的:“工资可以喂饱肚子,副业可以养活灵魂。”这并不是鼓励大家辞去日常工作,而是提倡…

美国铁路客运巨头Amtrak泄漏旅客数据,数据销毁 硬盘销毁 文件销毁

旅客的Guest Rewards常旅客积分账户的个人信息被大量窃取。 美国国家客运铁路公司(Amtrak)近日披露了一起数据泄露事件,旅客的Guest Rewards常旅客积分账户的个人信息被大量窃取。 根据Amtrak向马萨诸塞州提交的泄露通知,5月15日…