操作系统-内存管理

原创 2018年04月16日 17:02:49

页面置换算法(选择换出页面的算法)页面更换率

(1)最佳置换算法OPT——理想算法、无法实现。。。T_T

(2)先进先出置换算法FIFO

(3)最近最久未使用LRU

(4)时钟置换算法CLOCK(NRU最近未用算法)

操作系统

第3章:内存管理

3.1内存管理基础

3.1.1知识点归纳

1.内存管理概念

(1)内存管理的功能

内存的分配和回收(存储器的分配、回收释放的存储区);

地址变换(逻辑地址转换为物理地址);

扩充内存容量(从逻辑上扩充内存容量);

存储保护(保护作业和系统程序不受干扰)。

(2)应用程序的处理过程

程序的链接方式:

静态连接(运行前链接成完整程序);

装入时动态链接(边装入边链接);

运行时动态链接(需要时再链接);

程序的装入方式:

绝对装入(编译时产生绝对地址);

可重定位装入(静态重定位,装入时一次性完成);

动态运行装入(动态重定位,执行时生成绝对地址);物理地址=基址寄存器内容+逻辑地址

2.交换与覆盖(扩充内存的两种方法)

(1)交换技术 Swappin

把某个程序及其数据从内存移动到外存(换出)或(换入)

(2)覆盖技术 Overlay

程序的覆盖结构:main函数为常驻段,其余各组互斥函数为覆盖段。

3.连续分配的管理方式

(1)单一连续分配(系统区and用户区)

(2)固定分区分配(允许多道作业并发执行)

1)划分分区的方法

(划分成大小相等的分区或大小不等的分区)

2)内存分配的方式

(建立分区说明表:包含分区大小、起始地址、是否分配;利用上、下界寄存器避免内存越界)

3)固定分区分配的优缺点

(可用于多道程序、存储空间利用率低)

(3)动态分区分配(分区说明表和空闲分区表)

1)分区分配算法

1:首次适应算法(空闲分区表按地址递增排列)

2:循环首次适应算法(空闲分区表按地址递增排列、设置一个起始查找指针)

3:最佳适应算法(空闲分区表按容量递增排列)

4:最坏适应算法(空闲分区表按容量递减排列)

2)分区的回收(4种情况:上邻接、下邻接、上下邻接、无邻接)

3)拼接技术(内部碎片、外部碎片、拼接方法与拼接时机)

4)分区的存储保护

(界限寄存器:上下界寄存器、基址限长寄存器;

存储保护键:存储块与保护键对应、分区是存储块的整数倍;

作业拥有保护键钥匙、存储块拥有保护键锁)

5)动态分区分配方式的优缺点(多道程序共享主存、进程地址空间受限)

4.非连续分配管理方式(分页存储管理、分段存储管理)

(1)基本分页存储管理方式(将作业放入不相邻的内存区域)

1)基本分页存储管理的实现思想

(将作业分页且页面大小是2的整数幂、将内存空间分块、一次调入作业到内存;

页号+页内偏移量;页面映像表、页表)

2)基本地址变换机构(页表寄存器:页表起始地址+页表长度)

3)具有快表的地址变换机构(快表的有效访问时间EAT:Effective Access Time)

4)两级和多级页表(避免占用过大的连续存储空间)

5)内存保护(关联到物理块中的保护位)

6)基本分页存储管理方式的优缺点(实现离散分配、不支持动态链接)

(2)基本分段存储管理方式(按逻辑关系将作业分段)

1)基本分段存储管理的实现思想(段号+段内偏移量;段表:段号、段长、段起始地址)

2)地址变换机构(段表寄存器) 

3)段的共享与保护(指向共享分段的同一个物理副本。地址越界、存取控制)

4)分段与分页的主要区别

5)基本分段存储管理方式的优缺点

(3)基本段页式存储管理方式

1)地址变换机构

2)段页式存储管理方式的优缺点

3.2




跳入JAVA

跳入JAVA透明 译我看到,很多人在问:我是否应该学习JAVA;我看到,很多人在问:JAVA和C++哪个更好? 我想我没有资格回答这些问题。但我想CUJ有资格。本文出自CUJ的import.java....
  • gigix
  • gigix
  • 2001-10-15 15:34:00
  • 2451

[操作系统]内存管理

本文内容参考自如下博客与书籍: http://blog.csdn.net/windowseight/article/details/8279863 http://bbs.chinaunix...
  • cn_wk
  • cn_wk
  • 2016-10-05 00:52:55
  • 856

操作系统笔记---内存管理

// 地址绑定 1. 是逻辑地址向物理地址映射的过程 2. 根据映射发生的时间分类: 编译时:编译后,逻辑地址已经映射到物理地址。载入时:编译时候产生可重定位代码。将程序加载到内存时,逻辑地址映射...
  • zzhhit2014
  • zzhhit2014
  • 2016-04-27 20:02:42
  • 3201

操作系统:内存管理(概念)

对于计算机系统而言,操作系统充当着基石的作用,它是连接计算机底层硬件与上层应用软件的桥梁,控制其他程序的运行,并且管理系统相关资源,同时提供配套的系统软件支持。对于专业的程序员而言,掌握一定的操作系统...
  • oMengLiShuiXiang1234
  • oMengLiShuiXiang1234
  • 2016-05-30 14:06:31
  • 9942

操作系统--面试题/内存管理

面试例题1:简述Windows内存管理的几种方式和优缺点: —–Windows内存管理方式主要分为:页式管理, 段式管理, 段页式管理。 一、页式管理的基本原理: 将各进程的虚拟空间划分成若...
  • s25691011
  • s25691011
  • 2017-08-31 10:09:29
  • 332

操作系统内存管理的一些算法

在内存管理中存在这两类算法:一类是内存分配算法,一类是页面置换算法内存分配算法:是指怎么从连续的逻辑地址空间上分配内存地址给进程。常见内存分配算法及优缺点如下:   (1)首次适应算法。使用该算法进...
  • u012637437
  • u012637437
  • 2016-03-17 00:43:57
  • 1011

《计算机操作系统》总结三(内存管理)

内存管理 包括内存管理和虚拟内存管理。 内存管理包括内存管理概念、交换与覆盖、连续分配管理方式和非连续分配管理方式(分页管理方式、分段管理方式、段页式管理方式)。 虚拟内存管理包括虚拟内存概念、请...
  • bigpudding24
  • bigpudding24
  • 2015-09-23 21:15:47
  • 3927

操作系统面试—内存管理

本文是对操作系统概念(第七版)——内存管理的学习总结,不足之处欢迎批评指正。 首先我们区分什么是逻辑地址空间和物理地址空间。 逻辑地址空间:cpu所生成的地址,逻辑地址又称为虚拟地址。 物理地址:内存...
  • qq_27225851
  • qq_27225851
  • 2016-06-24 16:55:18
  • 804

操作系统——虚拟内存管理

os中有物理地址和虚拟地址(逻辑地址)的区别 物理地址就是实际的物理内存的地址,逻辑地址是程序指令使用的地址。页表的作用就是实现逻辑地址到物理地址的映射。 x86的32位地址,前20位用于查找页表 ...
  • yyf_it
  • yyf_it
  • 2016-07-28 17:57:03
  • 354

操作系统(内存管理)

  • 2009年09月20日 12:55
  • 212KB
  • 下载
收藏助手
不良信息举报
您举报文章:操作系统-内存管理
举报原因:
原因补充:

(最多只允许输入30个字)