1以c语言为例从源程序到可执行目标程序
c程序经过预处理—>编译—>汇编—>链接产生了可执行文件。
编译后的程序需要经过链接才能装载,而链接后形成的目标程序中的地址也就是逻辑地址。因此链接形成了逻辑地址。装载则是由逻辑地址变换到物理地址。
编译是从高级语言翻译为机器语言,汇编是从低级语言翻译为机器语言。
2限制内存分配的目的是什么?
存储保护
3实现虚拟内存管理需要有什么硬件的支持?
需要请求分页页表机制,缺页中断机构,地址变换机构等。
4什么是交换技术?
举例,有一个CPU采用时间片轮转调度算法的多道程序环境。时间片到,内存管理器将刚刚执行过的进程换出,将另一进程换入刚刚释放的内存空间。同时,CPU调度器可以将时间片分配给其他已在内存中的进程。每个进程用完时间片都与另一进程交换。
有一点很重要,当进程处于I/O操作时不能换出主存,否则其I/O数据区将被新换入的进程占用,导致错误。不过可以在操作系统中开辟I/O缓冲区,将数据从外设输入或将数据输出到外设的I/O活动在系统缓冲区中进行,这时系统缓冲区与外设I/O时,进程交换不受限制。
5段页式管理方式
在段页式系统中,作业的逻辑地址分为三部分:段号,页号和页内偏移量。
为了实现地址变换,系统为每个进程建立一张段表,每个分段都有一张页表。段表表项中至少包括段号,页表长度和页表始址,页表表项中至少包括页号和块号。此外,系统中还应有一个段表寄存器,指出作业的段表始址和段表长度