freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

進程管理經(jīng)典培訓講義-全文預覽

2025-07-01 09:57 上一頁面

下一頁面
  

【正文】 rue。 while (flag[1]) if(turn==l) { flag[0] = false。但是,由于 P1比 P2的優(yōu)先級低,它將永遠不會被調(diào)度執(zhí)行。 ? 可能發(fā)生死鎖現(xiàn)象。 ② 缺點: ? 使用了忙等待。進程離開臨界區(qū)時,它把 bolt重置為 0,允許另一個進程進入臨界區(qū)。 臨界區(qū) exchange (keyi, bolt)。 用 exchange指令實現(xiàn)互斥舉例: const int n = / * 進程數(shù) * / int bolt。 memory=register。 parbegin (P⑴ , P⑵ ? , P(n))。 用 testset指令實現(xiàn)互斥舉例: const int n = / * 進程數(shù) * / int bolt。 } else return false。這幾個動作在一個指令周期中執(zhí)行,不會受到其它指令的干擾。進程可以通過下面的方法實現(xiàn)互斥。當進程用完臨界資源時,要開放臨界區(qū),以便其它進程進入。我們把訪問臨界資源的代碼段稱為臨界區(qū)。例如打印機、磁帶機等硬件設備和變量、隊列等數(shù)據(jù)結構,如果有多個進程同時去使用這類資源就會造成混亂。另外,還有一些進程由于共享某一公有資源,而這類資源對于不同的進程必須交叉使用,如打印機,當一個進程正在使用時,另一個進程必須等待,這就產(chǎn)生間接制約關 系。執(zhí)行時,首先找到被喚醒進程的 內(nèi)部標識 ,讓該進程脫離阻塞隊列,將現(xiàn)行狀態(tài)改變?yōu)榫途w狀態(tài),然后插入就緒隊列等待調(diào)度運行。其實現(xiàn)過程是:首先中斷 CPU,停止進程運行, 將 CPU 的現(xiàn)行狀態(tài)存放到 PCB 的 CPU 狀態(tài)保護區(qū)中,然后將該進程置阻塞狀態(tài),并把它插入到等待隊列中。撤銷原語的實現(xiàn)過程是:根據(jù)提供的欲被撤銷進程的名字,在 PCB 鏈中查找對應的 PCB,若找不到要撤銷的進程的名字或該進程尚未停止,則轉入異常終止處理程序,否則從 PCB 鏈中撤銷該進程及其所有子孫進程 (因為僅撤銷該進程 可能導致其子進程與進程家族隔離開來,而成為難以控制的進程 );檢查此進程是否有等待讀取的消息,有則釋放所有緩沖區(qū),最后釋放該進程的工作空間和 PCB 空間,以及其它資源。所以,創(chuàng)建一個新進程的過程是:首先申請 PCB空間,根據(jù)建立的進程名字查找 PCB表,若找到了則非正常終止 (即已有同名進程 ),否則,申請分配一塊 PCB 空間;其次,為新進程分配資源,若進程的程序或數(shù)據(jù)不在內(nèi)存中,則應將它們從外存調(diào)入分配的內(nèi)存中;然后把有關信息 (如進程名字、信號量和狀態(tài)位等 )分別填入 PCB 的相應欄目中;最后把 PCB 插入到就緒隊列中。 原語是操作系統(tǒng)核心(不是由進程而是由一組程序模塊所組成)的一個組成部分,并且常駐內(nèi)存,通常在管態(tài)下執(zhí)行。 進程的控制通常由原語完成。 2 進程控制 進程有由創(chuàng)建而產(chǎn)生,由調(diào)度而執(zhí)行,由撤銷而消亡的生命周期,因此操作系統(tǒng)要有對進程生命周期的各個環(huán)節(jié)進行控制的功能,這就是進程控制。 ② 系統(tǒng)進程之間的關系由操作系統(tǒng)自己負責, 這樣有利于增加系統(tǒng)的并行性,提高資源的利用率;用戶進程之間的關系主要由用戶自己負責,為了便于用戶管理自己的任務,操作系統(tǒng)提供一套簡便的任務調(diào)用命令作為協(xié)調(diào)手段,并 在用戶區(qū)根據(jù)用戶作業(yè)的性質(zhì)(是單任務還是多任務)裝入相應的任務調(diào)度程序 。 ⑤ 進程具有異步性(不確定性)。 ③ 進程具有結構特性。 ② 進程具有并發(fā)性。 ① 進程具有動態(tài)性。按鏈接方式組織 PCB的情況如圖 6。目前常用的 PCB的組織方式有以下三種: ① 線性表方式:不論進程的狀態(tài)如何,將所有的 PCB 連續(xù)地存放在內(nèi)存的系統(tǒng)區(qū)。它用于將處于同一狀態(tài)的進程鏈接成一個隊列,在該單元中存放下一進程 PCB首址。 ⑥ 資源清單。一般根據(jù)進程的輕重緩急程度為進程指定一個優(yōu)先級,優(yōu)先級用優(yōu)先數(shù)表示。指出 進程的程序和數(shù)據(jù)部分在內(nèi)存或外存中的物理位置。進程標識名,通常用字母和數(shù)字組成的“串”表示,進程標識數(shù)則是在一定數(shù)值范圍內(nèi)的進程編號。 進程控制塊是進程存在的惟一標志,它跟蹤程序執(zhí)行的情況,表明了進程在當前時刻的狀態(tài)以及與其它進程和資源的關系。處于靜止阻塞狀態(tài)的進程,若用激活原語激活后,該進程將轉變?yōu)榛顒幼枞麪顟B(tài)。當進程處于未被掛起的阻塞狀態(tài)時,稱它是處于活動阻塞狀態(tài),當用掛起原語將它掛起后,進程便轉變?yōu)殪o止阻塞狀態(tài),處于靜止阻塞狀態(tài)的進程在其所期待的事件出現(xiàn)后,將從靜止阻塞變?yōu)殪o止就緒。 引入掛起狀態(tài)后,又將增加從掛起狀態(tài)(又稱為靜止狀態(tài))到非掛起狀態(tài)(又稱為活動狀態(tài))的轉換:或者相反。于是,正在運行的進程就由運行狀態(tài)變?yōu)榫途w狀態(tài)。即阻塞進程的 I/O請求完成時,發(fā)生此狀態(tài)變遷。即運行進程遇 I/O請求時,發(fā)生此狀態(tài)變遷。即就緒狀態(tài)的進程,一旦被調(diào)度進程選中,獲 得 CPU,便發(fā)生此 狀態(tài) 變遷。 I/O 完成 時間片完 進程調(diào)度 I/O 請求 圖 3 進程狀態(tài)變遷圖 ① 就緒 → 運行。等待 CPU 的狀態(tài)。 ② 阻塞狀態(tài)。運行中的進程具有三種基本狀態(tài):運行、阻塞、就緒,這三種狀態(tài)構成了最簡單的進程生命周期模型,進程在其生命周期內(nèi)處于這三種狀態(tài)之一,其狀態(tài)將隨著自身的推進和外界環(huán)境的變化而變化,由一種狀態(tài)變遷到另一種狀態(tài)。 上述這些從不同角度對進程所做的解釋或所下的定義,有些是近似的,有些則側重某一方面,這說明進程這一概念尚未完全統(tǒng)一,但長期以來卻巳廣泛而成功地用于許多系統(tǒng)之中,成為構造操作系統(tǒng)的不可缺少的強有力的工具。 中國最大的管理資源中心 33 ② 一個進程是一系列逐一執(zhí)行的操作,而操作的確切含義則有賴于我們以何種詳盡程度來描述進程( )。在這種情況下,程序這 個靜態(tài)概念已經(jīng)不能如實地反映程序活動的這些特征。為了準確地描述程序的執(zhí)行過程,設計出高質(zhì)量的操作系統(tǒng),就不能再用靜態(tài)的觀點,而應該用動態(tài)的觀點來刻畫程序。因此,每個可以并發(fā)執(zhí)行的程序段,都可能會因外界條件的限制而不能運行,被迫處于阻塞狀態(tài)。 ① 直接制約關系通常是在彼此之間有邏輯關系的兩個并發(fā)執(zhí)行的程序之間發(fā)生的,一般是由于各個程序段要求共享信息引起的。像上例中的觀察者與報告者程序,它們各自完成獨立的工作,通過共享變量 n 又建立了相互依賴與制約關系。如前所述,程序在順序執(zhí)行時,程序和“計算”之間保持一一對應的關系,但在并發(fā)執(zhí)行時,一個并發(fā)程序可為多個用戶作業(yè)調(diào)用,而使該程序處于多個“執(zhí)行”過程中,從而形成了多個“計算”,這就是說,多個“計算’可能是在不同數(shù)據(jù)集上執(zhí)行同一程序,所以程序和“計算”不再一一對應。 ② 失去封閉性 程序在并發(fā)執(zhí)行時, 多個程序共享系統(tǒng)中的所有資源,因此這些資源的使用狀態(tài)將由多個程序改變,使程序運行失去了封閉性。 void observer(void) { while (1) { ? n=n+1; remainder of observer; } } void reporter(void) { while(TRUE) { ? print(n); n=0; remainder of reporter; } } void main( ) 中國最大的管理資源中心 31 { parbegin(observer( ),reporter( ))。在一條單向行駛的公路上經(jīng)常有卡車通過。此外從圖中可以看出: I2 與 Cl、 I3 與 C2 與 P I4 與 C3 與 中國最大的管理資源中心 30 P2是重疊的。例如:輸入程序在完成第 i 個程序的輸入操作后,計算程序在對第 i 個程序進行計算的同時,可再啟動輸入程序,進行第 i+1 個程序的輸入操作,這就使得第 i+1 個程序 的輸入操作和第 i 個程序的計算操作能并發(fā)執(zhí)行。 程序的并發(fā)執(zhí)行及其特性 現(xiàn)代計算機在 物理 設 計和邏輯設計中采用并行操作技術,使多種硬件設備能并行工作。 所謂順序性指的是 程序的各部分能夠嚴格地按程序所確定的邏輯次序順序地執(zhí)行。 ③ 結果無關性。除了人為的干預造成機器暫時停頓外,前一動作的結束就意味著后一動作的開始。在單道環(huán)境下,每一程序的這三個程序只能是一個接一個地順序執(zhí)行,也就是輸入、計算和打印三者串行工作,并且前一個程序結束后,才能執(zhí)行下一個程序。掌握進程通信、死鎖的概念 及其解決方法,了解 Linux中進程的實現(xiàn)技術。 程序的并發(fā)執(zhí)行是在多道程序環(huán)境下完成的,而在單道程序工作環(huán)境中,程序是順序執(zhí)行的。在單 CPU條件下同時運行幾道程序,從宏觀上看,這幾道程序是同時向前推進,但從微觀上觀察則是由單 CPU 按照時間段輪流執(zhí)行每個程序的一小段,使每個程序都運行到程序的開始與結束之間的某一處。在我們使用計算機運行程序的時候,時常會一邊聽著光盤上的音樂,一邊從網(wǎng)上下載著軟件,一邊還編輯著文本文件。 中國最大的管理資源中心 28 進程管理 操作系統(tǒng)中最核心的概念是進程,進程是對正在運行的程序的一種抽象,是資源分配和獨立運行的基本單位,操作系統(tǒng)的所有內(nèi)容都是圍繞進程展開的,操作系統(tǒng)的四大特征也是基于進程而形成的。 1 進程的概念 程序的并發(fā)執(zhí)行 現(xiàn)在所有的計算機都能同時做幾件事情。如果這幾道程序同時在不同的 CPU 上執(zhí)行,則稱之為“并行”,如果它們分時地運行在同一個 CPU 上則稱之為“并發(fā)”。因此,邏輯上的并行稱為“并發(fā)”。 讀者應重點掌握進程及線程的概念及其狀態(tài)轉換,實現(xiàn)進程同步與互斥的方法以及進程的各種調(diào)度策略。 假設系統(tǒng)中有 2個程序,而每個程序都由三個程序段 I、C、 P 組成,其中, I 表示從輸入機上讀入程序的信息, C 表示執(zhí)行程序的計算過程, P 表示在打印機上打印出程序的計算結果。當順序程序在 CPU 上執(zhí)行時, CPU嚴格地順序執(zhí)行程序規(guī)定的動作,每個動作都必須在前一動作結束后才能開始。程序在執(zhí)行過程中,獨占全部資源,除了初始狀態(tài)外,只有程序本身規(guī)定的動作才能改變這些資源的狀態(tài)。 上述特點概括起來就是程序的順序性、封閉性和可再現(xiàn)性。這給程序的調(diào)試帶來了很大的方便。 對于任何一個程序 i,其輸入操作 Ii、計算操作 Ci、打印操作 Pi這三者必須順序執(zhí)行,但對 n 個程序來說,則有可能并發(fā)執(zhí)行。這說明有些操作必須在其它操作之后執(zhí)行,另外有些操作卻可以并行地執(zhí)行。 設有觀察者和報告者并行工作。 int n=0。這就 使 并發(fā)執(zhí)行的程序具有 執(zhí)行 — 暫停 — 執(zhí)行的活動規(guī)律。通常把計算機執(zhí)行程序的活動,稱為“計算”,顯 然,“計算”是一個動態(tài)的概念。系統(tǒng)中各個并發(fā)程序的活動都有一定的獨立性,它們分別提供一種用戶或系統(tǒng)功能,如各用戶作業(yè)的活動各提供一種用戶需要的功能,它們之間相互獨立,而又有相互依賴和制約關系。程序之間的 制約關系有兩種:直接制約關系和間接制約關系。 正是因為在這些可以并發(fā)執(zhí)行的程序段 之間,存在著某種相互制約的關系,所以每個程序段的運行都與運行環(huán)境密切相關,它不僅要受到其它程序段活動的制約,而且還要依賴當時系統(tǒng)資源的分配情況。因此,必須從變化的角度,動態(tài)地分析研究這些可以并發(fā)執(zhí)行的程序段,真實地反映出系統(tǒng)的獨立性、并發(fā) 性、動態(tài)性和相互制約性。總之,程序活動不再處于一個封閉系統(tǒng)中,而出現(xiàn)了許多新的特征,即:獨立性、并發(fā)性、動態(tài)性和相互制約性。但是,迄今為止,對這一概念尚無一個非常確切的、令人滿意的、統(tǒng)一的定義,不同的人,站在不同的角度,對進程進行了不同的描述,下面列舉幾個操作系統(tǒng)的權威人士對“ 進程”所下的定義: ① 行為的一個規(guī)則叫做程序,程序在 CPU上執(zhí)行時所發(fā)生的活動稱為進程( Dijkstra)。 ⑤ 一個進程是由偽 CPU 執(zhí)行的一個程序( )。由于進程執(zhí)行時的間斷性,決定了進程可能具 有多種狀態(tài)。在單 CPU系統(tǒng)中,只有一個進程處于運行狀態(tài);在多 CPU系統(tǒng)中,可以有多個進程處于運行狀態(tài)。 ③ 就緒狀態(tài)。 進程的各個狀態(tài)變遷如圖 3。進程調(diào)度程序根據(jù)調(diào)度算法把 CPU 分配給某個就緒進程,建立該進程運行狀態(tài)標記,并把控制轉到該進程,把它由就緒狀態(tài)變?yōu)檫\行狀態(tài),這樣進程就投入運行。如,運行中的進程需要等待文件的輸入,系統(tǒng)便自動轉入系統(tǒng)控制程序,進行文件輸入,在文件輸入過程中,該進程進入阻塞狀態(tài),而系統(tǒng)將控制轉給進程調(diào)度程序,進程調(diào)度程序根據(jù)調(diào)度算法把 CPU分配給處于就緒狀態(tài)的其它進程。僅當進程調(diào)度程序把 CPU 再次分配給它時,才可恢復曾被中斷的現(xiàn)場繼續(xù)運行。一個正在運行的進程
點擊復制文檔內(nèi)容
公司管理相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1