引入进程的目的
? ? ? ? ? ? ? ? ???強(qiáng)烈推薦人工智能學(xué)習(xí)網(wǎng)站??
? ? ? ? ? ? ? ? ?操作系統(tǒng)為何要引入進(jìn)程這個(gè)概念,這要從多批道處理系統(tǒng)說(shuō)起。為了提高CPU利用率,多批道處理系統(tǒng)一次性載入多個(gè)作業(yè)到內(nèi)存中讓程序并發(fā)執(zhí)行,但這會(huì)造成一系列的問(wèn)題。這里也談到一個(gè)概念"并發(fā)",并發(fā)和并行的概念很多人混淆不清。并發(fā):指你有處理多個(gè)任務(wù)的能力,不一定要同時(shí)進(jìn)行。并行:指你有同時(shí)處理多個(gè)任務(wù)的能力。
? ? ? ? ? ? ? ? ?程序的并發(fā)執(zhí)行產(chǎn)生的問(wèn)題:
? ? ? ? ? ? ? ? ?1.間斷性。如果現(xiàn)在并發(fā)執(zhí)行兩個(gè)不同程序的A操作和B操作,兩個(gè)不同程序的A操作和B操作根本沒(méi)啥關(guān)系,但是它們是并發(fā)執(zhí)行的,執(zhí)行了A操作,但是B因?yàn)槠渌驔](méi)有執(zhí)行完畢,則A操作對(duì)應(yīng)的那個(gè)程序也無(wú)法繼續(xù)向下執(zhí)行,必須等待B操作執(zhí)行完畢
? ? ? ? ? ? ? ? ? ?2.失去封閉性。并發(fā)執(zhí)行的程序,系統(tǒng)中的資源都是共享的,而這些資源的狀態(tài)也由這些程序來(lái)改變,致使其中一個(gè)程序運(yùn)行時(shí),其環(huán)境必然受到其他程序影響
? ? ? ? ? ? ? ? ? ?3.不可在現(xiàn)性。因?yàn)槌绦蜻\(yùn)行的速度不同,程序的運(yùn)行對(duì)環(huán)境也相互影響,則程序多次執(zhí)行,雖然它們的初始條件相同,但是運(yùn)行的結(jié)果卻個(gè)不同。
? ? ? ? ? ? ? ? ? ?上面產(chǎn)生的問(wèn)題在進(jìn)程這個(gè)概念引入后,都得到了很好的解決。
? ? ? ? ? ? ? ? ??
?
?
參考資料:計(jì)算機(jī)操作系統(tǒng)
參考地址:https://www.zhihu.com/question/33515481
總結(jié)
- 上一篇: linux进程的地址空间
- 下一篇: 脚本重启nginx进程