OS的运行环境..ppt

  1. 1、本文档共107页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
OS的运行环境.

(1) 绝对地址 ––– 存储控制部件能够识别的主存单元编号(或字节地址),也就是主存单元的实际地址。 (2) 相对地址 ––– 相对于某个基准量(通常用零作基准量) 编址时所使用的地址,常用于程序的编写和编译过程中。 因为多道程序系统中,主存将存放多道作业,而程序员在编写程序时,不可能了解自己的程序将放在主存中何处运行,不可能用绝对地址来编写程序。 (3) 逻辑地址空间 ––– 指一个被汇编、编译或连接装配后的目标程序所限定的地址的集合。程序中相对地址的全体称为逻辑地址空间。是相对于实际的主存地址空间而言的。 (4) 物理地址空间 –––实际的主存地址空间。 在多道程序环境下,用户不可能决定自己使用的主存区,因而在编制程序时常按(以零作为基准地址)相对地址来编写。这样,当程序放入主存时,如果不把程序中与地址有关的“项”变成新的实际地址,而是原封不动的装入,那么程序就不能正确执行(除非有动态地址变换机构)。 2. 重定位:把程序中相对地址变换为绝对地址 举例: 0 LOAD 1, 6 2 ADD 1, 8 4 STORE 1, 10 6 A 8 B 10 相对 LOAD 1, 6 ADD 1, 8 STORE 1, 10 A B 100 102 104 106 108 ? 程序装入 主存部分 矛盾 地址单元 不变换会出错 110 (1) 静态重定位 它在程序装入主存时,由连接装入程序进行重定位,程序开始运行前,程序中各与地址有关的项均已重定位完(即已将程序中的相对地址转换成绝对地址了)。 0 LOAD 1, 6 2 ADD 1, 8 4 STORE 1, 10 6 A 8 B 10 相对 LOAD 1, 106 ADD 1, 108 STORE 1, 110 A B 100 102 104 106 108 ? 程序装入 主存部分 不矛盾 地址单元 110 (2) 动态重定位 重定位不是在程序装入过程中进行,在处理机每次访问主存时,由动态地址变换机构(硬件)自动进行把相对地址转换为绝对地址。 本节只介绍静态重定位,关于动态重定位技术将在第七章介绍。当操作系统为某目标程序分配了 一个以B为起始地址的连续主存区后,静态重定位过程就是把每个与地址有关的项都加上“ B-R” (设R是该程序编址时的基准地址,通常R=0)即可。 如上例中 B=100,R=0 小的源程序,编译后立即执行,不需要装入程序来做任何工作。实际上许多用户的程序往往要调用许多过程和子程序。过程和子程序首先要同主程序装配起来,形成一个完整的大程序才能运行。过程和子程序很可能不是同一次编译的。因此它们的地址空间之间不会已建立好某种正确关系,往往都是“ 可浮动 ” 的相对地址空间。把这些过程和子程序找出来,并同主程序装配起来,这就是连接-装入程序的功能。它与编译或汇编程序的功能密切相关。通常,连接装入程序可分为绝对装入程序和相对装入程序。 三、绝对装入程序与相对装入程序 1. 绝对装入程序 在个人计算机中,用户能使用的主存起始地址是可以知道的。这种机器上的编译和汇编程序往往把源程序翻译成绝对地址形式的目标程序。当需再次装入目标程序时,就十分简单,没有什么重定位问题,只要按其给出的起始地址,依次地读入即可。 2. 相对装入程序 ––– 连接装入程序 (多数多道程序系统使用) 把主程序同被其调用的各子程序连接装配成一个大的完整的程序,并装入主存运行 (重定位)。 (1) 由于装入程序要对诸程序进行重定位,而程序中有些项与地址无关(如直接数、寄存器号),有些项与地址有关(如指令存放地址、数据地址和地址指针等)。那么装入程序如何识别它们。通常有两种办法: ? 对程序中各数据项附加上指示字,以说明其是否需要重定位。 ? 使用一个与该程序相关联的重定位表。依次给出那些要重定位的数据项。 无论哪种办法都对编译或汇编程序提出了附加要求,因为这些工作都要由它们在编译或汇编过程中来完成。 (2) 将主程序同各程序段连接起来。这个过程比较复杂。通过例子来说明其基本原理。 ? ? ? ? CALL SUB1 ADD TIME 内部定义符号:P, e, d。 外部调用符号:SUB1, TIME。 P e d 四、中断技术 中断简介: 计算机必须能够对微处理器外面发生的事情作出响应。例如,当按动键盘上一个按

文档评论(0)

叮当文档 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档