哈工大-操作系统L31

目录与文件系统

一.文件系统

将整个磁盘按照一定的方式存放一定的信息最后形成这样一个文件系统,磁盘是一堆盘块,这一堆盘块要存放各种信息,这些信息经过操作系统读取维护之后形成这个样子的文件系统.

用户给出使用接口的方式操作系统负责拿到这个方式,根据磁盘块上维护的这些抽象关系(映射),来把用户抽象的使用落实为盘块的读写

可以在不同的操作系统上使用

二.目录树

目录树由多个文件组织结构

用户从上层发下来的是路径名

将所有文件的FCB存放到目录下,找到目录之后挨个匹配,这种方法太慢了,通过匹配目录名字符串来找到,根据这个字符串找到这个字符串所对应的FCB

因为不知道文件的位置需要将所有的序队读到内存中跟字符串匹配,读进来只需要匹配字符串,FCB是没有用的,因为只匹配一个目录,把那个一个取出来就可以了,现在为了这样做把所有的序对都读进来了,FCB比较大

要存放字符串,不要存放FCB,FCB太大了,还要在匹配成功之后找到对应的FCB,根据编号(指针)找到磁盘上的FCB

根据根目录的FCB存放的i_zone(索引项)找到数据块,数据块就根目录存放的内容,目录项和编号,

根据编号和FCB数组就可以算出到各个目录或文件的位置

根目录是0,放在固定的位置,第一个位置,磁盘格式化的时候记录第一个位置,这个位置的位置在一个固定的位置,读整个磁盘,只要读磁盘就可以找到跟目录,根目录放在inode数组中的第一项(i节点),不可以在第一块上,前面还需要存放一些信息,磁盘的大小,存放的文件数目

inode位图,管理inode(文件),建一个文件对应inode位置成1删除一个文件置成0

盘块位图,管理盘块大小,要读要写要分配要释放

超级块,超级块是位置固定的,向后读得到inode位图和盘块位图的位置,在加上超级块,解析之后就可以找到根目录,就可以得到根目录,比如超级块是4,inode位图是x,盘块位图是y,4+x+y=根目录

还可以这两个位图读写文件修改文件删除文件新建文件

相关推荐
矛取矛求5 分钟前
Linux系统性能调优技巧
linux
山东布谷科技官方9 分钟前
布谷直播源码部署服务器关于数据库配置的详细说明
运维·服务器·数据库·直播系统源码·直播源码·直播系统搭建·直播软件开发
One_Blanks9 分钟前
渗透测试-Linux基础(1)
linux·运维·安全
Perishell10 分钟前
无人机避障——大疆与Airsim中的角速度信息订阅获取
linux·动态规划·无人机
爱吃喵的鲤鱼13 分钟前
linux进程的状态之环境变量
linux·运维·服务器·开发语言·c++
dessler26 分钟前
Linux系统-ubuntu系统安装
linux·运维·云计算
向阳121832 分钟前
Dubbo负载均衡
java·运维·负载均衡·dubbo
荒Huang1 小时前
Linux挖矿病毒(kswapd0进程使cpu爆满)
linux·运维·服务器
海阔天空_20131 小时前
Python pyautogui库:自动化操作的强大工具
运维·开发语言·python·青少年编程·自动化
桥田智能1 小时前
气爪在自动化装配线中是如何应用的?
运维·自动化