哈工大-操作系统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=根目录

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

相关推荐
wang_shu_mo_ran24 分钟前
网络编程(一):网络编程初识
运维·服务器·网络
hai3152475431 小时前
九章空间几何对照直译法:通用芯片 / 定制专用芯片 编译适配规则
linux·汇编·bash
姚青&1 小时前
持续交付与 DevOps 体系
运维·devops
ton_tom1 小时前
设备驱动程序编程-Linux2.6.10-kdb安装-32位
linux·运维·服务器
Elastic 中国社区官方博客1 小时前
谁来评判评判者?在 Elasticsearch Workflows 中使用 LLM-as-a-Judge
大数据·运维·人工智能·elasticsearch·搜索引擎·ai·全文检索
dddwjzx1 小时前
嵌入式Linux C应用编程入门——进程 ( 二 )
linux·嵌入式
坐望云起2 小时前
FFmpeg.wasm 纯浏览器端视频压缩与格式转换实战:零服务器、零上传、100% 隐私
服务器·ffmpeg·wasm
SSO_Crown2 小时前
AI 招聘管理系统深度评测与选型指南
大数据·运维·人工智能
cft56200_ln3 小时前
gPTP Master 报文目的 MAC 地址
运维·服务器·网络
jieyucx3 小时前
【系统安全铁律】解密 Linux 权限三色数字密码:chmod 最小化赋权与生产环境避坑指南
linux·安全·系统安全·权限·chmod·777