操作系统

  • 多处理器调度完全攻略

    迄今为止,我们主要集中讨论单处理器系统的 CPU 调度问题。如果有多个 CPU,则负载分配成为可能,但是调度问题就相应地更为复杂。许多可能的方法都已试过,但与单处理器调度一样,没有…

    编程笔记 2021年7月20日
  • 时间片轮转(RR)调度算法(详解版)

    时间片轮转(RR)调度算法是专门为分时系统设计的。它类似于 FCFS调度,但是增加了抢占以切换进程。 该算法中,将一个较小时间单元定义为时间量或时间片。时间片的大小通常为 10~1…

    编程笔记 2021年7月20日
  • 优先级调度算法及其优缺点

    SJF 算法是通用优先级调度算法的一个特例。每个进程都有一个优先级与其关联,而具有最高优先级的进程会分配到 CPU。具有相同优先级的进程按 FCFS 顺序调度。SJF 算…

    编程笔记 2021年7月20日
  • CPU调度准则(完整版)

    不同的 CPU 调度算法具有不同属性,选择一个特定算法会对某些进程更为有利。为了选择算法以便用于特定情景,我们必须考虑各个算法的属性。 为了比较 CPU 调度算法,可以采用许多比较…

    编程笔记 2021年7月20日
  • 什么是CPU调度,CPU调度完全攻略

    CPU调度是多道程序操作系统的基础。通过在进程间切换 CPU,操作系统可以使得计算机更加高效。 对于单处理器系统,同一时间只有一个进程可以运行;其他进程都应等待,直到 CPU 空闲…

    编程笔记 2021年7月20日
  • 什么是死锁,死锁的原因及解决办法(含四个必要条件)

    在多道程序环境中,多个进程可以竞争有限数量的资源。当一个进程申请资源时,如果这时没有可用资源,那么这个进程进入等待状态。有时,如果所申请的资源被其他等待进程占有,那么该等待进程有可…

    编程笔记 2021年7月20日
  • 信号量及其使用和实现(超详细)

    互斥锁,我们刚刚讨论过了,通常认为是最简单的同步工具。本节将会讨论一个更棒的工具,它的功能类似于互斥锁,但是它能提供更为高级的方法,以便进程能够同步活动。 一个信号量 S 是个整型…

    编程笔记 2021年7月20日
  • 进程状态及其转换过程

    进程在执行时会改变状态。进程状态,部分取决于进程的当前活动。 图 1 显示的是进程活动的状态图。 图 1 进程状态图 从图中可以看出,每个进程可能处于以下几种不同的状态: 新的:进…

    编程笔记 2021年7月20日
  • 什么是进程

    早期的计算机一次只能执行一个程序。这种程序完全控制系统,并且访问所有系统资源。相比之下,现代计算机系统允许加载多个程序到内存,以便并发执行。这就要求操作系统对各种程序提供更严的控制…

    编程笔记 2021年7月20日
  • 操作系统的设计和实现过程

    本节讨论操作系统设计和实现面临的问题。虽然这些问题没有完整的解决方案,但是有些方法还是行之有效的。 设计目标 系统设计的首要问题是,定义目标和规范。从高层来说,系统设计取决于所选硬…

    编程笔记 2021年7月20日