-
最早截止时间优先(EDF)算法详解
所属栏目:[安全] 日期:2020-12-25 热度:69
最早截止期限优先(EDF)调度 根据截止期限动态分配优先级。截止期限越早,优先级越高;截止期限越晚,优先级越低。 根据 EDF 策略,当一个进程可运行时,它应向系统公布截止期限要求。优先级可能需要进行调整,以便反映新可运行进程的截止期限。注意单调速[详细]
-
Linux进程调度策略(CFS调度)详解
所属栏目:[安全] 日期:2020-12-25 热度:101
Linux 进程调度 有一个有趣历史。在 2.5 版本之前,Linux 内核采用传统 UNIX 调度算法。然而,由于这个算法并没有考虑 SMP 系统,因此它并不足够支持 SMP 系统。此外,当有大量的可运行进程时,系统性能表现欠佳。 在内核 V2.5 中,调度程序进行了大改,采用[详细]
-
哲学家就餐问题分析(含解决方案)
所属栏目:[安全] 日期:2020-12-25 热度:137
假设有 5 个哲学家,他们的生活只是思考和吃饭。这些哲学家共用一个圆桌,每位都有一把椅子。在桌子中央有一碗米饭,在桌子上放着 5 根筷子(图 1 )。 图 1 就餐哲学家的情景 当一位哲学家思考时,他与其他同事不交流。时而,他会感到饥饿,并试图拿起与他相[详细]
-
什么是CPU调度,CPU调度完全攻略
所属栏目:[安全] 日期:2020-12-25 热度:93
CPU调度 是多道程序操作系统的基[详细]
-
什么是死锁,死锁的原因及解决办法(含四个必要条件)
所属栏目:[安全] 日期:2020-12-25 热度:107
在多道程序环境中,多个进程可以竞争有限数量的资源。当一个进程申请资源时,如果这时没有可用资源,那么这个进程进入等待状态。有时,如果所申请的资源被其他等待进程占有,那么该等待进程有可能再也无法改变状态。这种情况称为 死锁 。 或许,死锁的最好例[详细]
-
多处理器调度完全攻略
所属栏目:[安全] 日期:2020-12-25 热度:190
迄今为止,我们主要集中讨论单处理器系统的 CPU 调度问题。如果有多个 CPU,则负载分配成为可能,但是调度问题就相应地更为复杂。许多可能的方法都已试过,但与单处理器调度一样,没有最好的解决方案。 多处理器调度的方法 对于多处理器系统,CPU 调度的一种[详细]
-
多级队列调度算法(含实例分析)
所属栏目:[安全] 日期:2020-12-24 热度:168
在进程容易分成不同组的情况下,可以有另一类调度算法。例如,进程通常分为前台进程(或交互进程)和后台进程(或批处理进程)。这两种类型的进程具有不同的响应时间要求,进而也有不同调度需要。另外,与后台进程相比,前台进程可能要有更高的优先级(外部定[详细]
-
CPU调度准则(完整版)
所属栏目:[安全] 日期:2020-12-24 热度:153
不同的 CPU 调度算法具有不同属性,选择一个特定算法会对某些进程更为有利。为了选择算法以便用于特定情景,我们必须考虑各个算法的属性。 为了比较 CPU 调度算法,可以采用许多比较准则。选择哪些特征来比较,对于确定哪种算法是最好的有本质上的区别。这些[详细]
-
多级反馈队列调度算法详解
所属栏目:[安全] 日期:2020-12-24 热度:176
通常在使用多级队列调度算法时,进程进入系统时被永久地分配到某个队列。例如,如果前台和后台进程分别具有单独队列,那么进程并不从一个队列移到另一个队列,这是因为进程不会改变前台或后台的性质。这种设置的优点是调度开销低,缺点是不够灵活。 相反, 多[详细]
-
优先级调度算法及其优缺点
所属栏目:[安全] 日期:2020-12-24 热度:97
SJF?算法是通用优先级调度算法的一个特例。每个进程都有一个优先级与其关联,而具有最高优先级的进程会分配到 CPU。具有相同优先级的进程按 FCFS 顺序调度。SJF 算法是一个简单的优先级算法,其优先级(p)为下次(预测的)CPU 执行的倒数。CPU 执行越长,则[详细]
-
多线程模型:一对一模型、多对一模型和多对多模型
所属栏目:[安全] 日期:2020-12-24 热度:179
迄今为止,我们只是泛泛地讨论了线程。不过,有两种不同方法来提供线程支持: 用户层的用户线程 或 内核层的内核线程 。 用户线程位于内核之上,它的管理无需内核支持;而内核线程由操作系统来直接支持与管理。几乎所有的现代操作系统,包括 Windows、Linux、[详细]
-
信号量及其使用和实现(超详细)
所属栏目:[安全] 日期:2020-12-24 热度:79
互斥锁,我们刚刚讨论过了,通常认为是最简单的同步工具。本节将会讨论一个更棒的工具,它的功能类似于互斥锁,但是它能提供更为高级的方法,以便进程能够同步活动。 一个信号量 S 是个整型变量,它除了初始化外只能通过两个标准原子操作:wait () 和 signal([详细]
-
临界区问题及其解决办法(抢占式内核和非抢占式内核)
所属栏目:[安全] 日期:2020-12-24 热度:66
我们从讨论所谓的临界区问题开始考虑进程同步。 假设某个系统有 n 个进程 {P 0 ,P 1 ,…,P n-1 }。每个进程有一段代码,称为临界区,进程在执行该区时可能修改公共变量、更新一个表、写一个文件等。该系统的重要特征是,当一个进程在临界区内执行时,其他[详细]
-
先来先服务调度(FCFS)算法及优缺点
所属栏目:[安全] 日期:2020-12-24 热度:194
毫无疑问,最简单的 CPU 调度算法是 先来先服务(FCFS)调度箅法 。釆用这种方案,先请求 CPU 的进程首先分配到 CPU。 FCFS 策略可以通过 FIFO 队列容易地实现。当一个进程进入就绪队列时,它的 PCB 会被链接到队列尾部。当 CPU 空闲时,它会分配给位于队列头[详细]
-
Windows线程调度策略(超详细)
所属栏目:[安全] 日期:2020-12-24 热度:95
Windows 采用基于优先级的、抢占调度算法来调度线程。 用于处理调度的 Windows 内核部分称为 调度程序 ,Windows 调度程序确保具有最高优先级的线程总是在运行的。由于调度程序选择运行的线程会一直运行,直到被更高优先级的线程所抢占,或终止,或时间片已到[详细]
-
什么是进程控制块,进程控制块的作用
所属栏目:[安全] 日期:2020-12-24 热度:128
操作系统内的每个进程表示,釆用 进程控制块 (Process Control Block, PCB ),也称为 任务控制块 。 图 1 进程控制块(PCB) 每个进程控制块如图 1 所示,它包含许多与当前进程相关的信息: 进程状态:状态可以包括新的、就绪、运行、等待、停止等。 程序[详细]
-
线程池是什么,线程池及其原理
所属栏目:[安全] 日期:2020-12-24 热度:87
学习线程时,我们描述了一个多线程的 Web 服务器,每当服务器接收到一个请求时,它都会创建一个单独线程来处理请求。虽然创建一个单独线程肯定优于创建一个单独进程,但是多线程服务器仍然有些潜在的问题。 第一个问题是创建线程所需的时间多少,以及线程在完[详细]
-
进程间通信(IPC):共享内存和消息队列原理详解
所属栏目:[安全] 日期:2020-12-24 热度:53
操作系统内的并发执行进程可以是独立的也可以是协作的: 如果一个进程不能影响其他进程或受其他进程影响,那么该进程是独立的,换句话说,不与任何其他进程共享数据的进程是独立的; 如果一个进程能影响其他进程或受其他进程所影响,那么该进程是协作的。换句[详细]
-
线程是什么,线程及其特点
所属栏目:[安全] 日期:2020-12-24 热度:76
几乎所有现代操作系统都允许一个进程包含多个线程。 每个线程是 CPU 使用的一个基本单元,它包括线程 ID、程序计数器、寄存器组和堆栈。 进程与同一进程的其他线程共享代码段、数据段和其他操作系统资源,如打开文件和信号。每个传统或重量级进程只有单个控制[详细]
-
操作系统的设计和实现过程
所属栏目:[安全] 日期:2020-12-24 热度:81
本节讨论操作系统设计和实现面临的问题。虽然这些问题没有完整的解决方案,但是有些方法还是行之有效的。 设计目标 系统设计的首要问题是,定义目标和规范。从高层来说,系统设计取决于所选硬件和系统类型:批处理、分时、单用户、多用户、分布式、实时或通用[详细]
-
什么是远程过程调用(RCP),远程过程调用服务实现原理详解
所属栏目:[安全] 日期:2020-12-24 热度:156
远程过程调用 ,简称? RPC ,是一种最为常见的远程服务。RPC 对于通过网络连接系统之间的过程调用进行了抽象。它在许多方面都类似于 IPC 机制,并且通常建立在 IPC 之上。不过,因为现在的情况是进程处在不同系统上,所以应提供基于消息的通信方案,以提供远[详细]
-
什么是系统调用,系统调用的过程
所属栏目:[安全] 日期:2020-12-24 热度:162
系统调用(system call) 提供操作系统服务接口。这些调用通常以 C 或 C++ 编写,当然,对某些底层任务(如需直接访问硬件的任务),可能应以汇编语言指令编写。 在讨论操作系统如何提供系统调用之前,首先通过例子来看看如何使用系统调用:编写一个简单程序[详细]
-
有名管道(FIFO)通信机制完全攻略
所属栏目:[安全] 日期:2020-12-24 热度:152
无名管道提供了一个简单机制,允许一对进程通信。然而,只有当进程相互通信时,普通管道才存在。对于 UNIX 和 Windows 系统,一旦进程已经完成通信并且终止了,那么普通管道就不存在了。 有名管道 提供了一个更强大的通信工具。 通信可以是双向的,并且父子关[详细]
-
进程的创建和终止(超详细)
所属栏目:[安全] 日期:2020-12-24 热度:182
大多数系统的进程能够并发执行,它们可以动态创建和删除。因此,操作系统必须提供机制,用于创建进程和终止进程。 进程创建 进程在执行过程中可能创建多个新的进程。 创建进程称为 父进程 ,而新的进程称为 子进程 。 每个新进程可以再创建其他进程,从而形成[详细]
-
系统程序及其分类
所属栏目:[安全] 日期:2020-12-24 热度:117
现代操作系统的另一特点是一组系统程序。前面说过,图1 描述了计算机的逻辑层次。最低层是硬件,接着是操作系统,然后是系统程序,最后是应用程序。 图 1 计算机系统组件的抽象视图 系统程序(system program) ,也称为 系统工具(system utility) ,为程序[详细]