目錄
3.1 記憶體的基礎常識
3.1.1 計算機的多級儲存結構
3.1.2 程式的裝入和鏈結
對於計算機的儲存結構而言一般可以分為三層:最高層為 cpu
暫存器,中間為主存(記憶體),最底層是輔存,如下圖所示
記憶體:可以用來儲存資料的裝置,記憶體的主要作用是緩和高速cpu與低速外存之間的速度矛盾。為了可以將儲存在記憶體上的資料加以區分,我們會為記憶體的儲存單元編上位址,即記憶體位址。記憶體位址一般是從0開始的,每乙個記憶體位址對應乙個儲存單元。如果計算機是按位元組編址的那麼乙個儲存單元就是乙個位元組記作1b即八個二進位制位(8bit)。我們經常可以看到手機的記憶體是4gb等等,這裡的4gb就是指也就是32位二進位制數才能表示。
將乙個使用者源程式變為可以在記憶體中執行的程式,一般要經過編譯、鏈結、裝入三個步驟,我們著重介紹的是裝入以及鏈結。
1. 程式的裝入:
當系統對記憶體進行了「緊湊」而使若干程式從記憶體的某處移至另一處時,不需對程式做任何修改,只要用該程式在記憶體的新起始位址,去置換原來的起始位址即可。
2.程式的鏈結
作業系統常識
作業系統 solars solaris 是sun microsystems研發的計算機 作業系統。它被認為是unix作業系統的衍生版本之一。目前solaris屬於混合開源軟體。2005年6月14日,sun公司將正在開發中的solaris 11的源 以cddl許可開放,這一開放版本就是opensola...
Linux 作業系統常識
頁表是記憶體管理系統中的資料結構,用於向每個程序提供一致的虛擬位址空間,每個頁表項儲存的是虛擬位址到實體地址的對映以及一些管理標誌。應用程序只能訪問虛擬位址,核心必須借助頁表這個資料結構和硬體 mmu 把虛擬位址翻譯為對實體地址的訪問。位址翻譯過程完全是由硬體完成的。圖中cr3儲存著程序頁目錄pgd...
作業系統 記憶體管理基礎
記憶體管理 os的記憶體管理主要負責記憶體的分配和 malloc free 同時位址轉換等功能也由os記憶體管理來做。常見記憶體管理機制 連續性分配管理方式 塊式管理。非連續性分配管理方式 頁式管理 段式管理 段頁式管理。1.塊式管理 將記憶體分為幾個固定大小的塊,每個塊只包含乙個程序。當程式執行需...