操作系统——内存、内存管理概念

一. 内存的基础知识

在这里插入图片描述

1. 什么是内存?有什么作用?

在这里插入图片描述

2. 进程运行的基本原理

(1). 指令

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(2). 逻辑地址VS物理地址

在这里插入图片描述

(3). 从写程序到程序运行过程

用户程序要在系统上运行,必须先将它装入内存,然后再将其转变为一个可执行程序

在这里插入图片描述

1. 装入模块装入内存(逻辑地址到物理地址的转换)

以下部分知识简单介绍装入模块的基本内容
并没有具体介绍如何实现从逻辑地址到物理地址的转换,也就是说没有详细介绍如何为程序分配内存空间的
放入了内存从0开始的地址(此时程序可正常运行)

在这里插入图片描述
放入了内存从100开始的地址(此时程序可能会出错)
在这里插入图片描述

保证装入程序地址转换正确有三种方式:

1. 绝对装入
在这里插入图片描述

2. 可重定位装入(静态重定位)
在这里插入图片描述

3. 动态运行时装入(动态可重定位)

思想:最终物理地址 = 模块在内存中的“起始地址” + 目标内存单元相对于起始位置的偏移量

在这里插入图片描述
好处:

	允许程序在内存中发生移动,并且可将程序分配到不连续的存储区中;
	在程序运行前只需装入它的部分代码即可投入运行,然后在程序运行期间,根据需要动态申请分配内存;
	便于程序段的共享,可以向用户提供一个比存储空间大得多的地址空间
  1. 紧凑

     一个系统或用户程序必须被装入一片连续的内存空间中,
     但是一台计算机运行一段时间,它的内存空间就会被分割成许多小的分区,缺乏大的内存空间
     即使这些许多小的分区容量加起来大于要装入的程序,但是不相邻无法装入
    

    在这里插入图片描述

     缺点:紧凑后的用户程序在内存中位置发生了变化,所以紧凑之后必须对移动的程序或数据进程重定位
    
  2. 动态重定位

     在系统中增设一个重定位寄存器,用来存放程序在内存的起始位置,地址变换过程是在程序执行期间,随着对每条指令或数据的访问自动进行的
     系统对内存进行紧凑之后,程序移动到了内存的另一个地方,不需要对程序做任何修改
     只要用该程序在内存的新起始地址去置换原来的起始地址即可
     
     作用:弥补了紧凑之后对移动的数据和程序地址进行修改而产生的系统开销
    

    在这里插入图片描述

  3. 动态重定位分区分配算法

特点:增加了紧凑功能

在这里插入图片描述

2. 链接的三种方式

方式一:
在这里插入图片描述
方式二:
在这里插入图片描述
方式三:
在这里插入图片描述

3. 存储器的层次结构

在这里插入图片描述

二. 内存管理的功能

存储器管理的主要对象是内存。由于对外存的管理与对内存的管理相似,只是他们用途不同,即外存主要用来存放文件,所有我们把对外存的管理放在了文件管理一章介绍

在这里插入图片描述

1. 内存的空间分配与回收

在这里插入图片描述

2. 内存空间的扩展

在这里插入图片描述

3. 地址转换

在这里插入图片描述
在这里插入图片描述

4. 内存保护

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值