1. 程式人生 > >linux:程序 & 頁表

linux:程序 & 頁表

一個程序表示的,就是一個可執行程式的一次執行過程中的一個狀態作業系統對程序的管理,典型的情況,是通過程序表完成的。程序表中的每一個表項,記錄的是當前作業系統中一個程序的情況。對於單CPU的情況而言,每一特定時刻只有一個程序佔用CPU,但是系統中可能同時存在多個活動的(等待執行或繼續執行的)程序。
一個稱為"程式計數器(program counter,pc)"的暫存器,指出當前佔用CPU的程序要執行的下一條指令的位置。
當分給某個程序的CPU時間已經用完,作業系統將該程序相關的暫存器的值,儲存到該程序在程序表中對應的表項裡面;把將要接替這個程序佔用CPU的那個程序的上下文,從程序表中讀出,並更新相應的暫存器(這個過程稱為"上下文交換(process context switch)",程式暫存器pc指出程式當前已經執行到哪裡,是程序上下文的重要內容,換出CPU的程序要儲存這個暫存器的值,換入CPU的程序,也要根據程序表中儲存的本程序執行上下文資訊,更新這個暫存器)。