好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

程序装入内存技术.doc

10页
  • 卖家[上传人]:gg****m
  • 文档编号:203674154
  • 上传时间:2021-10-22
  • 文档格式:DOC
  • 文档大小:75KB
  • / 10 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1 3种装入模式:2 1o绝对装入:逻辑地址=绝对地址3 2o重定位装入:静态重定位技术,地址在程序装入时计算,装入后物理地址不再4改变运行时动态装入:重定位寄存器67可执行程序的链接形成:8K静态链接:整个的装入模块具有一个线性的逻辑地址,可以采用2、3装入方式9 2.动态链接:10装入时动态链接:11未链接外部模块,而在装入时杳找、定位12优点:有利于目标模块的更新与升级,有利于代码共亭;有利于扩充软件的功13能,可以将扩充部分作为动态链接模块14缺点:可能链接一些不会执行的模块15运行时动态链接:16运行时链接外部模块1718==================19简单存储管理技术:2021相对虚拟储存而言的,将待执行的程序全部装入内存2223程序在内存中如何组织?24 K连续储存,需要紧凑技术25基址寄存器:存放当前执行进程的起始地址貝他放在PCB中26界限寄存器:限定进程的执行范围27地址转换和越界检查28 2非连续存储:“段”“页”存储技术29分页存储的基木原理:30 U固定分区31 2o物理内存一〉页框程序一>页血32 [页号,页内偏移量]33数据结构:页表,页框表3435地址变换:36 1 o逻辑地址一> [页号,页内偏移量]。

      37 2,页号检索页表,杳找页面对皿的页框号38 3根据页框号和页内偏移量计算物理地址3940反置页表:从内存的角度建立页表41多级页表可执行程序的生成步骤I编辑源程序目标模块目标模块 库函数 / 链接装入模块内存可执行程序的装入・?如何装入待执行的程序及其所需的数据・?何时将程序的逻辑地址转换为物理地址• 3种装入方式: 时动态装入绝对装入、重定位装入和运行绝对装入・程序运行之前,按照程序的逻辑地址, 将程序和数据装入内存指定的地方・实现简单,无须进行逻辑地址到物理地 址的变换绝对装入缺点:•程序每次必须装入同一内存区;•程序员必须事先了解内存的使用情况,根据内 存情况确定程序的逻辑地址;•程序的修改(增加或删除指令)将引起整个程 浄审牆呑应加爲丈动;•程序中的所有存储引用,例如函数调用或过程 调用等,在装入之前都必须转换为物理地址, 这不利于存储共享重定位装入E3•允许将程序装入与逻辑地址不同的物理 内存空间即程序可以装入到内存的任 何位置,其逻辑地址与装入内存后的物 理地址无直接关系•但是,必须进行地址映射,将逻辑地址 转换另劎鏈地址•静态重定位技术:地址映射在程序装入 时进行,以后不再更改程序地址。

      重定位装入•有利于程序代码和数据的共享因为装入程序 时,可以将其中的某些存储引用的逻辑地址映 剧为田存申已看的龚享区的物理地址•但是,静态重定位不允许程序在内存中移动 这不便于进程交换和紧凑拼接操作,也很难实现多道程序环境下,多个程序同时装入内存的要求•故,重定位装入方式只适合于单道程序环境运行时动态装入・指,程序的地址转换不是在装入时进行,而是 在程序运行时动态进行•运行时动态装入需要硬件支持,即重定位寄存 器,用于保存程序在内存中的起始地址•程序被执行时,通过重定位寄存器内的起始物 理地址和指令或数据的逻辑地址计算其物理地 址•运行时动态装入有利于多道程序环境下,进程 的换进/换出及实现紧凑技术可执行程序的链接形成-?目标模块如何链接成装入模块呢 •静态链接•动态链接:装入时动态链接和运行时动 态链接静态链接•指,程序被装入内存之前,必须完全链接成一 个装入模块,将其中的存储引用全部转换为相 对地址跳转语句并将多个目标模块链接成为 一个模块,使装入模块中的每一条指令具有相 对于整个模块的第一条语句的逻辑地址•静态链接生成的装入模块可以采用重定位装入 或运行时动态装入方式•静态链接需要花费大量的处理机时间。

      而其中 的很多模块将不会运行,浪费存储空间和处理 机时间 ?执行?执行(b)装入模块(a) U标模块图3.11 U标模块链接成装入模块动态链接指,不用事先链接所有目标模块形成一 个完备的装入模块,而是生成一个含有 未被链接的外部模块引用的装入模块, 这些外部模块可以在装入时链接,或运 行时琏接装入时动态链接•指,当系统装入含有未链接的外部模块引用的 装入模块时,每当遇到一个外部模块引用,则 查找相应的目标模块将其装入内存,并将模 块内的指令地址转换为相对于整个装入模块起 始地址始廂对地址•优点:有利于目标模块的更新与升级;有利于 代码共享;有利于扩充软件的功能,可以将扩 充部分作为动态链接模块•但是,可能链接一些不会执行的模块,浪费存 储空间和处理机时间运行时动态链接•指,外部模块引用直至程序执行时才装入内存, 并链接到装入模块中,进行地址转换•可以解决静态链接和装入时动态链接都面临的 存储空间和处理机时间浪费问题,不需要执行 的模块就不会装入内存•需時处理系统如航空售票系统 银•操作系统自身的一些特殊处理例程,如错误处 理例程,也无需事先全部装入内存。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.