计算机操作系统第四章作业
1.何为静态链接?静态链接时需要解决两个什么问题?
答:静态链接是指在程序运行之前,先将各自目标模块及它们所需的库函数,链接成一个完整的装入模块,以后不再拆开的链接方式。
将几个目标链接装配成一个装入模块时,需解决以下两个问题:
将相对地址进行修改。即将除第一个模块外的相对地址修改成装入模块中的相应的相对地址。
变换外部调用符号。即将每个模块中所用的外部调用符号,都变换为相对地址。
2.何谓装入时动态链接?装入时动态链接方式有何优点?
答:装入时动态链接是指将用户源程序编译后所得到的一组目标模块,在装入内存时,采用边装入边链接的一种链接方式,即在装入一个目标模块时,若发生一个外部模块调用事件,将引起装入程序去找相应的外部目标模块,把它装入内存中,并修改目标模块中的相对地址。
装入时动态链接方式有以下优点:
1)便于修改和更新 2)便于实现对目标模块的共享
3.何谓运行时动态链接?运行时动态链接方式有何优点?
答:运行时动态链接是将对某些模块的链接推迟到程序执行时才进行链接,也就是,在执行过程中,当发现一个被调用模块尚未装入内存时,立即由0S去找到该模块并将之装入内存,把它链接到调用者模块上。
优点:凡是在执行过程中未被用过的目标模块,都不会被调入内存和被链接到装入模块上,这样不仅能加快程序的装入过程,而且可节省大量的内存空间。
4.地址重定位发生的三个阶段分别是什么,如何实现(P17)
地址重定位指把目标程序中的逻辑地址转换成主存空间的物理地址。
操作系统页式地址变换中的运用:
其计算方法为:物理地址(PA)= 块号×页长+页内地址。
5.题目:
答:
(1 60k
(2 200k
(3 270k
(4 390k