存储管理

本文详细介绍了操作系统中的存储管理,包括程序的链接和装入、连续的存储管理、页式和段式存储管理,以及虚拟存储管理和请求分页式存储管理。重点讨论了静态和动态链接、不同类型的装入方式、连续存储管理的优缺点和分配策略,以及页式、段式和段页式存储管理的区别。此外,还涵盖了虚拟存储管理中的时间、空间局限性和各种置换算法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.程序的链接和装入

1)源程序装入主存的步骤:
  • 编译:由编译程序(Compiler)将用户源代码编译成若干目标模块;
  • 链接:由链接程序(Linker)将编译后形成的一组目标模块以及它们所需要的库函数链接在一起,形成一个完整的装入模块;
  • 装入:由装入程序(Loader)将装入模块装入主存


2)程序的链接方式:

  • 静态链接:在程序运行前,将各个目标模块以及所需的库函数链接成一个完整的装入模块,又称为可执行文件。


  • 装入时动态链接:在装入主存时,采用边装入边链接的方式。即在装入一个目标模块时,若需要调用另一个模块,则找出该模块,将它装入主存,并修改目标模块的逻辑地址。
  • 运行时动态链接:指在程序执行过程中当需要该目标模块时,才把它装入主存并进行链接,而不是把所有模块一起装入主存。
3)装入主存的方式:
  • 绝对装入方式:如果在编译时就知道程序驻留在主存的具体位置,则编译程序将产生物理地址的目标代码。绝对装入程序按照装入模块的地址,将程序和数据装入主存。模块装入后,由于程序中的逻辑地址和与实际主存地址一致,所以不需要进行地址修改。只适合于单道程序环境。
  • 静态重定位装入:在装入作业时,把作业中的指令地址和数据地址一次性全部转换成物理地址,这样在作业执行过程中无无需再进行地址转换。

  • 动态重定位装入:在装入时,直接把作业装入主存中。在作业执行时,随着每条指令的访问,由硬件地址转换机制自动将指令中的逻辑地址换成物理地址。地址转换机制由一个基地址寄存器和一个地址转换线路组成。在该方式下,作业可以改变存储区域,则成程序是可浮动的。

2.连续的存储管理

1&#x
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值