文件的逻辑结构
逻辑结构的文件类型
有结构文件
-
文件内容由定长记录和可变长记录组成
-
定长记录存储文件格式、文件描述等结构化数据项
-
可变长记录存储文件具体内容
无结构文件
- 也称为流式文件
- 文件内容长度以字节为单位
顺序文件
顺序文件
-
顺序文件是指按顺序存放在存储介质中的文件
-
磁带的存储特性使得磁带文件只能存储顺序文件
-
顺序文件是所有逻辑文件当中存储效率最高的
索引文件
-
可变长文件不适合顺序文件格式存储
-
索引文件是为了解决可变长文件存储而发明的一种文件格式
-
索引文件需要配合索引表完成存储的操作
辅存的存储
辅存的存储空间分配
- 辅存的分配方式
- 存储空间管理
赋存的分配方式
连续分配
- 顺序读取文件内容非常容易,速度很快
- 对存储要求高,要求满足容量的连续存储空间
链接分配
- 链接分配可以将文件存储在离散的盘块中
- 需要额外的存储空间存储文件的盘块链接顺序
- 不支持搞笑的直接存储(FAT记录项多)
- 检索时FAT表占用较大的存储空间(需要将整个FAT加载到内存)
索引分配
- 把文件的所有盘块集中存储(索引)
- 读取某个文件时,将文件索引读取进内存即可
-
每个文件拥有一个索引块,记录所有盘块信息
-
索引分配方式支持直接访问盘块
-
文件较大时,索引分配方式具有明显优势
存储空间管理
-
空闲表
-
空闲链表
-
位示图
空闲表
空闲链表
- 空闲链表法把所有空闲盘区组成一个空闲链表
- 每个链表节点存储空闲盘块和空闲的数目
位示图
-
位示图维护成本很低
-
位示图可以非常容易找到空闲盘块
-
位示图使用0/1比特位,占用空间很小。
目录管理
目录树
文件描述信息
Linux文件基本操作Linux目录
Linux文件常用操作
- (目录 文件)创建、删除、读取、写入
Linux文件类型
Linux的文件系统文件系统概览
FAT
-
FAT(File Allocation Table)
-
FAT16 、 FAT32 等,微软 Dos/Windows 使用的文件系统
-
使用一张表保存盘块的信息
NTFS
-
NTFS(New Technology File)
-
WindowsNT 环境的文件系统
-
NTFS 对 FAT 进行了改进,取代了旧的文件系统
EXT2/3/4
-
EXT(Extended file system):扩展文件系统
-
Linux的文件系统
-
EXT2/3/4数字表示第几代
Ext文件系统
操作系统的设备管理广义的IO设备
对CPU而言,凡是对CPU进行数据输入的都是输入设备
对CPU而言,凡是CPU进行数据输出的都是输出设备
按使用特性分类
按设备的共享属性分类
按信息交换的单位分类
按传输速率分类
IO设备的缓冲区
- 减少CPU处理IO请求的频率
- 提高CPU与IO设备之间的并行性
CPU与IO设备的速率不匹配
-
专用缓冲区只使用于特定的IO进程
-
当这样的IO进程比较多时,对内存的消耗也很大
-
操作系统划出可供多个进程使用的公共缓冲区,称之为缓冲池
SPOOLing技术
-
是关于慢速字符设备如何与计算机主机交换信息的一种技术
-
利用高速共享设备将低速的独享设备模拟为高速的共享设备
-
逻辑上,系统为每一个用户都分配了一台独立的高速独享设备
-
在输入、输出之间增加了排队转储环节(输入井、输出井)
-
SPOOLing 负责输入(出)井与低速设备之间的调度
-
逻辑上,进程直接与高速设备交互,减少了进程的等待时间