内存管理(一)

内存管理(一)

基本概念

内存管理的功能:
  1. 内存分配:负责管理系统中的内存空间,并根据进程的需求进行内存分配。内存管理器会记录内存空闲块的信息,以及已分配内存块的使用情况

  2. 地址映射:将逻辑地址(进程中使用的地址)映射到物理地址(实际的内存地址)。地址映射的目的是保护进程的地址空间,防止不同进程之间的地址冲突

    将逻辑地址转换为物理地址的过程。地址转换通常涉及页表、段表等数据结构的维护和管理,以及地址映射的实现

  3. 内存保护:通过设置内存访问权限(如读、写、执行),保护进程的地址空间不受非法访问或恶意程序的侵害。内存保护可以防止进程之间的相互干扰和非法访问

  4. 内存空间的扩充:利用虚拟存储技术或自动覆盖技术,从逻辑上扩充内存

程序的装入和链接

创建进程首先要将程序和数据装入内存。将用户资源程序变为可在内存中执行的程序。分为以下几个步骤

  1. 编译:由编译程序将用户源代码编译成若干目标模块
  2. 链接:由链接程序将编译后形成的一组目标模块及所需的库函数链接在一起,形成一个完整的装入模块
  3. 装入:由装入程序将装入模块装入内存运行
    内存管理(一)_第1张图片
链接的三种方式
  1. 静态链接:程序运行之前,先将各目标模块及它们所需的库函数链接成一个完整的可执行程序,之后不再拆开
  2. 装入时动态链接:将用户源程序编译后所得到的一组目标模块,在装入内存时,采用边装入 边链接的方式
  3. 运行时动态链接:对某些目标模块的链接,是在程序执行中需要该目标模块时才进行的。其优点是便于修改和更新,便于实现对目标模块的共享
内存的装入模块装入内存的三种方式
  1. 绝对装入:在编译时

你可能感兴趣的:(笔记,嵌入式硬件,单片机,考研,面试,linux)