本文主要讨论了操作系统中的内存管理和资源分配相关概念,包括内部碎片与外部碎片的区别、连接编辑器的工作原理、内存分配算法以及操作系统在不同环境下的资源管理问题。
内部碎片和外部碎片是两种不同的内存利用率问题。内部碎片指的是在分配给某个作业的内存区域内,由于系统分配策略导致的部分未被利用的空间,这部分空间直到作业结束才能被回收。例如,如果分配给一个作业1MB内存,但实际上它只需要900KB,那么剩下的100KB就是内部碎片。外部碎片则是指整个系统中存在许多小的空闲内存块,但因为这些空闲块太小无法满足新作业的需求,从而导致大块内存无法被有效利用。
连接编辑器在程序编译过程中起到关键作用,它将编译器产生的各个目标代码单元联合成单一的程序二进制。在这个过程中,连接编辑器需要将目标代码中的符号地址替换为实际内存地址,为此,它需要知道所有单元的引用关系,并在分配了全局地址空间后,对含有未分解符号指令的单元进行修复。
在内存分配策略中,First-fit、Best-fit和Worst-fit是三种常见的方法。First-fit简单地从最小的可用分区开始分配,可能导致较大的外部碎片。Best-fit试图找到最合适的空闲分区来减少外部碎片,而Worst-fit则选择最大的空闲分区,期望减少分区数量,从而降低碎片。在示例中,这三种策略分别用于分配不同大小的进程,Best-fit通常被认为是最优的,因为它在分配过程中产生的外部碎片最少。
操作系统在多道程序和分时环境中面临的安全问题包括数据和程序的保护,以及资源使用的合理控制。在分时系统中,不能确保与专用机器相同的高安全性,因为攻击者可能找到系统保护的漏洞。资源管理在不同类型的系统中具有不同的优先级,如大型和迷你电脑关注内存和CPU,工作站关注内存和CPU,而手持设备更关注电源消耗和内存。
分时系统在处理大量任务、需要快速响应或资源共享时比个人计算机更具优势。操作系统在实时系统和手持设备中需要支持虚拟存储器,而在实时系统中还需要支持分时和公平的资源分配。对称多处理(SMP)和非对称多处理(AMP)的主要区别在于处理器的平等性和I/O控制,SMP所有处理器地位平等,AMP有一个主处理器控制其他处理器。多处理系统的优点包括成本节省、性能提升和可靠性增强,缺点则在于可能增加系统复杂性。