本文內(nèi)容大部分摘自《UNIX環(huán)境高級(jí)編程》,附有部分個(gè)人心得。
1、unix體系結(jié)構(gòu)
從嚴(yán)格意義上來(lái)說(shuō),可將操作系統(tǒng)定義為一種軟件,它控制計(jì)算機(jī)硬件資源,提供程序運(yùn)行環(huán)境。
我們通常將這種軟件稱為內(nèi)核(kernel),因?yàn)樗鄬?duì)較小,而且位于環(huán)境核心。如圖顯示unix體系結(jié)構(gòu)。
內(nèi)核接口被稱為系統(tǒng)調(diào)用(system call)。公用函數(shù)庫(kù)構(gòu)建在系統(tǒng)調(diào)用接口之上,應(yīng)用程序既可食用公用函數(shù)庫(kù),也可以使用系統(tǒng)調(diào)用。
shell是一個(gè)特殊的應(yīng)用程序,為運(yùn)行其他應(yīng)用程序提供了一個(gè)接口。
從廣義上來(lái)講,操作系統(tǒng)包括內(nèi)核和其他軟件。
2、登陸
用戶在登陸unix系統(tǒng)時(shí),要先鍵入登錄名,然后鍵入登錄口令。系統(tǒng)在其口令文件(通常是/etc/passwd文件)中查看登錄名。
口令文件中的登陸項(xiàng)是由七個(gè)以冒號(hào)為分隔的字段組成,依次是:登錄名、加密口令、數(shù)字用戶ID、數(shù)字組ID、注釋字段、起始目錄以及shell程序(我理解為系統(tǒng)調(diào)用的權(quán)限)
root:*:0:0:System Administrator:/var/root:/bin/sh
名 :密:戶:組: 注 : 目 : shell
巧計(jì):明迷糊租住木鞋
3、文件和目錄
3.1 文件系統(tǒng)
unix文件系統(tǒng)是目錄和文件的一種層次結(jié)構(gòu)(樹(shù)形結(jié)構(gòu)),所有東西的起點(diǎn)是根(root)目錄,根目錄的名稱是“/”。
3.2 文件名
目錄中的各個(gè)名字稱為文件名(filename)。只有斜線(/)和空字符不能出現(xiàn)在文件名中。斜線用來(lái)分割路徑,空格用來(lái)終止一個(gè)路徑名。
3.3 路徑名
由斜線分隔的一個(gè)或多個(gè)文件名組成的序列(可以以斜線開(kāi)頭)構(gòu)成路徑名(pathname),以斜線為開(kāi)頭的路徑名為絕對(duì)路徑(absolute pathname),否則稱為相對(duì)路徑名(relative pathname)。
4、程序與進(jìn)程
4.1、程序:
程序(PRogram)是儲(chǔ)存在磁盤上某個(gè)目錄中可執(zhí)行的文件。內(nèi)核使用exec還書(shū)將程序讀入內(nèi)存,并執(zhí)行程序。
4.2、進(jìn)程和進(jìn)程ID
程序執(zhí)行實(shí)例被稱為進(jìn)程(process)。unix系統(tǒng)確保每個(gè)進(jìn)程都有一個(gè)唯一的數(shù)字標(biāo)識(shí)符,成為進(jìn)程ID(process ID),進(jìn)程ID總是一個(gè)非負(fù)整數(shù)。
4.2.1、進(jìn)程控制
有三個(gè)用于控制進(jìn)程的主要函數(shù):fork、exec、waitpid。
4.3、線程和線程ID
線程(thread):資源執(zhí)行的基本單位
線程ID:唯一地標(biāo)識(shí)了一個(gè)進(jìn)程中的線程,它只在所屬進(jìn)程中有效,一個(gè)進(jìn)程的線程ID到了另一個(gè)進(jìn)程中毫無(wú)意義。
注:線程可以共享同一地址空間、文件描述符、棧、進(jìn)程相關(guān)的屬性。
新聞熱點(diǎn)
疑難解答
圖片精選