UNIX內(nèi)核分析PPT課件_第1頁
UNIX內(nèi)核分析PPT課件_第2頁
UNIX內(nèi)核分析PPT課件_第3頁
UNIX內(nèi)核分析PPT課件_第4頁
UNIX內(nèi)核分析PPT課件_第5頁
已閱讀5頁,還剩45頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、前前 序序 UNIX系統(tǒng)1969年誕生,以其特有的簡(jiǎn)潔性和開放性獲得贊同與青睞,已經(jīng)被移植到數(shù)十種硬件平臺(tái)上。 UNIX系統(tǒng)已遠(yuǎn)遠(yuǎn)超出一個(gè)OS軟件所起的作用,它在方方面面潛移默化地影響著人們對(duì)軟件的設(shè)計(jì)和開發(fā),其蘊(yùn)含的設(shè)計(jì)思想至今仍然是十分值得借鑒的。第1頁/共50頁 已有技術(shù)的精選、提煉和發(fā)展,簡(jiǎn)潔實(shí)用,短小精悍,功能強(qiáng)大 具有分層、可裝卸的文件卷系統(tǒng) 任何一個(gè)程序可不加改變地在前臺(tái)/后臺(tái)異步運(yùn)行 將文件、目錄和設(shè)備均統(tǒng)一看作文件 提供I/O緩沖技術(shù) 提供功能完備、使用靈活的命令語言 豐富的核外系統(tǒng)程序 采用高級(jí)語言編寫,可移植性好第2頁/共50頁進(jìn)程控制子系統(tǒng)進(jìn)程通信調(diào) 度存儲(chǔ)管理文件子系

2、統(tǒng)文件子系統(tǒng)高速緩存字符設(shè)備塊設(shè)備設(shè)備驅(qū)動(dòng)程序系統(tǒng)調(diào)用接口硬件控制庫函數(shù)用戶程序核心級(jí)核心級(jí)用戶級(jí)用戶級(jí)第3頁/共50頁 以UNIX V6為例,其內(nèi)核源程序約一萬行,按編譯方式大致分3類44個(gè)文件: .c文件:28個(gè)文件,190個(gè)可單獨(dú)編譯的子程序 .h文件:全局變量,14個(gè)文件 .s文件:匯編程序文件,約1000條,2個(gè)文件33個(gè)子程序第4頁/共50頁 PDP-11程序狀態(tài)字組成當(dāng)前態(tài)以前態(tài)優(yōu)先級(jí)/8級(jí)TNZVCn進(jìn)程分Kernel/User 2種運(yùn)行狀態(tài),區(qū)別n進(jìn)程處于不同地址空間:核心態(tài)/用戶態(tài)空間n可否執(zhí)行特權(quán)指令n使用不同的棧頂指針寄存器r6第5頁/共50頁 通用寄存器 PDP-11

3、/40有9個(gè)通用寄存器,長(zhǎng)度16位,編號(hào)r0-r7 r0-r1:I/O參數(shù)傳遞 r2-r4:存放過程執(zhí)行時(shí)的局部變量 r5:環(huán)境指針 r6:堆棧指針,kernel/user態(tài)各1個(gè) r7:PC第6頁/共50頁 進(jìn)程是映像的執(zhí)行 映像是計(jì)算機(jī)的執(zhí)行環(huán)境,一個(gè)映像包括 存儲(chǔ)映像 通用寄存器的值 打開文件的狀態(tài) 當(dāng)前目錄 其他信息第7頁/共50頁 進(jìn)程映像中最為關(guān)鍵的部分是存儲(chǔ)映像。 存儲(chǔ)映像由5部分組成: 進(jìn)程控制塊PCB 共享正文段 數(shù)據(jù)段 共享內(nèi)存段 工作區(qū)第8頁/共50頁進(jìn)程控制塊進(jìn)程控制塊PCBPCB Unix為了節(jié)省PCB所占主存,PCB分為2部分 常駐內(nèi)存部分:Proc結(jié)構(gòu)。包含進(jìn)程調(diào)

4、度必須的信息; 非常駐內(nèi)存部分: User結(jié)構(gòu)。包含進(jìn)程運(yùn)行時(shí)才要用到的更多其他信息,它隨用戶程序和數(shù)據(jù)部分換進(jìn)/換出主存。 User區(qū)的字段只能由正在運(yùn)行的進(jìn)程存取。即只有占用CPU的進(jìn)程才能訪問屬于當(dāng)前進(jìn)程的私有User區(qū)。 整個(gè)系統(tǒng)有一個(gè)進(jìn)程表,稱為Proc數(shù)組。Unix系統(tǒng)最多有50個(gè)進(jìn)程; 每個(gè)進(jìn)程有專用的User區(qū),但核心根據(jù)進(jìn)程頁表,通過地址映射機(jī)構(gòu),可訪問當(dāng)前進(jìn)程的User區(qū)。(好像系統(tǒng)中僅有一個(gè)User區(qū))第9頁/共50頁共享正文段共享正文段 是指可由多個(gè)進(jìn)程共享的區(qū)域,包括 純代碼形式的程序 參數(shù) 一個(gè)進(jìn)程的正文段也可以不存在第10頁/共50頁數(shù)據(jù)段數(shù)據(jù)段 指進(jìn)程執(zhí)行時(shí)用到

5、的數(shù)據(jù),包括 外部變量 靜態(tài)局部變量 常數(shù) 如果進(jìn)程執(zhí)行的程序?yàn)榉枪蚕淼?,也可以?gòu)成數(shù)據(jù)段的一部分,可被用戶態(tài)進(jìn)程讀、寫、執(zhí)行第11頁/共50頁工作區(qū)工作區(qū) 進(jìn)程的用戶棧和核心棧分別為進(jìn)程用戶態(tài)和核心態(tài)下運(yùn)行的工作區(qū) 用于函數(shù)調(diào)用時(shí)的常數(shù)傳遞,現(xiàn)場(chǎng)保留,返回地址保存,局部變量存儲(chǔ)等第12頁/共50頁進(jìn)程映像在存儲(chǔ)器中的分布進(jìn)程映像在存儲(chǔ)器中的分布 PDP-11/40最多配置248K內(nèi)存,進(jìn)程映像分為常駐/非常駐內(nèi)存部分 常駐部分:Proc,共享正文段的控制信息塊 非常駐部分:數(shù)據(jù)段,共享正文段,工作區(qū)。 Unix將除了共享正文段以外的其他部分作為一個(gè)整體處理,(結(jié)構(gòu)見下頁) 無論在主存還是在盤

6、交換區(qū),該部分占用連續(xù)存儲(chǔ)區(qū) 作為整體入/出主存 Unix設(shè)置text數(shù)組(共40個(gè)元素)管理所有可共享正文段,表目?jī)?nèi)容主要有:共享正文段外存地址,段長(zhǎng)度,共享該段的進(jìn)程數(shù)等第13頁/共50頁非常駐部分的分布結(jié)構(gòu)非常駐部分的分布結(jié)構(gòu) ppda區(qū)只有核心態(tài)進(jìn)程可以訪問User結(jié)構(gòu)系統(tǒng)棧區(qū)用戶程序/數(shù)據(jù)段用戶棧區(qū)底部底部/02891024頂部頂部進(jìn)程數(shù)據(jù)區(qū)/ppdaPer Process Data Area第14頁/共50頁進(jìn)程的數(shù)據(jù)結(jié)構(gòu)進(jìn)程的數(shù)據(jù)結(jié)構(gòu) Struct proc (主要部分) int p-pid; /*唯一標(biāo)識(shí)一個(gè)進(jìn)程的整數(shù):0 215-1 int p-ppid; /*父進(jìn)程標(biāo)識(shí)數(shù)

7、char p-uid; /*用戶標(biāo)識(shí)符UID,由高級(jí)用戶分配 char p-stat; /*進(jìn)程當(dāng)前狀態(tài) char p-flag; /*表示進(jìn)程映像是否在主存/盤交換區(qū) char p-pri; /*-100+127。值越小,優(yōu)先權(quán)越高 char p-time; /*調(diào)度駐留時(shí)間:進(jìn)程映像最近一次入/出主存后的時(shí)間 char p-cpu /*CPU使用情況 char p-nice; /*偏置值:計(jì)算進(jìn)程優(yōu)先權(quán)時(shí)使用,可由用戶設(shè)置 char p-sig; /*進(jìn)程接收的信號(hào)類型數(shù):0 19,0 13系統(tǒng)定義 int p-addr; /*ppda區(qū)的起址(單位是字符塊數(shù)):內(nèi)存64B/塊,外存512

8、B/塊 int p-size; /*除共享正文段外,可交換映像長(zhǎng)度 int p-wchan; /*睡眠原因:原因消失,則喚醒 int p-textp; /*指向text結(jié)構(gòu)的指針 procNproc ; /* Nproc是系統(tǒng)可容納的最大進(jìn)程數(shù)/50第15頁/共50頁進(jìn)程的數(shù)據(jù)結(jié)構(gòu)進(jìn)程的數(shù)據(jù)結(jié)構(gòu) 每個(gè)進(jìn)程User結(jié)構(gòu)的虛擬起始地址都是u=14000。操作系統(tǒng)通過編譯、鏈接給u變量賦值,其地址空間對(duì)應(yīng)核心空間第7頁,其物理地址可以映射到主存中各進(jìn)程的user結(jié)構(gòu)。 User結(jié)構(gòu)含有當(dāng)進(jìn)程換出內(nèi)存候不需要訪問的所有數(shù)據(jù)第16頁/共50頁進(jìn)程的數(shù)據(jù)結(jié)構(gòu)進(jìn)程的數(shù)據(jù)結(jié)構(gòu) Struct user (主要部

9、分) int u-rsav2; /*調(diào)度進(jìn)程的正常保留區(qū):r5,r6 int u-qsav2; /*中止系統(tǒng)調(diào)用的越級(jí)返回保留區(qū) int u-ssav2; /*fork時(shí)恢復(fù)子進(jìn)程運(yùn)行的保留區(qū) char u-segflg; /*I/O標(biāo)志,0/1/2分別為:用戶數(shù)據(jù)/系統(tǒng)/用戶指令空間 char u-error; /*出錯(cuò)返回碼 char u-uid; /*有效用戶標(biāo)識(shí)號(hào) char u-gid; /*有效用戶組標(biāo)識(shí)號(hào) char u-ruid /*實(shí)際用戶標(biāo)識(shí)號(hào) char u-rgid; /*實(shí)際用戶組標(biāo)識(shí)號(hào) int u-procp; /*指向本進(jìn)程的proc結(jié)構(gòu)指針 char *u-base;

10、 /*I/O基址,文件傳輸中表示主存地址,R/W-目標(biāo)/信息源指針 char *u-count; /* I/O字節(jié)數(shù) char *u-offset2; /*文件傳輸中表示文件內(nèi)相對(duì)位移量(字節(jié)) char *u-cdir; /*當(dāng)前目錄項(xiàng)i節(jié)點(diǎn)指針 char u-dbufDIRSIZE; /*保留當(dāng)前用到的文件路徑名 char *u-dirp; /*當(dāng)前目錄文件名指針第17頁/共50頁進(jìn)程的數(shù)據(jù)結(jié)構(gòu)進(jìn)程的數(shù)據(jù)結(jié)構(gòu) Struct int u-ino /* i結(jié)點(diǎn)號(hào) /*該結(jié)構(gòu)保存一個(gè)文件目錄項(xiàng) char u-nameDIRSIZE; /*該文件路徑名分量 u-dent; int *u-pdir;

11、 /*父目錄項(xiàng)i結(jié)點(diǎn)指針 char u-uisa16; /*存放本進(jìn)程用戶空間地址寄存器內(nèi)容 char u-uisd16; /*存放本進(jìn)程用戶空間說明寄存器內(nèi)容 char u-ofileNOFILE; /*用戶打開文件表,共15個(gè)表目 char u-arg5; /*用戶傳入的自變量 char u-tsize /*本進(jìn)程正文段塊數(shù) char u-dsize; /*本進(jìn)程數(shù)據(jù)段塊數(shù) int u-ssize; /*本進(jìn)程堆棧段塊數(shù) char u-signalNSIG; /*軟中斷處理程序入口表,20個(gè)表目 char u-utime; /*進(jìn)程用戶態(tài)下運(yùn)行時(shí)間 char u-stime; /*進(jìn)程核心

12、態(tài)下運(yùn)行時(shí)間 char u-cutime; /*已中止子進(jìn)程用戶態(tài)下運(yùn)行時(shí)間總和 char u-cstime; /*已中止子進(jìn)程核心態(tài)下運(yùn)行時(shí)間總和 char u-intflag; /*系統(tǒng)調(diào)用是否執(zhí)行完成標(biāo)志u;第18頁/共50頁進(jìn)程的數(shù)據(jù)結(jié)構(gòu)進(jìn)程的數(shù)據(jù)結(jié)構(gòu) Struct text int x-daddr; /*共享正文段在盤交換區(qū)的起始地址 int x-caddr; /*共享正文段在內(nèi)存中的起始?jí)K號(hào)(*64=起始地址) int x-size; /*共享正文段長(zhǎng)度 char x-count /*共享該正文段的進(jìn)程數(shù) char x-ccount; /*共享該正文段,且映像在內(nèi)存的進(jìn)程數(shù) int

13、 *x-iptr; /*指向正文段所在文件的inode指針 textNTEXT; 一般NTEXT=40 如果有某正文段的共享進(jìn)程映像在內(nèi)存中,則該共享正文段一定在內(nèi)存中第19頁/共50頁進(jìn)程映像的基本結(jié)構(gòu)圖進(jìn)程映像的基本結(jié)構(gòu)圖p-addrp-sizep-textpx-daddrx-caddrx-iptr 共享共享正文段正文段 user核心棧核心棧數(shù)據(jù)段數(shù)據(jù)段用戶棧用戶棧ppdau-dsizeu-ssizeProctextfileinode盤交換區(qū)P-sizex-sizeProcntextm第20頁/共50頁進(jìn)程的狀態(tài)進(jìn)程的狀態(tài) 進(jìn)程在其生命周期的不同時(shí)刻有不同狀態(tài);同一時(shí)刻不同進(jìn)程有不同狀態(tài)

14、Unix系統(tǒng)中,進(jìn)城的完整狀態(tài)有9種。 (轉(zhuǎn)換圖見下一頁) 創(chuàng)建狀態(tài) 內(nèi)存就緒 就緒且換出:新創(chuàng)建/原就緒進(jìn)程,因內(nèi)存緊張而換出 核心態(tài)執(zhí)行 用戶態(tài)執(zhí)行 內(nèi)存中睡眠:執(zhí)行I/O操作進(jìn)程,等待 睡眠且換出:內(nèi)存緊張時(shí),睡眠進(jìn)程首先被換出 被剝奪狀態(tài):進(jìn)程被調(diào)度程序剝奪了處理機(jī)后的狀態(tài) 僵死狀態(tài):類似于中止?fàn)顟B(tài)第21頁/共50頁進(jìn)程狀態(tài)轉(zhuǎn)換圖進(jìn)程狀態(tài)轉(zhuǎn)換圖被剝奪被剝奪485926371內(nèi)存內(nèi)存外存外存盤交換區(qū)盤交換區(qū)內(nèi)存足內(nèi)存足內(nèi)存不足內(nèi)存不足調(diào)度調(diào)度exit中斷中斷/返回返回中斷中斷返回返回返回用戶態(tài)返回用戶態(tài)睡眠睡眠/喚醒喚醒睡眠睡眠fork調(diào)度調(diào)度調(diào)度調(diào)度喚醒喚醒被剝被剝奪態(tài)奪態(tài)第22頁/共

15、50頁進(jìn)程狀態(tài)轉(zhuǎn)換說明進(jìn)程狀態(tài)轉(zhuǎn)換說明 進(jìn)程執(zhí)行系統(tǒng)調(diào)用、I/O終端、時(shí)鐘中斷后,進(jìn)入核心態(tài)運(yùn)行。2種不同狀態(tài)運(yùn)行的主要差別: 進(jìn)程訪問的內(nèi)存空間的對(duì)象受到限制。 核心態(tài)運(yùn)行時(shí),不允許被剝奪;而用戶態(tài)運(yùn)行可以被剝奪(核心態(tài)運(yùn)行完成,欲返回用戶態(tài)時(shí)可被剝奪);核心態(tài)運(yùn)行時(shí),可被高優(yōu)先級(jí)核心態(tài)進(jìn)程中斷。 就緒與被剝奪(preempted)狀態(tài)是等效的,他們?cè)谕魂?duì)列等待再次調(diào)度 處于運(yùn)行狀態(tài)的進(jìn)程包括:正在處理機(jī)上執(zhí)行和就緒隊(duì)列進(jìn)程 第23頁/共50頁進(jìn)程上下文進(jìn)程上下文 進(jìn)程上下文由三部分組成: 用戶級(jí)上下文:正文,數(shù)據(jù),堆棧,共享內(nèi)存段 寄存器上下文: PC,PS,SP,r0, 系統(tǒng)級(jí)上下文:

16、Proc,User,核心棧 上下文切換時(shí),要保證內(nèi)部數(shù)據(jù)的完整性和一致性。所以切換有嚴(yán)格的條件: 當(dāng)進(jìn)程是自己進(jìn)入睡眠時(shí) 系統(tǒng)調(diào)用/中斷完成返回用戶態(tài)而被剝奪 以exit退出時(shí)Q:進(jìn)程從用戶態(tài)到核心態(tài)切換時(shí),是否為上下文切換?第24頁/共50頁進(jìn)程管理進(jìn)程管理 Unix V6中進(jìn)程的調(diào)度狀態(tài)有6種,由p-stat描述。 1 SSLEEP:高優(yōu)先權(quán)睡眠狀態(tài) 2 SWAIT: 低優(yōu)先權(quán)睡眠狀態(tài) 3 SRUN: 運(yùn)行/可運(yùn)行狀態(tài) 4 SIDL: 創(chuàng)建子進(jìn)程的中間狀態(tài) 5 SZOMB:進(jìn)程終止時(shí)的中間狀態(tài) 6 SSTOP: 暫停/正被跟蹤狀態(tài)第25頁/共50頁進(jìn)程管理進(jìn)程管理 進(jìn)程標(biāo)志p-flag定義

17、為: #define SLOAD 01 映像在內(nèi)存 #define SSYS 02 系統(tǒng)進(jìn)程,應(yīng)常駐內(nèi)存 #define SLOCK 04 進(jìn)程不能換出 #define SSWAP 010 進(jìn)程正被對(duì)換 #define STRC 020 進(jìn)程正被跟蹤 #define STWED 040 另一跟蹤標(biāo)志第26頁/共50頁進(jìn)程管理進(jìn)程管理 當(dāng)前運(yùn)行進(jìn)程,特點(diǎn): P-stat 為SRUN P-flag 包含SLOAD標(biāo)志 KISA6,KISD6指向該進(jìn)程ppda區(qū) 可以在核心/用戶態(tài)運(yùn)行,所處存儲(chǔ)區(qū)位置不同 就緒進(jìn)程,特點(diǎn): P-stat 為SRUN P-flag 可能包含SLOAD標(biāo)志,也可能不包含

18、 ppda區(qū)不是核心態(tài)第6頁 運(yùn)行-就緒通過系統(tǒng)進(jìn)程swtch完成,所以轉(zhuǎn)換首先一定是處于核心態(tài)第27頁/共50頁進(jìn)程管理進(jìn)程管理 等待時(shí)間發(fā)生而停止運(yùn)行的一種狀態(tài),特點(diǎn): P-stat 為SSLEEP或SWAIT,不參與競(jìng)爭(zhēng)處理機(jī) P-flag 可能包含SLOAD標(biāo)志,也可能不包含 KISA6,KISD6不反映進(jìn)程圖像在內(nèi)存的位置 睡眠原因:進(jìn)程間同步與互斥引起 使用互斥資源無法滿足 同步等待I/O結(jié)束 同步等待出現(xiàn)處理對(duì)象,如0#進(jìn)程/sched暫時(shí)沒有處理對(duì)象 進(jìn)程間的其他同步操作,sleep(),wait(). 臨界區(qū)互斥第28頁/共50頁進(jìn)程管理進(jìn)程管理 核心態(tài)下執(zhí)行sleep進(jìn)入睡

19、眠狀態(tài) P-pri由系統(tǒng)按照睡眠原因設(shè)置,-100-+127 SSLEEP: P-pri0,低優(yōu)先權(quán)睡眠 父子進(jìn)程同步:40 等低速設(shè)備I/O:10-20 喚醒:wakeup程序完成,喚醒后P-pri127) p=127; if (pcurpri) runrun+; /*curpri:現(xiàn)行運(yùn)行進(jìn)程被調(diào)度占用處理機(jī)時(shí)的優(yōu)先數(shù) /*runrun:進(jìn)程調(diào)度標(biāo)志,為0表示不要求進(jìn)行切換調(diào)度 ppp-pri=p;第33頁/共50頁進(jìn)程調(diào)度算法進(jìn)程調(diào)度算法 P-nice反映進(jìn)程具有的相對(duì)優(yōu)先程度 一般用戶可設(shè)置范圍:020;高級(jí)用戶:-12820 通過系統(tǒng)調(diào)用nice(priority)完成設(shè)置,代碼:

20、register n; n=u.uar0R0; /* u.uar0R0保存系統(tǒng)調(diào)用參數(shù) if (n20) n=20; if (n0低優(yōu)先權(quán) 主要工作: 設(shè)置欲睡眠進(jìn)程的p-whan/原因,p-stat,p-pri,并調(diào)用swtch進(jìn)行調(diào)度 rpp-wchan=chan; rpp-stat=SSLEEP/SWAIT; rpp-pri=pri 設(shè)置過程執(zhí)行語句為臨界區(qū),執(zhí)行前處理既優(yōu)先級(jí)提高為6級(jí)(避免中斷)第41頁/共50頁進(jìn)程睡眠進(jìn)程睡眠sleep() 說明 若進(jìn)程欲進(jìn)入低優(yōu)先權(quán)睡眠,首先應(yīng)檢測(cè)是否收到不可忽略的信號(hào)p-flag。如果收到,先轉(zhuǎn)去執(zhí)行信號(hào)處理程序; 系統(tǒng)設(shè)置runrun標(biāo)志,說

21、明是否有在盤交換區(qū)的進(jìn)程準(zhǔn)備就緒而因內(nèi)存不足無法進(jìn)入。 若runrun已經(jīng)設(shè)置,則將低優(yōu)先級(jí)睡眠進(jìn)程入盤交換區(qū),并調(diào)用sched.第42頁/共50頁睡眠喚醒睡眠喚醒wakeup() wakeup(chan)喚醒因chan原因睡眠的進(jìn)程,并將其狀態(tài)置為SRUN 主要工作:搜索proc區(qū),由setrun喚醒所有因chan睡眠的進(jìn)程:p-wchan=0;p-stat=SRUN 說明: 系統(tǒng)設(shè)置runout標(biāo)志,表示盤交換區(qū)無進(jìn)程圖像可入內(nèi)存。若runout=1,則執(zhí)行sched的0#進(jìn)程睡眠,否則喚醒。第43頁/共50頁進(jìn)程圖像在內(nèi)存進(jìn)程圖像在內(nèi)存/盤交換區(qū)間傳遞盤交換區(qū)間傳遞 圖像傳遞由0#進(jìn)程調(diào)

22、用sched完成 圖像入內(nèi)存算法:sched按照盤交換區(qū)中就緒進(jìn)程p-time,從長(zhǎng)到短逐個(gè)調(diào)入內(nèi)存,直到全部調(diào)入,或者無足夠內(nèi)存 圖像出內(nèi)存算法:若調(diào)入進(jìn)程因內(nèi)存不足無法調(diào)入時(shí),sched試圖從內(nèi)存調(diào)出一進(jìn)程,然后再次執(zhí)行調(diào)入操作。第44頁/共50頁調(diào)出算法考慮因素調(diào)出算法考慮因素 某些進(jìn)程不應(yīng)該被調(diào)出: P-flag為SSYS和SLOCK的進(jìn)程 優(yōu)先調(diào)出:p-stat為SWAIT和SSTOP的進(jìn)程。 若上述優(yōu)先進(jìn)程,則優(yōu)先考慮: p-stat為SSLEEP或SRUN中在內(nèi)存駐留時(shí)間最長(zhǎng)/p-time的進(jìn)程。 同時(shí)要求:內(nèi)存被選中進(jìn)程p-time2s 盤交換區(qū)欲入內(nèi)存進(jìn)程p-time3s 否則,不執(zhí)行調(diào)出操作第45頁/共50頁進(jìn)程的創(chuàng)建進(jìn)程的創(chuàng)建 Unix進(jìn)程創(chuàng)建有2種方式 預(yù)置方式:系統(tǒng)初啟時(shí)預(yù)置0 # , 0 #進(jìn)程創(chuàng)建1 #進(jìn)程,1 #進(jìn)程又為每個(gè)終端生成一個(gè)子進(jìn)程(p20、p21、p2m) 創(chuàng)建方式:由newproc/ fork創(chuàng)建

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論