Silberschatz 操作系统概念2025 年 4 月 29 日 | 阅读 12 分钟 引言Abraham Silberschatz、Peter B. Galvin 和 Gagne 所著的《操作系统概念》一书是介绍操作系统原理或特性的主要教材。它同样讨论了操作系统在控制计算机硬件和软件资产方面的中心功能,以及作为用户直接交互和应用程序执行的平台。 作者们侧重于讨论概念的实际应用,并提供了许多示例和案例研究来帮助说明理论概念。这种务实的方法有助于学生和在职专业人士理解操作系统在当今计算系统中的作用。此外,书中还包含大量的复习题、练习和插图,有助于更有效地学习并吸引学生。因此,对于希望从基础开始,深入了解操作系统的计算机科学学生、软件工程师和 IT 专业人士来说,它成为了重要的参考资料。 进程和线程进程也被描述为程序在运行时的一个实例,包括程序代码、当前活动以及运行程序所需的资源,例如内存和文件控制单元。执行器提供了运行程序所需的环境,并为每个程序提供独立的空间和资源,使其能够独立运行;它们确保不同程序同时运行而不相互干扰。在进程生命周期的所有状态中,最广为人知的五种状态包括新创建、就绪、运行、等待和终止。当一个进程被创建时,它进入新创建状态,然后转移到就绪状态,等待 CPU 调度。 进程有三种状态:运行、就绪和阻塞,而操作系统的调度程序控制这些变化,决定在给定时间执行哪个进程。如果一个进程需要 I/O 操作或等待另一个条件,那么它就处于等待状态,而对于其他进程,CPU 可以利用就绪状态。另一方面,线程可以被视为可以由操作系统调度的最小处理单元。线程可以被描述为与父进程或应用程序共存的细粒度进程。因此,它使用相同的内存空间、ID 和资源,同时拥有自己的执行堆栈, 1. 程序计数器和变量
2. 结构
进程调度1. 调度准则关于调度算法的效率,我们有 CPU 利用率、已完成任务的数量、每个进程花费的时间、进程等待轮到的时间以及总体响应时间等参数。高 CPU 利用率和吞吐量意味着系统按预期满负荷工作,而低等待时间和响应时间值表明系统上的任务在最短可能时间内完成。 2. 调度算法的种类调度算法可分为两大类:抢占式和非抢占式。这两种调度类型是抢占式的,其中操作系统可以暂停当前进程然后稍后恢复它,或者至少提供双进程控制,其中进程运行直到完成或自愿释放 CPU 控制权。 3. 先来先服务 (FIFO)FCFS 代表先来先服务,即最先到达的进程最先被服务。它易于实现,但可能导致长时间等待。例如,如果一个长进程后面跟着一个短进程,就会导致所谓的“队列效应”。 4. 最短作业优先 (SJN)最短剩余时间 (SRT) 或最短作业优先 (SJF):该算法选择耗时最短的进程。它降低了平均等待时间,同时增加了准确预测进程时间的重要性,而这有时可能是一个问题。 5. 轮转 (RR) 调度有趣的是,在 RR 调度中,每个进程都被分配一个时间量,然后 CPU 会循环遍历进程,让每个进程轮流使用 CPU。否则,如果一个进程在其时间片内未完成,它将被移到队列的末尾。该算法是公平的,并且经常用于分时系统。 6. 优先级调度同样,优先级被附加到进程上,调度程序选择第一个排队执行的进程。虽然这是一个非常有效的调度过程,但如果其他低优先级进程总是被排除在外,它可能会导致饥饿。为了解决这个问题,采用了老化技术,逐渐提高等待轮到的进程的紧迫性。 7. 多级队列调度该方法根据优先级或进程类型(如前台和后台)将就绪队列划分为多个子队列。因此,每个队列可能有自己的任务调度算法,以提高系统在不同类型功能上的性能。 8. 多级反馈队列调度这是多级队列调度的一种形式,一种更精炼的形式,它允许进程根据其活动从一个队列迁移到另一个队列。例如,一个需要大量 CPU 周期的 CPU 密集型进程可能会被调度到一个低优先级类,以容纳一个偏好交互的快速进程。 内存管理1. 内存架构和管理操作系统控制着另一种类型的内存层次结构,从寄存器和缓存开始,然后是主内存或 RAM,以及二次存储(如硬盘)。内存管理在避免浪费受保护内存空间和减少数据和信息检索时间方面起着至关重要的作用。 2. 地址绑定地址绑定是将程序产生的逻辑地址与内存空间中的物理地址相关联的过程。有三种类型的地址绑定:编译时、加载时和执行时。地址绑定对于内存管理至关重要,因为它允许在运行时绑定进程,因此在需要时可以重新定位。 3. 内存分配技术内存分配技术根据其实现方式分为两类:连续和非连续技术。虽然连续分配为进程提供主存储器的一个连续链接部分,但许多基于段的非连续分配将主存储器划分为多个段。虽然连续分配易于实现,但会导致碎片。 4. 碎片碎片意味着可用空间被分成不同大小的区域。它可以是两种类型:内部(内存块内的任何可用区域)和外部(内存块之间的可用空间)。操作系统使用一些方法来对抗碎片,包括内存紧缩。 5. 分页分页是一种内存管理方案,其中总物理内存被划分为小的、大小相等的块,称为页。这些块在进程级别,每个进程被划分为可以更灵活地管理并独立于其他进程运行的页。相对而言,分页也使得分配更容易,因为任何页都可以被调入任何可用的帧。 6. 分段与分页不同,分段将进程划分为可变大小的段,例如代码、数据和堆栈。所有这些都可以被划分到物理内存的不同部分。这种方法有助于以逻辑方式将属于相关对象的数据分组。因此,它可以提高内存访问效率,尽管它会导致外部碎片。 7. 虚拟内存虚拟内存是一种机制,通过这种机制,可能不完全包含在主内存中的进程可以被执行。虚拟内存通过使用磁盘空间来扩展实际 RAM,从而使操作系统能够更有效地进行多任务处理和进程控制。 8. 按需分页在虚拟内存中,按需分页是其中的一个组成部分,这意味着页仅在需要时才被加载到内存中。此机制还有助于最大限度地减少进程所需的物理内存量,并避免应用程序通过仅为活动进程使用物理内存来阻塞操作系统。 死锁1. 死锁的定义
2. 死锁的必要条件
3. 死锁预防
4. 死锁避免
5. 死锁检测
6. 死锁恢复
7. 资源分配图
8. 实时系统管理策略
9. 死锁的影响
分布式系统1. 分布式系统类型
2. 分布式系统中的组间通信
3. 分布式协调
4. 负载均衡
5. 分布式系统的安全性
文件系统1. 文件分配方法
2. 文件访问方法
3. 文件系统挂载
4. 文件系统的安全及其权限
5. 虚拟文件系统 (VFS)
结论Silberschatz、Galvin 和 Gagne 的《操作系统概念》一书涵盖了广泛的操作系统概念,从进程开始到分布式系统结束。然而,像内存、文件系统和安全等对任何操作系统至关重要的概念都得到了优先考虑,因此,通过简单的语言和示例对这些概念的理解变得更容易。 通过这些原理,读者可以获得操作系统如何管理资源、获得稳定性以及支持众多应用程序的知识。它对 IT 人员、程序员和学习者都有益,因为它能培养开发、诊断和执行当今信息技术结构的理解和能力。 下一个主题什么是伙伴系统 |
我们请求您订阅我们的新闻通讯以获取最新更新。