站在計算機內部,作業系統把cpu、磁碟、記憶體這三部分物理資源抽象成程序、檔案、位址空間,來給我們的應用程式使用。
作業系統層次結構:硬體之上,應用程式之下。
kernel (作業系統內部元件),包括:
os kernel的特徵:
計算機基本硬體結構:
cpu:完成對整個程式(軟體)執行的控制。
記憶體:放置程式的**和處理的資料。
i/o裝置:硬碟、鍵盤、滑鼠
記憶體的層次結構:
磁碟 (虛擬記憶體)、主存、快取(cpu上的)什麼叫「記憶體的層次結構」?意思就是cpu要訪問的指令或者資料在什麼地方。
cpu可以訪問的記憶體包括2大類:暫存器、cache(l1快取、l2快取)。都是位於晶元內部的,作業系統對它們無法直接管理的,它們速度很快,容量很小。
「主存」也就是我們的物理記憶體,放置我們的程式**。一掉電資料就沒有了。
硬碟:保持永久性資料。
作業系統具體要完成的工作:
抽象:應用程式在執行的時候由作業系統有效管理,使得程式不必考慮太多底層的細節,不必考慮物理內存在什麼地方,外設在什麼地方。只需要訪問乙個連續的位址空間,我們把這個位址空間稱之為邏輯位址空間。
保護:因為在我們的記憶體中可以執行多個不同的應用程式,我們需要保護多個程序之間的位址空間是需要隔離的。
共享:保障程序之間安全有效可靠的資料傳遞。
虛擬化:當記憶體有執行了很多應用程式之後,會出現記憶體不夠的情況,如何讓正在執行的程式獲得它所需要的記憶體空間呢?把最需要放到記憶體的資料放到記憶體中,暫時不需要訪問的資料可以放到硬碟上。
Windows作業系統的分層
一 層次結構 windows從總體上分為核心模式 kernel model 和使用者模式 user model 談到作業系統的核心模式和使用者模式,一般會和cpu的特權層聯絡起來。cpu有多個特權層,例如,intel的386cpu就有4個特權層,從第0層到第3層。其中第0層的特權最高,也就是可以執行...
作業系統記憶體管理
作業系統記憶體管理 一 程序的虛擬位址空間 每個程序都被賦予自己的虛擬位址空間,對於32位程序來說,這個位址空間為4g,因此程序中的位址可以為0x00000000至0xffffffff之間的任何乙個值。其中4g空間中的低區的2g空間留給程序使用,而高區的2g空間則留給系統使用。在windows200...
作業系統記憶體管理
作業系統記憶體管理一 程序的虛擬位址空間 每個程序都被賦予自己的虛擬位址空間,對於 32位程序來說,這個位址空間為 4g,因此程序中的位址可以為 0x00000000 至0xffffffff 之間的任何乙個值。其中 4g空間中的低區的 2g空間留給程序使用,而高區的 2g空間則留給系統使用。在win...