作業系統相關知識1

2021-08-28 08:14:50 字數 1261 閱讀 3992

gcc編譯器將乙個.c的程式檔案翻譯成乙個可執行的.o檔案分為4部分組成:

(1) 預處理階段 : 預處理器將根據字元#開頭的命令,修改原始的c程式。比如#include 命令就是告訴預編譯器讀取#include 的內容,並將其插入到程式文字中。得到了另乙個以.i為結尾的副檔名

(2) 編譯階段 : 編譯器將.i檔案翻譯成.s檔案。

(3) 彙編階段 : 彙編器將.s檔案翻譯成可重定位目標程式。

系統硬體組成:

1、匯流排 : 是一組電子管道,攜帶位元組資訊並負責在各個部件中傳遞。

2、i/o裝置: 系統與外部世界的聯絡通道。主要有磁碟、鍵盤、滑鼠、顯示器等

3、主存 : 是乙個臨時儲存裝置,在處理器執行程式時,用於存放程式和程式處理的資料。物理上來說,主存是由一組動態隨機儲存器晶元組成。從邏輯上來說,儲存器是乙個線性的位元組陣列,每個位元組都有唯一的位址索引,這些位址是從0開始。

4、處理器(cpu) : 處理器的核心是大小為乙個字的儲存裝置,它被成為pc(程式計數器)。在任何時候,pc都指向一條機器指令。同時也包含匯流排介面,暫存器檔案和alu(算術/邏輯運算單元)

乙個cpu指令執行的細節

載入:從主存中複製乙個位元組或者乙個字到暫存器,以覆蓋掉暫存器原先的內容

儲存:從暫存器複製乙個字或者乙個位元組到主存中的某個位置,覆蓋掉原先的內容

操作:將兩個暫存器中的內容複製到alu,alu對這兩個字做算術邏輯運算,並將結果存到乙個暫存器中,以覆蓋掉暫存器原先的內容。

跳** 從指令本身抽取乙個字,並將這個字複製到程式計數器(pc)中,以覆蓋掉原先pc的值

快取記憶體儲存器(cache)作為暫時儲存的裝置, 儲存近期可能需要訪問的資訊。l1(大約4個時鐘週期), l2(大約10個時鐘週期), l3是靜態隨機儲存器

cpu通過生成乙個虛擬位址來訪問主存,這個虛擬位址在被送到主存之前先轉換為適當的實體地址。將乙個虛擬位址轉換成乙個實體地址的任務被稱為是位址翻譯。

夥伴系統是分離適配的一種特例, 其中每個大小類都是2的冪。基本的思路是假設乙個堆的大小為2的m次方個字,我們現在為每個塊大小為2的k次方維護乙個分離的空閒鍊錶,其中k大於等於0小於等於m。請求塊的大小向上捨入到最接近2的冪。為了分配乙個大小為2的k方的塊,我們找到第乙個可用的大小為2的j次方的塊。如果j=k,那麼我們就完成了。否則,我們遞迴的二分割這個塊,直到j=k。我們進行這樣的分割時,每個剩下的半塊被放置到相應的空閒鍊錶中。如果要釋放乙個塊,我們合併空閒塊,直到遇到乙個已分配的夥伴塊時,我們就停止合併。

夥伴系統分配器的乙個主要的應用是快速的搜尋和快速的合併。主要的缺點是會導致內部碎片

作業系統 細節知識(1)

一 空閒分割槽分配演算法 1.首先適應演算法 當接到記憶體申請時,查詢分割槽說明表,找到第乙個滿足申請長度的空閒區,將其分割並分配。此演算法簡單,可以快速做出分配決定。2.最佳適應演算法 當接到記憶體申請時,查詢分割槽說明表,找到第乙個能滿足申請長度的最小空閒區,將其進行分割並分配。此演算法最節約空...

作業系統知識梳理1

一.作業系統概述 1.作業系統的基本概念 作業系統 operating system,os 是指控制和管理整個計算機系統的硬體和軟體資源,並合理地組織排程計算機的工作和資源的分配,以提供給使用者和其他軟體方便的介面和環境的程式集合。計算機作業系統是隨著計算機研究和應用的發展逐步形成並發展起來的,它是...

作業系統相關知識的總結

dll 的本質就是暴露一些函式供給程序呼叫,內部也可以維護全域性資料 每個程序在 os的幫助下會 copy 乙份全域性的資料給自己使用,這樣就保證了程序之間共享同乙個 dll沒有相互的干擾。顯式載入,隱式載入 顯式解除安裝,隱式解除安裝 通過引入庫的方式都是隱式的。已經存在於 os中就不需要載入了 ...