打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
操作系统笔记十(文件系统)视频第十二章

12.1 文件系统:总体介绍
文件系统和文件
文件系统:一种用于持久性存储的系统抽象,放在磁盘上
文件:文件系统中一个单元的相关数据在OS中的抽象

12.2 文件系统的功能
分配文件磁盘空间
管理文件集合
提供的便来以及特征:保护(可访问性) 可靠性(持久性)

12.3 文件和块
12.4 文件描述符
内核会跟踪每个进程打开的文件,然后OS为每个进程维护一个打开文件表,那么文件描述符就是这个表中的索引

用元数据来管理打开文件:
文件指针,文件打开次数,文件磁盘位置,访问权限

用户怎么访问文件
顺序访问 按字节依次读取 几乎所有的访问
随机访问 从中间读写 不常用但是重要
基于内容访问 通过特征 通过建立索引然后查找文件

文件内部结构:
无结构 单词,比特队列
简单记录结构 列,固定长度,可变长度
复杂结构 格式化的文档 可执行文件

12.5 ,目录
一个文件系统需要先挂载才能被访问
文件别名
举个栗子,快捷方式就是这个文件存放了另一个文件的路径名,这是软链接
硬链接:指的是多个文件项指向一个文件

12.6 文件系统种类
磁盘文件系统 数据库文件系统 日志文件系统 网络/分布式文件系统

下面讲的是文件系统的实现

12.2 虚拟文件系统
分层结构 上层是 虚拟(逻辑)文件系统
底层是 特定文件系统模块
虚拟文件系统的目的:对所有不同文件系统的抽象
功能:提供相同的文件和文件系统接口
管理所有文件和文件系统关联的数据结构
高效查询例程,遍历文件系统
与特定文件系统模块的交互
虚拟文件系统不存在在硬盘上,它存在在内存中,当OS创建之后,就会创建
文件系统数据结构 卷控制块(每个文件系统一个)
文件控制块(每个文件一个)
目录节点(每个目录一个)
这些在何时进入内存呢:当需要时加载进内存
卷控制块:当文件系统挂载时进入内存
文件控制块:当文件被访问时进入内存
目录节点:当你遍历一个文件路径时进入内存
12.3 数据缓存
数据块按需读入内存
数据块使用后被缓存
两种数据缓存方式: 普通缓冲区缓存 页缓存

12.4 打开文件的数据结构
强制和劝告

12.5 文件分配
对文件数据空间的管理
如何为一个文件分配数据块
连续分配 用文件头指定起始块和长度 , 不能实现方便地添加扩展删除功能

链式分配
增删较为容易
缺点:串行访问,不能快速访问;不可靠,一旦断一个

索引分配:支持直接访问,增删容易,但是

12.6 空闲空间列表
用位图来表示空闲空间
位图 必须保存在磁盘上

12.7 多磁盘管理RAID
12.8 磁盘调度
是在OS层面重新组织I/O请求顺序,有效减少磁盘访问的开销

总是选择寻道时间最少的,那么对远的访问请求不友好,不公平

完结撒花?

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
磁盘IO:缓存IO、直接IO、内存映射
Web应用缓存系统的分类-Web开发-网站建设
延缓写入失败
数据缓存
七 redis学习笔记之持久化
面试官:消息中间件如何实现每秒几十万的高并发写入?【石杉的架构笔记】
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服