标签:指令 第一个 应用 内存分配 启动 堆栈 strong 时间 移动
CPU加电后,执行BIOS(基本IO处理系统)。BIOS会进行硬件的自检和初始化,然后把加载程序(BootLoader)从磁盘上的引导扇区中加载到指定位置0x7c00。然后控制权交给加载程序,加载程序将操作系统的数据和代码加载到内存,然后把控制权交给操作系统。
中断:
异常:
开销:
1.首次适配算法(First Fit):
空闲区按地址从低到高排序,找到第一个不小于请求空间的内存块,分割并分配出去。
优点:简单,快速
缺点:易产生外部碎片
2.最优适配算法(Best Fit):
按照空闲块的大小进行排序,找到一个最适合的空闲块,分割并分配出去。
优点:简单,当大部分分配是小尺寸时很有效
缺点:外部碎片,重分配慢
3.最差分配算法(Worst Fit):
按空闲块大小排序,每次找到最大的空闲块,分割并分配出去。
优点:快,分配的是中等尺寸效果很好
缺点:外部碎片,重分配慢,先破碎大的空闲块以致大分区无法被分配
实现:移动分配给程序的内存分区,以合并外部碎片。
条件:程序可以动态重定位(使用绝对地址移动后出错);压缩的时机,选择等待的进程。
开销:频繁地在内存进行拷贝,开销也会变大。
实现:抢占等待的程序,回收他们的内存,把这些进程的数据等等放到外存。
开销:在内外存交换数据,磁盘的IO读写很慢,开销很大。还要考虑交换哪些程序。
标签:指令 第一个 应用 内存分配 启动 堆栈 strong 时间 移动
原文地址:https://www.cnblogs.com/KirinSB/p/12782017.html