當程序狀態發生變化時,PCB 會發生什麼?
程序控制塊 (PCB) 用於作業系統儲存有關程序的不同資訊,包括程序狀態、暫存器、程式計數器、暫存器等。它在發生上下文切換(當前程序被另一個具有更高優先順序的程序搶佔)時起著重要作用。
PCB 中儲存的重要資訊包括以下內容:
程序號 (PID) - 用於唯一標識每個程序。
程式計數器 - 它儲存要執行的下一條指令的地址。
暫存器資訊 - 包括不同的 CPU 暫存器,例如基址暫存器、累加器和通用暫存器。
狀態 - 當前正在執行的程序生命週期中的狀態。
下面是一個 PCB 的示例:
| 程序狀態 |
| 程序號 |
| 程式計數器 |
| 暫存器 |
| 記憶體限制 |
| 開啟的檔案列表 |
| ---------- |
讓我們看看 CPU 如何在程序之間切換。

這裡,
在上下文切換期間,作業系統必須儲存當前正在執行的程序的 PCB 內容,然後為新程序建立一個新的 PCB,
如果新程序已經存在,它將簡單地恢復其 PCB。作業系統有一個 PCB 佇列,每個程序都有自己的 PCB。
所有程序及其 PCB 地址都儲存在一個稱為程序表的單獨資料結構中。
PCB 擁有作業系統恢復程序執行所需的所有必要資訊,這是它的主要目的。
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP