一、程序的装入和链接
1.编译,编译程序对源程序进行编译,形成目标模块,此时文件后缀名为obj。
2.链接,将目标模块以及他们所需的库函数链接在一起。
3.装入,由装入程序装入内存。
二、连续分配存储管理方式
1.在最早的存储器分配方式中,采用的是连续分配。即逻辑地址相邻,物理地址也相邻。
2.随着多道程序概念的提出,为了能同时装入多道程序,且彼此之间互不干扰,把内存分成若干个区域,分配方式有固定分区和动态分区两种。固定的坏处不用赘述。动态分区分配更适应需求。在动态分区中,区的大小是不同的,我们都希望能给程序分配大小合适的分区,为了实现这个希望,这就涉及到算法的问题了。在众多算法中,最佳适应算法每次分配所留碎片最小,故也会留下很多难以利用的碎片。
3.所谓碎片,也就是很小很小的分区,这些分区不再能满足程序的需求。当碎片多了之后,内存资源就大大的浪费了,一般是通过“紧凑” 的方式将碎片拼接成一块大区域。碎片进行拼接,也就意味着它在内存中的地址改变了,需要及时修改相应信息,但如果每次紧凑都修改数据,那么很影响计算机效率,重新拼凑的内存未必都用得上,那么便提出“动态重定位”,即当程序需要使用该内存时,再进行修改。
三、对换技术
即把暂时不能运行的进程调换到外存上,把外存上符合要求的进程调入内存。这个方法能有效的改善计算机内存利用率。
菜鸡的计算机操作系统学习之路(八)存储器相关1
最新推荐文章于 2024-04-13 14:52:37 发布