定時器 是不是只能通過系統(tǒng)調(diào)用進入CPU的ring0呢?
是不是只能通過系統(tǒng)調(diào)用進入CPU的ring0呢?問題不清楚。什么是只能通過系統(tǒng)調(diào)用進入CPU的ring0?X86體系結(jié)構(gòu)CPU有四種特權(quán)級別模式(ring0、1、2、3)。在windows或Linux
是不是只能通過系統(tǒng)調(diào)用進入CPU的ring0呢?
問題不清楚。什么是只能通過系統(tǒng)調(diào)用進入CPU的ring0?X86體系結(jié)構(gòu)CPU有四種特權(quán)級別模式(ring0、1、2、3)。在windows或Linux操作系統(tǒng)下,內(nèi)核代碼(包括硬件驅(qū)動程序)在ring0上運行,用戶模式在RING3上運行。異常(包括各種中斷)會使CPU切換到ring0模式。系統(tǒng)通過軟中斷從用戶狀態(tài)調(diào)用的內(nèi)核狀態(tài)。進程任務(wù)調(diào)度通過強制計時器進入內(nèi)核狀態(tài)來切換任務(wù)。在正常情況下,除非您編寫的驅(qū)動程序可以使您的代碼在ring0下運行,否則無論其他操作如何,您的代碼都不會在ring0下運行。即使系統(tǒng)調(diào)用可以使CPU切換到ring0,它也會運行其他人內(nèi)核的代碼,這與您關(guān)系不大