【王道考研 操作系统】【第三章】内存的基础知识 进程的运行原理 逻辑地址vs物理地址

第一章【王道考研 操作系统】【第一章】操作系统的概述、特征、发展、体系结构 中断与系统调用

第二章【王道考研 操作系统】【第二章】进程概念 进程控制 进程通信 线程概念和多线程模型
         【王道考研 操作系统】【第二章】处理机调度 进程调度算法
         【王道考研 操作系统】【第二章】进程同步、进程互斥的实现方法 软件&硬件 优点&缺点 信号量机制
         【王道考研 操作系统】【第二章】管程 用管程解决进程互斥和同步问题
         【王道考研 操作系统】【第二章】死锁的概念 预防死锁 避免死锁 死锁的检测和解除

第三章

1. 内存的基础知识

1.1 内存的定义和作用

 内存是用于存放数据的硬件,缓和了外存到CPU的速度矛盾。程序执行前需要 先放到内存中才能被CPU处理
  image-20220304133546895

1.2 进程的运行原理

image-20220304133925199

1.2.1 逻辑地址 vs 物理地址

 编译时产生的指令只关心 ”相对地址“,实际放入内存中时可根据起始位置得到 ”绝对地址“。相对地址又称为 逻辑地址绝对地址 又称为 物理地址
image-20220304134447937

1.2.2 从写程序到程序运行

image-20220304134618168

  1. 链接:由链接程序将编译后的一组目标模块,以及所需库函数链接在一起,形成一个装入模块。
    image-20220304141258207

  2. 装入:由装入程序将装入模块装入内存中运行,完成从逻辑地址到物理地址的转换。

    1)绝对装入:如果在编译时就知道程序将放到内存中的哪个位置,编译程序将产生绝对地址的目标代码。装入程序按照装入模块中的地址,将程序和数据装入内存。(在编译时完成
    image-20220304135337205
    2)静态重定位:又称为 可重定位装入。编译、链接后的装入模块中的地址是从0开始的,指令中使用的地址、数据存放的地址都是相对于起始地址而言的逻辑地址。根据内存的当前情况,将装入模块装入到内存的适当位置,装入时对地址进行 ”重定位“。(在装入时一次完成
    image-20220304135721333

    3)⭐动态重定位:又称为 动态运行时装入。编译、链接后的装入模块中的地址是从0开始的。装入程序把装入模块装入内存后,不会立即转换地址,而是 把地址转换推迟到程序真正要执行时才进行。因此,装入内存后所有的地址依然是逻辑地址。这种方式需要一个 重定位寄存器 的支持。
    image-20220304140059950

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值