




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、CPU 進程與線程的關系和區別篇一:進程和線程的區別進程和線程的區別 線程是指進程內的一個執行單元 ,也是進程內 的可調度實體 .與進程的區別 :地址空間 :進程內的一個執行單元 ;進程至少有一個線程;它們 共享進程的地址空間 ;而進程有自己獨立的地址空間 ; TOC o 1-5 h z 資源擁有 :進程是資源分配和擁有的單位, 同一個進程內的線程共享進程的資源線程是處理器調度的基本單位 ,但進程不是.4)二者均可并發執行. 進程和線程都是由操作系統所體會的程序運行的基本單元,系統 利用該基本單元實現系統對應用的并發性。進程和線程的區別在于: 簡而言之 ,一個程序至少有一個進程,一個進程至少有
2、一個線程.線程的劃分尺度小于進程,使得多線程程序的并發性高。另外, 進程在執行過程中擁有獨立的內存單元, 而多個線程共享 內存,從而極大地提高了程序的運行效率。線程在執行過程中與進程還是有區別的。 每個獨立的線程有一個程序運行的入口、順序執行序列和程序的出口。但是線程不能夠獨立執行,必須依存在應用程序中,由應用程序提供多個線程執行控制。從邏輯角度來看,多線程的意義在于一個應用程序中,有多個執 行部分可以同時執行。但操作系統并沒有將多個線程看做多個獨立的應用,來實現進程的調度和管理以及資源分配。這就是進程和線程的 重要區別。進程是具有一定獨立功能的程序關于某個數據集合上的一次運行活動 , TOC
3、 o 1-5 h z 進程是系統進行資源分配和調度的一個獨立單位.線程是進程的一個實體, 是 CPU 調度和分派的基本單位 , 它是比進 程更小的能獨立運行的基本單位.線程自己基本上不擁有系統資源,只 擁有一點在運行中必不可少的資源( 如程序計數器,一組寄存器和棧) ,但 是它可與同屬一個進程的其他的線程共享進程所擁有的全部資源.一個線程可以創建和撤銷另一個線程 ;同一個進程中的多個線程之間可以并發執行.和 stdio.h 區別#includestdio.h 當要調用某個函數時先在用戶自已編寫的文件中查找, 如果找不到再到庫文件里去找, 而#“elude 是直接到庫文件里去找所以如果是調用自己
4、寫的函數的話就用 #includestdio.h , 這種形 式而調用標準庫函數的話就用 #include 這種形式,可以提高速度篇二:進程線程區別與聯系定義:程序只是一組指令的有序集合二 進程是具有一定獨立功能的程序關于某個數據集合上的一次 運行活動,是系統進行資源分配和調度的一個獨立單位;三 線程是進程的一個實體,是 CPU 調度和分派的基本單位 ,它是 比進程更小的能獨立運行的基本單位.線程自己基本上不擁有系統資源 只擁有一點在運行中必不可少的資源( 如程序計數器,一組寄存器和棧 ), 一個線程可以創建和撤銷另一個線程;一 進程與線程區別與聯系劃分尺度:線程更小,所以多線程程序并發性更高
5、;資源分配:進程是資源分配的基本單位,同一進程內多個線程共享其資源;地址空間:進程擁有獨立的地址空間,同一進程內多個線程共享其資源;處理器調度:線程是處理器調度的基本單位;執行:每個線程都有一個程序運行的入口,順序執行序列和 程序的出口, 但線程不能單獨執行, 必須組成進程, 一個進程至少有 一個主線程。簡而言之 ,一個程序至少有一個進程,一個進程至少有一個線程 .二 進程和程序區別和聯系(1) 程序只是一組指令的有序集合, 它本身沒有任何運行的含義, 它只是一個靜態的實體。而進程則不同,它是程序在某個數據集上的 執行。進程是一個動態的實體,它有自己的生命周期。反映了一個程 序在一定的數據集上
6、運行的全部動態過程。2 ) 進程和程序并不是一一對應的,一個程序執行在不同的數據集上就成為不同的進程,可以用進程控制塊來唯一地標識每個進程。 而這一點正是程序無法做到的, 由于程序沒有和數據產生直接的聯系, 既使是執行不同的數據的程序,他們的指令的集合依然是一樣的,所 以無法唯一地標識出這些運行于不同數據集上的程序。一般來說,一 個進程肯定有一個與之對應的程序,而且只有一個。而一個程序有可 能沒有與之對應的進程 ( 因為它沒有執行) ,也有可能有多個進程與之對應(運行在幾個不同的數據集上 ) 。3 ) 進程還具有并發性和交往性,這也與程序的封閉性不同。 進程和程序區別和聯系表現在以下方面:)
7、程序只是一組指令的有序集合,它本身沒有任何運行的含義, 它只是一個靜態的實體。而進程則不同,它是程序在某個數據集上的執行。進程是一個動態的實體, 它有自己的生命周期。 它因創建而產生, 因調度而運行,因等待資源或事件而被處于等待狀態,因完成任務而被撤消。反映了一個程序在一定的數據集上運行的全部動態過程。) 進程和程序并不是一一對應的,一個程序執行在不同的數據集上就成為不同的進程,可以用進程控制塊來唯一地標識每個進程。而 這一點正是程序無法做到的,由于程序沒有和數據產生直接的聯系,既使是執行不同的數據的程序,他們的指令的集合依然是一樣的,所以無法唯一地標識出這些運行于不同數據集上的程序。一般來說
8、,一 個進程 肯定有一個與之對應的程序,而且只有一個。而一個程序有可 能沒有與之對應的進程( 因為它沒有執行) ,也有可能有多個進程與之對應 ( 運行在幾個不同的數據集上 ) 。) 進程還具有并發性和交往性,這也與程序的封閉性不同。進程和線程都是由操作系統所體會的程序運行的基本單元,系統利用該基本單元實現系統對應用的并發性。進程和線程的區別在于:簡而言之 ,一個程序至少有一個進程,一個進程至少有一個線程. 線程的劃分尺度小于進程,使得多線程程序的并發性高。 另外,進程在執行過程中擁有獨立的內存單元,而多個線程共享 內存,從而極大地提高了程序的運行效率。線程在執行過程中與進程還是有區別的。 每個
9、獨立的線程有一個程序運行的入口、順序執行序列和程序的出口。但是線程不能夠獨立執行,必須依存在應用程序中,由應用程序提供多個線程執行控制。從邏輯角度來看,多線程的意義在于一個應用程序中,有多個執 行部分可以同時執行。但操作系統并沒有將多個線程看做多個獨立的 應用,來實現進程的調度和管理以及資源分配。這就是進程和線程的 重要區別。進程是具有一定獨立功能的程序關于某個數據集合上的一次運行活動 ,進程是系統進行資源分配和調度的一個獨立單位 .線程是進程的一個實體, 是 CPU 調度和分派的基本單位 , 它是比進 程更小的能獨立運行的基本單位.線程自己基本上不擁有系統資源,只 擁有一點在運行中必不可少的
10、資源( 如程序計數器,一組寄存器和棧 ) ,但 是它可與同屬一個進程的其他的線程共享進程所擁有的全部資源.一個線程可以創建和撤銷另一個線程 ; 同一個進程中的多個線程之間可以并發執行.作業進程程序之間的聯系程序與進程之間的區別:1)進程更能真實地描述并發,而程序不能。2)進程由程序和數據兩部分組成,進程是競爭計算機系統有限資源的基本單位,也是進程處理機調度的基本單位。3)程序是靜態的概念;進程是程序在處理機上一次執行的過程,是動態的概念。4 )進程有生存周期,有誕生有消亡。是短暫的;而程序是相對長久的。5 )一個程序可以作為多個進程的運行程序;一個進程也可以運行多個程序。( 6 ) 進程具有創
11、建其他進程的功能;而程序沒有。 作業與進程的區別: TOC o 1-5 h z 一個進程是一個程序對某個數據集的執行過程, 是分配資源的基本單位。作業是用戶需要計算機完成的某項任務,是要求計算機所做工作的集合。一個作業的完成要經過作業提交、作業收容、作業執行和作業完成 4 個階段。 而進程是對已提交完畢的程序所執行過程的描述,是資源分配的基本單位。其主要區別如下。( 1 )作業是用戶向計算機提交任務的任務實體。在用戶向計算機提交作業后,系統將它放入外存中的作業等待隊列中等待執行。而 進程則是完 成用戶任務的執行實體,是向系統申請分配資源的基本單 位。任一進程,只要它被創建,總有相應的部分存在于
12、內存中。( 2 )一個作業可由多個進程組成,且必須至少由一個進程組成, 反過來則不成立。( 3 )作業的概念主要用在批處理系統中,像UNIX 這樣的分時系 統中就沒有作業的概念。而進程的概念則用在幾乎所有的多道程序系 統中。作業、進程和程序之間的聯系: 一個作業通常包括程序、數據和操作說明書 3 部分。每一個進程由 PCB 程序和數據集合組成。這說明程序是進程的一部分,是進程的 實體。因此,一個作業可劃分為若干個進程來完成,而每一個進程有其實體 程序和數據集合。篇三:線程與進程有什么區別? 簡單的說,你每啟動一個程序,就啟動了一個進程。 在 Windows 3.x 下, 進程是最小運行單位。
13、在 Win dows 95/NT下,每個進程還可以啟動幾個線程, 比如每下載一個文件可以單獨開一個線程。 在 Windows95/NT 下,線程是最小單位。 WINDOWS 的多任務特性使得線程之間獨 立運行,但是它們彼此共享虛擬空間,也就是共用變量,線程有可能 會同時操作一片內存。什么是系統的進程? 發布: 獄火華衣 分類: 進程知識 發布日 期:2005.08.21下面針對 hejb 的提問, 我先讓朋友們了解一下在任務管理器里的 進程。其實在談到進程時,還要涉及到線程的概念。 進程是指在系統 中正在運 行的一個應用程序; 線程是系統分配處理器時間資源的基本 單元,或者說進程之內獨立執行的
14、一個單元。對于操作系統而言,其 調度單元是線程。一個進程至少包括一個線程,通常將該線程稱為主 線程。一個進程從主線程的執行開始進而創建一個或多個附加線程, 就是所謂基于多線程的多任務。那進程與線程的區別到底是什么?進程是執行程序的實例。 例如,當你運行記事本程序( Nodepad )時,你就創建了一個用來容納組成Notepad.exe 的代碼及其所需調用動態鏈接庫的進程。每個進程均運行在其專用且受保護的地址空間內。因此,如果你同時運行記事本的兩個拷貝,該程序正在使用的數據在各自實例中是彼此獨立的。 在記事本的一個拷貝中將無法看到該程序的第二個實例打開的數據。我這里以沙箱為例進行闡述。一個進程就
15、好比一個沙箱。線程就如同沙箱中的孩子們。孩子們在沙箱子中跑來跑去,并且可能將沙子攘到別的 孩子眼中,他們會互相踢打或撕咬。但是,這些沙箱略有不 同之處就在于每個沙箱完全由墻壁和頂棚封閉起來,無論箱中的孩子 如何狠命地攘 沙,他們也不會影響到其它沙箱中的其他孩子。因此, 每 個進程就象一個被保護起來的沙箱。未經許可,無人可以進出。實際上線程運行而進程不運行。 兩個進程彼此獲得專用數據或內 存的唯一途徑就是通過協議來共享內存塊。這是一種協作策略。下面 讓我們分析一下任務管理器里的進程選項卡。這里的進程是指一系列進程, 這些進程是由它們所運行的可執行 程原因。請序實例來識別的,這就是進程選項卡中的第
16、一列給出了映射名稱的例的注意,這里并沒有進程名稱列。進程并不擁有獨立于其所歸屬實映射名稱。換言之,如果你運行5 個記事本拷貝,你將會看到 5 個稱為Notepad.exe 的進程。它們是如何彼此區別的呢?其中一種方式是通過它們的進程ID, 因為每個進程都擁有其獨一無二的編碼。該進程 ID 由 Win dows NT 或 Win dows 2000 生成,并可以循環使用。因此,進程 ID 將不會越編越大,它們能夠得到循環利用。第三列是被進程中的線程所占用的 CPU 時間百分比。它不是CPU 的編號,而是被進程占用的 CPU 時間百分比。此時我的系統基本上是 空閑的。盡管 系統看上去每一秒左右都只
17、使用一小部分CPU 時間,但 該系統空閑進程仍舊耗用了大約 99% 的 CPU 時間第四列, CPU 時間,是 CPU 被進程中的線程累計占用的小時、分鐘及秒數。請注意,我對進程中的線程使用占用一詞。這并不一定意 味著那就是 進程已耗用的 CPU 時間總和,因為,如我們一會兒將看到 的, NT 計時的方式是,當特定的時鐘間隔激發時,無論誰恰巧處于當 前的線程中,它都將計算到 CPU 周期之內。通常情況下,在大多數NT 系統中,時鐘以 10 毫秒的間隔運行。每 10 毫秒 NT 的心臟就跳動 一下。有一些驅動程序代碼片段運行并顯示誰是當前的線程。讓我們將CPU 時間的最后 10 毫秒 記在它的帳
18、上。因此,如果一個線程開始運行,并在持續運行8 毫秒 后完成,接著,第二個線程開始運行并持續了 2 毫秒,這時,時鐘激發,請猜一猜這整整 10 毫秒的時鐘周期到底記在了哪個線程的帳上?答案是第 二個線程。因此, NT 中存在一些固有的不準確性,而NT 恰是以這種 方式進行計時,實際情況也如是,大多數32 位操作系統中都存在一個基于間隔的計時機 制。請記住這一點,因為,有時當你觀察線程所耗用的 CPU 總和時,會出現盡管該線程或許看上去已運行過數十萬次, 但其 CPU 時間占用量卻可能是零或非常短暫的現象,那么,上述解釋便是原因所在。上述也就是我們在任務管理器的進程選項卡中所能看 到的基本信息列。說到這里 ,我想大家對進程有一定的認識了吧 ,最后我對平時見到的各進程項細述一下,有哪些是能關的,有哪些是不能關的 .最基本的系統進程(也就是說,這些進程是系統運行的基本條件, 有了這些進程,系統就能正常運行) :smss.exe Session Managercsrss.exe 子系統服務器進程winlogon.exe 管理用戶登錄services.exe 包含很多系統服務lsass.exe 管理 IP 安全策略以及啟動 ISAKMP/Oakley (IKE) 和
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論