操作系统L15
长期存储信息的三个基本要求:
能够存储大量信息
使用信息的进程终止时,保存的信息仍旧存在
必须能使多个进程并发访问有关信息
解决方案:将信息以称为文件的单位存储在磁盘或其他外部媒体上。
File 文件
- 文件是进程创建的信息逻辑单元
- 文件是对磁盘的建模
- 可以把每个文件看成一个地址空间
文件命名
- 是一种抽象机制,提供了一种在磁盘上保存信息而且方便以后读取的方法
- 每一个文件至少有一个名字
- 名字可能包括了文件内容的信息,让人知道里面有什么,计算机可能会使用名字的一部分去决定文件类型
文件结构
- Windows和UNIX:字节序列
- Large mainframe computers 大型主机:Tree

文件类型
- 普通文件
- ASCII文件:可以显示和打印以及在文本编辑器中编辑
- 二进制文件

文件访问
- 顺序访问 Sequential access
- 进程在系统中可从头按顺序读取文件的全部字节或记录
- 但不能跳过某一些内容,也不能不按顺序读取
- 可以返回到起点的,需要时可多次读取该文件
- 存储介质是磁带(magenetic tape)时比较方便
- 随机访问文件 Random access
- 用磁盘可以不按顺序读取文件,或者按照关键字
- 能够以任何次序读取其中字节或记录的文件
- 对数据库系统必不可少
- seek操作设置当前位置,之后从这个当前位置顺序地开始读文件
文件属性
attribute,也叫元数据(metadata)

文件操作

目录 Directories
- 文件系统有目录或文件夹来跟踪文件。
- 一个单级目录有一个包含所有文件的目录(根)。
- 两级目录具有根目录和用户目录。
- 分层目录有一个根目录和任意数量的子目录。
A single level directory system 一级目录系统

优点:简单、并且能够快速定位文件
Two-level Directory Systems 两级目录系统

Hierarchical Directory Systems 层次目录系统

A UNIX directory tree

- 两种不同的方法用于在目录树中指定文件名:
- 绝对路径名(absolute path name)由从根目录到文件的路径组成。
- 例如,cp /usr/ast/mailbox /usr/ast/mailbox.bak
- 相对路径名(relative path name)由当前目录(工作目录)的路径组成。
- 例如,cp ../lib/dictionary → cp /usr/lib/dictionary
- 绝对路径名(absolute path name)由从根目录到文件的路径组成。
- 不同系统的路径名不同:
- Windows:
- UNIX:/usr/ast/邮箱
- MULTICS:>usr>ast>邮箱
- “.” 和“..”是文件系统中的两个特殊条目。
- 点 (.) 指的是当前目录(工作目录)
- 点点 (..) 指的是它的父级
Directory Operaitons

文件系统的实现
File System Layout 文件系统布局
- 文件系统布局:
- MBR(主引导记录)用于引导计算机。
- 分区表给出了每个分区的起始地址和结束地址。
MBR(Master Boot Record, 主引导记录):
- 磁盘的0号扇区
- 在MBR的结尾是分区表,给出了每个分区的起始和结束地址
- 表中的一个分区被标记为活动分区
- 在计算机被引导时,BIOS读入并执行MBR
- MBR做的第一件事是确定活动分区,读入它的第一个块,称为引导块(boot block),并执行
- 为统一起见,每个分区都从一个引导块开始,即使它不含可启动的操作系统。

- Boot block 引导块:系统启动时由MBR程序读入。
- Superblock 超级块:包含文件系统的关键参数。
- Free blocks information 空闲块信息
- I-nodes 告诉所有关于文件的信息。
- Root directory 根目录
- Directories and files 目录和文件
File Allocation 文件的实现
连续分配 Contiguous Allocation
- 将每个文件存储为连续的数据块。

- 好处:
- 实施简单;
- 读取性能非常好。
- 缺点:
- 磁盘碎片 Disk fragmentation
- 创建文件时必须知道最大文件大小。
- 示例:CD-ROM、DVD
File Control Block 文件控制块
- 一个文件由文件控制块(FCB)和文件体组成。
- FCB存储文件的属性信息
- 例如,名称、路径、访问控制信息。
- 在Unix中,FCB是由i-node实现的
问题



- FIFO
- SSF
- Elevator algorithm




Check points
- List three reasons for long-term information storage;
- What is sequence of bytes file structure?
- Please list at least five common file attributes.
- 没有文件名也没有文件类型
- What is relative path name and why do we need relative path name?
Solution
- 三点
- 存储容量受虚拟地址空间大小的限制,不同的应用对地址空间的要求不同;
- 进程终止时,它保存的信息也随之丢失,但还是有些信息需要保存信息
- 经常需要多个进程同时访问同一信息或其中部分信息
- 把文件看成字节序列
- Creator、Owner、Key length、Current size、Maximum size
- ?
- 两问
- 相对当前路径开始的路径
- More convient
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Yeの博客!