目前分類:專題 (10)

瀏覽方式: 標題列表 簡短摘要

Aminzai 發表在 痞客邦 PIXNET 留言(0) 人氣()


Aminzai 發表在 痞客邦 PIXNET 留言(0) 人氣()


Aminzai 發表在 痞客邦 PIXNET 留言(0) 人氣()


Aminzai 發表在 痞客邦 PIXNET 留言(0) 人氣()

真是好險~~我還以為我這禮拜帶DE2回家會沒有進度>」<

今天總算有一點點點成果

其實成果也不怎樣= = 只是DE2網路可以用了

反正就當不無小補了

sshot-1111

Aminzai 發表在 痞客邦 PIXNET 留言(0) 人氣()

Linux的分頁功能

Linux採用了一種共同的分頁模型,可適用於32位元和64位元架構。

因為32位元架構有兩層分頁就夠了,但64位元架構需要較多酚頁層。所以到2.6.10版時,Linux採用了三層分頁模型。到2.6.11版起,Linux採用了四層分頁模型。

l   頁面全域目錄(Page Global Directory)

l   頁面上層目錄(Page Upper Directory)

Aminzai 發表在 痞客邦 PIXNET 留言(0) 人氣()

硬體的分頁功能

分頁單元會把線性位址轉譯成實體位址。分頁單元的關鍵任務之一是檢查被請求的存取類型是否合於線性位址的存取權限。如果記憶體位存取並非有效,分頁單元就會產生一個[頁面失誤例外事件](Page Falut Exception)

 

為了效率起見,線性位址以長度固定的間隔被切割成眾多頁面(Page)

 

Aminzai 發表在 痞客邦 PIXNET 留言(1) 人氣()

Linux的分節單元

80X86微處理器之所以會引進分節功能,是為了鼓勵程式設計人員將其應用程式切割成邏輯上相關的實體。

Linux上所使用的分頁功能的方式較侷限,事實上分節跟分頁似乎沒有並行的必要,因為兩者都能用來分隔行程的實體位址空間: (分節可以指派不同的線性位址空間給每一個行程,而分頁可以把同一個線性位址空間對映到不同得實體位址空間。)

 

Linux愛用分頁甚於分節有以下原因

Aminzai 發表在 痞客邦 PIXNET 留言(0) 人氣()

硬體的分節功能

    80286開始Intel在微處理器就用來種方式進行位址的轉譯
    1.
真實模式(Real Mode) 2.保護模式(Protected Mode)
   

·       真實模式

Aminzai 發表在 痞客邦 PIXNET 留言(0) 人氣()

記憶體位置(Memory Address)

    程式設計師常常利用"記憶體位置"來存取某些記憶單元的內容,在80X86系統中分成三種位置
    1.邏輯位置 2.線性位置(又稱虛擬位置) 3.實體位置

  • 邏輯位置(Logical Address)
    • 邏輯位置屬於機械語言指令的一部分,可用來指定一個運算元(Operand)或是一個指令(Instruction)的位置。
    • 這種位置採用80X86的分節式架構(Segmented Architecture),迫使M$ Windows的程式設計員必須將他們的程式切成許多Segment(節區)。
    • 每一個邏輯位置由一個Segment和一個Offset(偏移量) 或是 Displacement(位移量) 組成 ; 而Offset 指出了節區起始處到實際位置之間的距離。
  • 線性位置
    • 由一個32位元的無號數(unsigned)整數定址 可定址到4GB的記憶單元(4,294,967,296) 。
    • 線性位址通常以十六進位制(Hexadecimal)的符號來表示。
    • 其範圍0x00000000~0xffffffff。

Aminzai 發表在 痞客邦 PIXNET 留言(1) 人氣()