【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个连续的扇区)


相关文章
|
22天前
|
Ubuntu Linux Shell
Linux系统中如何查看磁盘情况
【9月更文挑战第3天】在Linux系统中,有多种方式查看磁盘情况。可通过命令行工具`df`查看文件系统磁盘使用情况,选项`-h`以人类可读格式显示,`-T`显示文件系统类型;`du`命令显示目录或文件磁盘使用情况,`-h`以人类可读格式显示,`-s`仅显示总计;`fdisk -l`列出磁盘和分区信息。此外,图形界面的磁盘管理工具和文件管理器也可用于查看磁盘使用情况。这些方法有助于更好地管理磁盘空间。
|
29天前
|
Linux
Linux下使用ls查看文件颜色全部为白色的解决方法,以及Linux中文件颜色介绍
Linux下使用ls查看文件颜色全部为白色的解决方法,以及Linux中文件颜色介绍
90 2
|
2天前
|
Linux
linux中查看某个文件夹下文件的个数和大小
这篇文章介绍了在Linux系统中使用各种命令(如`stat`、`wc`、`du`和`ls`)来查看文件夹下文件的个数和大小的方法。
18 4
linux中查看某个文件夹下文件的个数和大小
|
30天前
|
Linux
Linux 服务器下载百度网盘文件
本教程指导如何使用 `bypy` 库从百度网盘下载文件。首先通过 `pip install bypy` 安装库,接着运行 `bypy info` 获取登录链接并完成授权,最后将文件置于指定目录并通过 `bypy downdir /Ziya-13b-v1` 命令下载至本地。
31 1
Linux 服务器下载百度网盘文件
|
23天前
|
Ubuntu Linux Shell
Linux系统命令 安装和文件相关命令
本文档详细介绍了Linux系统中的常用命令,包括软件安装卸载命令如`dpkg`和`apt-get`,压缩与解压命令如`gzip`、`bzip2`和`xz`,以及`tar`命令用于打包和解包。此外还介绍了文件分割命令`split`,文件操作命令如`cat`、`head`、`tail`、`more`、`less`等,管道命令和`wc`、`grep`、`find`、`cut`、`sort`、`uniq`、`diff`等实用工具。最后,文档还讲解了文件属性相关的命令如`chmod`、`chown`、`chgrp`以及创建硬链接和软链接的`ln`命令。
|
1月前
|
Linux
linux 删除乱码文件名的文件
【8月更文挑战第26天】当遇到文件名显示为乱码,导致无法正常通过键盘输入文件名进行删除操作时,可以利用鼠标的复制功能配合`rm`命令实现删除。对于文件夹的删除,可使用`rm -rf 目录名`。然而,有时这种方式仍无法删除某些特殊乱码文件,这时可以通过获取文件的i节点号(使用`ls -i`或`ll -i`命令查看)并执行`find -inum [节点号] -delete`来进行删除。这种方法特别适用于处理那些因文件名问题而难以删除的情况。
81 2
|
1月前
|
存储 监控 Linux
|
1月前
|
JSON Linux 网络安全
【Azure 应用服务】如何从App Service for Linux 的环境中下载Container中非Home目录下的文件呢?
【Azure 应用服务】如何从App Service for Linux 的环境中下载Container中非Home目录下的文件呢?
|
29天前
|
JavaScript Linux
Linux中和文件相关的操作
Linux中和文件相关的操作
29 0
|
1月前
|
Linux
Linux0.11 文件打开open函数(五)
Linux0.11 文件打开open函数(五)
36 0