中斷是一種控制轉(zhuǎn)移機制,它引起處理器暫停當前程序的執(zhí)行,并將控制轉(zhuǎn)移給中斷處理程序(Interrupt Service Routine),當中斷處理完成之后恢復(fù)原來程序的執(zhí)行。中斷的處理通常是對當前正在執(zhí)行的程序透明的,并且保留處理器發(fā)生中斷時的狀態(tài)。
“龍騰S1”為了保證中斷處理過程中的堆棧安全,為不同特權(quán)級設(shè)置了不同的堆棧!褒堯vS1”支持四種特權(quán)級,一般操作系統(tǒng)運行在最高特權(quán)級0,用戶程序運行在最低特權(quán)級3。當用戶程序發(fā)生中斷時,無論是通過中斷/陷阱門處理還是任務(wù)門處理,如果處理器由最低特權(quán)級轉(zhuǎn)換到最高特權(quán)級,堆棧也會隨之改變。通過這種機制,可以保證中斷處理程序具有自己的堆棧,從而可以保證有足夠的空間來保存處理器狀態(tài)和任務(wù)上下文等。有關(guān)四種特權(quán)級下的堆棧指針信息全部保存在任務(wù)的任務(wù)狀態(tài)段(Task State Segment)中,堆棧切換時新的堆棧將從任務(wù)狀態(tài)段中讀取。