网站首页 > 技术文章 正文
存储管理
一、页式存储
将各进程的虚拟空间划分成若干个长度相等的页,页式管理把内存空间按页的大小划分成片或者页面,然后把页式虚拟地址与内存地址建立一一对应页表,并用相应的硬件地址变换机构,来解决离散地址变换问题。页式存储采用请求调页或预调页技术实现了内外存存储器的统一管理
1、优点:利用率高,碎片小,分配及管理简单
2、缺点:增加了系统的开销,可能产生抖动现象
二、页式存储
是指把一个程序分成若干个段进行存储,每个段都是一个逻辑实体(与页式存储的主要区别),程序员需要知道并使用它。它的产生是与程序的模块化直接有关的。段式管理是通过段表进行的,它包括段号或段名、段起点、装入位、段的长度等。此外还需要主存占用区域表、主存可用区域表。
1、优点:多道程序共享内存,各段程序修改互不影响
2、缺点:内存利用率低,内存碎片浪费大
三、段页式存储
段页式存储管理方式即先将用户程序分成若干个段,再把每个段分成若干个页,并为每一个段赋予一个段名。
1、优点:空间浪费小,存储共享容易。存储保护容易、能动态连接
2、缺点:由于管理软件的增加,复杂性和开销也随之增加,需要硬件以及占用的内容也有所增加,使得执行速度大大下降
四、快表
块表是易快小容量的相联存储器,有告诉缓存器组成,速度快,并且可以从硬件上保证按内容并行查找,一般用来存放当前访问最频繁的少数活动页面的页号。
块表主要存放在Cache中。页式存储、段式存储、段页式存储也可以统称为慢表,主要存放在内存中。
五、页面置换算法
1、最优(Optimal,OPT)算法
2、随机(RAND)算法
3、先进先出(FIFO)算法:优肯产生“抖动”。例如,432143543215序列,用3个页面,比4个缺页要少。
4、最近最少(LRU)使用 算法:不会“抖动”。
抖动:分配跟多的资源,反而效率降低了。
如图:先进先出(FIFO)算法,再增加资源后缺页次数增加
FIFO与LRU对比
文件管理
一、索引文件结构
1、一般的索引文件结构有13个节点(0~12)。特殊节点数量的会特殊说明。
2、索引文件结构分:直接索引,一级间接索引。二级间接索引,三级间接索引。
3、第0~9号节点为直接索引,直接对接物理盘块,物理盘块直接存放文件的内容
4、第10号节点为一级间接索引,第10号节点存放的是地址,地址对应着物理盘块。
5、第11号节点为二级间接索引,第11号节点存放的是地址,每个地址又对应着另一块地址。另一块地址才指向物理盘块。
6、第12号节点为三级间接索引,在11号节点的基础上,多指向一次地址才指向物理盘块。
7、间接的级别越多,访问的效率越低
二、文件和树型目录结构
1、文件属性:R 只读文件属性,A存档属性,S 系统文件,H隐藏文件
2、文件名的组成:驱动器号+路径+主文件名+扩展名
3、绝对路径:从盘符开始的路径
相对路径:从当前路径开始的路径
如下图,若当前目前为D1,要求F2路径,则:绝对路径为:/D1/W2/F2,相对路径为:W2/F2
三、空闲存储空间的管理
1、空闲区表法(空闲文件目录):用表记录哪一块区域是空闲的,以便管理
2、空闲链表法:将空闲区链成一条链表,需要时再将链表划分
3、位示图法(重点考察):
4、成组链接法:分组,分链的方式。
猜你喜欢
- 2024-10-20 操作系统概论:第四章 内存管理 操作系统内存管理笔记
- 2024-10-20 推荐一款nginx+redis+ehcache高并发与高可用缓存架构
- 2024-10-20 真正的缓存之王,Google Guava 只是弟弟
- 2024-10-20 图解Linux进程优先级 linux 进程优先级 线程优先级
- 2024-10-20 高性能缓存 Caffeine(一) 高效缓存cache的作用
- 2024-10-20 一文读懂进程调度算法 进程调度常用算法及其思想
- 2024-10-20 缓存最关心指标有哪些,这篇文章告诉你?
- 2024-10-20 缓存算法:LRU、LFU、随机替换等常见算法简介
- 2024-10-20 Caffine Cache 在 SpringBoot 中的使用
- 2024-10-20 力扣算法题-如何使用两个栈来实现一个FIFO的队列?
你 发表评论:
欢迎- 最近发表
-
- 在 Spring Boot 项目中使用 activiti
- 开箱即用-activiti流程引擎(active 流程引擎)
- 在springBoot项目中整合使用activiti
- activiti中的网关是干什么的?(activiti包含网关)
- SpringBoot集成工作流Activiti(完整源码和配套文档)
- Activiti工作流介绍及使用(activiti工作流会签)
- SpringBoot集成工作流Activiti(实际项目演示)
- activiti工作流引擎(activiti工作流引擎怎么用)
- 工作流Activiti初体验及在数据库中生成的表
- Activiti工作流浅析(activiti6.0工作流引擎深度解析)
- 标签列表
-
- oraclesql优化 (66)
- 类的加载机制 (75)
- feignclient (62)
- 一致性hash算法 (71)
- dockfile (66)
- 锁机制 (57)
- javaresponse (60)
- 查看hive版本 (59)
- phpworkerman (57)
- spark算子 (58)
- vue双向绑定的原理 (68)
- springbootget请求 (58)
- docker网络三种模式 (67)
- spring控制反转 (71)
- data:image/jpeg (69)
- base64 (69)
- java分页 (64)
- kibanadocker (60)
- qabstracttablemodel (62)
- java生成pdf文件 (69)
- deletelater (62)
- com.aspose.words (58)
- android.mk (62)
- qopengl (73)
- epoch_millis (61)
本文暂时没有评论,来添加一个吧(●'◡'●)