操作系统复习4.2.0-磁盘组织和管理

news/2024/2/29 3:51:31

磁盘的结构

磁盘、磁道、扇区

磁盘划分n圈磁道,每条磁道划分为多个扇区
在这里插入图片描述

磁盘读写

磁头移动到需要读写的扇区所在的磁道来完成读写
磁盘转起来让目标扇区在磁头下面划过

盘面和柱面

在这里插入图片描述

分类

按磁头分类:磁头可伸缩移动、不可伸缩移动(同一盘面上有多个磁头)
按盘片分类:盘片不可换的固定磁盘和盘片可换的可换盘磁盘

磁盘调度算法

磁盘读写耗时

寻找时间/寻道时间

读写数据时,将磁头移动到指定磁道所花的时间:启动磁头臂、移动磁头
T = 启动磁头臂时间 + 越过一个磁道耗时 * 跨越磁道数
寻找时间与磁盘调度算法相关

延迟时间

通过旋转磁盘,将磁头定位到目标扇区所需时间,设磁盘转速为r,平均所需的延迟时间为 1/2 * 1/r,即1/2转除以转速

传输时间

从磁盘读写数据耗时,设转速r,读写字节数b,每个磁道上的字节数n,T = 1/r * b/n
与转速线性相关,即与硬件相关,操作系统无法优化

FCFS

在这里插入图片描述

SSTF

在这里插入图片描述

SCAN

在这里插入图片描述

LOOK

在这里插入图片描述

S-SCAN

在这里插入图片描述

C-LOOK

在这里插入图片描述

总结

FCFS先来先服务带有公平属性,但在访问的磁道分散时会疲于寻道,降低性能
SSTF则是优先处理离磁头近的磁道,保证每次寻道时间短,但可能产生饥饿,且整体时间未必最优
SCAN则是每次扫描到磁道边界才返回,平均寻道时间短,不饥饿,但移动强制碰到边界才能改变方向,磁道响应频率不平均
LOOK则是解决了SCAN的扫描方向问题,移动方向上没有别的请求就改变磁头移动方向
S-SCAN则解决SCAN对各个磁道的响应频率不平均,在碰到边界才返回的基础上,增加了返回时不处理任何请求,直至返回起始端
C-LOOK则是S-SCAN基础上无需碰到边界才返回

磁盘减少延迟

若要读取的扇区连续分布,会造成时间浪费
因为磁头读取数据后,需要时间处理数据,而此时磁盘继续转动,只有等下一次转到磁头下才能继续读取,这增加了延迟时间

交替编号

逻辑上相邻的扇区在物理上有一定间隔,使得延迟时间减少

错位命名

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

磁盘地址结构的设计

在这里插入图片描述
按照(柱面号、盘面号、扇区号)方便连续读取

磁盘管理

磁盘初始化

在这里插入图片描述
物理格式化—>磁盘分区—>逻辑格式化

引导块

计算机开机时需要通过执行初始化程序(自举程序)进行一系列初始化的工作
磁盘的启动块(引导块/启动分区)中存放着自举程序,位置固定
拥有启动分区的磁盘称为启动磁盘和系统磁盘
ROM中只存放很小的自举装入程序,开机时先运行此程序,通过此程序可以找到引导块,并将完整的自举程序读入内存,完成初始化

坏块

无法正常使用的扇区就是坏块,系统无法修复,因此需要标记出来

对于简单磁盘,可以在逻辑格式化时对整个硬盘进行坏块检查,在FAT表中标明坏扇区
对于复杂硬盘,磁盘内部有个磁盘控制器来维护一个坏块链表,磁盘出厂前进行物理格式化时就将坏块链进行初始化,并保留一些备用扇区用于替换坏块


https://www.jiucaihua.cn/news/show-4626921.html

相关文章

MoviePy介绍

MoivePy是一个用于视频编辑的Python库,可以:剪切、拼接、标题插入、视频合成、视频处理和创建自定义效果。它支持Windows、Linux、Mac,源码地址:https://github.com/Zulko/moviepy,最新发布版本v1.0.3,lice…

C++入门——关键字|命名空间|输入输出

前言: 今天我们又开启了一个崭新的大门——C面向对象编程语言,C是怎么来的呢?答案是:因为C语言的有很多不足,我们的祖师爷用着不爽,就不断更改,就改出来了一门新的语言,C。C语言兼容…

基于Springboot的社区论坛系统(源代码+数据库)055

部分代码地址 https://gitee.com/ynwynwyn/forum-public 基于Springboot的社区论坛系统(源代码数据库) 一、系统介绍 前台: 话题列表,搜索话题,发布话题通过标签筛选话题个人设置:修改个人信息,查看发布话题记录&a…

QT实现 WebsocketServer端与WebsocketClient 端通信

概 述 WebSockets 是一种通过单个 TCP 连接提供全双工通信信道的 web 技术。2011年,IETF 将 WebSocket 协议标准化为 RFC 6455 。Qt 提供的 QWebSocket 既可以用于客户端应用程序,也可以用于服务端应用程序,接口大部分和 QTcpSocket 一致。 …

《Apollo 智能驾驶进阶课程》

来自 : https://www.bilibili.com/video/BV1G341117NQ/ https://apollo.baidu.com/ 主要学习资源如下: Apollo社区公众号,直接有整个视频教程的微信推文教程:链接一个CSDN博主记录的笔记: https://blog.csdn.net/qq_45…

Python遍历网格中每个点

遍历网格中每个点 1. 问题描述2. Python实现2.1 网格参数初始化2.2 遍历赋值2.3 矩阵赋值1. 问题描述 最近需要实现一个对矩阵赋值并对矩阵表示的网格参数进行测试的任务,写了一段代码提供参考。 假设网格的长宽均为 2. Python实现 2.1 网格参数初始化 首先定义好需要划分…

【AI】Stable-Diffusion-WebUI使用指南

注:csdn对图片有审核,审核还很奇葩,线稿都能违规,为保证完整的阅读体验建议移步至个人博客阅读 最近AI绘画实现了真人照片级绘画水准,导致AI绘画大火,公司也让我研究研究,借此机会正好了解一下…

深度学习应用篇-计算机视觉-图像增广[1]:数据增广、图像混叠、图像剪裁类变化类等详解

【深度学习入门到进阶】必看系列,含激活函数、优化策略、损失函数、模型调优、归一化算法、卷积模型、序列模型、预训练模型、对抗神经网络等 专栏详细介绍:【深度学习入门到进阶】必看系列,含激活函数、优化策略、损失函数、模型调优、归一化…

Eclipse 教程 完结

Eclipse 快捷键 关于快捷键 Eclipse 的很多操作都提供了快捷键功能,我们可以通过键盘就能很好的控制 Eclipse 各个功能: 使用快捷键关联菜单或菜单项使用快捷键关联对话窗口或视图或编辑器使用快捷键关联工具条上的功能按钮 Eclipse 快捷键列表可通过…

华为OD机试真题 Java 实现【找终点】【2023 B卷 100分】,附详细解题思路

一、题目描述 给定一个正整数数组&#xff0c;设为nums&#xff0c;最大为100个成员&#xff0c;求从第一个成员开始&#xff0c;正好走到数组最后一个成员&#xff0c;所使用的最少步骤数。 要求&#xff1a; 第一步必须从第一元素开始&#xff0c;且1 < 第一步的步长 &…