文件存储空间管理
1.操作系统的概念与功能2.操作系统的特征3.操作系统的发展与分类4.操作系统的运行机制5.中断和异常6.系统调用7.计算机系统体系结构8.操作系统引导 (Boot)9.虚拟机10.进程的概念、组成、特征11.进程的状态与转换、进程的组织12.进程控制13.进程通信14.线程的概念、作用和属性15.线程的实现方式和多线程模型16.线程的状态与转换、组织与控制17.调度的概念与层次18.进程调度的时机、方式、切换与过程19.闲逛进程20.调度算法的评价指标21.调度算法22.调度算法(一)23.调度算法(二)24.调度算法(三)25.进程同步与进程互斥26.进程互斥的软件实现方法27.进程互斥的硬件实现方法28.互斥锁29.信号量机制30.信号量实现进程互斥、同步、前驱关系31.生产者-消费者问题32.多生产者-多消费者问题33.吸烟者问题34.读者-写者问题35.哲学家进餐问题36.管程37.死锁38.死锁的处理策略39.(一)预防死锁40.(二)避免死锁41.(三)死锁检测和解除42.内存的基础知识43.内存管理的概念44.覆盖与交换45.连续分配管理方式46.动态分区分配算法47.基本分页存储管理的基本概念48.基本地址变换机构49.具有快表的地址变换机构50.两级页表51.基本分段存储管理方式52.段页式管理方式53.虚拟内存的基本概念54.请求分页管理方式55.页面置换算法56.页面分配策略57.内存映射文件58.初识文件管理59.文件的逻辑结构60.文件目录61.文件的物理结构(文件分配方式)62.逻辑结构与物理结构
63.文件存储空间管理
64.文件的基本操作65.文件共享66.文件保护67.文件系统的层次结构68.文件系统的全局结构(布局)69.虚拟文件系统&文件系统挂载(安装)70.IO设备的概念和分类71.IO控制器72.IO控制方式73.IO软件层次结构74.IO应用程序接口&设备驱动程序接口75.IO核心子系统76.假脱机技术(SPOOLing技术)77.设备的分配与回收78.缓冲区管理79.磁盘的结构80.磁盘调度算法81.减少延迟时间的方法82.磁盘的管理83.固态硬盘文件存储空间管理
一、存储空间的划分与初始化
概念:
划分物理磁盘为一个个文件卷/逻辑卷/逻辑盘
各个文件卷划分为目录区和文件区
二、存储空间管理方法
类比内存空间管理,只是对象不同,这里针对磁盘。
(一)空闲表法
适用于连续分配。
回顾:第3.5节内存管理的动态分区分配算法
要留意表项的修改和合并问题。
(二)空闲链表法
”盘块“和“盘区”的二者对比:
(1)空闲盘块链
适用于离散分配。
(2)空闲盘区链
连续分配、离散分配都适用。
(三)位示图法
连续分配、离散分配都适用。
盘块号与 (字号,位号) 的换算较复杂,需要细心。
(四)成组链接法
注意,成组链接法参考了:
b站天勤率辉
【配资料】天勤计算机考研408之操作系统(全视频合集版)
OS第四章文件管理【5】文件存储空间管理
指挥部:11:49~20:00
回顾之前各种存储空间的管理方法的演变:
盘块链
盘区链
成组链接法
(最终)
为空闲盘块标号且展开后:
始终将第一组读入超级块中。每一组的头节点还将存储多一个数N,保存下一组的空闲盘快数。
分配与回收发生在与超级块相连的组上。
每一个组以及超级块各自的栈长度有限,影响分配与回收。
分配情况:
- 分配完组内还有更多空闲盘块:从组内尾部开始分配即可,修改N位
- 分配完组内没有更多空闲盘块:将下一组的栈数据更新读入到超级块中,更新对应的指针连接情况
回收情况:
- 超级块的栈仍有空位回收:直接回收,尾插到本组(超级块所在组)中
- 超级块的栈没有空位回收:新构成的组将自己的相关信息更新到超级块,同时头插到整个成组链表中
(新组继续回收空间)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 提示词工程——AI应用必不可少的技术
· 地球OL攻略 —— 某应届生求职总结
· 字符编码:从基础到乱码解决
· SpringCloud带你走进微服务的世界