【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 Shell
Linux|Transfer.sh 轻松实现文件共享
Linux|Transfer.sh 轻松实现文件共享
20 2
Linux|Transfer.sh 轻松实现文件共享
|
22天前
|
存储 网络协议 Linux
【Linux】进程IO|系统调用|open|write|文件描述符fd|封装|理解一切皆文件
本文详细介绍了Linux中的进程IO与系统调用,包括 `open`、`write`、`read`和 `close`函数及其用法,解释了文件描述符(fd)的概念,并深入探讨了Linux中的“一切皆文件”思想。这种设计极大地简化了系统编程,使得处理不同类型的IO设备变得更加一致和简单。通过本文的学习,您应该能够更好地理解和应用Linux中的进程IO操作,提高系统编程的效率和能力。
69 34
|
16天前
|
Linux
Linux文件与目录的日常
目录的切换 一般使用(”pwd“)显示当前所在的目录 比如:当前目录是在home下面的,与用户名相同的文件夹,可以使用(”cd“)命令来切换目录; 进入下载目录(”cd home/a/下载“)这种从给目录开头的一长串路经”叫做绝对路径“; 进入图片目录(”cd .. /图片/“)".."代表当前路径的上级路径,相对于当前的目录而言的”叫做相对路径“,(”.“)代表当前路径; 如果,想快速切换,上一个所在目录可以(”cd - / cd..“); 如果,想快速切换,追原始的目录可以(”cd --“); 查看目录及文件
36 14
|
11天前
|
Linux Shell
Linux 将所有文件和目录名重命名为小写
Linux 将所有文件和目录名重命名为小写
23 3
|
2月前
|
Ubuntu Linux 网络安全
Linux磁盘挂接教程
Linux磁盘挂接教程
72 14
|
3月前
|
Linux Shell 网络安全
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
本指南介绍如何利用 HTA 文件和 Metasploit 框架进行渗透测试。通过创建反向 shell、生成 HTA 文件、设置 HTTP 服务器和发送文件,最终实现对目标系统的控制。适用于教育目的,需合法授权。
99 9
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
|
3月前
|
Ubuntu Linux Go
golang编译成Linux可运行文件
本文介绍了如何在 Linux 上编译和运行 Golang 程序,涵盖了本地编译和交叉编译的步骤。通过这些步骤,您可以轻松地将 Golang 程序编译成适合 Linux 平台的可执行文件,并在目标服务器上运行。掌握这些技巧,可以提高开发和部署 Golang 应用的效率。
346 14
|
3月前
|
存储 NoSQL Linux
linux积累-core文件是干啥的
核心文件是Linux系统在程序崩溃时生成的重要调试文件,通过分析核心文件,开发者可以找到程序崩溃的原因并进行调试和修复。本文详细介绍了核心文件的生成、配置、查看和分析方法
196 6
|
3月前
|
存储 NoSQL Linux
linux之core文件如何查看和调试
通过设置和生成 core 文件,可以在程序崩溃时获取详细的调试信息。结合 GDB 等调试工具,可以深入分析 core 文件,找到程序崩溃的具体原因,并进行相应的修复。掌握这些调试技巧,对于提高程序的稳定性和可靠性具有重要意义。
572 6
|
4月前
|
Linux 开发工具 Perl
在Linux中,有一个文件,如何删除包含“www“字样的字符?
在Linux中,如果你想删除一个文件中包含特定字样(如“www”)的所有字符或行,你可以使用多种文本处理工具来实现。以下是一些常见的方法:
64 5