OS--文件系统

信息存储:把信息以一种单元的形式,也就是所谓的文件,存储在磁盘或者其他外部介质上。

文件时受操作系统管理的,操作系统中管理文件的部分称为文件系统。


从用户角度来看:

文件的命名

文件的结构

3种常见方式

无结构的字节序列:操作系统不关心文件内容是什么,操作系统见到的就是字节,任何含义由用户程序解释。linux,unix,windows系统采用这种方式

记录序列:文件是具有固定长度的记录序列,每个记录都有其内部结构。很少有通用操作系统使用。

树形:文件在这类结构中,由一颗树记录构成,每个记录不必具有同样的长度,记录的固定位置有一个键。这棵树按键进行排序。不知道什么操作系统使用。

文件类型

例如linux系统中的 普通文件、块设备文件、目录文件、字符设备文件等等。

文件存取,顺序、随机

文件属性,例如linux系统中的权限啥啥啥的

文件操作,例如creat ,read ,delete,等

目录

一级目录:在一个目录中包含所有的文件。通用操作系统貌似很少用。

二级目录系统:为了避免不同用户为自己的文件选择相同名字的矛盾,为每个用户提供一个私有的目录。也很少用。

层次目录系统:也就是linux,windows用的目录系统。几乎现代操作系统都用这种方式。

路径名:绝对路径名、相对路径。

目录操作,例如mkdir,等。


从实现这角度来看:

实现者感兴趣的是文件、目录是怎么样存储的、磁盘空间是怎样管理的。

文件系统布局

文件系统存放在磁盘上。磁盘可以分为一个或多个分区,每个分区可以有一个独立的文件系统,例如ext2,ext3,ntfs等。

硬盘的0柱面、0磁头、1扇区称为主引导扇区(MBR)。

它由三个部分组成,主引导程序、硬盘分区表DPT(Disk Partition table)和硬盘有效标志(55AA)。在总共512字节的主引导扇区主引导程序(boot loader)占446个字节,第二部分是Partition table区(分区表),即DPT,占64个字节,硬盘中分区有多少以及每一分区的大小都记在其中。第三部分是magic number,占2个字节,固定为55AA。分区表(DPT,Disk Partition Table)含4个分区项,偏移地址01BEH--01FDH,每个分区表项长16个字节,共64字节为分区项1、分区项2、分区项3、分区项4。

计算机被引导时,BIOS读入并执行MBR,MBR第一件事事确定活动分区,读入它的第一块,称为引导块,并执行。引导块中的程序装载该分区中的操作系统。

每个分区中都有一个引导块,不管他是否包含有操作系统。

文件的实现

a\ 连续分配。把每个文件作为连续的数据块存储在磁盘上面。实现简单、读性能高。碎片会很多。现代操作系统中,磁盘文件系统中很少用;CD_ROM,DVD等存储介质中采用连续分配。

b\链表分配。为每个文件构件磁盘块链表。每个块的第一个字节指向文件的下一个磁盘块。顺序读取块,随机读取慢,碎片问题减缓。

c\i节点,inode。linux、unix用的方法。每个文件对应有一个inode数据结构。

目录的实现

目录的主要功能是将文件名映射成定位文件所需的信息,还包括文件属性。

磁盘空间管理

存储n个字节的文件可以有两种策略:分配连续的磁盘空间,或者把文件分成多个连续的块。

几乎所有的文件系统都把文件分割成固定大小的块来存储,各个块之间不一定相邻。

1、块大小的选择:扇区、磁道、柱面。

太大、浪费空间;太小,每个文件由很多块组成,每一块都有寻道、旋转延迟时间。

2、记录空闲块,2种常见方法

第一种:采用磁盘块链表,每个块中记录多个空闲磁盘块号。

第二种:位图。如果我没有记错,ext2应该是用的这种。


文件系统的性能

高速缓存。

块提前读。

减少寻道时间。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值