没有合适的资源?快使用搜索试试~ 我知道了~
引入分页,解决内存分区导致的内存效率问题可变分区会导致内存中存在大量的小碎片,这样如果申请一段比较大的连续内存,会无法提供。如果将内存进行紧缩,那么需要花费大量
资源推荐
资源详情
资源评论
---
title: 内存管理-01
date: 2020-05-27 14:57:04
categories:
- 操作系统
tags:
- 基础知识
- 操作系统
- 内存管理
---
## 内存管理01
如何使用内存?
程序要想运行,首先需要将其加载到内存中,放在内存中的某个位置,然后将PC指针指向其第一条指令,这样就可以运行程序。
程序中具有一些地址信息。如果直接将程序加载到内存中,这样会导致跳转的地址并不正确。如下如所示的`call 40`指令。如果直接放到内存中,那么运行到这条指令的时候,跳转到四十,这显然是不对的。
可行的思路:重定位。修改程序中的地址(将相对地址换成绝对地址)
什么时候完成重定位操作:
1. 编译时。如果编译时确定了绝对地址,那么运行的时候就只能放大固定的位置上。
2. 载入时。操作系统加载程序的时候进行替换。这样一旦载入内存之后就不能挪动了。
但是程序在内存中的地址并不是一成不变的。内存需要换入换出。
所以最合适的是在真正运行的时候进行重定位。
在`PCB`中存储进程被放置的内存的基址,然后执行指令的时候,先从`PCB`中取出这个基址,然后和逻辑地址相加,得到真正的物理地址�
点击阅读更多
资源评论
马虫医生
- 粉丝: 24
- 资源: 324
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功