小林coding chapter 6(完结)

chapter 6 文件系统

6.1 文件系统:

Linux系统为每一个文件都提供了两个数据结构,一个是索引节点,一个是目录项。用来记录文件的元信息和目录层次结构

 

索引节点:记录文件的元信息,⽐如 inode 编号、⽂件⼤⼩、访问权限、创建时间、修改时间、数据在磁盘的位置等等

目录项:目录项是由内核维持的一个数据结构,不存放在硬盘,存放在内存当中

 

目录和目录项不是同一个东西:目录是一个文件,持久化的储存在硬盘当中;目录项是一个内核中的数据结构,缓存在内存里

如果我们频繁的从目录中读取文件,那么势必速度会非常的慢(因为要访问硬盘,但是硬盘的读写非常的慢);所以我们需要目录项来缓存我们读过的目录,由于目录项是放在内存当中的数据结构,所以我们下一次再读到相同的目录的时候,直接访问内存就可以了,大大的提升了访问速度,提高了文件的利用效率!!!

文件数据怎样储存在磁盘呢?

磁盘读写的最小单位是扇区,一个扇区大概有512B的,但是每次读写都是这么小的数据量为单位的话,速度肯定不是很快。所以,文件系统把读写的最小单位设置成8个扇区大小---> 逻辑块

Linux中一般读取数据用的是8个扇区大小的数据块,总共有4k大小,大大提高了磁盘的读写能力!!!

 

 

Linux系统中:用户空间,系统调用,虚拟机文件系统,缓存以及文件系统以及存储之间的关系:

 

Linux支持的文件系统,大致可以分为3类:磁盘文件系统,内存文件系统,网络文件系统

磁盘文件系统:直接把数据存储到磁盘当中去

内存文件系统:这一种文件其实是不存放在磁盘当中的,而是存储在内存当中;我们读写这一种文件其实就是读写内核当中的数据!!!

网络文件系统:用来访问其他主机数据文件的文件系统

 

文件的存储有两种方式:连续存放和非连续存放

非连续存放:链式存储和索引存储!!!

链式存储又分为:显示存储和隐式存储

 

Unix文件系统

 

所以,Unix的文件头就包括了13个指针:10个指向本地小文件的指针,第11指向一级索引块的指针,第12指向二级索引块指针,第13级指向三级索引块

 

空闲空间管理:空闲表法,空闲链表法,位图法

软链接和硬链接

软连接是生成了一个类似于快捷方式查找索引的方式,只是一个路径而已

硬链接是一个别名,链接文件和源文件是一个文件,修改源文件和硬链接文件,两者都会互相改变!!!

 

 

之后什么阻塞I/O,非阻塞I/O就没看了

阻塞I/O:数据还未准备好的时候,用户要一直等待,一直等待数据准备好了之后,就取走数据

非阻塞I/O:数据还未准备好,然后用户可以不用一直等待;过了很久,又去询问数据还有没有准备好:如果准备好了,那么我们可以取走数据,如果没有准备好,那么可以继续等待(继续非阻塞I/O)

 

 

 

chapter 7 设备管理

 

posted @ 2022-06-08 11:32  Dyral_HAN  阅读(98)  评论(0编辑  收藏  举报