2022年12月14日 星期三

計概03-06Linux作業系統

3-6.1Linux作業系統

創造者

19918月,芬蘭學生Linus Torvalds

自由軟體

原始碼公開,免費軟體,自由使用(under GNU Public License)

功能

․真正優先權式多工(preemptive multitasking),各行程在執行時彼此獨立,不會相互干擾。

․可供多位使用者同時使用(multi-user access)

․支援多重處理器(multi-processor)

․可在x86AlphaSparcMipsPPC等多種不同的平台上執行。

․虛擬記憶體使用分頁機制寫入磁碟,而非置換整個行程(process)的所有記憶體(後者的效率較差)

․依需求載入執行檔,系統只會把執行時要用到的部份載入記憶體。

․支援多種執行檔格式。

․支援多種檔案系統,包括Linuxext2Windows系統的vfatntfsCDROMiso9660、網路檔案系統NFS等。

․支援包括TCP/IPPPPIPXAppletalk在內的各種網路協定。

․多重虛擬主控台(virtual console)

行程狀態

1.Running執行態:行程正在運行(它是系統的目前行程),或者是準備運行的(它正在等待被分到系統的CPU資源)

2.Waiting等待態:行程正在等一個事件或一個資源。Linux中的等待態有性質不同的兩種類型:interruptible(可中斷的)uninterruptible(不可中斷的)。可中斷的等待行程能被信號打斷,而不可中斷的等待行程直接等待某種硬體條件,在任何情形下都不能被中斷。

3.Stoped停止態:行程被停止了,通常是給一個信號來通知行程的停止。

4.Zombie僵死態:某個已經終止的行程,由於一些原因,仍然在任務排程中占有資料,就稱做處於僵死態。

 

不同的執行緒可以共用共享同樣的資源。

創建行程

使用"copy on write"(寫時複製)的技術,做法是當其中一個行程試圖寫共享虛擬記憶體時才進行複製。實現的方法是把可寫的記憶體區域在頁表中標為"read only"(只讀),在虛擬記憶體區塊資料結構中標為"copy on write "。當某個行程試圖寫時,就會發生page fault,此時Linux就進行記憶體的複製,並修改頁表和虛擬記憶體的資料結構。

執行程式

Linux系統中的程式和命令通常是由一個命令直譯器來執行的。一個命令直譯器是一個用戶行程,一般被稱為shell

Linux系統中有許多命令直譯器,最流行的一些是shbashtcsh。除了一些內部命令之外,例如cdpwd,一個命令就是一個可執行的二進制的檔案。

行程的辦識資訊

每個行程總共記錄了4對使用者和使用群組的辨識器:

1.uidgid

行程所代表的使用者(也就是啟動這個行程的使用者)的使用者和使用群組的辨識器。

2.effective uid and gid

有一些程式在執行的時候會把uidgid改變為它們的自己的特定的某個uidgid,稱為"setuid"程式。它是限制系統服務(service)的權限一個方法,尤其在實現為別的使用者服務的網路精靈程式等類似的服務時很有用。effective uidgid來自程式的檔案本身,和啟動它的使用者無關。核心在檢查權限的時候會使用effective uidgid

3.file system uid and gid

這兩個辨識器通常和effective uidgid一樣,當檢查檔案系統存取權限時會用上。這兩個辨識器是為了建立NFS(Network File System,網路檔案系統)而使用的,因為使用者模式的NFS伺服器需要像一個特別的行程一樣來存取檔案。在這種情況下,只有file system uidgid被改變(有效的uidgid不變)。這樣可以防止惡意的用戶向NFS伺服器發送kill信號。Kill信號會被以一個特別的有效uidgid發送到行程。

4.saved uid and gid

這是POSIX標準中要求的兩個辨識器。當行程透過系統呼叫來改變uidgid的時候必須要用它們來保存真實的uidgid

行程環境區塊

一個行程的環境區塊包括兩個向量組成,一個是參數向量,一個是環境向量。參數向量只是簡單的一列命令列參數,用在啟動程式時。環境向量則是一個"NAME=VALUE"的串列,用來指定環境變數相對應的值。

 

3-6.2常見的Linux指令

類別

指令

說明

類別

指令

說明

一般

ls

列出檔案清單

系統

poweroff

電腦關機

mkdir

建立資料夾

reboot

重新開機

cd

切換到指定資料夾

磁碟管理

fdisk

分割硬碟

rm

刪除檔案/資料夾

mount

掛載磁碟機

file

查看檔案類別

umount

卸載磁碟機

echo

在螢幕顯示文字

stat

查看檔案/資料夾狀態

網路

ipconfig

查看IP與網路介面卡

cat

顯示檔案內容

ping

查尋遠端主機

cp

複製檔案

netstat

顯示網路狀態

線上說明

man

顯示線上文件

 

沒有留言:

張貼留言

注意:只有此網誌的成員可以留言。