操作系统中的 5 状态进程模型2025年4月30日 | 阅读 5 分钟 五状态进程模型是从两状态模型发展而来的。如果“未运行”状态下的所有进程都已准备好运行,则两阶段模型是有效的;但事实并非总是如此。位于“未运行”状态的某些进程可能正在等待事件或正在执行 I/O 活动。要运行一个程序,必须创建一个进程。进程可以运行,也可以不运行,但如果一个进程正在运行,操作系统必须支持它,以确保进程的正确进展。 解决此问题的最佳方法是将“未运行”状态分为两个状态:“就绪”和“阻塞”。 引入新状态的原因在之前的模型中,主内存被认为足够大,可以容纳所有程序,但实际情况并非如此。当今程序的规模非常庞大。将所有进程加载到主内存中是不可能的。 在创建新进程时,程序不会加载到主内存中。在主内存中,操作系统只保存关于进程的少量信息。当有足够的空间可用时,长程调度器会将程序发送到主内存。这样的进程称为处于新状态。 引入终止状态的原因在之前的模型中,当进程完成执行时,其资源会被立即释放。然而,另一个进程将来可能需要这些数据。 子进程被视为处于“生命终结”状态。子进程仍在内存中,但无法执行。例如,当子进程完成执行时,操作系统会保存其数据,直到父进程调用 wait() 函数。 五状态进程模型的状态此进程模型中使用的五种状态如下: 1. 新建 指新创建但尚未获得操作系统执行批准的进程。尽管新进程尚未加载到主内存中,但已创建其进程控制块。 2. 就绪 新状态进程之后,进程从新状态转变为就绪状态。当进程处于就绪状态时,表示它已加载到主内存中,并已准备好运行。在就绪状态下,进程必须等待处理器响应;一旦处理器响应,进程将进入处理器进行执行。值得注意的是,在多道程序环境中,可能有多个进程处于就绪状态。 3. 运行 所有正在 CPU 上执行的进程都处于运行状态。 运行状态表示该过程是从新建和就绪状态开始的。如果进程处于其临界区,则其他进程必须在就绪状态下等待。 4. 阻塞/等待 阻塞状态适用于所有退出 CPU 并进入等待状态的进程。当 CPU 可用时,阻塞状态的进程将被移至就绪状态,然后移至运行状态。 5. 退出/终止 退出状态是指已从 CPU 和主内存中终止的进程。 五状态进程在两状态模型中的执行该模型有五个状态:新建、就绪、运行、阻塞和退出。当一个新作业/进程到达队列时,它首先被接受到队列中,然后移至就绪状态。进程在就绪状态时处于运行状态。处于运行状态的进程有两种情况:要么继续等待事件,要么超时。 ![]() 如果进程已超时,它将移至就绪状态,因为进程尚未完成执行。如果进程具有等待事件的条件,它将进入阻塞状态和就绪状态。如果两个条件都为真,则进程在调度后进入运行状态,然后被释放并最终终止。 五状态进程模型的状态转换各种事件会导致进程状态的转移。下表给出了 5 状态进程模型可能的转移动作: 1. 空 → 新建 创建了一个新进程用于进程的实现。 2. 新建 → 就绪 系统会将进程从新建状态转移到就绪状态,现在它可以运行了。在这种情况下,系统可能会设置一个限制,以禁止多个进程同时运行;否则,性能可能会受到影响。 3. 就绪 → 运行 操作系统现在选择一个进程进行运行,系统选择就绪状态的单个进程进行运行。 4. 运行 → 退出 如果进程指示它已完成或已被中止,则系统会终止它。 5. 运行 → 就绪 当运行中的进程达到了其连续执行的最大运行时间时,就会发生这种转换。 6. 运行 → 阻塞 如果进程请求它正在等待的内容,它将被置于阻塞状态。例如,进程可能需要当前不可用的资源,或者它可能正在等待输入/输出操作或其他进程完成才能继续。 7. 阻塞 → 就绪 当进程一直在等待的事件发生时,进程将从阻塞状态切换到就绪状态。 8. 就绪 → 退出 此转换仅在少数情况下允许,因为在某些系统中,父进程可以随时终止子进程。 五状态进程模型的优缺点五状态进程模型有各种优点和缺点。五状态进程模型的一些优点和缺点如下: 优点
缺点
下一主题Windows 操作系统快捷键 |
我们请求您订阅我们的新闻通讯以获取最新更新。