看妳應該寫過匯編,所以就很好理解了,比如dos下的20h中斷等等。
權限是相對的,在匯編裏面,或者底層,其實權限就2個,壹個是系統的,壹個是應用程序的。
所謂的保護,每壹次加載程序執行的時候,系統硬件上會判斷出來是否是操作系統對某些寄存器操作,比如對CR0這些寄存器操作,只有操作系統才可以。
妳想得到最高權限,很簡單,脫離操作系統,也就是裸機下匯編。包括自己寫引導程序等等,也不能調用操作系統中斷,或許可以調用BIOS中斷,但這個是在16位實模式下才可以。win或者linux都是後來切換到保護模式了,所以才有相應的“保護機制”,當然這裏BIOS中斷絕大多數壹般可能不能用了。
另壹個保護的概念是相對操作系統的,也就是操作系統是壹個manager,妳要幹什麽,通過它,由它判斷是否允許執行,這裏就到比較高層了,比如win下妳想刪除C盤目錄下系統文件,這個就“不給權限”。
還是看壹下,Intel? 64 and IA-32 Architectures Software Developer’s Manual
其中的第三卷System Programming Guide這裏面詳細介紹了處理器的多任務保護機制,內存管理機制等等等等,很多。
如果簡單了解,看第壹卷,Basic Architecture。
這些文檔可以到Intel官網下載。