操作系统之磁盘

目录

磁盘概念

磁盘管理

磁盘调度算法

FCFS(先来先服务)

SSTF(最短寻找时间优先)

SCAN(扫描)

C-SCAN(循环扫描)

LOOK与C-LOOK


磁盘概念

  • 磁道(柱面):磁盘盘面上的数据存储在一组同心圆上,每个圆称为一个磁道。所有盘片上的同一位置的磁道组成一个柱面。

  • 盘块:一个磁道被划分为多个扇区,每个扇区可以存储固定大小的数据。通常,一个扇区称为一个盘块。

  • 磁盘地址:磁盘上的每个扇区都可以通过一个三元组地址来唯一标识,即柱面号(磁道号)、盘面号(磁头号)和扇区号(块号)。

  • 补充:并不是所有的存储设备都可以按任意次序读写。例如,磁盘通常是按扇区顺序读取的,而光盘通常是从中心向外读取的。

磁盘管理

  • 磁盘初始化

    • 低级格式化/物理分区:在磁盘出厂时进行,将磁盘划分为扇区,并为每个扇区添加头部(包含校验码、指针等信息)、数据区和尾部。
    • 磁盘分区:将磁盘划分为多个逻辑区域,如C盘、D盘等。分区信息记录在磁盘的主引导记录(MBR)中的分区表中。
    • 逻辑格式化:在磁盘分区后,创建文件系统,包括超级块、空闲空间管理、目录结构等。
  • 引导块:位于分区的开始处,包含启动操作系统的程序代码。

  • 坏块:磁盘上无法正常读写的扇区。操作系统通常会维护一个坏块链表,并在格式化时将备用块分配给这些坏块。

磁盘调度算法

  • 读写时间

    • 寻道时间:磁头移动到指定磁道的时间。
    • 延迟时间:磁头定位到扇区的时间,与磁盘转速有关。
    • 传输时间:数据在磁盘和内存之间传输的时间。
  • 减少延迟时间的方法

    • 交替编号:使相邻扇区的物理位置不相邻,以减少连续读写时的延迟。
    • 错位命名:相邻盘面的扇区采用错位编号,以平衡磁头的读写负载。
  • 磁盘调度算法

FCFS(先来先服务)
  • 工作原理:这是最简单的磁盘调度算法。磁盘I/O请求按照它们到达的顺序进行处理。
  • 优点:公平,每个请求都会按照到达的顺序得到服务。
  • 缺点:可能导致磁头移动频繁,尤其是在请求分布不均匀时,这会导致较高的寻道时间,从而降低磁盘的整体性能。
SSTF(最短寻找时间优先)
  • 工作原理:选择距离当前磁头位置最近的请求进行服务。
  • 优点:可以显著减少磁头的移动距离,从而减少寻道时间,提高磁盘I/O效率。
  • 缺点:可能导致某些请求长时间得不到服务(饥饿),尤其是当新请求不断出现且总是比当前请求更近时。
SCAN(扫描)
  • 工作原理:磁头从磁盘的一端开始,向另一端移动,服务沿途的所有请求,直到达到端点。然后磁头反向移动,再次服务沿途的请求。
  • 优点:减少了磁头的移动次数,提供了比FCFS和SSTF更好的性能。
  • 缺点:可能会对位于磁头起始点和端点之间的请求造成不公平,因为这些请求可能需要等待较长时间。
C-SCAN(循环扫描)
  • 工作原理:与SCAN类似,但是磁头在到达端点后直接跳回到起始点,而不是反向移动。
  • 优点:避免了SCAN中反向移动的不必要寻道,使得磁头移动更加高效。
  • 缺点:对于那些在磁头移动方向末端的请求,可能会出现饥饿现象。
LOOK与C-LOOK
  • LOOK:是SCAN的变种,磁头在到达端点前会检查是否有请求。如果没有请求,磁头会立即改变方向,而不是继续移动到端点。
  • C-LOOK:是C-SCAN的变种,同样在到达端点前检查是否有请求。如果没有,磁头会直接跳回到起始点。
  • 优点:减少了不必要的磁头移动,提高了效率。
  • 缺点:与SCAN和C-SCAN类似,可能会对某些请求造成不公平。

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

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

相关文章

el-table 合并单元格

参考文章&#xff1a;vue3.0 el-table 动态合并单元格 - flyComeOn - 博客园 <el-table :data"tableData" border empty-text"暂无数据" :header-cell-style"{ background: #f5f7fa }" class"parent-table" :span-method"obj…

啥!GitHub Copilot也免费使用了

文章目录 前言免费版直接修复代码多文件上下文Agent模式总结 前言 最近&#xff0c;GitHub 给开发者们带来了一个好消息&#xff1a;他们的 AI 编程助手 GitHub Copilot 现在可以免费使用了&#xff01;以前&#xff0c;每个月要花 10 美元才能享受的服务&#xff0c;现在对所…

电池预测 | 第21讲 基于Gamma伽马模型结合EM算法和粒子滤波算法参数估计的锂电池剩余寿命预测

电池预测 | 第21讲 基于Gamma伽马模型结合EM算法和粒子滤波算法参数估计的锂电池剩余寿命预测 目录 电池预测 | 第21讲 基于Gamma伽马模型结合EM算法和粒子滤波算法参数估计的锂电池剩余寿命预测预测效果基本描述程序设计参考资料 预测效果 基本描述 电池预测 | 第21讲 基于Ga…

RabbitMQ高级篇

目录 确保发送者的可靠 为什么需要确保发送者的可靠性 RabbitMQ 的发送者重连机制配置 springAMQP实现发送者确认 MQ的可靠性 为什么需要实现MQ的可靠性&#xff1f; 数据持久化 Lazy Queue 核心思想 总结RabbitMQ 如何保证消息的可靠性 持久化 Lazy Queue 消息…

单细胞组学大模型(8)--- scGenePT,scGPT和GenePT的结合,实验数据和文本数据的交融模型

–https://doi.org/10.1101/2024.10.23.619972 研究团队和单位 Theofanis Karaletsos–Head Of AI - Science at Chan Zuckerberg Initiative &#xff08;Chan Zuckerberg Initiative是扎克伯格和他妻子Chan成立的科研&教育机构&#xff09; 研究简介 研究背景&…

浅尝Appium自动化框架

浅尝Appium自动化框架 Appium自动化框架介绍Appium原理Appium使用安装平台驱动实战 坑 Appium自动化框架介绍 Appium 是一个开源的自动化测试框架&#xff0c;最初设计用于移动应用的测试&#xff0c;但现在它也扩展了对桌面端应用的支持。Appium 使得自动化测试变得更加简单&…

2024年度漏洞态势分析报告,需要访问自取即可!(PDF版本)

2024年度漏洞态势分析报告&#xff0c;需要访问自取即可!(PDF版本),大家有什么好的也可以发一下看看

nvim 打造成可用的IDE(2)

上一个 文章写的太长了&#xff0c; 后来再写东西 就一卡一卡的&#xff0c;所以新开一个。 主要是关于 bufferline的。 之前我的界面是这样的。 这个图标很不舒服有。 后来发现是在这里进行配置。 我也不知道&#xff0c;这个配置 我是从哪 抄过来的。 测试结果&#xff1…

【hadoop学习遇见的小问题】centos常见配置 添加组用户权限 修改主机名等

1、指定静态ip vi /etc/sysconfig/network-scripts/ifcfg-eth0修改BOOTPROTO为static BOOTPROTOstatic IPADDR192.168.80.145 NETMASK255.255.255.0 GATEWAY192.168.80.2IPADDR、NETMASK用ifconfig命令即可查看 GATEWAY如何查看&#xff08;编辑—虚拟网络编辑器—上面选择NA…

口碑很好的国产LDO芯片,有哪些?

在几乎任何一个电路设计中&#xff0c;都可能会使用LDO&#xff08;低压差线性稳压器&#xff09;这个器件。 虽然LDO不是什么高性能的IC&#xff0c;但LDO芯片市场竞争异常激烈。最近几年&#xff0c;诞生了越来越多的精品国产LDO&#xff0c;让人看得眼花缭乱。 业内人士曾经…

大模型训练(2):内存开销

模型训练中的存储消耗 1 存储分类 首先&#xff0c;在大模型训练的过程中&#xff0c;GPU都需要存什么内容&#xff1a;存储主要分为两大块&#xff1a;Model States和Residual States Model State&#xff1a;指和模型本身息息相关的&#xff0c;必须存储的内容&#xff0c…

【数据结构高阶】B-树

目录 一、常见的搜索结构 二、B树 2.1 B树的概念 2.2 B树插入数据的分析 2.3 B树的性能分析 2.4 模拟实现B树 2.4.1 B树节点的定义 2.4.2 B树数据的查找 2.4.3 B树节点的数据插入 2.4.4 B树的遍历 2.4.5 模拟实现B树实现的完整代码 三、B树 3.1 B树的概念 3.2 B树…

java项目之房屋租赁系统源码(springboot+mysql+vue)

项目简介 房屋租赁系统实现了以下功能&#xff1a; 房屋租赁系统的主要使用者分为&#xff1a; 系统管理&#xff1a;个人中心、房屋信息管理、预约看房管理、合同信息管理、房屋报修管理、维修处理管理、房屋评价管理等模块的查看及相应操作&#xff1b; 房屋信息管理&#…

maven的简单介绍

目录 1、maven简介2、maven 的主要特点3、maven的下载与安装4、修改配置文件5、私服(拓展) 1、maven简介 Maven 是一个广泛使用的项目管理和构建工具&#xff0c;主要应用于 Java 项目。Maven 由 Apache 软件基金会开发和维护&#xff0c;它提供了一种简洁且一致的方法来构建、…

搭建prometheus+grafana监控系统抓取Linux主机系统资源数据

Prometheus 和 Grafana 是两个非常流行的开源工具&#xff0c;通常结合使用来实现监控、可视化和告警功能。它们在现代 DevOps 和云原生环境中被广泛使用。 1. Prometheus 定义&#xff1a;Prometheus 是一个开源的系统监控和告警工具包&#xff0c;最初由 SoundCloud 开发&am…

【YOLOv5】源码(train.py)

train.py是YOLOv5中用于模型训练的脚本文件&#xff0c;其主要功能是读取配置文件、设置训练参数、构建模型结构、加载数据、训练/验证模型、保存模型权重文件、输出日志等 参考笔记&#xff1a; 【YOLOv3】源码&#xff08;train.py&#xff09;_yolo原始代码-CSDN博客 【y…

MySQL存储引擎、索引、索引失效

MySQL Docker 安装 MySQL8.0&#xff0c;安装见docker-compose.yaml 操作类型 SQL 程序语言有四种类型&#xff0c;对数据库的基本操作都属于这四种类&#xff0c;分为 DDL、DML、DQL、DCL DDL(Dara Definition Language 数据定义语言)&#xff0c;是负责数据结构定义与数据…

如何看待Akamai 退出中国市场进行转型?

Akamai宣布退出中国市场并进行战略转型&#xff0c;这一举措引发了广泛的关注和讨论。从多个角度来看&#xff0c;这一决策既反映了Akamai自身的业务调整需求&#xff0c;也与中国市场环境的变化密切相关。 Akamai的退出是其全球战略调整的一部分。Akamai近年来一直在推进业务…

【Linux】网络层

目录 IP协议 协议头格式 网段划分 2中网段划分的方式 为什么要进行网段划分 特殊的IP地址 IP地址的数量限制 私有IP地址和公有IP地址 路由 IP协议 在通信时&#xff0c;主机B要把数据要给主机C&#xff0c;一定要经过一条路径选择&#xff0c;为什么经过路由器G后&…

多线程面试相关

线程基础知识 线程与进程的区别 并行和并发的区别 创建线程的方式 Runnable和Callable有什么区别 run()方法和start()方法的区别 小结 线程包含哪些状态&#xff0c;各个状态之间如何变化 线程按顺序执行 notify()和notifyAll()的区别 Java中的wait方法和sleep方法的不同 如何…