finish note of ComputerOS

main
PeterAlbus 3 years ago
parent a7f626b08e
commit adb62fe16b

1
.gitignore vendored

@ -1 +1,2 @@
/imgs
/html

@ -2049,3 +2049,248 @@ I/O软件普遍采用层次式结构
---
# 第七章 文件系统
为什么要使用文件系统?
+ 内存容量有限,不持久,难以共享
+ 选择存储在磁盘上
+ 持久,可共享,容量大
+ 对于普通用户使用磁盘不容易——对磁盘进行抽象,构造文件系统
### 7.1 文件系统的概念
> 文件系统是操作系统对磁盘的抽象
>
> 使得用户不需要了解以下细节:
>
> + 信息被存储在哪里
> + 信息如何保存
> + 磁盘实际上如何工作
![文件系统](http://47.117.160.245:8080/pictrue/private/os_13.png))
+ 文件系统的特征:
+ 存储大量数据
+ 进程结束不会影响文件的持续存在
+ 多个进程可以同时访问一个文件
+ 文件是由文件各标志的一组信息的集合
#### 7.1.1 文件
> 文件是由文件名标识的一组信息的集合。
命名:用户提供一个符号名→磁盘上的映射位置
文件可以带扩展名,传递有关文件的信息
另一种方式则是按内容寻址
#### 7.1.2 文件类型
+ 按照文件用途分类
+ 系统文件
+ 用户文件
+ 库文件
+ 按照文件中的数据形式进行分类
+ 源文件
+ 可执行文件
+ 视频文件
+ etc.
操作系统给能够识别和莪支持多少种类的数据文件,是衡量操作系统应用范围的重要标志
部分操作系统将文件的数据类型隐含在扩展名中(如MS-DOS)
Linux、Unix则没有隐含文件类型扩展名仅仅用于帮助用户识别
#### 7.1.3 文件访问
+ 两种文件访问类型:随机访问、顺序访问
#### 7.1.4 文件属性
文件属性并不属于文件内容,但文件属性是操作系统管理和控制文件,是实现文件保护的重要依据。
要管理和控制文件,不能只通过文件名,还要通过文件的其他属性
+ 文件标识符
+ 文件拥有者
+ 文件类型
+ 文件的存取控制
+ 文件定位(location)
+ 文件大小
+ 文件保护
+ 文件日期和时间
### 7.2 文件结构*
> 文件结构是指文件中信息的构造和组织方式
+ 文件的逻辑结构
+ 字节流结构形式:在文件中按字节个数/特殊符号分界
+ 记录结构形式
基本单位:逻辑记录
逻辑记录是文件内独立的最小单位
又可以按照记录的排列顺序不同分为:
+ 连续文件:文件按照记录生成的时间顺序连续排列
+ 索引文件:对文件建立一个索引表,文件中的每条记录在索引中有响应的表项
+ 顺序索引文件
### 7.3 文件目录
**文件目录本身也是文件**
+ 目录包含了一组文件的映射
+ 名称→文件标题的磁盘块
+ 通常可以用一个简单的数组实现,数组存放着文件夹的内容
+ ls/dir命令查看目录内容
+ 可以用相同的方式对待目录和文件
+ 目录里可以存放目录
+ 根目录是系统文件的总起点
**路径名:**一种指定树中的文件名称的方式
+ 绝对路径
+ 相对路径
**链接**:快捷方式
+ 链接允许一个文件在多个地方出现
+ 指定一个文件到路径名之间的链接
### 7.4 文件系统的实现
#### 7.4.1 文件系统的布局
+ 文件系统储存在磁盘上
+ 大多数磁盘被分区
+ 每个分区有自己的文件系统
磁盘的第0个扇区为主引导记录MBR
+ MBR用于启动计算机
+ MBR后面紧接着就是磁盘分区表
+ 给出每个分区的起始和结束地址
+ 一个分区标记为激活状态,称为主分区
+ 主分区最前面是引导记录
+ 计算机启动时由BIOS读写MBR
+ MBR定位系统主分区加载引导记录
+ 引导记录加载操作系统映像
+ 引导记录块之外的内容因系统情况而异
#### 7.4.2 文件在磁盘上的存放方式
+ 连续存放方式
+ 存储在一片连续的磁盘空间
+ 用户需实现声明文件大小
+ 文件定位:起始块+文件尺寸
+ 会导致磁盘碎片
优点:
+ 快速顺序访问
+ 易于随机访问
缺点:
+ 碎片
大多系统文件采用顺序存储的方式储存以加速访问
+ 链表方式
+ 保存每个文件的所有磁盘块的链表
+ 磁盘块不需要临接
优点:
+ 没有磁盘碎片空间被浪费
+ 方便文件的增长、收缩
缺点:
+ 随机访问速度慢
+ 链表的存放需要存储空间
链表方式使用内存中的文件分配表(FAT)解决存放需要空格键的问题
+ 索引方式
+ 为每个文件建立索引表
+ 前提条件:文件的逻辑记录大小等于物理块大小
+ 用户先宣称文件大小
+ 分配一个含有相应数量指针空间的文件头,即索引
+ 类似于页表
优点:
+ 文件易于增长
+ 易于随机访问
缺点:
+ 顺序访问效率不高
+ 如果数据块数超过索引头预留的指针数时,文件增长不容易
+ 解决:使用多级索引
+ 多级索引,增加空间,但访问次数高,效率降低
#### 7.4.3 目录实现
+ 文件夹包含了里面文件的记录项
+ 主要功能:提供文件名到文件地址的映射
+ 哪里可以保存文件的属性:
+ 目录
+ 索引项
文件共享:树/链接
#### 7.4.4 磁盘空间管理:
+ 文件被正常存储在磁盘上
+ 磁盘空间管理很重要
+ 类似于内存空间管理
+ 连续分配
+ 非连续分配:文件分页,磁盘划分为磁盘块
#### 7.4.5 闲置空间管理
##### 1.空闲表法
空闲表主要适合连续文件,系统通过一个空闲表管理磁盘的所有空闲分区。
为文件分配空闲区的方法与内存的空闲区分配类似(首次适应法,最佳适应法)
可用于虚拟存储器管理的外存对换空间的分配
##### 2.空闲链表法
属于非连续分配方式。要在磁盘的每个空闲块中设置一个指向下一个空闲块的指针。
优点:适合文件动态增长和收缩
缺点:效率较低
##### 3.位视图法
用若干个字节构成一个表,表中每一个字位表示一个磁盘块的使用情况。
为了防止用户占用太多磁盘空间:磁盘配额
### 7.5 文件系统的性能*
+ 文件系统可靠性
+ 一致性
+ 持久性
+ 文件系统性能
+ 文件保护机制

@ -13,12 +13,22 @@
其余完成度较低笔记上传.md文件需自行使用markdown阅读器查看。
---
6月26日操作系统笔记已更新添加了目录点击目录即可展开推荐使用电脑查看
目录的生成在[(4条消息) typora生成html添加侧边目录/typora侧边栏与正文,toc都带序号_酒逢知己千杯少,欢迎驾临-CSDN博客_typora导出html带大纲](https://blog.csdn.net/u012914436/article/details/99679320)的基础上修改
---
+ **数据库笔记**Database.md
在网页上查看:[Database](http://47.117.160.245:8080/database.html)
点击在网页上查看:[Database](http://47.117.160.245:8080/database.html)
+ **操作系统笔记**ComputerOS.md
点击在网页上查看:[ComputerOS](http://47.117.160.245:8080/ComputerOS.html)
+ **算法基础笔记**FundamentalsOfAlgorithmics.md
+ **数学建模笔记**MathematicalModeling.md

Loading…
Cancel
Save