目录
0.前言
- Linux系统有非常多的文件,需要被进程访问/被进程打开的少量的文件。之前所讲的前提文件:都是被打开的文件!(一切操作都是在内存OS内)而今天要进入是磁盘文件,大部分的未被打开的文件❗
- 没有被打开的文件在磁盘中存放。
- 打开的文件在内存中。
- 打开的文件->找到文件->在磁盘中找到文件->文件路径+文件名->找到文件->在内存中打开文件
- 研究磁盘文件本质是:研究数据存取的问题❗(企业级磁盘)
本专题目录
- 磁盘物理结构
- 磁盘存储结构
- 逻辑抽象磁盘存储结构(系统<=>外设)
- Linux的文件系统(构建框架)
- 重点谈inode
- 软硬链接🔗
1.磁盘的物理结构
1.1什么是二进制(0/1)
❓什么是二进制☞什么是0/1
- 0/1的本质是:被规定出来的,不同的硬件上面对0/1的表示含义是不一样的。
- 高低电频;有和无;磁铁的南极和北极等情况和场景都可以表示0/1。
- 0/1在物理上会有不同的表现。
1.2磁盘的存放位置
- 大企业------->机房------>机柜------>刀片式的服务器---->磁盘会插入
- 服务器:(无需键盘显示器鼠标)只需要网络功能。
- 当前每个人的笔记本上已经不在使用磁盘了。(2010~2015还用)
- 现在笔记本上都是固态硬盘(SSD):无机械结构,纯电子,效率比磁盘高点。
1.3磁盘的结构
- 光盘/光碟:只有一面,只能读。
- 盘片:所有的数据都是存储在盘片上的(可以读写可擦除)。
- 盘片是一片两面:都可以读写数据。
- 在一个磁盘中有很多片盘片。(2/4......片越多,容量越大)
- 一面一个磁头。
- 磁头在对应的盘面进行来回寻址。(来回寻址的过程当中向特定的位置写入读取)
- 每个磁盘都有一套自己对应的硬件电路。(可以控制磁盘)
- 盘片在马达的带动下都会高速的旋转。(顺时针/逆时针旋转8000/10000/20000 r/s)
- 磁头在永磁铁和马达的带动下会左右来回摆动。
- 综上所述:磁盘本质是一个机械设备。
磁道:磁盘的盘面被划分成一个个磁道,这样的一个"圆"就是一个磁道。
扇区:一个磁道又被划分成一个个扇区,每个扇区就是一个"磁盘块",各个扇区存放的数据量相同(如512字节或者4KB)
柱面:每片的盘面的相同的磁道会构成一个柱面。磁道又称柱面。
❓磁盘的盘面和磁头为什么以这样的方式运动
- 磁头和盘面不能相接触(二者都在高速运动,相接触就会把盘面刮花)摩擦会产生热量,一旦有热量,盘面就会退磁。数据就会丢失。磁头怎么读取的呢❓
- 磁头是悬浮在盘面上的(一架飞机在离地1米的高度贴地飞行)
- 磁头和盘面是非常非常近,注定不能有任何灰尘。所以磁盘里面的环境必须是无尘密封的。(一般磁盘打开就已经被损坏了)
- 随着科技的发展,磁盘在客户端已经不被使用了,磁盘在企业中使用。客户端是SSD固态硬盘。
- SSD固态硬盘:效率高,容量小且贵,可以随意搬动。
- 磁盘:效率低点,不能随意搬动(出现故障),容量大且便宜,性价比高。
- 磁盘也分为:桌面级磁盘(民用的)+ 企业级磁盘(企业)
- 计算机的CPU/显卡/网卡/内存是利用总线连接。设备与设备拷贝都是:光电信号。
- 磁盘是机械设备,且是外设。注定磁盘是很慢的。
- CPU是纳秒级别。内存是us级别。磁盘外设是ms级别。(差了1000多倍)
- 冯诺依曼:减少与外设的IO交互,一次往外设输出数据尽量的多。(设置内核中也存在缓冲区的原因)
- 大公司构建的机房过多的。就将提供机房服务的硬件/软件/计算资源整体用软件设计一套解决方案给民用/中小企业使用;解决方案就是云。自建机房的成本是很高的。
2.磁盘的存储结构
2.1❓数据是怎样在磁盘上存储
盘片是由无数的同心圆构成。数据放在这无数个同心圆里面存储。
磁盘的盘片有无数个小的磁铁(南极和北极)构成。
每个磁铁都可以呈现自己的极性(N/S)表示0/1。
把数据写在磁盘上的本质:是通过磁头改变南北极的极性从而改变0/1。
当这块磁盘报废,设计数据安全问题,需要退磁:火烧。或者将磁盘中的数据统一写为0/1(清0/1)。
2.2❓读写的基本单位是什么
- 磁盘读写的基本单位是:扇区
- 磁道:从圆心出发,半径相同的圈
- 一个扇区的大小:512字节/4KB
❓什么叫读写的基本单位
- 如果你想要修改某段数据的1个字节。你也必须读取512字节到内存,修改完毕后,以512字节再刷新回磁盘。
❓扇区大小是512字节,扇区离圆心近的和离圆心远的都是一样的512字节吗
- 是的。(但是现在的技术可以实现扇区离圆心近的和离圆心远的都是不相等)
- 但是这里理解成一样的。512*8bite位。
- 扇区离圆心近的比特位:密集
- 离圆心远的比特位:稀疏
2.3❓如何找到一个指定位置的扇区
- 磁头head 柱面cylind 扇区sector (顺序可变)
- 传给磁盘的三个参数。(这三个参数可以进行编制)
- 在硬件上定位一个扇区的寻址方案:CHS定址法
- 先确认磁头(确认在盘片和盘面)C
- 再确认磁道(柱面)H
- 最后确认扇区S
2.4❓为什么磁盘的机械结构是这样的
- 磁头在来回摆动寻址:是在寻找磁道。(定位扇区)
- 盘面顺时针/逆时针旋转:是在寻找扇区。(定位磁道)
文件=内容+属性(都是数据_二进制数据)所谓把文件存储在磁盘:文件其实就是在磁盘中占有几个扇区的问题❗