1、進(jìn)程
1、甚么是進(jìn)程
進(jìn)程是正在運(yùn)行的程序?qū)嶓w,并且包括這個(gè)運(yùn)行的程序中占據(jù)的所有系統(tǒng)資源,比如說CPU(寄存器),IO,內(nèi)存,網(wǎng)絡(luò)資源等。比如說,一樣1個(gè)程序,同1時(shí)刻被兩次運(yùn)行了,那末他們就是兩個(gè)獨(dú)立的進(jìn)程。
進(jìn)程是程序的1次履行,該進(jìn)程可以和其他進(jìn)程并發(fā)履行。
2、為何引入進(jìn)程
程序并發(fā)履行的時(shí)候,需要同享系統(tǒng)的資源,從而致使各程序在履行進(jìn)程中出現(xiàn)相互制約失去了順序履行的程序的封閉性。
為了提高計(jì)算機(jī)系統(tǒng)的效力.增強(qiáng)計(jì)算機(jī)系統(tǒng)內(nèi)各種硬件的并行操作能力.操作系統(tǒng)要求程序結(jié)構(gòu)必須適應(yīng)并發(fā)處理的需要.為此引入了進(jìn)程的概念。
為了能更好地描寫程序的并發(fā)履行,實(shí)現(xiàn)操作系統(tǒng)的并發(fā)性和同享性,引入“進(jìn)程”的概念。
2、管程
使用PV操作和信號(hào)量的機(jī)制,解決了進(jìn)程的同步描寫問題,單信號(hào)量的大量同步的操作分散在各個(gè)進(jìn)程中不便于管理還有可能致使系統(tǒng)產(chǎn)生死鎖。
為此引進(jìn)了管程的概念。管程就是將所有進(jìn)程在對(duì)1種資源的同步操作的時(shí)候,將所有的資源都集中起來,構(gòu)成1個(gè)所謂的秘書進(jìn)程。凡要訪問該臨界資源的進(jìn)程,都需先報(bào)告秘書,由秘書來實(shí)現(xiàn)諸進(jìn)程對(duì)同1臨界資源的互斥使用。保證了進(jìn)程對(duì)資源的使用的安全性。
管程是由1些同享的數(shù)據(jù),1組能為并發(fā)進(jìn)程所履行的作用在同享數(shù)據(jù)上的操作的集合。初始代碼和存取權(quán)組成。
3、線程
線程是進(jìn)程中的1個(gè)實(shí)體,是被系統(tǒng)獨(dú)立分配和調(diào)度的基本單位。
進(jìn)程具有資源的獨(dú)立單位,可獨(dú)立調(diào)度和分配的基本單位。由于在進(jìn)程的創(chuàng)建、撤消和切換中,系統(tǒng)必須為之付出較大的時(shí)空開消,因此系統(tǒng)中的進(jìn)程的數(shù)目不宜過量,進(jìn)程切換的頻率不宜太高,這樣就相知了并發(fā)程度的提高。線程的引入以后就能夠?qū)⒕哂匈Y源的獨(dú)立單位,和可獨(dú)立調(diào)度和分配的基本單位分開來,線程作為調(diào)度和分配的基本單位,進(jìn)程是獨(dú)立分配資源的單位。
感覺自己現(xiàn)在只是理解了1些比較表面的東西,通過接下來的反復(fù),加深理解。