【从浅学到熟知Linux】基础IO第三弹=>文件系统介绍、软链接与硬链接(含磁盘结构、文件系统存储原理、软硬链接的创建、原理及应用详解)

在这里插入图片描述

🏠关于专栏:Linux的浅学到熟知专栏用于记录Linux系统编程、网络编程等内容。
🎯每天努力一点点,技术变化看得见


理解文件系统

在计算机中存在着已经被打开的文件,也存在着没有打开的文件。由于内存空间较小,资源较为紧张,故没有打开的文件都会存储在磁盘上。此时,我们会关注哪些问题呢?无非是文件如何存储在磁盘上的,如何获取该文件的属性和文件内容,磁盘上读取文件效率,不同路径上的文件如何被分门别类地存储在磁盘上的。下面,我们就一起聊聊文件系统中如何管理各个文件的。

物理角度认识磁盘

磁盘是计算机上唯一的机械设备,但现在计算机多采用固态硬盘(SSD)替代了磁盘,这里仅讨论磁盘。磁盘是外设中的一种,它是通过磁盘的磁性(N/S级)存储0或1,属于永久性存储介质。(ps:非永久性存储设备,如内存,其为掉电易失设备)

每个磁盘由多个盘片组成,每个盘面的上下两面均是光滑的,均可以存储数据。磁盘需要借助磁头来读取数据,故每个面需要一个磁头,即一个盘片上的上下两个盘面均有一个磁头(一个盘面合计2个磁头)。而磁盘读取盘面上某个位置的数据时,通过摆动磁头和转动盘面来实现。
在这里插入图片描述

磁盘中的每个盘面,以中心向外,划分了不同的同心圆,这些同心圆称为磁道,如下图左侧所示。两个磁道与两半径构成的扇形区域称之为扇区,如下图右侧所示。磁盘被访问的基本单元就是扇区,扇区的大小一般为512字节或4KB。我们可以把磁盘看作无数个扇区构成的存储介质。
在这里插入图片描述
在磁盘中,定位某个扇区的方法是:①磁头左右摆动定磁道(也称为柱面);②确定数据在哪个盘面,确定具体从哪个磁头读取数据;③盘面转动确定扇区。这种方法简称为CHS(Cylinder、Header、Sector)。

【示例】若要读取下图左侧中,橙色方块处的数据(假设已经确定使用哪个磁头读取的情况下)。
①磁头摆动到指定磁道上,即确定读取的磁道。
在这里插入图片描述

②一个磁道上,包含许多个扇区,需要通过转动盘面来确定扇区。转动后,如右图所示,此时可以读取数据存储区域的内容了。
在这里插入图片描述

由于磁盘属于机械设备,它的整体速度较慢。故在使用磁盘时,要让磁盘运动越少,效率才能越高;若磁盘运动越多,则效率越低。同时,我们也意识到:具有相关性的数据要存储在一起,这样可以减少磁盘运动。

逻辑角度认识磁盘

磁盘寻址

在十年前左右,流行使用磁带听读英语。磁带中的塑料带被卷成圆圈,但实际读取是线性读取的。如下图右侧所示,当我们将磁带中的塑料袋拉出来,可以看出,它存储数据是线性存储的。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值