再來要介紹一種被存在OS Kernel中的資料結構,Process Control Block(PCB),可以把PCB當作一個容器,其存在的理由很單純,因為Time-Sharing,CPU不斷地轉跳執行不同的Process,因此需要有個地方把每個process目前的狀態與資訊儲存起來,以便下次被CPU執行時能夠銜接上一次的狀態。PCB內放置的相關的資訊,我列出幾項比較重要的在下方
Context switch是一個非常簡單的行為,當CPU遭受到interrupt的時候,不論是遇到I/O,或者互叫system call,還是因為執行時間過長觸發OS Timer,接著就是跳轉到下一個要執行的Process上面,但這其中其實還做了一件事情,就是Context switch。
由於要讓目前在做的task能夠在未來被銜接,CPU在要轉跳時會先去把需要的資訊存在PCB內,並且藉由下一個要做的process的PCB資訊,接軌先前上一輪的task去執行。這樣的一整個過程就叫做context switch。