三 作業系統導論 記憶體基礎(知識點總結)

2021-10-11 11:43:18 字數 1335 閱讀 7480

1、作業系統需要提供乙個易用(easy to use)的物理記憶體抽象。這個抽象叫作位址空間(address space),是執行的程式看到

的系統中的記憶體。

3、棧和堆:

棧(stack)來儲存當前的函式呼叫資訊,分配空間給區域性變數,傳遞引數和函式返回值。

堆(heap)用於管理動態分配的、使用者管理的記憶體。

4、隔離是建立可靠系統的關鍵原則。

5、虛擬記憶體系統的主要目標:

1、記憶體兩種型別:

2、malloc()呼叫:

基本用法:malloc 函式非常簡單:傳入要申請的堆空間的大小,它成功就返回乙個指向新申請空間的指標,失敗就返回null。

比如:

//size_t 型別引數,該引數表示你需要多少個位元組

void *malloc(size_t size);

或者double *d = (double *) malloc(sizeof(double));

再或者int *x = malloc(10 * sizeof(int));

3、free()呼叫:

要釋放不再使用的堆記憶體,程式設計師只需呼叫free()。

int *x = malloc(10 * sizeof(int));

...free(x);

4、值得注意的是:malloc()呼叫和free()呼叫。都不是系統呼叫,而是庫呼叫。

1、回顧:

在實現cpu 虛擬化時,我們遵循的一般準則被稱為受限直接訪問(limited direct execution,lde)。

lde 背後的想法很簡單:讓程式執行的大部分指令直接訪問硬體,只在一些關鍵點(如程序發起系統呼叫或發生時鐘中斷)由作業系統介入來確保「在正確時間,正確的地點,做正確的事」。

2、位址轉換(address translation):

可以看成是受限直接執行這種一般方法的補充。

作用:將指令中的虛擬(virtual)位址轉換為資料實際儲存的物理(physical)位址。

3、動態(基於硬體)重定位:稱為基址加界限機制(base and bound),有時又稱為動態重定位。

具體實現:每個cpu 需要兩個硬體暫存器:基址(base)暫存器和界限(bound)暫存器,有時稱為限制(limit)暫存器。

physical address = virtual address + base

1、外部碎片和內部碎片:

2、底層機制:

3、基本策略:

4、其他方式:

作業系統基礎知識點

作業系統是管理計算機硬體與軟體資源的電腦程式,也是計算機系統的核心及基石 作業系統需要處理的事務,如管理與配置記憶體,決定系統資源供需的優先次序,控制輸入裝置與輸出裝置,操作網路與管理檔案系統等基本事務,作業系統也提供乙個讓使用者與系統互動的操作介面。作用 控制計算機硬體的基本執行,把使用硬體的複雜...

作業系統 記憶體的基礎知識

什麼是記憶體 1.儲存單元 用於存放資料的硬體,程式執行前先放到記憶體中才能被cpu處理 2.記憶體位址 給記憶體儲存單元編位址,從0開始每個位址對應乙個儲存單元,可以按位元組編址,也可以按字長編址,乙個儲存單元乙個位元組或字長 記憶體執行的基本原理 1.指令的工作原理 記憶體有資料段和程式段,指令...

作業系統知識點

tcp的擁塞控制由4個核心演算法組成。https 把資料進行非對稱加密,然後客戶端從第三方伺服器獲取證書 加密後的公鑰 http完整請求 建立tcp連線,傳送http命令請求頭,web伺服器應答,關閉tcp連線 tcp 三次握手 缺陷 洪氾攻擊 解決辦法 四次揮手 長連線 短連線 程序 執行緒 併發...