以下是本人大学学计算机操作系统的笔记。有版权的,转载请注明出处。

存储管理:就是对内存的管理。

内存管理提高存储器的利用率以及从逻辑上扩充存储器。

存储管理功能:

内存的回收与分配,地址变换(程序中的逻辑地址与内存中的物理地址之间的转换),内存扩充(借助虚拟技术或覆盖技术从逻辑上扩充内存容量),内存保护(保证进入内存的各道作业都在自己的存储空间运行,互不干扰)

虚拟内存

以往的存储管理技术必须将作业全部装入内存才能执行且作业常驻内存直到运行结束,难以满足较大作业或较多作业进入内存执行。所以为了能让作业的一部分装入就可以运行的存储管理技术叫做虚拟内存管理技术。

局部性原理:大多数程序执行时,在一个较短的时间内仅能使用程序代码的一部分,相应的,程序所访问的存储空间也局限于某个区域,这就是程序执行的局部性原理。

表现为时间局部性和空间局部性。

基于局部性原理,在程序装入时可以将程序的一部分放入内存,而将其余部分放在外存,然后启动程序(部分装入)。

在程序执行期间,当所访问的信息不在内存中,再由操作系统将所需的部分调入内存(请求调入)。

另外,系统将内存中暂时不用的内容置换到外存上,腾出空间存放将要调入内存的信息(置换功能)。

这种从逻辑上扩充内存容量的存储器系统称为虚拟存储器。

分区存储管理:将内存分成若干个大小不等的区域,由多道环境下的各并发进程共享。

(给每一个内存中的进程划分一块适当大小的存储区,连续存储进程的程序和数据)

特点:管理简单,存在严重的碎片问题使内存利用率不高。进程在分区连续存放,进程大小受到分区大小的限制。

两种分法:

固定分区法:把内存固定的划分为若干个大小不等的区域。(系统对内存的管理和控制通过分区说明表进行,分区说明表说明各分区号,分区大小,起始地址和是否空闲(分区状态)。内存的分配释放,保护,地址变换都是通过分区说明表进行)

动态分区法:在作业执行前不建立分区,分区的建立是建立在作业的处理过程中进行的,大小随着作业或进程对内存的要求而改变的。相比提供内存利用率。

动态分区除了分区说明表还把内存中的可以分区单独构成可用分区表或可以分区自由链,描述内存资源。

动态分区组成,,分区说明表-,,可用分区表,每个表目记录一个空闲区:区号,分区长度,起始地址.,管理简单,缺点表大小难以确定,-占用一部分内存-可用分区自由链(利用每个空闲区头几个单元存放本空闲区大小和下一个空闲区的起始地址,系统设置一个-自由链指针指向第一个空闲区。)查找比较困难,但不占用额外内存区。....

页式管理:各进程的虚拟空间被划分为若干个长度相等的页,页长1K—4K。

进程虚拟地址变为由页号P与页内地址W组成。

同时也把内存分成与页面大小相等的区域,称为块或物理块(页面)。用户进程在内存空间除了在每个页面内地址连续之外,每个页面之间不再连续。

调度作业时必须将作业的所有页面一次调入内存,如果内存没有足够多的物理块,那么作业等待,这种方式称为简单分页。

特点:减少了碎片(任一碎片都小于一个页面)以及只在内存存放反复执行或即将执行的程序段与数据部分,把不经常执行的程序段和数据存放于外存,执行时再调入,且由连续存储提高为非连续存储。

页式虚拟地址与内存页面物理地址转:页式虚拟地址与内存物理地址建立一一对应的页表(硬件地址变换机构来执行转换)。将逻辑地址上连续的页号映射到物理内存中称为离散的多个物理块(页面),将页面和物理块一一对应,体现在页表。(页表由页号和块号组成)

对内外存的统一管理采用请求调页技术(基于局部性原理)。(什么管理?只在内存存放反复执行或即将执行的程序段与数据部分,把不经常执行的程序段和数据存放于外存,执行时再调入)

动态页式管理:1,请求页式管理2,预调入页式管理

相同点:在作业开始执行之前,都不把作业或进程的程序段和数据段一次性的全部装入内存,而只装被认为是经常执行的部分,其他部分执行过程中动态装入。

不同点:

请求页式管理:当需要的数据或指令不在内存即发生缺页中断,系统将外存中相应页面调入内存。

预调入页式管理:系统对外存中的页进行调入计算,估计出这些页中指令和数据的执行和被访问顺序,按此顺序调入和调出内存。

重点请求页式管理

系统如何发现不在内存中的虚页?

扩充页表法。

如何处理虚页这种情况设计两个问题,1,何种方式把所缺页调入内存2,内存没有空闲区,调进来的页放在什么地方()。

页面置换算法置换的单位是页面,连续存储中交换区交换的是整个进程

缺页的调入和存放,内存没有空闲页时都是一个内存页面置换算法问题。

置换算法:在内存中没有空闲页面时被调用,目的是选出一个被淘汰的页面。

轮转法:循环换出内存可用区内一个可用被换出的页,无论该页是刚被换进或已换进内存很长时间。

先进先出(FIFO)法:选择在内存驻留时间最长的一页将被淘汰。(实现方式,把已分配页面按分配时间链接起来,组成FIFO队列,置换指针指向队首,置换时把队首页换出,换人的页链接在队尾。)

FIFO的bleady现象:未给进程或作业分配足它所要求的页面数时,有时会出现分配的页面数增多,缺页次数增加的现象。

引用串

3

4

2

6

4

3

7

4

3

内存

3

4

2

6

6

3

7

4

4

3

4

2

2

6

3

7

7

3

4

4

2

6

3

3

是否缺页

T

T

T

T

T

T

T

缺页7次,命中率2/9=

最近最少使用LRU算法:选择最近最长时间没有被使用过的页面予以淘汰。

引用串

3

4

2

6

4

3

7

4

3

内存

3

4

2

6

4

3

7

4

3

3

4

2

6

4

3

7

4

3

4

2

6

4

3

7

是否缺页

T

T

T

T

T

T

缺页6次,命中率3/9=

最近没有使用NUR页面淘汰算法:从那些最近一个时期内未被访问的页中任选一页淘汰。在页表中增设一个访问位,当某页被访问时,访问位置1,否则置0。系统周期性对所有访问位清0.淘汰时从哪些访问位为0的页面选择一个进行淘汰。

引用串

3

4

2

6

4

3

7

4

3

内存

3

3

3←

6

6

6←

6

4

4

4

4

4←

4←

4

7

7←

7←

2

2

2

3

3←

3

3

是否缺页

T

T

T

T

T

T

T

缺页7次,命中率2/9=

最不经常使用LFU页面淘汰算法:淘汰到当前时间为止被访问次数最少的那一页。在页表中增设一个访问计数器。每当某页被访问,访问计数器加1,发生中断时,淘汰计数值最小的那一页,并将所有页计数器清零。

抖动现象:内存页面置换算法选择不当,导致刚被调出内存的页面又马上调入内存,调入内存不久的页面马上被调出,如此反复的现象。

抖动原因:请求分页系统中每个进程只能分配到所需全部内存空间的一部分。

计算机操作系统之存储管理相关推荐

  1. 计算机操作系统教程——存储管理的功能

    目录 1 虚拟存储器 2 地址变换 2.1 虚拟地址的划分 2.2 地址重定位 2.2.1 静态地址重定位 2.2.1.1 优点 2.2.1.2 缺点 2.2.2 动态地址重定位 2.2.2.1 优点 ...

  2. 计算机系统中存储管理是,《计算机操作系统5、存储管理.doc

    <计算机操作系统5.存储管理 一.选择题 1.存储器管理的主要功能是内存分配.地址映射.内存保护和( ). A. 2.把逻辑地址转变为内存的物理地址的过程称作( ) A. D.重定位 3.物理地 ...

  3. 计算机操作系统--存储管理

    基本概念 1. 存储器的结构 存储器顾名思义,就是用来保存数据的东西.随着科技的进步,存储器正朝着高速度.大容量.小体积方向发展.一般情况下,存储器的结构有如下两类: 寄存器-主存-外存 寄存器-缓存 ...

  4. 计算机操作系统存储管理实验报告,《操作系统》存储管理实验报告

    <操作系统>存储管理实验报告 ____大学____学院实验报告课程名称: 计算机操作系统 实验名称: 存储管理实验 实验日期: 班级: 姓名: 学号: 仪器编号: XX 实验报告要求:1. ...

  5. 国防科大计算机考研大纲,2022年国防科技大学F1003计算机操作系统考研大纲及参考书目...

    2022年研究生入学考试自命题科目考试大纲 科目代码:F1003 科目名称:计算机操作系统 一.参考书目 1.<操作系统教程>(第5版),费祥林,高等教育出版社,2014年. 2.< ...

  6. 山东科技大学计算机控制系统期末考试试卷,山东科技大学_计算机操作系统试题A...

    山东科技大学 计算机操作系统 一.单项选择题(每小题2分,共30分) 1. 有m个进程共享同一临界资源,若使用信号量机制实现对一临界资源的互斥访问,则信号量 的变化范围是(d ). A. 1至m B. ...

  7. 计算机操作系统32,计算机操作系统实验指导书32138

    计算机操作系统实验指导书32138 (22页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 14.9 积分 <计算机操作系统>实验指导书程科白素 ...

  8. 计算机操作系统还能这样玩?这一篇计算机操作系统的总结为你保驾护航(零风险、高质量、万字长文、建议收藏)

    操作系统目录 1.什么是操作系统 2.计算机操作系统的基本特征 2.1.并发 2.2.共享 2.3.虚拟 2.4.异步 3.操作系统的发展 4.OS的运行机制和体系结构 4.1.运行机制 4.1.1. ...

  9. 计算机专业 操作系统,计算机操作系统

    计算机操作系统 (2010年清华大学出版社出版的图书) 语音 编辑 锁定 讨论 上传视频 <计算机操作系统>是由殷士勇主编,2010年4月清华大学出版社出版的图书. 书    名 计算机操 ...

最新文章

  1. Springsecurity之AccessDecisionManager
  2. Boost:reference wrapper参考包装的测试程序
  3. IE浏览器各版本的CSS Hack
  4. mysql中使用sqldriverconnect()报错的解决
  5. 【算法导论33】跳跃表(Skip list)原理与java实现
  6. python 删除sheet_python操作excel
  7. OO_2019_第一单元总结——表达式求导
  8. Redis 配置文件杂项。
  9. Trip to Canvas(1)
  10. 苹果Mac临时文件存储助手工具:Yoink
  11. 【图像分割】基于matlab粒子群优化指数熵图像分割【含Matlab源码 287期】
  12. windows反馈中心服务器,Windows 管理中心入门
  13. 桌面计算机图标变黑块,电脑中的文件夹图标变成黑色的方块的四种解决方法
  14. 逆向——微信接收文本图片消息
  15. 关于10的勾股数有哪些_股票投资收益分析包括哪些方面
  16. 超过10的带圆圈的自动项目编号
  17. 什么是SNMP?为什么需要SNMP?
  18. javaSE--基础六(idea.debug,进制转换,二维数组)
  19. SpringCloud学习记录(1)-父工程与子模块创建及子模块调用
  20. 最新模版兔-基于laysns系统开发2.55可用

热门文章

  1. python/numpy将矩阵保存为文本文件
  2. 配置OpenCV的Qt开发环境
  3. 使用 Python 5 年后,我转向了Go
  4. 7.1Python异常处理
  5. SolrCloud7.4(Jetty容器)+mysql oracle 部署与应用
  6. spring-data-jpa Specification构建动态ql
  7. 一个对复用view下滑动流畅度优化,图片和内存处理,稳定性都非常强大的android开源框架(beyondPhysics)...
  8. 如何为编程爱好者设计一款好玩的智能硬件(三)——该选什么样的MCU呢?
  9. CSS的继承、权值与层叠
  10. .Net——使用DataContractJsonSerializer进行序列化及反序列化基本操作