1. 程式人生 > >linux 核心學習過程(1)-硬體特性和核心設計之間的聯絡

linux 核心學習過程(1)-硬體特性和核心設計之間的聯絡

該貼用來作為自己學習linux核心的記錄和筆記,很多東西都是自己理解後整理的內容,各位看官若覺得有問題的地方,可以留言或自行查閱。

linux核心在設計的過程中很多都是依據硬體晶片特性來設計,晶片在設計的過程中很多時候需要保持相容性,這樣就留下了很多令人費解的概念,比如分段和分頁機制,真實模式、保護模式和虛擬86模式。
下面記錄一下三種工作模式:真實模式、保護模式和虛擬86模式。80386處理器有3種工作模式:真實模式、保護模式和虛擬86模式。真實模式和虛擬86模式是為了和8086處理器相容而設定的。在真實模式 下,80386處理器就相當於一個快速的8086處理器。保護模式是80386處理器的主要工作模式。在此方式下,80386可以定址4GB的地址空間,同時,保護模式提供了80386先進的多工、記憶體分頁管理和優先順序保護等機制。為了在保護模式下繼續提供和8086處理器的兼 容,80386又設計了一種虛擬86模式,以便可以在保護模式的多工條件下,有的任務執行32位程式,有的任務執行MS-DOS程式。在虛擬86模式 下,同樣支援任務切換、記憶體分頁管理和優先順序,但記憶體的定址方式和8086相同,也是可以定址1MB的空間。 而在linux中,只有機器啟動或復位時使用真實模式,而載入linux過程和linux啟動之後都是採用的保護模式來執行。可以說保護模式是linux系統的主要執行模式。
最初的8086是16位CPU,暫存器也是16位的,可定址20位地址空間:16位段基址+4位的段內偏移,啟動或復位後為真實模式,只能對記憶體進行分段管理進行,不支援對記憶體進行分頁式管理。到了80386是32位的,可定址4G的地址空間。分段式的記憶體管理是以單個程式為單位的,記憶體利用率不高。為了提高實體記憶體的利用率,需要更加小粒度的記憶體分割和對映方法,因此記憶體分頁方式誕生了。

http://www.cnblogs.com/chengxuyuancc/archive/2013/05/12/3073738.html
(未完待續)