操作系统(Operating System)知识点复习——第十一章 I/O管理与磁盘调度

目录

0.前言

1.I/O设备

2.I/O功能的组织

3.Operating System Design Issues

4.I/O缓冲

4.1 单缓冲Single Buffer

4.2 双缓冲Double Buffer

4.3 循环缓冲

5.磁盘调度Disk Scheduling

5.1 磁盘性能参数

5.2 磁盘调度策略

①First-in,first-out(FIFO)

②Priority优先级

③Last-in,first-out(LIFO)

④Shortest Service Time First(SSTF)

⑤SCAN电梯算法

⑥circular SCAN(c-SCAN)

⑦N-step-SCAN

⑧FSCAN

6.Redundant Array of Independent Disks(RAID)独立冗余磁盘阵列

6.1 RAID 0(non-redundant)

6.2 RAID 1(mirrored)

6.3 RAID 3(bit-interleaved parity)

6.4 RAID 4 (block-level parity)

6.5 RAID 5 (block-level distributed parity)


0.前言

本系列文章旨在记录操作系统的知识点,可用于期末复习,笔者理解尚浅,文中不正之处静待批正。加粗高亮部分为重点。

1.I/O设备

分类:

  • 人可读Human readable(用户之间通信):字符流(Printers、Display、Keyboard、Mouse)
  • 机器可读Machine readable(与电子设备通信):字符流和块数据(Disk and tape drives、Sensors、Controllers)
  • 通信Communication(与远端设备通信):报文message(Digital line drivers、Modems、Network device)

差异:

  • Data rate 传输速率
  • Application
  • Complexity of control
  • Unit of transfer
  • Data representation
  • Error conditions

2.I/O功能的组织

  • synchronous同步通信
    • Wait:发出读写请求,然后阻塞,等待服务完成中断后,继续执行
    • Not Wait:直接读或者写
  • asynchronous communication异步通信
    • 利用缓冲区
    • 发出读写请求,及设置缓冲区地址
    • 进程返回继续执行不阻塞
    • 等待服务完成中断通知CPU

I/O功能的发展:

  1. 处理器直接控制I/O设备
  2. 增加了控制器I/O模块
  3. 中断驱动的控制器或I/O模块
  4. 直接存储器访问Direct Memory Access(DMA):传送单位为块block不需要经过CPU
  5. I/O被增强为单独的处理器
  6. I/O处理器

3.Operating System Design Issues

两个重要目标:

  • Efficiency效率:操作系统应支持多道程序(并发),需要更多就绪队列
  • Generality通用性:希望在统一模式下处理所有I/O设备

4.I/O缓冲

  • Block-oriented面向块:信息存储在固定大小的块(block)中,每次传一个块(disk、tape)
  • Stream-oriented面向流:以字节流(byte)形式传输信息(terminals、printers、communication ports、mouse)

4.1 单缓冲Single Buffer
  • 面向块的单缓冲:操作系统在系统空间中为 I/O 请求分配一个缓冲区
    • 优点:缓冲期间允许把进程换出(交换可发生);用户进程可在读入下一个数据块时处理一个数据块
    • 缺点:OS要追踪进程对应缓冲区;同一磁盘中的交换会受影响
  • 面向流的单缓冲
    • Line-at-a-time fashion行缓冲一行一行传输,行末有回车
    • Byte-at-a-time fashion字节缓冲:传输遵循生产者模型

  • 没有缓冲的处理时间:T+C
  • 单缓冲的处理时间:max(T,C)+M

4.2 双缓冲Double Buffer

处理时间:max(T, C),如果C<T,则效果更明显

4.3 循环缓冲

5.磁盘调度Disk Scheduling

5.1 磁盘性能参数

  • Seek time寻道时间T_{s}:磁头从该磁道移动到目标磁道所需时间
    • 假设启动磁头需要s,每移动一个磁道耗时m,总共需要移动n条磁道,则T_{s}=s+m*n
  • Rotational delay旋转延迟转到目标扇区所需时间(设转盘转速为r,平均1/2圈,则旋转延迟为1/2r)
  • Transfer time传输时间:从磁盘读出或向磁盘写入数据所经历的时间,设转速r,写入/读出字节数b,每个磁道上字节数为N,则传输时间=b/rN
  • Access time存取时间T_{a}

5.2 磁盘调度策略

关键:减少寻道时间

①First-in,first-out(FIFO)

②Priority优先级

短批处理作业可能有更高的处理级

③Last-in,first-out(LIFO)

事物处理型(transaction processing)友好,可能有饥饿产生

④Shortest Service Time First(SSTF)

按照寻道时间从低到高执行,可能有饥饿

⑤SCAN电梯算法

朝一个方向单增/单减至头(到达请求的端点就可返回),然后再朝反方向行进

⑥circular SCAN(c-SCAN)

仅单增,到达头后回到底部再单增

⑦N-step-SCAN

将请求队列分为几个大小为N的子序列,子序列使用SCAN一次处理一个,当所有均被处理完后,新请求被加到其他队列

⑧FSCAN

两个队列,其中一个队列接收新请求

6.Redundant Array of Independent Disks(RAID)独立冗余磁盘阵列

数据分布在阵列的物理驱动器上

6.1 RAID 0(non-redundant)

  • RAID 0无冗余,冗余磁盘容量用于存储奇偶校验
  • 条带分布数据->可并行访问、高响应率
  • 无纠错->不稳定

6.2 RAID 1(mirrored)

  • 条带分布数据->可并行访问、高响应率
  • 镜像纠错
  • 写速度降低,读相应较好(可以并行任意读取一个)

6.3 RAID 3(bit-interleaved parity)

  • 条带分布数据
  • 位奇偶校验可纠错,一次只能一个I/O请求

6.4 RAID 4 (block-level parity)

  • 条带分布数据
  • 块奇偶校验位纠错->每次写需要操作2次读和2次写X4成为性能瓶颈

6.5 RAID 5 (block-level distributed parity)

  • 条带分布数据
  • 分散块奇偶校验位纠错->解决X4性能瓶颈

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

鸿蒙ArkUI实战开发-如何通过上下滑动实现亮度和音量调节

场景说明 在音视频应用中通常可以通过上下滑动来调节屏幕亮度和音量大小&#xff0c;本例即为大家介绍如何实现上述UI效果。 说明&#xff1a; 由于当前亮度和音量调节功能仅对系统应用开发&#xff0c;所以本例仅讲解UI效果的实现。 效果呈现 本例效果如下&#xff1a; 当在…

决策树分析及其在项目管理中的应用

决策树分析是一种分类学习方法&#xff0c;其主要用于解决分类和回归问题。在决策树中&#xff0c;每个内部节点表示一个属性上的测试&#xff0c;每个分支代表一个属性输出&#xff0c;而每个叶节点则代表类或类分布。通过从根节点到内部节点的路径&#xff0c;可以构建一系列…

Haystack

文章目录 关于 Haystack提供 NLP项目所有阶段的功能 Building blocks组件 Components管道 Pipelines代理 Agents 基本使用 - RAG 关于 Haystack 官网&#xff1a;https://haystack.deepset.ai官方文档&#xff1a;https://docs.haystack.deepset.ai/docs/intro教程&#xff1a…

IP地址定位是怎么实现的?

IP地址定位技术的实现是一个涉及多方面技术和方法的复杂过程。IP地址作为互联网通信中的关键元素&#xff0c;每个设备在网络中都被分配一个唯一的IP地址&#xff0c;用于标识和定位网络上的设备。通过一系列技术手段&#xff0c;我们可以对这些IP地址进行分析&#xff0c;进而…

MATLAB 向量

MATLAB 向量 向量是一维数字数组。MATLAB允许创建两种类型的向量 行向量 列向量 行向量 行向量通过将元素集括在方括号中并使用空格或逗号定界元素来创建。 示例 r [7 8 9 10 11] MATLAB将执行上述语句并返回以下结果- r 7 8 9 10 11 列向量 列向量 通过将元素集括在方…

大型网站系统架构演化实例_6.使用分布式文件系统和分布式数据库系统

1.使用分布式文件系统和分布式数据库系统 任何强大的单一服务器都满足不了大型网站持续增长的业务需求。数据库经过读写分离后&#xff0c;从一台服务器拆分成两台服务器&#xff0c;但是随着网站业务的发展依然不能满足需求&#xff0c;这时需要使用分布式数据库。文件系统也一…

【高校科研前沿】东北地理所在遥感领域顶刊RSE发布中国主要红树植物群落遥感分类成果

目录 01 文章简介 02 研究内容 03 文章引用 01 文章简介 论文名称&#xff1a;Mangrove species mapping in coastal China using synthesized Sentinel-2 high-separability images&#xff08;基于Sentinel-2高分离度图像的中国沿海红树群落制图&#xff09; 第一作者及…

python爬虫学习------scrapy第二部分(第三十天)

&#x1f388;&#x1f388;作者主页&#xff1a; 喔的嘛呀&#x1f388;&#x1f388; &#x1f388;&#x1f388;所属专栏&#xff1a;python爬虫学习&#x1f388;&#x1f388; ✨✨谢谢大家捧场&#xff0c;祝屏幕前的小伙伴们每天都有好运相伴左右&#xff0c;一定要天天…

(51单片机)第十三章-STC系列51单片机功能介绍

13.1 单片机空闲与掉电模式的应用 1. 空闲模式 当单片机进入空闲模式时&#xff0c;除CPU处于休眠状态外&#xff0c;其余硬件全部处于活动状态&#xff0c;芯片中程序未涉及的数据存储器和特殊功能寄存器中的数据在空闲模式期间都将保持原值。假若定时器正在运行&#xff0c;…

第一篇:Python简介:开启你的编程之旅

Python简介&#xff1a;开启你的编程之旅 在这个系列文章中&#xff0c;我将带领大家深入了解Python——一个极具魅力的编程语言。如果你对编程感兴趣&#xff0c;想要掌握一门既实用又强大的语言&#xff0c;那么Python无疑是一个绝佳的选择。本篇文章是这个系列的序章&#…

大数据基础

基本简介 大数据特点 数据量大 种类多样 结构化&#xff1a;多指关系型数据库中&#xff0c;信用卡号码、日期、财务金额、电话号码、地址 半结构化&#xff1a;xml/json 非结构化&#xff1a;全文文本、图象、声音、影视、超媒体等信息。 应用价值高 大数据的作用 追溯…

protobuf协议逆向解析

protobuf协议逆向解析 地址: aHR0cHM6Ly93d3cudGlrdG9rLmNvbS9tZXNzYWdlcz9sYW5nPWVu找到接口/v2/message/get_by_user_init 如图所示, 参数和响应并不是可直接使用的, 虽然部分内容可读。 跟栈到这里&#xff0c; 找到封包前的数据 打上断点&#xff0c; 查看变量t就是请…

数字安全实操AG网址漏洞扫描原理与技术手段分析

在数字化世界的大舞台上&#xff0c;网络安全如同守护者一般&#xff0c;默默保卫着我们的虚拟疆界。当我们在享受互联网带来的便利时&#xff0c;一场无形的战争正在上演。黑客们利用各种手段试图攻破网站的安全防线&#xff0c;而防守方则依靠先进的技术和策略来抵御入侵。其…

武汉星起航:创新孵化模式,一站式服务助力卖家全球化拓展

在全球化浪潮席卷而来的今天&#xff0c;跨境电商行业已成为推动国际贸易的重要力量。武汉星起航电子商务有限公司&#xff0c;作为这一领域的佼佼者&#xff0c;以其前瞻性的战略眼光和创新的经营模式&#xff0c;积极践行“走出去”战略&#xff0c;凭借自营店铺运营经验和跨…

Golang | Leetcode Golang题解之第50题Pow(x,n)

题目&#xff1a; 题解&#xff1a; func myPow(x float64, n int) float64 {if n > 0 {return quickMul(x, n)}return 1.0 / quickMul(x, -n) }func quickMul(x float64, n int) float64 {if n 0 {return 1}y : quickMul(x, n/2)if n%2 0 {return y * y}return y * y * …

云赛道---深度学习

• 分析问题定位任务:首先定位问题&#xff0c;将实际问题转化为机器学习问题&#xff0c;需要什么样的 数据&#xff0c;然后进行数据的采集。包含数据探查、场景抽象、算法选择。比如逻辑回归可 以决定我们是不是能喝咖啡&#xff1b;那另外朴素贝叶斯算法可以用来区分垃圾…

Linux|Awk 变量、数字表达式和赋值运算符

引言 本部分[1]将深入学习 Awk 的高级应用&#xff0c;以应对更为复杂的文本或字符串过滤任务。将介绍包括变量、数值表达式和赋值运算符在内的 Awk 功能。 这些概念与你之前可能在诸如shell、C、Python等许多编程语言中接触过的概念并没有本质上的不同&#xff0c;所以你不必过…

SaaS云HIS平台源码 采用云部署模式,部署一套可支持多家医院共同使用

目录 云HIS门诊业务使用流程 云HIS住院业务使用流程 云HIS系统使用流程 云HIS优势 云HIS系统功能模块 医疗业务&#xff1a; 电子病历&#xff1a; 经济管理&#xff1a; 药物管理&#xff1a; 统计报表&#xff1a; 系统管理&#xff1a; 运营运维&#xff1a; 通…

NLP step by step -- 了解Transformer

Transformer模型 Transformer相关历史 首先我们先看一下有关Transformer模型的发展历史&#xff0c;下面的图是基于Transformer架构的一些关键模型节点&#xff1a; 图片来源于Hugging Face 图片来源于Hugging Face Transformer 架构 于 2017 年 6 月推出。原本研究的重点是…

deepin 亮相 Intel 合作伙伴交流会,展示AI大模型应用最新成果

内容来源&#xff1a;deepin 社区 2024 年 4 月 18 日&#xff0c;备受业界瞩目的 Intel Channel Partner Networking Fair 在香港天际万豪酒店隆重举办。 在这场行业盛会上&#xff0c;deepin&#xff08;深度&#xff09;受邀参与了 Intel Demo Showcase 环节&#xff0c;向…