Linux 系統基礎原理

2021-10-10 11:22:59 字數 1645 閱讀 2731

1、乙個計算機的組成部分 

硬體、核心(kernel)、庫(庫呼叫)、(系統呼叫)、應用程式 

系統呼叫的意思就是把應用程式的請求傳遞給核心,呼叫相應的核心函式完成所需的處理,將處理的結果返回給函式

2、cpu的指令

(1)特權指令:只有核心才能夠執行,完成硬體的一些工作

(2)使用者指令:使用者程式使用的指令,使用者要想使用特權指令,需通過系統呼叫

3、使用者空間和核心空間

linux作業系統和驅動程式執行在核心空間,而應用程式執行在使用者空間 

4、核心的功用

我 們所說的核心模式就是整個作業系統在進行下面這些功能的執行

(1)程序管理   (2)檔案系統  (3)網路功能  (4)驅動管理  (5)安全功能

程序1、process程序 

含義:通常程序就是指令碼讀取檔案的乙個副本所執行的乙個程式

存在生命週期:從建立到結束、

2、程序建立 

當乙個系統啟動時,先把核心 --》cpu上執行,核心執行完後--》由核心負責啟動程序--》建立出第乙個程序,通常是init程序,核心建立完init程序後 --》核心空間沒有了,使用者空間創造出來了  --》然後除了特權指令,都由init來建立進其他使用者程序。

3、init

1)程序都由其父程序建立,主要兩個步驟是fork()和clone()

2)程序優先順序

前提:程序是要執行的乙個活動,主要是由cpu來執行,當有多個程序時,就有乙個處理先後的過程。

0-139  --》1-99 :實時優先順序,越大越優先 --》 100-139:靜態優先順序,越小越優先

nice值--》 使用者用過調整程序的nice值來改變程序的100-139的優先順序 --》-20-19,:對應的100-139

3)程序記憶體的理解

1、線性位址空間

程序以為自己能夠占用的記憶體空間,程序只能夠訪問線性的,而不能訪問物理的

2.  mmu :memory mangement

unit: 記憶體管理單元,當乙個程序被載入至cpu上執行時--》把它的對映關係放在mmu這個晶元上,負責完成位址的實時轉換(即把虛擬地質轉換為實體地址,分配給程序所需要的記憶體使用)

3、假設物理記憶體(是主機記憶體條的記憶體)只有乙個,cpu只有一顆,當前系統執行多個程序,程序的執行是先記憶體存資料和指令--》

再通過cpu進行執行,那麼記憶體是怎樣合理劃分記憶體來存放多個程序的呢-- 》對於所有程序包括記憶體,不會直接訪問硬體,而是通過核心來分配資源--》核心自己占用一定記憶體,剩下的給程序使用,核心把剩餘記憶體切割成固定大小的片段

4、ipc:inter process conmunication,程序間通訊

a)同一主機上: signal:訊號  --》shm:shared memmory,共享記憶體

b)不同主機上  rpc:remote process call,遠端過程呼叫 --》socket:套接字

4)程序的狀態

執行態:running,有分給記憶體執行 --》 就緒態:ready,未分給記憶體 -- 》睡眠態:可中斷:interruptable   不可中斷:uninterruptable--》停止態:暫停於記憶體中,但不會被排程,除非手動啟動之;stopped  --》僵死態:zombie

5)程序的分類:

cpu-bound :非互動型的,占用記憶體多--io-bound :互動型的

Linux系統IP路由基礎 路由原理

1 路由原理 主機位址 那麼它的主機id標記為非零 如果這個條目包 含的是乙個 網路位址 關於路由表演算法的一些詳細資訊 1 首先,路由表會去搜尋乙個 目的ip位址 欄位與資料報文中目的ip位址完全相同的條目。這 就意味著ip位址的主機id與網路id完全的匹配。如果找到,則資料報被傳送到相應介面或中...

Linux系統呼叫原理

rootfs 使用者空間 kernel 核心空間 檔案系統 裝置驅動 網路協議棧 程序管理 記憶體管理 平台 系統呼叫 七大子系統 uboot 硬體linux系統分為使用者空間和核心空間 使用者空間的特性 包含了應用軟體,c庫,對應的cpu的工作模式為usr模式 不能直接訪問硬體裝置 如果進行記憶體...

Linux 系統呼叫原理

unistd.h檔案記錄著系統呼叫中斷號的資訊。syscall nr kill,sys kill security keys keyctl.c define nr add key 217 syscall nr add key,sys add key syscall define5 add key,c...