Linux的系統架構

2021-05-24 13:31:46 字數 1842 閱讀 3405

linux系統從應用角度來看,分為核心空間和使用者空間兩個部分。核心空間是linux作業系統的主要部分,但是僅有核心的作業系統是不能完成使用者任務。

1.程序排程

程序排程指的是系統對程序的多種狀態之間轉換的策略。linux下的程序排程有3種策略:sched_other、sched_fifo和sched_rp。

sched_other是用於針對普通程序的時間片輪轉排程策略。這種策略中,系統給所有的執行狀態的程序分配時間片。在當前時間片用完之後,系統從程序中優等級最高的程序中選擇程序執行。

sched_fifo是針對執行的實時性要求比較高、執行時間短的程序排程策略。這種策略中,系統按進入佇列的先後進行程序的排程,在沒有更高優先順序程序到來或者當前程序沒有因為等待資源而阻塞的情況下,會一直執行。

sched_rr是針對執行的實時性要求比較高、執行經較長的程序排程策略。這種策略與sched_other的策略類似,只不過sched_rr程序的優先順序要高得多。 系統分配給sched_rr的程序時間片,然後輪循執行這些程序,將時間片用完的程序放入佇列的末尾。

linux程序排程月票用的是「有條件可剝奪」的排程方式。普通程序中採用的是sched_other的時間片輪循方式,實時程序可以剝奪普通程序。如果普通程序在使用者空間執行,則普通程序立即停止執行,將資源讓給實時程序vkjsuo通程序執行在核心空間,需要等系統呼叫返回使用者空間後方可剝奪資源。

2.記憶體管理mmu

記憶體管理是多個程序間的記憶體共享策略。在linux系統中,記憶體管理的主要概念是虛擬記憶體。

虛擬記憶體的分配策略是每個程序都可以公平地使用虛擬記憶體。虛擬記憶體的大小通常設定為物理記憶體的兩倍。

3.虛擬檔案系統vfs

在linux下支援多種檔案系統,如ext、ext2、minix、umsdos、msdos、vfat、ntfs、proc、smb、ncp、iso9660、sysv、hpfs、affs等。

4、網路介面

linux是在internet飛速發展的時期成長起來的,所以linux支援多種網路介面和協議。網路介面分為網路協議和驅動程式。

5、程序間通訊

linux的程序間通訊是從unix系統繼承過來的。linux下的程序間通訊方式主要有管道方式、訊號方式、訊息佇列方式、共享記憶體和套接字等方法。  

與windows下的檔案組織結構不同,linux不使用磁碟分割槽符號來訪問檔案系統,而是將整個檔案系統表示成樹狀的結構,linux系統每增加乙個檔案系統都會將其加入到這個樹中。

不同的linux發行版本的目錄結構和具體的實現功能存在一些細微的差別。但是主要的功能都是一致的。一些常用目錄的作用如下:

/etc: 包括絕大多數linux系統引導所需要的配置檔案,系統引導時讀取配置檔案,例如fstab、host.conf等。

/lib: 包含c編譯程式需要的函式庫,是一組二進位制檔案,例如glibc等。

/usr: 包括所有其他內容,如src、local。linux的核心就在/usr/src中。其下有子目錄/bin,存放所有安裝語言的命令,如gcc、perl等。

/var:包含系統定義表,以便在系統執行改變可以只備份該目錄,如cache。

/tmp: 用於臨時性的儲存。

/bin: 大多數命令存放在這裡。

/home: 主要存放使用者賬號,並且可以支援ftp的使用者管理。系統管理員增加使用者時,系統在home目錄下建立與使用者同名的目錄,此目錄一般認有desktop目錄。

/dev: 這個目錄下存放一種裝置檔案的特殊檔案,如fd0、had等。

/mnt: 在linux系統中,它是專門給外掛程式的檔案系統使用的,裡面有兩個檔案cdrom、floopy,登入光碟機、軟體時要用到。

linux系統目錄架構

bin 可執行檔案,命令 boot 引導目錄 dev 裝置目錄,所有硬體都被抽象為乙個檔案 etc 配置檔案,基本都是純文字 home 家目錄,每個使用者都有自己的資料夾,root目錄的家目錄是單獨的 lib 庫檔案,so結尾 media 掛載 opt 一般用來裝大型軟體 proc 系統的實時資訊,...

Linux系統架構效能命令

監控 linux 系統的 7 個命令列工具 from lib64 ld linux x86 64.so.2 解決挖礦病毒占用cpu以及誤刪 ld linux x86 64.so.2 檔案的問題 linux下軟體安裝的幾種方式 outofmemory.cn技術專欄 shell 監控linux 這裡有一...

Linux系統架構 Nginx的訪問控制

yum install vsftpd y 安裝ftp服務 systemctl start vsftpd 開啟ftp服務 nigix執行的使用者和組都為nginx 啟用http stub status module模組以支援狀態統計,便於檢視伺服器的連線資訊 make make install ln ...