当前位置: 首页 > news >正文

Linux文件系统深入理解

理解磁盘

当一个文件被打开时,他会加载到内存进行相应操作,而未被打开的文件则一直存放在磁盘(或者是固态硬盘,但是本篇文章是依据磁盘来讲的)上

磁盘物理结构

许迎果 第147期 机械硬盘的物理结构和逻辑结构 - 知乎

5 分钟图解 磁盘的结构(盘片、磁道、扇区、柱面)_柱面磁道扇区图解-CSDN博客

可以看到,磁盘有许多盘片,一个盘片有上下两个盘面,每一个盘面都需要有一个磁头去读写数据

每个盘面可以分割成许多的同心圆,这个同心圆称为磁道,盘片都是上下堆叠的,因此一个磁道在上,下或者上和下都存在其他盘面的磁道,这些相对位置相同的磁道组成柱面

一个磁道又可以分割为许多扇区(一个弧面),扇区是磁盘读写的基本单位

磁盘在工作时,盘片高速旋转,磁头左右摆动,这样就可以找到盘面上的任意位置了

磁盘如何找到一个指定的扇区

磁盘的基本单位是扇区,如果给扇区从0开始按顺序编号,那么就可以抽象成一个数组,扇区号就是下标,访问某个扇区给定下标后,磁盘根据下标(扇区号)去寻找存储区域

首先找到对应的磁头(Header),在找到对应的磁道(柱面,Cylinder),在找到对应的扇区(Sector),这三步也称作CHS 定址法。

如果知道盘面数量,磁道数量,扇区数量,就可以通过扇区号找到指定扇区

举例:

假设一个磁盘有8个盘面,一个盘面有10个磁道,一个磁道被分为8个扇区,即一个盘面80个扇区。要找到扇区号为346的扇区

磁头号 H = 346 / 80 = 4

磁道号 C = (346 % 80)/ 8 = 26 / 8 = 3

磁道内扇区号 S = (346 % 8)% 8 = 2

即找到4号磁头3号磁道2号扇区就为扇区号为346的扇区

操作系统管理磁盘

一般来说,操作系统和磁盘交互的时候,最基本的单位是4KB,也称作数据块,假设一个磁盘的一个扇区大小为512字节,那么一个数据块就是8个扇区,

操作系统读取数据时,首先确定数据所在的块地址(逻辑块地址,LBA),根据块号计算出扇区号,交由磁盘,磁盘根据CHS定址法找到指定扇区,接着连续读取8个扇区交给操作系统,

操作系统在根据数据的扇区号计算出块内地址,进行操作

续读取8个扇区交给操作系统,

操作系统在根据数据的扇区号计算出块内地址,进行操作

对于操作系统而言,管理磁盘时可以将磁盘看成以数据快为基本元素的数组,但是一个磁盘可能很大,管理起来可能很困难,因此可以将磁盘划分成更小的分区,将管理一个分区的方法用于管理其他分区,就可以对磁盘进行整体管理。Windows操作系统中的c盘,d盘就是对磁盘(或者是固态硬盘)的分区。

http://www.lryc.cn/news/596615.html

相关文章:

  • 交叉编译opencv(Cpp)于arm64架构开发板上
  • 决策规划内容整理
  • 三轴云台之图像处理算法篇
  • 跨越语言壁垒!ZKmall开源商城多语言架构如何支撑电商全球化布局
  • Ext4文件系统全景解析
  • C++基础学习——文件操作详解
  • wangEditor5添加键盘事件/实现定时保存功能
  • 单张显卡运行多个vllm模型
  • 进程优先级切换调度-进程概念(6)
  • 【C++】继承和多态扩展学习
  • PyQt5在Pycharm上的环境搭建 -- Qt Designer + Pyuic + Pyrcc组合,大幅提升GUI开发效率
  • Qt多语言支持初步探索
  • 按键精灵脚本:自动化利刃的双面性 - 从技术原理到深度实践与反思
  • Web3面试题
  • 拥抱区块链红利:机遇无限,风险暗涌
  • 期权分红怎么分的?
  • UNet改进(24):注意力机制-从基础原理到高级融合策略
  • Atcoder Beginner Contest 415 D题
  • 算法笔记之堆排序
  • 2023CCPC秦皇岛 F. Mystery of Prime(线性DP)
  • Python通关秘籍(四)数据结构——列表
  • iView Table组件二次封装
  • Elasticsearch服务器开发(第2版) - 读书笔记 第一章 Elasticsearch集群入门
  • 【uboot/kernel1】启动流程,环境变量,内存,initramfs
  • 【数学建模】基础知识
  • 【Verilog】竞争、冒险
  • 本地大模型VRAM需求计算器:原理与实现详解
  • Web3介绍(Web 3.0)(一种基于区块链技术的去中心化互联网范式,旨在通过技术手段实现用户对数据的自主权、隐私保护和价值共享)
  • 浙江大学PTA程序设计C语言基础编程练习题1-5
  • 高并发场景下的缓存问题与一致性解决方案(技术方案总结)