美文网首页操作系统学习笔记
内存管理(一)物理内存管理

内存管理(一)物理内存管理

作者: minlover | 来源:发表于2017-03-27 13:16 被阅读24次

1、

操作系统将物理内存抽象成一个字节数组,每个字节有一个物理地址。

根据物理地址可以访问到物理内存中的任意一个字节。

最小管理单位是字节,将物理上连续多个字节看成一个内存块,以块为单位分配、释放、回收物理内存。

操作系统的内核可以驻留在物理内存中,也可以驻留在 ROM 中。


2、Intel 系列的机器可以向 BIOS 查询物理地址空间的布局。(ARM 处理器没有 BIOS,但有其他机制)

BIOS 提供的 int 0x15 的 0xe820功能,可以获得一种内存布局表,由多个区间(开始地址、大小、属性)组成。

ucore 在 bootasn.S 中探测内存布局,将探测结果保存在物理内存 0x8000处。


3、BIOS 将系统的物理内存分为四大类:可用 RAM;保留 RAM,OS 不可用;ACPI 描述表使用;ACPI 非易失数据

物理内存管理只有可用 RAM 类。有些已经被引导程序、内核用掉了。

内核在内存中的开始位置是知道的,终止位置只有连接程序知道,可在连接脚本中定义,由连接程序提供。

连接脚本中 “.” 代表当前位置:var = . 该值便为连接程序确定的当前地址


4、内存管理的单位为内存块,内存块由多个物理上连续的字节组成。

描述内存块:位图、链表、数组等

最简单的物理内存管理方法是不管理,改进:分区管理(连续内存管理方法)

将内存划分为区,以区为单位分配内存,由使用者自己管理区内内存的使用。不允许跨区使用内存。

分区方法:静态分区法,动态分区法,伙伴算法

相关文章

  • 3. 内存管理

    内存管理 内存管理包含: 物理内存管理; 虚拟内存管理; 两者的映射 除了内存管理模块, 其他都使用虚拟地址(包括...

  • 内存管理(一)物理内存管理

    1、 操作系统将物理内存抽象成一个字节数组,每个字节有一个物理地址。 根据物理地址可以访问到物理内存中的任意一个字...

  • 关于内存

    内存管理 内存管理包含: 物理内存管理; 虚拟内存管理; 两者的映射image.png 一个程序被加载启动,一个重...

  • 6.828 操作系统 lab2 实验报告

    Introduction 该 lab 主要需要编写操作系统的内存管理部分。内存管理分为两个部分: 内核的物理内存分...

  • 3物理内存管理:连续内存管理

    5.1计算机体系结构和内存层次 计算机体系结构 内存层次 操作系统的内存管理 存储管理要达到效果是抽象,把线性的物...

  • kernel 内存 I/O

    内存 I/O# 内存管理单元## MMU辅助操作系统进行内存管理,提供虚拟地址和物理地址的映射、内存访问权限保护和...

  • Linux kernel之二内存管理之连续内存page fram

    1.固定长度的物理内存管理技术-page frame 管理 用4KB page frame 作为基本的内存管理单元...

  • android内存管理和优化

    androd内存管理 物理内存与进程内存物理内存即移动设备上的RAM,当启动一个Android程序时,会启动一个D...

  • 浅析malloc()

    1 介绍 2 内存管理2.1 内存地址2.1.1 虚拟内存地址与物理内存地址2.1.2 内存布局2.1.3 堆内存...

  • 系统的内存管理

    物理地址 物理设备的真实内存地址,早期的电脑就是使用直接使用物理内存进行内存管理,为了解决多个应用内存过快使用完的...

网友评论

    本文标题:内存管理(一)物理内存管理

    本文链接:https://www.haomeiwen.com/subject/vrplottx.html