【Linux】磁盘文件

简介: 【Linux】磁盘文件

思维导图

学习目标

      了解磁盘的物理结构和存储结构,并将其存储结构进行抽象!!

一、了解一下磁盘及其物理结构

1.1 计算机只认识二进制

      什么是二进制??0,1是被规定出来的,在计算机里面我们用高低电平规定0, 1,或者表示有或区等……因此,0, 1在物理中有不同的表示。

1.2 磁盘的物理结构

  • 盘片:一个磁盘(如一个 1T 的机械硬盘)由多个盘片(如下图中的 0 号盘片)叠加而成。盘片的表面涂有磁性物质,这些磁性物质用来记录二进制数据。因为正反两面都可涂上磁性物质,故一个盘片可能会有两个盘面
  • 磁头:硬盘通常由重叠的一组盘片构成,每个盘面都被划分为数目相等的磁道,并从外缘的“0”开始编号,具有相同编号的磁道形成一个圆柱,称之为磁盘的柱面。磁盘的柱面数与一个盘面上的磁道数是相等的。由于每个盘面都有自己的磁头,因此,盘面数等于总的磁头数。
  • 磁道:每个盘片被划分为一个个磁道
  • 扇区:每个磁道又划分为一个个扇区

1.3 盘片和磁头的关系

  1. 盘片和磁头有一定的距离
  2. 磁头悬浮在盘片上,距离很近
  3. 磁盘中不能有灰尘,避免损伤盘片
  4. 盘片和磁头容易进行损坏,不能有巨大的碰撞

1.4 磁盘的分类

  • 桌面级磁盘(民用)
  • 企业级磁盘(企业)

1.5 磁盘的放置位置

      放置磁盘的位置,因为磁盘在运行中,磁盘会发热,所以磁盘大多数在水中,利用水的流动将热气带走。

1.6 磁盘的速度

      磁盘是机械设备,磁盘还是一个外设,速度是很慢的,因此磁盘的速度会比较慢,差距很大。磁盘的性价比高!

二、磁盘的存储结构

2.1 磁盘的存储结构

  • 盘片:一个磁盘(如一个 1T 的机械硬盘)由多个盘片(如下图中的 0 号盘片)叠加而成。盘片的表面涂有磁性物质,这些磁性物质用来记录二进制数据。因为正反两面都可涂上磁性物质,故一个盘片可能会有两个盘面
  • 磁头:硬盘通常由重叠的一组盘片构成,每个盘面都被划分为数目相等的磁道,并从外缘的“0”开始编号,具有相同编号的磁道形成一个圆柱,称之为磁盘的柱面。磁盘的柱面数与一个盘面上的磁道数是相等的。由于每个盘面都有自己的磁头,因此,盘面数等于总的磁头数。
  • 磁道:每个盘片被划分为一个个磁道
  • 扇区:每个磁道又划分为一个个扇区
  • 一个盘片上有n个磁道,一个磁道上有m个扇区

      读写的基本单位是扇区,扇区的容量一般为512字节。怎么理解读写的基本单位是扇区呢??即使只修改一个比特的数据,我们也要将512字节的数据进行更新。

2.2 如何在磁盘中找到特定位置的数据?

      在这之前,我们先来看一看结构的英语单词:磁头(Head),柱面(Cylinder),扇区(Sector),这个方法称之为CHS定址法。

具体步骤:

  1. 先确定数据在哪一个面上,确定磁头(Head)
  2. 然后,在确定数据在哪个磁道(柱面)上,缩小磁道的半径(Cylinder)
  3. 最后确定数据在哪一个扇区中(Sector)

三、对磁盘的存储进行逻辑抽象

3.1 为什么要对磁盘的存储进行逻辑抽象?

      如果OS直接使用CHS,会导致耦合度太高,并且要方便内核进行磁盘管理。

3.2 利用磁带来引入对磁盘的抽象理解

      在以前的时候,会有一个磁带的东西。我很喜欢将磁带中的那一圈圈的东西给拉直,这样,我们就将圆形存储结构变成了线性存储结构。

      一般来说,操作系统直接访问4KB(8个连续的扇区)


相关文章
|
7天前
|
存储 Linux 数据库
|
3天前
|
Linux
|
6天前
|
存储 Linux 数据库
Linux 如何快速查找文件?
Linux 如何快速查找文件?
27 6
|
10天前
|
存储 运维 安全
Linux命令stat:深入了解文件与文件系统状态
`stat`命令在Linux中用于显示文件和文件系统的详细状态,包括权限、大小、时间戳等。它通过读取inode获取信息,特点是显示全面、易用且支持多种参数,如`-c`自定义格式,`-f`查看文件系统状态,`-L`处理符号链接。例如,`stat example.txt`显示文件详情,`stat -c "%n 的大小是 %s 字节" example.txt`输出文件大小。理解`stat`有助于系统管理和故障排查。
|
7天前
|
存储 运维 Linux
Linux磁盘精准缩容:操作详解与技巧
在Linux系统管理中,有效的磁盘空间优化对于维护系统性能至关重要。本文将深入探讨如何在Linux环境下安全地进行磁盘缩容,帮助你合理调整存储资源,确保系统高效运行。跟随本篇的步骤,一起优化你的Linux系统磁盘空间!
|
13天前
|
Linux 数据处理 C语言
【Linux】基础IO----系统文件IO & 文件描述符fd & 重定向(下)
【Linux】基础IO----系统文件IO & 文件描述符fd & 重定向(下)
25 0
|
22小时前
|
监控 Linux Shell
Linux系统中如何查看磁盘情况
【7月更文挑战第11天】在Linux中,`df -h`展示文件系统磁盘使用概览;`du -sh /path`估计特定目录的磁盘占用;`fdisk -l`列出磁盘分区详情;`lsblk`以树状展示块设备信息。这些命令帮助监控磁盘状态,适时管理空间。
|
13天前
|
Linux C语言 C++
【Linux】基础IO----系统文件IO & 文件描述符fd & 重定向(上)
【Linux】基础IO----系统文件IO & 文件描述符fd & 重定向(上)
22 0
|
19天前
|
存储 Linux
Linux文件的上和下,FinalShell文件右键可下文件,先选择root文件夹,然后把他文件往里面拖动,就可以下载了,命令下载,ls -l可以看当前文件目录,sz 文件名可下载,tab补,rz出上
Linux文件的上和下,FinalShell文件右键可下文件,先选择root文件夹,然后把他文件往里面拖动,就可以下载了,命令下载,ls -l可以看当前文件目录,sz 文件名可下载,tab补,rz出上
|
20天前
|
Linux 数据安全/隐私保护 iOS开发
Linux的root用户,普通用户无法在根录中创建文件,一般在其HOME目录里是不受限的,一旦出了HOME目录,大多数地方,仅有读和执行的权限,ctrl + d回到上一个用户,Exit,su - ro
Linux的root用户,普通用户无法在根录中创建文件,一般在其HOME目录里是不受限的,一旦出了HOME目录,大多数地方,仅有读和执行的权限,ctrl + d回到上一个用户,Exit,su - ro