不做大哥好多年 不做大哥好多年
首页
  • MySQL
  • Redis
  • Elasticsearch
  • Kafka
  • Etcd
  • MongoDB
  • TiDB
  • RabbitMQ
  • 01.Python
  • 02.GO
  • 03.Java
  • 04.业务问题
  • 05.关键技术
  • 06.项目常识
  • 10.计算机基础
  • Docker
  • K8S
  • 容器原理
  • Istio
  • 01.GO基础
  • 02.面向对象
  • 03.并发编程
  • 04.常用库
  • 05.数据库操作
  • 06.Beego框架
  • 07.Beego商城
  • 08.GIN框架
  • 09.GIN论坛
  • 10.微服务
  • 01.Python基础
  • 02.Python模块
  • 03.Django
  • 04.Flask
  • 05.SYL
  • 06.Celery
  • 10.微服务
  • 01.Java基础
  • 02.面向对象
  • 03.Java进阶
  • 04.Web基础
  • 05.Spring框架
  • 100.微服务
  • 数据结构
  • 算法基础
  • 算法题分类
  • 前置知识
  • PyTorch
  • Langchain
  • Linux基础
  • Linux高级
  • Nginx
  • KeepAlive
  • ansible
  • zabbix
  • Shell
  • Linux内核

逍遥子

不做大哥好多年
首页
  • MySQL
  • Redis
  • Elasticsearch
  • Kafka
  • Etcd
  • MongoDB
  • TiDB
  • RabbitMQ
  • 01.Python
  • 02.GO
  • 03.Java
  • 04.业务问题
  • 05.关键技术
  • 06.项目常识
  • 10.计算机基础
  • Docker
  • K8S
  • 容器原理
  • Istio
  • 01.GO基础
  • 02.面向对象
  • 03.并发编程
  • 04.常用库
  • 05.数据库操作
  • 06.Beego框架
  • 07.Beego商城
  • 08.GIN框架
  • 09.GIN论坛
  • 10.微服务
  • 01.Python基础
  • 02.Python模块
  • 03.Django
  • 04.Flask
  • 05.SYL
  • 06.Celery
  • 10.微服务
  • 01.Java基础
  • 02.面向对象
  • 03.Java进阶
  • 04.Web基础
  • 05.Spring框架
  • 100.微服务
  • 数据结构
  • 算法基础
  • 算法题分类
  • 前置知识
  • PyTorch
  • Langchain
  • Linux基础
  • Linux高级
  • Nginx
  • KeepAlive
  • ansible
  • zabbix
  • Shell
  • Linux内核
  • Python

  • GO

  • Java

  • 业务问题

  • 关键技术

  • 项目常识

  • 计算机基础

    • 01.操作系统概述
    • 02.进程管理
    • 03.内存管理
    • 04.设备管理
      • 01.设备管理
        • 0、概述
        • 1、磁盘结构
        • 2、磁盘读写操作的影响因素
        • 3、磁盘调度算法
        • 1)先来先服务
        • 2)最短寻道时间优先
        • 3)电梯算法 (SCAN)
    • 11.网络七层
    • 12.TCP协议
    • 13.HTTP协议
  • 区块链

  • 常识
  • 计算机基础
xiaonaiqiang
2024-09-25
目录

04.设备管理

# 01.设备管理

# 0、概述

  • 设备管理是操作系统中管理外部设备(如磁盘、显示器、打印机等)的一部分
  • 其目的是有效地调度和控制这些设备的操作
  • 设备管理主要包括磁盘管理、输入/输出设备管理等
  • 设备管理的核心目标是优化设备的使用效率,保证设备请求的公平性,提升系统性能

# 1、磁盘结构

  • 磁盘是最常见的存储设备之一,它由多个盘面、磁道、扇区和磁头等部件构成

  • 磁盘的物理结构复杂,因此读写操作涉及多个步骤

  • ① 盘面 (Platter):每个磁盘包含多个盘面,盘面是数据存储的物理区域。

  • ② 磁道 (Track):每个盘面被分成多个同心圆形的磁道,磁道是盘面上存储数据的轨道。

  • ③ 扇区 (Sector):

    • 磁道被进一步划分为多个扇区,扇区是磁盘存储的最小单位
    • 目前常见的扇区大小为512 bytes和4 KB
  • ④ 磁头 (Head)

    • 磁头位于盘面上方,用于读写数据
    • 它通过磁感应读取盘面的数据或写入新数据
  • ⑤ 制动手臂 (Actuator Arm)

    • 制动手臂控制磁头在磁道之间的移动,是影响寻道时间的主要组件
  • ⑥ 主轴 (Spindle)

    • 主轴驱动盘面的旋转,从而将不同扇区移动到磁头下进行读写操作


# 2、磁盘读写操作的影响因素

  • 在磁盘读写操作中,影响效率的三个关键因素是

  • 由于寻道时间占据了读写操作的大部分时间,因此磁盘调度算法的设计主要集中于如何优化寻道时间

  • ① 旋转延迟:主轴旋转盘面,使磁头移动到合适的扇区位置的时间。

  • ② 寻道时间:制动手臂移动磁头到正确磁道的时间,这通常是时间开销最大的部分。

  • ③ 数据传输时间:磁头读取或写入数据的时间。


# 3、磁盘调度算法

  • 磁盘调度算法用于决定磁头服务各个磁盘请求的顺序,目标是减少寻道时间,提升系统效率

# 1)先来先服务

  • FCFS 是最简单的磁盘调度算法,按照请求到达的顺序进行处理。
  • 优点:简单和公平:所有请求按顺序处理。

  • 缺点:

    • 寻道时间不优化,可能导致磁头在盘面上大幅移动,造成较长的寻道时间

# 2)最短寻道时间优先

  • SSTF 优先处理与当前磁头所在位置距离最近的磁道请求,从而最小化寻道时间。
  • 优点:相比 FCFS,平均寻道时间更短,磁头移动更高效。

  • 缺点:可能导致饥饿现象

    • 如果新的请求总是比等待中的请求更接近磁头位置
    • 等待较远的请求可能长时间得不到服务,特别是磁道两端的请求

# 3)电梯算法 (SCAN)

  • 电梯算法的工作方式类似于电梯的运行
  • 磁头会沿一个方向移动,直到该方向上没有新的请求,再反向移动
  • 优点:

    • 避免了 SSTF 的饥饿问题,确保所有请求都会被处理。

    • 在大多数情况下,平均寻道时间较短且移动方向更加连贯。

  • 变种算法:C-SCAN(循环扫描):

    • 与 SCAN 类似,但在一个方向上处理完所有请求后,磁头会立即回到起点位置再处理反方向的请求
    • 这种算法进一步平衡了不同位置请求的等待时间
上次更新: 2024/10/15 16:27:13
03.内存管理
11.网络七层

← 03.内存管理 11.网络七层→

最近更新
01
05.快递Agent智能体
06-04
02
200.AI Agent核心概念
06-04
03
105.Agent智能体梳理
06-04
更多文章>
Theme by Vdoing | Copyright © 2019-2025 逍遥子 技术博客 京ICP备2021005373号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式