什么是進(jìn)程進(jìn)程的特征
進(jìn)程是一個(gè)具有獨(dú)立功能的程序關(guān)于某個(gè)數(shù)據(jù)集合的一次運(yùn)行活動(dòng)。那么你對(duì)進(jìn)程了解多少呢?以下是由學(xué)習(xí)啦小編整理關(guān)于什么是進(jìn)程的內(nèi)容,希望大家喜歡!
進(jìn)程的介紹
進(jìn)程是系統(tǒng)進(jìn)行資源分配和調(diào)度的基本單位,是操作系統(tǒng)結(jié)構(gòu)的基礎(chǔ)。在早期面向進(jìn)程設(shè)計(jì)的計(jì)算機(jī)結(jié)構(gòu)中,進(jìn)程是程序的基本執(zhí)行實(shí)體;在當(dāng)代面向線程設(shè)計(jì)的計(jì)算機(jī)結(jié)構(gòu)中,進(jìn)程是線程的容器。程序是指令、數(shù)據(jù)及其組織形式的描述,進(jìn)程是程序的實(shí)體。
進(jìn)程的定義
狹義定義:進(jìn)程是正在運(yùn)行的程序的實(shí)例(an instance of a computer program that is being executed)。
廣義定義:進(jìn)程是一個(gè)具有一定獨(dú)立功能的程序關(guān)于某個(gè)數(shù)據(jù)集合的一次運(yùn)行活動(dòng)。它是操作系統(tǒng)動(dòng)態(tài)執(zhí)行的基本單元,在傳統(tǒng)的操作系統(tǒng)中,進(jìn)程既是基本的分配單元,也是基本的執(zhí)行單元。
進(jìn)程的概念主要有兩點(diǎn):第一,進(jìn)程是一個(gè)實(shí)體。每一個(gè)進(jìn)程都有它自己的地址空間,一般情況下,包括文本區(qū)域(text region)、數(shù)據(jù)區(qū)域(data region)和堆棧(stack region)。文本區(qū)域存儲(chǔ)處理器執(zhí)行的代碼;數(shù)據(jù)區(qū)域存儲(chǔ)變量和進(jìn)程執(zhí)行期間使用的動(dòng)態(tài)分配的內(nèi)存;堆棧區(qū)域存儲(chǔ)著活動(dòng)過(guò)程調(diào)用的指令和本地變量。第二,進(jìn)程是一個(gè)“執(zhí)行中的程序”。程序是一個(gè)沒(méi)有生命的實(shí)體,只有處理器賦予程序生命時(shí)(操作系統(tǒng)執(zhí)行之),它才能成為一個(gè)活動(dòng)的實(shí)體,我們稱其為進(jìn)程。
進(jìn)程是操作系統(tǒng)中最基本、重要的概念。是多道程序系統(tǒng)出現(xiàn)后,為了刻畫(huà)系統(tǒng)內(nèi)部出現(xiàn)的動(dòng)態(tài)情況,描述系統(tǒng)內(nèi)部各道程序的活動(dòng)規(guī)律引進(jìn)的一個(gè)概念,所有多道程序設(shè)計(jì)操作系統(tǒng)都建立在進(jìn)程的基礎(chǔ)上。
進(jìn)程的特征
動(dòng)態(tài)性:進(jìn)程的實(shí)質(zhì)是程序在多道程序系統(tǒng)中的一次執(zhí)行過(guò)程,進(jìn)程是動(dòng)態(tài)產(chǎn)生,動(dòng)態(tài)消亡的。
并發(fā)性:任何進(jìn)程都可以同其他進(jìn)程一起并發(fā)執(zhí)行
獨(dú)立性:進(jìn)程是一個(gè)能獨(dú)立運(yùn)行的基本單位,同時(shí)也是系統(tǒng)分配資源和調(diào)度的獨(dú)立單位;
異步性:由于進(jìn)程間的相互制約,使進(jìn)程具有執(zhí)行的間斷性,即進(jìn)程按各自獨(dú)立的、不可預(yù)知的速度向前推進(jìn)
結(jié)構(gòu)特征:進(jìn)程由程序、數(shù)據(jù)和進(jìn)程控制塊三部分組成。
多個(gè)不同的進(jìn)程可以包含相同的程序:一個(gè)程序在不同的數(shù)據(jù)集里就構(gòu)成不同的進(jìn)程,能得到不同的結(jié)果;但是執(zhí)行過(guò)程中,程序不能發(fā)生改變。
病毒進(jìn)程的介紹
當(dāng)確認(rèn)windows系統(tǒng)中存在病毒,但是通過(guò)“任務(wù)管理器”又找不出異樣的進(jìn)程,這說(shuō)明病毒采用了一些隱藏措施,總結(jié)出來(lái)有三種隱藏方法:
以假亂真
通常病毒的進(jìn)程名稱采用這樣的命名方式:將系統(tǒng)中正常進(jìn)程名中的o改為0,l改為i,i改為j。比如系統(tǒng)中的正常進(jìn)程有:svchost.exe、explorer.exe、iexplore.exe、winlogon.exe等,而有些病毒會(huì)這樣命名:svch0st.exe、explore.exe、iexplorer.exe、winlogin.exe。微乎其微的進(jìn)程名稱差異讓用戶很難發(fā)現(xiàn)異常。
偷梁換柱
利用“任務(wù)管理器”無(wú)法查看進(jìn)程對(duì)應(yīng)可執(zhí)行文件這一缺陷。比如svchost.exe進(jìn)程對(duì)應(yīng)的可執(zhí)行文件位于“C:\WINDOWS\system32”目錄下(Windows2000則是C:\WINNT\system32目錄),如果病毒將自身復(fù)制到“C:\WINDOWS\”中,并改名為svchost.exe,運(yùn)行后,我們?cè)?ldquo;任務(wù)管理器”中看到的也是svchost.exe,和正常的系統(tǒng)進(jìn)程無(wú)異。此時(shí),僅僅從進(jìn)程名稱上是無(wú)法判斷正常進(jìn)程還是異常進(jìn)程的。
借尸還魂
采用進(jìn)程插入技術(shù),將病毒運(yùn)行所需的dll文件插入正常的系統(tǒng)進(jìn)程中,表面上看無(wú)任何可疑情況,實(shí)質(zhì)上系統(tǒng)進(jìn)程已經(jīng)被病毒控制了,除非借助專(zhuān)業(yè)的進(jìn)程檢測(cè)工具,否則要想發(fā)現(xiàn)隱藏在其中的病毒是很困難的。
相關(guān)內(nèi)容(操作系統(tǒng)學(xué)習(xí)):fork(),線程,管程,進(jìn)程間通信。
看過(guò)“進(jìn)程的特征”的人還看了:
1.探究現(xiàn)階段中國(guó)民主化進(jìn)程中的社會(huì)風(fēng)險(xiǎn)