linux 進(jìn)程 和 作業(yè)
Linux是一個多用戶多任務(wù)的操作系統(tǒng)。多用戶是指多個用戶可以在同一時間使用計 算機(jī)系統(tǒng);多任務(wù)是指Linux可以同時執(zhí)行幾個任務(wù),
它可以在還未執(zhí)行完一個任務(wù)時又 執(zhí)行另一項(xiàng)任務(wù)。 操作系統(tǒng)管理多個用戶的請求和多個任務(wù)。大多數(shù)系統(tǒng)都只有一個CPU和一個主存,
但一個系統(tǒng)可能有多個二級存儲磁盤和多個輸入/輸出設(shè)備。操作系統(tǒng)管理這些資源并在 多個用戶間共享資源,當(dāng)您提出一個請求時,給您造成一種假象,
好象系統(tǒng)只被您獨(dú)自占 用。而實(shí)際上操作系統(tǒng)監(jiān)控著一個等待執(zhí)行的任務(wù)隊列,這些任務(wù)包括用戶作業(yè)、操作系 統(tǒng)任務(wù)、郵件和打印作業(yè)等。
操作系統(tǒng)根據(jù)每個任務(wù)的優(yōu)先級為每個任務(wù)分配合適的時間 片,每個時間片大約都有零點(diǎn)幾秒,雖然看起來很短,但實(shí)際上已經(jīng)足夠計算機(jī)完成成千
上萬的指令集。每個任務(wù)都會被系統(tǒng)運(yùn)行一段時間,然后掛起,系統(tǒng)轉(zhuǎn)而處理其他任務(wù); 過一段時間以后再回來處理這個任務(wù),直到某個任務(wù)完成,
從任務(wù)隊列中去除。 Linux系統(tǒng)上所有運(yùn)行的東西都可以稱之為一個進(jìn)程。每個用戶任務(wù)、每個系統(tǒng)管理 守護(hù)進(jìn)程,都可以稱之為進(jìn)程。
Linux用分時管理方法使所有的任務(wù)共同分享系統(tǒng)資源。 我們討論進(jìn)程的時候,不會去關(guān)心這些進(jìn)程究竟是如何分配的,或者是內(nèi)核如何管理分配
時間片的,我們所關(guān)心的是如何去控制這些進(jìn)程,讓它們能夠很好地為用戶服務(wù)。 進(jìn)程的一個比較正式的定義是:在自身的虛擬地址空間運(yùn)行的一個
單獨(dú)的程序。進(jìn) 程與程序是有區(qū)別的,進(jìn)程不是程序,雖然它由程序產(chǎn)生。程序只是一個靜態(tài)的指令集合 ,不占系統(tǒng)的運(yùn)行資源;而進(jìn)程是一個隨時都
可能發(fā)生變化的、動態(tài)的、使用系統(tǒng)運(yùn)行資 源的程序。而且一個程序可以啟動多個進(jìn)程。 Linux操作系統(tǒng)包括三種不同類型的進(jìn)程,每種進(jìn)程都有自己
的特點(diǎn)和屬性?! ?交互進(jìn)程——由一個shell啟動的進(jìn)程。交互進(jìn)程既可以在前臺運(yùn)行,也可以在后臺運(yùn)行 批處理進(jìn)程——這種進(jìn)程和終端沒有聯(lián)系,
是一個進(jìn)程序列 監(jiān)控進(jìn)程(也稱守護(hù)進(jìn)程)——Linux系統(tǒng)啟動時啟動的進(jìn)程,并在后臺運(yùn)行。 上述三種進(jìn)程各有各的作用,使用場合也有所
不同。 進(jìn)程和作業(yè)的概念也有區(qū)別。一個正在執(zhí)行的進(jìn)程稱為一個作業(yè),而且作業(yè)可以包 含一個或多個進(jìn)程,尤其是當(dāng)使用了管道和重定向命令。
例如“nroff -man ps.1|grep kill|more”這個作業(yè)就同時啟動了三個進(jìn)程。 作業(yè)控制指的是控制正在運(yùn)行的進(jìn)程的行為。比如,用戶可以掛起一個
進(jìn)程,等一 會兒再繼續(xù)執(zhí)行該進(jìn)程。shell將記錄所有啟動的進(jìn)程情況,在每個進(jìn)程過程中,用戶可 以任意地掛起進(jìn)程或重新啟動進(jìn)程。作業(yè)控制是許
多shell(包括bash和tcsh)的一個特 性,使用戶能在多個獨(dú)立作業(yè)間進(jìn)行切換。 一般而言,進(jìn)程與作業(yè)控制相關(guān)聯(lián)時,才被稱為作業(yè)。
在大多數(shù)情況下,用戶在同一時間只運(yùn)行一個作業(yè),即它們最后向shell鍵入的命令 。但是使用作業(yè)控制,用戶可以同時運(yùn)行多個作業(yè),并在需要時在
這些作業(yè)間進(jìn)行切換。 這會有什么用途呢?例如,當(dāng)用戶編輯一個文本文件,并需要中止編輯做其他事情時,利 用作業(yè)控制,用戶可以讓編輯器暫
時掛起,返回shell提示符開始做其他的事情。其他事 情做完以后,用戶可以重新啟動掛起的編輯器,返回到剛才中止的地方,就象用戶從來沒 有離開
編輯器一樣。這只是一個例子,作業(yè)控制還有許多其他實(shí)際的用途。
posted on 2012-04-25 17:34 多彩人生 閱讀(517) 評論(0) 編輯 收藏 引用 所屬分類: ubuntu