操作系统基础:磁盘组织与管理【上】

在这里插入图片描述

在这里插入图片描述

🌈个人主页:godspeed_lucip
🔥 系列专栏:OS从基础到进阶


  • 🛠️1 磁盘的结构
    • 📡1.1 总览
    • 📡1.2 磁盘、磁道、扇区
      • ⚗️1.2.1 什么是磁盘
      • ⚗️1.2.2 什么是磁道
      • ⚗️1.2.3 什么是扇区
    • 📡1.3 磁盘怎么读取数据
    • 📡1.4 盘面、柱面
      • ⚗️1.4.1 什么是盘面
      • ⚗️1.4.2 什么是柱面
    • 📡1.5 磁盘的分类
      • ⚗️1.5.1 根据磁头是否可以移动
      • ⚗️1.5.2 根据盘面是否可以更换可以分为
    • 📡1.6 总结
  • 🛠️2 磁盘调度算法
    • 🔭2.1 总览
    • 🔭2.2 一次磁盘读/写操作需要的时间
      • 🔬2.2.1 寻道时间
      • 🔬2.2.2 延迟时间
      • 🔬2.2.3 传输时间
      • 🔬2.2.4 注意
    • 🔭2.3 进程访问磁盘的调度算法
      • 🔬2.3.1 先来先服务(FCFS)
      • 🔬2.3.2 最短寻找时间优先(SSTF)
      • 🔬2.3.3 扫描算法(SCAN)
      • 🔬2.3.4 LOOK算法
      • 🔬2.3.5 循环扫描算法(C-SCAN)
      • 🔬2.3.6 C-LOOK 调度算法
    • 🔭2.4 总结
  • 🕮 3 总结


🛠️1 磁盘的结构

📡1.1 总览

image1

📡1.2 磁盘、磁道、扇区

⚗️1.2.1 什么是磁盘

image2

⚗️1.2.2 什么是磁道

如图,假设这是一个磁盘的平面图,磁盘的表面被划分为一个一个的的圈。这些圈就是磁道。实际磁盘中,磁道的数量可能有数万条。
image3

⚗️1.2.3 什么是扇区

每一个磁道都会被划分为一个一个的”磁盘块“,这些块就是扇区。如图
image4
注意:各磁道上的扇区存储容量都是相同的。可以看到外层的磁道长度较长,因此其存储容量的密度就会较小,而最内侧扇区的密度最大。

📡1.3 磁盘怎么读取数据

磁盘的实际物理结构如图所示。
image5
读取文件时,首先由马达带动磁头臂将磁头移动到数据所在磁道的扇区上,接着磁盘转动,就可以实现数据的读取

📡1.4 盘面、柱面

⚗️1.4.1 什么是盘面

实际磁盘中,一个磁盘由多个盘组成,如图所示。每一个盘就是一个盘面,相应的,每一个盘面都有一个读写磁头。注意:所有的磁头都连接指针同一个磁头臂上,这些磁头是”同进退“的。
image6

⚗️1.4.2 什么是柱面

所有盘面中相对位置相同的磁道组成柱面。如图,图中黄色的磁道就构成一个柱面
image7

📡1.5 磁盘的分类

⚗️1.5.1 根据磁头是否可以移动

(1)活动磁头磁盘
image8

(2)固定头磁盘
每一个磁盘都有一个磁头
image9

⚗️1.5.2 根据盘面是否可以更换可以分为

(1)可换盘磁盘
(2)固定盘磁盘

📡1.6 总结

image10

🛠️2 磁盘调度算法

🔭2.1 总览

image1

🔭2.2 一次磁盘读/写操作需要的时间

🔬2.2.1 寻道时间

image2

🔬2.2.2 延迟时间

image3
解释:
1/r即为读写头转动一圈需要的时间,而找到目标扇区所需要的平均需要转半圈,所以还需要除2。

🔬2.2.3 传输时间

image4
解释:
b/N为写入目标字节数所需要使用的磁道数,而写入一个磁道的数据需要的时间与磁头转动一圈的时间相同。因此传输时间为:
磁头转动一圈的时间*总共需要转几圈

🔬2.2.4 注意

image5

🔭2.3 进程访问磁盘的调度算法

🔬2.3.1 先来先服务(FCFS)

(1)算法思想
image6
(2)例子
image7
(3)优缺点
image8

🔬2.3.2 最短寻找时间优先(SSTF)

对于FCFS算法的改进
(1)算法思想
image9
(2)实例
image10
(3)优缺点
image11
为什么会产生饥饿现象?
image12

🔬2.3.3 扫描算法(SCAN)

对于SSTF算法的改进
(1)算法思想
image13
(2)实例
image14
(3)优缺点
image15

🔬2.3.4 LOOK算法

对于SCAN算法的改进
(1)算法思想
image16
(2)实例
image17
(3)优缺点
image18

🔬2.3.5 循环扫描算法(C-SCAN)

(1)算法思想
image19
(2)实例
image20
(3)优缺点
image21

🔬2.3.6 C-LOOK 调度算法

对于C-SCAN算法的改进
(1)算法思想
image22
(2)实例
image23
(3)优缺点
image24

🔭2.4 总结

image25

🕮 3 总结

操作系统,如默默守护的守夜者,无声地管理硬件与软件的交流,为计算机创造和谐秩序。

它是无形的引导者,让复杂的任务变得井然有序,为用户提供无忧体验。

操作系统的巧妙设计,让计算机变得更加智能高效,让人与科技之间的交流更加顺畅。

在每一次启动中,它如信任的伙伴,带领我们进入数字世界的奇妙旅程。

渴望挑战操作系统的学习路径和掌握进阶技术?不妨点击下方链接,一同探讨更多操作系统的奇迹吧。我们推出了引领趋势的💻OS专栏:《OS从基础到进阶》 ,旨在深度探索OS的实际应用和创新。🌐🔍

在这里插入图片描述

在这里插入图片描述

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

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

相关文章

使用No-SQL数据库支持连接查询用例的讨论

简介 在本文中,我们将简单介绍什么是No-SQL数据库。然后我们会讨论一种使用关系数据库比较容易实现的查询,即连接查询,怎么样使用No-SQL来实现。 什么是No-SQL数据库 与No-SQL数据库相对应的是传统的关系数据库(RDBMS&#xff…

【教程】Linux使用git自动备份和使用支持文件恢复的rm命令

转载请注明出处:小锋学长生活大爆炸[xfxuezhang.cn] 背景介绍 首先非常不幸地告诉你:Linux 系统的标准 rm 命令不支持文件恢复功能。一旦使用 rm 删除了文件或目录,它们就会从文件系统中永久删除,除非你使用专门的文件恢复工具尝试…

如何在 Ubuntu 上安装 ONLYOFFICE 文档 8.0

通过使用社区版,您有能力在您自己的服务器上部署 ONLYOFFICE 文档,从而使在线编辑器与 ​​ONLYOFFICE 协作平台​​​或​​其他热门系统​​进行无缝集成。 ONLYOFFICE 文档是什么 ONLYOFFICE 文档是一款全面的在线办公工具,提供了文本文档…

ELAdmin 前端启动

开发工具 官方指导的是使用WebStorm,但是本人后端开发一枚,最终还是继续使用了 idea,主打一个能用就行。 idea正式版激活方式: 访问这个查找可用链接:https://3.jetbra.in/进入任意一个能用的里面,顶部提…

代码随想录算法训练营第四十五天(动态规划篇)|01背包

01背包理论基础 学习资料:代码随想录 (programmercarl.com) 相关链接:题目页面 (kamacoder.com) 背包题目分类 01背包定义 有n件物品和一个最多能背重量为w 的背包。第i件物品的重量是weight[i],得到的价值是value[i] 。每件物品只能用一次…

【Ftp客户端】FTPBox starter

Github: https://github.com/lihewei7/ftpbox-spring-boot-starterGitee: https://gitee.com/lihewei7/ftpbox-spring-boot-starter 文章目录 FTPBox是什么?Maven依赖使用APIuploaddownloadexistslistexecuteexecuteWithoutResult 配置单主机…

有责无权的PM如何管好项目?

一、项目经理的责任和权力分析 项目经理作为项目的责任主体,承担着确保项目顺利完成的重要责任。他们需要确保项目达到预期目标,控制项目进度、成本和质量,并保证项目团队的有效运作。然而,与责任相对应的权力却并不总是与之匹配…

Linux(三)--文件系统

Linux命令简介 [rootlocalhost ~]# 表示 Linux 系统的命令提示符。 []:这是提示符的分隔符号,没有特殊含义。 root:显示的是当前的登录用户,笔者现在使用的是 root 用户登录。 :分隔符号,没有特殊含义。 l…

安卓Termux+Hexo博客框架快速搭建本地网站并实现公网访问

文章目录 前言 1.安装 Hexo2.安装cpolar3.远程访问4.固定公网地址 前言 Hexo 是一个用 Nodejs 编写的快速、简洁且高效的博客框架。Hexo 使用 Markdown 解析文章,在几秒内,即可利用靓丽的主题生成静态网页。 下面介绍在Termux中安装个人hexo博客并结合…

C语言在Visual Studio 2010环境下使用<regex.h>正则表达式函数库

在Visual Studio 2010环境下&#xff0c;如果C语言想要使用<regex.h>头文件进行正则表达式匹配&#xff0c;则需要pcre3.dll这个动态链接库&#xff0c;可以去网上下载。 下载的网址是&#xff1a;Pcre for Windowspcre {whatisit}https://gnuwin32.sourceforge.net/pac…

获取 Github XX项目软件最新版本方法(通过命令行)

场景&#xff1a; 如果我们项目中需要实现某个Github公共软件的最新版本更新 那么获取软件的最新的发布版本就是一个比较重要的工作了 对此&#xff0c;Github提供对外api不需要自己手动填写脚本了 解决方案&#xff1a; 替换黄色字体的项目地址&#xff0c;然后在cmd中执行…

第1章 认识Flask

学习目标 了解Flask框架&#xff0c;能够说出Flask框架的发展史以及特点 熟悉隔离Python环境的创建方式&#xff0c;能够独立在计算机上创建隔离的Python环境 掌握Flask的安装方式&#xff0c;能够独立在计算机上安装Flask框架 掌握PyCharm配置隔离环境的方式&#xff0c;能…

算法提升——LeetCode123场双周赛总结

周赛题目 三角形类型 II 给你一个下标从0开始长度为3的整数数组nums&#xff0c;需要用它们来构造三角形。 如果一个三角形的所有边长度相等&#xff0c;那么这个三角形称为equilateral。 如果一个三角形恰好有两条边长度相等&#xff0c;那么这个三角形称为isosceles。 如…

位运算:进制

4982. 进制 - AcWing题库 给定两个整数 a,b 请你计算&#xff0c;在 [a,b] 范围内有多少个整数满足其二进制表示恰好有一个 0。 不考虑前导 0。 例如&#xff0c;当 a5,b10 时&#xff0c;[5,10]范围内的所有整数及其二进制表示如下&#xff1a; 可以看出&#xff0c;只有 5 和…

鸿蒙开发系列教程(十四)--组件导航:Tabs 导航

Tabs 导航 Tabs组件的页面组成包含两个部分&#xff0c;分别是TabContent和TabBar。TabContent是内容页&#xff0c;TabBar是导航页签栏 每一个TabContent对应的内容需要有一个页签&#xff0c;可以通过TabContent的tabBar属性进行配置 设置多个内容时&#xff0c;需在Tabs…

消息队列使用的四种场景介绍

一、简介 消息队列中间件是分布式系统中重要的组件&#xff0c;主要解决应用耦合&#xff0c;异步消息&#xff0c;流量削锋等问题。 实现高性能&#xff0c;高可用&#xff0c;可伸缩和最终一致性架构。 使用较多的消息队列有ActiveMQ&#xff0c;RabbitMQ&#xff0c;ZeroMQ…

Paper - VQGAN: Taming Transformers for High-Resolution Image Synthesis 简读

欢迎关注我的CSDN&#xff1a;https://spike.blog.csdn.net/ 本文地址&#xff1a;https://spike.blog.csdn.net/article/details/136055085 VQGAN: Taming Transformers for High-Resolution Image Synthesis, CVPR 2021 VQGAN: 改良 Transformer 模型以实现高清图像合成 源码…

CentOS7搭建Hadoop集群

准备工作 1、准备三台虚拟机&#xff0c;参考&#xff1a;CentOS7集群环境搭建&#xff08;3台&#xff09;-CSDN博客 2、配置虚拟机之间免密登录&#xff0c;参考&#xff1a;CentOS7集群配置免密登录-CSDN博客 3、虚拟机分别安装jdk&#xff0c;参考&#xff1a;CentOS7集…

mysql入门到精通005-基础篇-约束

1、概述 1.1 概念 约束是作用于表中字段上的规则&#xff0c;用于限制储存在表中的数据。 1.2 目的 保证数据库中数据的正确性、有效性和完整性。 1.3 常见的约束分类 一旦谈到外键&#xff0c;则至少涉及2张表约束是作用于表中字段上的&#xff0c;可以在创建表/修改表的…

c++设计模式之代理模式

作用 代理模式主要用于&#xff0c;通过代理类&#xff0c;来控制实际对象的访问权限 案例 class VideoSite { public:virtual void freeVideo()0;virtual void vipVideo()0;virtual void trickVideo()0; };class FixBugVideoSite:public VideoSite { public:void freeVideo()…