在讀書的時候,我非常喜歡玩電玩。所幸未達廢寢忘食之境界,否則向來生活拮據(jù)的父母定要為生此"敗家子"而傷感萬分。但是卻又是我的每日必修之課。下午,一下完課對當日所學作好一個復習筆記或是回到寢室稍作回憶。及至吃完晚飯藉以散步之名而往游戲廳方向急行。唯恐到晚了便沒有機子玩。每天定量消費兩個銅牌也就5毛錢吧,但那時算是貴了。更有一次到外地玩,發(fā)現(xiàn)那里銅牌便宜1元錢有10個,背了10元錢回校,我也因此而在班里揚名。自覺此為本人所賺之第一筆錢,可美其名“勤工儉學“。
自思電玩也就是一臺破機器而已,何以讓如此多的英雄為它竟折腰。百思之,終一日得其解。就我而言,是莫過于我能控制其中的角色,雖我能操控制,但卻又屢不能達自如之程度。常常在游戲機前暴跳如雷又或嗟嘆不已,偶而也能神采奕奕,自為天下之大,我皆能勝,吾后定有為。
而后吾又為電腦而癡,總也想在本人的”杰作“之中操控已有應用程序,似乎于此便有些成就之感??芍^之童心有增,或可謂之好事之人。
我將如何來操縱這些應用程序呢?這里就先得說進程這個東西了。記得李莫愁曾有云:問天下情為何物,直叫人生死相許之詞。進程又為何物
它是系統(tǒng)中進行系統(tǒng)資源分配、調(diào)度和管理的最小單位了。情為人之所發(fā),而進程卻又是隨程序的運行而產(chǎn)生,程序是靜態(tài)的,進程是活動的。程序運行才會有進程,程序并不一定只有一個進程,它可以對應多個進程。
進程是動態(tài)的,它在整個生命周期中可以經(jīng)過幾個狀態(tài)大致上說是:運行態(tài),就緒態(tài),阻塞態(tài)。而如果細分之就可為五種,另外多的這兩種是掛起就緒態(tài),掛起阻塞態(tài)。整個控制過程如下
運行
↙↑ ↘
就緒 ← 阻塞
↓ ↑ ↑↓
掛起就緒
← 掛起阻塞
(其運行還可以直接轉(zhuǎn)到掛起就緒態(tài))
系統(tǒng)是如何才能對進程如此靈活地控制呢?可謂要其生,其便生,要其休息其便要休息。這全功于每個進程都有一個標記,叫做進程控制塊這樣的一個數(shù)據(jù)結(jié)構(gòu),這個數(shù)據(jù)結(jié)構(gòu)是一個內(nèi)核對象。何又為內(nèi)核對象,內(nèi)核對象本質(zhì)就是內(nèi)核分配的一個內(nèi)存塊它只能為內(nèi)核才能訪問。它是進程可以被打斷而后又能在打斷點恢復運行的基礎,一般來說這個信息是常駐內(nèi)存的。正是有上述這個數(shù)據(jù)結(jié)構(gòu)系統(tǒng)才能對進程進行自如地調(diào)度。簡單地說系統(tǒng)對進程的調(diào)度主要有以下三種方法:先來先服務,優(yōu)先數(shù)調(diào)度,輪轉(zhuǎn)法。