自学内容网 自学内容网

(2025)408考研:王道操作系统文件管理强化

写在最前面,需要pdf的请资源里下载,已经排版好了,这里不知道为什么粘贴上来排版这么难看!!!

某一个分区进行格式化的时候,这个分区的文件系统就被建立了,一旦这个文件系统建立完后,就确定了文件系统使用的什么样的物理结构。

操作系统引导:

主存分为两部分,RAM和ROM(BIOS),开机时,cpu会先执行BIOS的自举程序。

①CPU会先执行ROM中的引导程序(先进行硬件自检,再开机)

②将磁盘(RAM)的第一块:主引导记录(MBR)读入内存,执行磁盘引导程序,扫描分区表。(知道电脑有几个分区,并且知道哪个分区是系统盘)

③从系统所在盘(C盘):读入引导记录(PBR),执行其中的程序

执行程序又引导操作系统把查找根目录将根目录的内容读入内存,于是操作系统又可以从C盘的根目录出发,将所有需要的东西找到,逐个加载进来。

注1:主引导记录引导记录不是一个东西。

注2:主引导记录在整个磁盘的前边,而引导记录是在系统盘的前边。

    注3:根目录表是怎么找到的?根目录的在磁盘块的位置定死了,设置固定地址去读就好。

补充知识点:open系统调用是要得到文件的控制信息,而不是文件数据本身!!!

2.UFS文件系统(物理结构:混合索引)

2.1.UFS文件系统的基本概念

操作系统系统盘分区放大,于是系统盘分区如下所示(只包含了引导记录部分):

引导块:用于引导操作系统初始化的一段程序。作用效果是引导操作系统找到根目录,并将根目录的目录文件的内容载入内存。

超级块:包含一些重要的文件系统管理信息,如:魔数、磁盘转速、磁道数、扇区数等

位示图:这个位示图(字,位),位为1bit,1表示不空闲,0表示空闲。

注1:每个bit对应一个物理块。因此,若磁盘块共有 n 个,则位示图也至少要有 n bit。

注2:设⼀个磁盘块大小为4KB,即 32K bit,因此这个位示图能支持的磁盘大小上限为 32K 个块。如果需要支持更多磁盘块,则需要扩充位示图的大小。

inode区:在Unix文件系统中,所有的索引结点集中存放,即所有inode有共同的起始地址。

“inode结点”就是“索引节点”。每个文件对应一个inode!!!用于表示“文件物理结构”的“混合索引表”被包含在inode结点中,通过“混合索引表”,即可找到一个文件中每个块存储的物理位置。

根目录(存在固定位置):

                                

根目录文件的内容

注1:根目录的信息存储在磁盘的固定位置,这样可以保证开机时,能够找到根目录,再从根目录出发找到其他信息。

注2:开机时,根目录的内容通常会被加载到内存,并一直常驻内存

注3:由于Unix文件系统采用了“索引结点”,因此每个目录项只需包含“文件名、inode号”,文件的具体属性包含在inode中。

注4:每个目录文件中默认包含两个目录项,分别是“.”和“..”,表示当前目录,“..”表示上一级目录。根目录比较特殊,没有所谓的“上一级目录”,因此它的目录项“..”指向自身

2.2.UFS文件系统打开文件的过程(对应文件系统骚图来看!)

当前工作目录在根目录下。开机时,根目录文件的内容通常会被加载到内存,并常驻内存。(即顶级索引表结点已经在内存中)

  1. 根据目录文件的内容查找到各个文件(目录也是文件)对应inode编号(inode索引各个文件)

注:如果是目录文件,则inode索引的文件记录的又是该目录下各个文件的inode。如果是普通文件,则inode索引的文件就是文件数据。

  1. 通过目录文件又可以得到下一级文件的inode。

如果读取对应物理块,用read系统调用,才可以得到对应的目录文件(或普通文件)

3、循环反复。


原文地址:https://blog.csdn.net/qq_29992017/article/details/142696392

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!