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

正文內(nèi)容

[計算機(jī)軟件及應(yīng)用]處理器管理-在線瀏覽

2025-03-10 23:09本頁面
  

【正文】 編譯程序和操作系統(tǒng)程序通常都是 可再入 程序,能同時被不同用戶調(diào)用而構(gòu)成不同的進(jìn)程。 ?并發(fā)性 并發(fā)執(zhí)行的進(jìn)程輪流占用處理器 ? 異步性 不可預(yù)知的速度向前推進(jìn) ? 進(jìn)程控制塊的作用 進(jìn)程控制塊 (Process Control Block,簡稱 PCB), 是操作系統(tǒng)為進(jìn)程分配的用于標(biāo)志進(jìn)程,記錄各進(jìn)程執(zhí)行情況的。操作系統(tǒng)利用進(jìn)程控制塊對進(jìn)程進(jìn)行控制和管理。這些信息包括標(biāo)志信息、說明信息、現(xiàn)場信息和管理信息等; (2)標(biāo)志進(jìn)程的存在,進(jìn)程控制塊是進(jìn)程存在的唯一標(biāo)志 ? 進(jìn)程的組成: 程序 +數(shù)據(jù) +PCB 進(jìn)程隊列 進(jìn)程控制塊(領(lǐng)會) 進(jìn)程隊列 進(jìn)程控制塊(領(lǐng)會) ?進(jìn)程控制塊的基本內(nèi)容。 進(jìn)程樹 D E F GB CI J K MALH父進(jìn)程 祖先 子進(jìn)程 2. 引起創(chuàng)建進(jìn)程的事件 ? 用戶登錄 分時 OS ? 作業(yè)調(diào)度 批處理 OS ? 提供服務(wù) ? 應(yīng)用請求 系統(tǒng)內(nèi)核創(chuàng)建 應(yīng)用程序自己創(chuàng) 建 3. 進(jìn)程的創(chuàng)建 (Creation of Process) 調(diào)用進(jìn)程 創(chuàng)建原語 Creat( )按下述步驟創(chuàng)建一個新進(jìn)程 。 ? 為新進(jìn)程分配資源。 (2) 若被終止進(jìn)程正處于執(zhí)行狀態(tài),應(yīng)立即終止該進(jìn)程的執(zhí)行,并置調(diào)度標(biāo)志為真,用于指示該進(jìn)程被終止后應(yīng)重新進(jìn)行調(diào)度。 ? (4) 將被終止進(jìn)程所擁有的全部資源 , 或者歸還給其父進(jìn)程 , 或者歸還給系統(tǒng) 。 撤消原語流圖 進(jìn)程的阻塞與喚醒 1. 引起進(jìn)程阻塞和喚醒的事件 有下述幾類事件會引起進(jìn)程阻塞或被喚醒 。 ? 過程: ?停止執(zhí)行,把進(jìn)程控制塊中的現(xiàn)行狀態(tài)由 “ 執(zhí)行 ” 改為 “ 阻塞 ” ,并將 PCB插入阻塞隊列 。 ?轉(zhuǎn)調(diào)度程序進(jìn)行重新調(diào)度,將處理機(jī)分配給另一就緒進(jìn)程并進(jìn)行切換, 入 口 將現(xiàn)行進(jìn)程的 pcb現(xiàn)場送該進(jìn)程的 pcb現(xiàn)場保護(hù)區(qū) 置該進(jìn)程狀態(tài)為阻塞 把該進(jìn)程插入相應(yīng)的等待隊列 轉(zhuǎn)進(jìn)程調(diào)度程序 ? 進(jìn)程阻塞原語的實現(xiàn), 這里,轉(zhuǎn)進(jìn)程調(diào)度程序是很重要的,否則,處理機(jī)將會出現(xiàn)空轉(zhuǎn)而浪費資源。 ?執(zhí)行過程 : ?把被阻塞的進(jìn)程從等待該事件的阻塞隊列中移出 ,將其 PCB中的現(xiàn)行狀態(tài)由阻塞改為就緒 。 圖 喚醒原語 小結(jié) ? 操作系統(tǒng)的順序程序和并發(fā)進(jìn)程執(zhí)行的各自特點 (1) 順序性 1) 間斷性 (2) 封閉性 2) 失去封閉性 (3) 可再現(xiàn)性 3) 不可再現(xiàn)性 ? 進(jìn)程基本概念 進(jìn)程是進(jìn)程實體的運行過程,是系統(tǒng)進(jìn)行資源分配和調(diào)度的一個獨立單位 ? 進(jìn)程的三個基本狀態(tài)及轉(zhuǎn)換 1) 就緒 (Ready)狀態(tài) 2) 3) 阻塞狀態(tài) ? 進(jìn)程控制 就緒阻塞 執(zhí)行時間片完進(jìn)程調(diào)度I / O 完成I / O 請求 進(jìn)程隊列的鏈接 ? 在多道程序設(shè)計的系統(tǒng)中往往會同時創(chuàng)建多個進(jìn)程。為了便于管理,經(jīng)常把處于相同狀態(tài)的進(jìn)程鏈接在一起,稱“進(jìn)程隊列” ,由于進(jìn)程控制塊能標(biāo)志進(jìn)程的存在和動態(tài)刻畫進(jìn)程的特性,因此,進(jìn)程隊列可以用進(jìn)程控制塊的連接來形成。 ? 基本隊列 就緒隊列:由若干就緒進(jìn)程按一定次序鏈接起來的隊列。 出隊和入隊:當(dāng)發(fā)生的某個事件使一個進(jìn)程的狀態(tài)發(fā)生變化時,這個進(jìn)程就要退出所在的某個隊列而排入到另一個隊列中去。 系統(tǒng)中負(fù)責(zé)進(jìn)程入隊和出隊的工作稱為 隊列管理 。 UNIX系統(tǒng)中的進(jìn)程 UNIX進(jìn)程的特點 UNIX中分為用戶進(jìn)程和系統(tǒng)進(jìn)程,用戶進(jìn)程工作在用戶態(tài)執(zhí)行,系統(tǒng)進(jìn)程工作在核心態(tài)執(zhí)行。 UNIX系統(tǒng)中的進(jìn)程 UNIX進(jìn)程的組成 進(jìn)程控制塊(包括進(jìn)程基本控制塊和進(jìn)程擴(kuò)充控制塊)、正文段、數(shù)據(jù)段 ? ( 1)進(jìn)程基本控制塊( proc)中包含的內(nèi)容 PS:進(jìn)程基本控制塊的內(nèi)容是常駐主存的。 B,有關(guān)進(jìn)程非常駐主存的信息。 D,其他信息 ? ( 2)進(jìn)程擴(kuò)充控制塊( user) 隨用戶程序一起裝入主存和調(diào)出主存,包括:標(biāo)識,現(xiàn)場保護(hù),主存管理,文件讀寫,系統(tǒng)調(diào)用,進(jìn)程控制與管理等。P4648 ? 正文段 :可供多個進(jìn)程共享的程序。 UNIX系統(tǒng)中的進(jìn)程 UNIX進(jìn)程的狀態(tài) ?( 1)運行狀態(tài) ?( 2)就緒狀態(tài) ?( 3)睡眠狀態(tài) ?( 4)創(chuàng)建狀態(tài) ?( 5)僵死狀態(tài) 在 UNIX系統(tǒng)中進(jìn)程控制的系統(tǒng)調(diào)用有: fork() 創(chuàng)建子進(jìn)程 sleep() 進(jìn)程睡眠 exit() 進(jìn)程自已終止 ( 自殺 ) wait() (父 ) 等待子進(jìn)程終止 wakeup() 進(jìn)程喚醒 UNIX系統(tǒng)中的進(jìn)程 UNIX進(jìn)程的創(chuàng)建和終止 ? ( 1) unix進(jìn)程樹 unix系統(tǒng)被啟動后,首先執(zhí)行 0號進(jìn)程, 0號進(jìn)程是運行持續(xù)工作在核心態(tài)的進(jìn)程,它的功能是執(zhí)行進(jìn)程調(diào)度和讓進(jìn)程在主存和磁盤上進(jìn)行交換。 0號進(jìn)程又創(chuàng)建一個 1號進(jìn)程, 1號進(jìn)程又稱為初始化進(jìn)程。如果有多個用戶注冊,那么就創(chuàng)建多個 login進(jìn)程。 這樣的創(chuàng)建過程像一棵樹 ? ( 2) unix進(jìn)程的創(chuàng)建 在 unix中除了 1號進(jìn)程和 0號進(jìn)程外其他進(jìn)程都是用 fork()系統(tǒng)調(diào)用創(chuàng)建的,形成父子關(guān)系。 ? fork主要工作如下: a,在進(jìn)程 proc[]中找出一個空閑的表項,用來存放 proc結(jié)構(gòu) b,為子進(jìn)程分配一個唯一的標(biāo)識號 c,把父進(jìn)程的 proc[]中的字段復(fù)制到子進(jìn)程的 proc中,但把分配到得標(biāo)識號置于 p_pid中,把 p_ppid置為父進(jìn)程的的標(biāo)識號,把 p_stat置為創(chuàng)建狀態(tài)。 ? ( 3) unix進(jìn)程的終止 ? 過程:以 shell進(jìn)程為例, shell進(jìn)程通過接收用戶的命令,然后通過 fork()創(chuàng)建子進(jìn)程處理命令 exec,父進(jìn)程通過 wait等待子進(jìn)程的結(jié)束,子進(jìn)程是通過系統(tǒng)調(diào)用 exit請求終止自己,并釋放父進(jìn)程。 關(guān)閉該進(jìn)程的打開文件,釋放它對正文段的使用權(quán)。然后把子進(jìn)程改為僵死狀態(tài),像父進(jìn)程發(fā)出信號,由父進(jìn)程作善后處理。 wait的任務(wù)是先查找僵死狀態(tài)的子進(jìn)程,若子進(jìn)程未僵死,則讓該進(jìn)程等待,直到子進(jìn)程成為僵死狀態(tài)后釋放。 ? ? 綜上所述:一個子進(jìn)程終止后,其父進(jìn)程的善后處理工作主要是釋放子進(jìn)程的 proc和 user,并把 user存放的時間信息累加到父進(jìn)程中。 /*此時僅有一個進(jìn)程 */ pid=fork()。 else if(pid==0) printf(I am the child process, my process ID is %d\n,getpid())。 } 編譯并運行: $gcc o fork_test $./fork_test I am the parent process, my process ID is 1991 I am the child process, my process ID is 1992 unix進(jìn)程的換進(jìn)換出 概念:動態(tài)的對內(nèi)存中把就緒進(jìn)程從磁盤交換區(qū)移入,把等待進(jìn)程移到磁盤交換區(qū),稱這種行為叫做進(jìn)程的換進(jìn)換出。 unix進(jìn)程的睡眠與喚醒 中斷技術(shù) 、中斷和中斷的類型 ?中斷 一個進(jìn)程占有處理器運行時,由于自身或者外界的原因(出現(xiàn)了事件)使運行被打斷,讓操作系統(tǒng)處理所出現(xiàn)的事件,到適當(dāng)?shù)臅r候再讓被打斷的進(jìn)程繼續(xù)運行,這個過程稱為 中斷 。 自愿中斷的斷點是確定的,而強(qiáng)迫性中斷的斷點可能發(fā)生在任何位置。 中斷響應(yīng)過程中,中斷裝置要做以下三項工作: ? 是否有中斷事件發(fā)生 判別自愿性中斷,只要檢查操作碼是否為訪管指令。若為 0,則無中斷;若非 0,則表示有中斷事件發(fā)生。處理器設(shè)有一個 程序狀態(tài)字寄存器 用來存放當(dāng)前運行程序的 PSW。 當(dāng)出現(xiàn)中斷事件后,把被中斷進(jìn)程的 PSW保存為舊PSW,即完成斷點信息保護(hù)。 ? (軟件即操作系統(tǒng)操作 ) 操作系統(tǒng)的中斷處理程序?qū)χ袛嗍录M(jìn)行處理時,大致要做三方面的工作: ? 保護(hù)被中斷進(jìn)程的現(xiàn)場信息 把中斷時的通用寄存器,控制寄存器內(nèi)容及舊 PSW保存到被中斷進(jìn)程的進(jìn)程控制塊中。 ? 處理發(fā)生的中斷事件 一般只做一些簡單處理,在多數(shù)情況下把具體的處理交給其他程序模塊去做。中斷裝置按預(yù)定的順序來響應(yīng)同時出現(xiàn)的中斷事件,這個預(yù)定的順序稱為 中斷優(yōu)先級 。一般情況下,優(yōu)先級的高低順序依次為:硬件故障中斷、自愿中斷、程序性中斷,外部中斷和輸入輸出中斷。中斷優(yōu)先級只是規(guī)定了中斷裝置響應(yīng)同時出現(xiàn)的中斷的次序,當(dāng)中斷裝置響應(yīng)了某個中斷后中斷處理程序在進(jìn)行處理時,中斷裝置也可能去響應(yīng)另一個中斷事件。 ?中斷屏蔽技術(shù)就是為了解決上述問題而提出的在一個中斷處理沒有結(jié)束之前不響應(yīng)其他中斷事件,或者只響應(yīng)比當(dāng)前級別高的中斷事件。自愿中斷是不能屏蔽的。按選定的進(jìn)程調(diào)度算法從就緒隊列中選擇一個進(jìn)程,讓它占用處理器。提高處理器利用率 減少等待時間 然后再將新創(chuàng)建的進(jìn)程插入就緒隊列,準(zhǔn)備執(zhí)行。 ? 低 級調(diào)度 ( 微觀調(diào)度、進(jìn)程調(diào)度、短程調(diào)度 ) 功能:決定就緒隊列中的哪個進(jìn)程 (或內(nèi)核級線程 )應(yīng)獲得處理機(jī),然后再由分派程序執(zhí)行把處理機(jī)分配給該進(jìn)程的具體操作 . ? 中 級調(diào)度 (中程調(diào)度、交換調(diào)度) 按照給定的原則和策略,將處于外存交換區(qū)中的就緒狀態(tài)或等待狀態(tài)的進(jìn)程調(diào)入內(nèi)存,或把處于內(nèi)存就緒狀態(tài)或內(nèi)存等待狀態(tài)的進(jìn)程交換到外存交換區(qū)中。 處理機(jī)調(diào)度的層次 處理機(jī)調(diào)度的層次 1 高級調(diào)度(只針對批處理系統(tǒng)) 1. 作業(yè)和作業(yè)步 (1) 作業(yè) (Job)=程序 +數(shù)據(jù) +作業(yè)說明書 系統(tǒng)根據(jù)說明書來對程序的運行進(jìn)行控制。 輸入井:磁盤上用來存放作業(yè)信息的專用區(qū)域 后備作業(yè):在輸入井中等待處理的作業(yè)。 通常 , 在作業(yè)運行期間 , 每個作業(yè)都必須經(jīng)過若干個相對獨立 , 又相互關(guān)聯(lián)的順序加工步驟才能得到結(jié)果 , 我們把其中的每一個加工步驟稱為一個作業(yè)步 , 各作業(yè)步之間存在著相互聯(lián)系 , 往往是把上一個作業(yè)步的輸出作為下一個作業(yè)步的輸入 。 若干個作業(yè)進(jìn)入系統(tǒng)后 , 被依次存放在外存上 , 形成輸入的作業(yè)流;在操作系統(tǒng)的控制下 , 逐個作業(yè)進(jìn)行處理 , 形成處理作業(yè)流 。 ?通常應(yīng)包含的內(nèi)容有:作業(yè)標(biāo)識、用戶名稱、用戶帳戶、作業(yè)類型 (CPU 繁忙型、 I/O 繁忙型、批量型、終端型 )、作業(yè)狀態(tài)、調(diào)度信息 (優(yōu)先級、作業(yè)已運行時間 )、資源需求 (預(yù)計運行時間、要求內(nèi)存大小、要求 I/O設(shè)備的類型和數(shù)量等 )、進(jìn)入系統(tǒng)時間、開始處理時間、作業(yè)完成時間、作業(yè)退出時間、資源使用情況等。 JCB主要信息 作業(yè)的狀態(tài)及其轉(zhuǎn)換 ① 提交狀態(tài) :一個作業(yè)被提交給機(jī)房后或用戶通過終端設(shè)備向計算機(jī)中輸入其作業(yè)時所處的狀況。 ③ 運行狀態(tài) :作業(yè)被調(diào)度程序選中而被送入主存中投入運行。 提交 后備 運行 就緒 等待 完成 作業(yè)調(diào)度 作業(yè)調(diào)度 作業(yè)錄入 作業(yè)的狀態(tài)及轉(zhuǎn)換 3.作業(yè)調(diào)度算法的選擇 用戶:周轉(zhuǎn)時間少最好 系統(tǒng):作業(yè)的平均周轉(zhuǎn)時間盡可能少,有利于提高 CPU 的利用率和系統(tǒng)的吞吐量。在每次執(zhí)行作業(yè)調(diào)度時,都須做出以下兩個決定。 進(jìn)程調(diào)度是最基本的一種調(diào)度 , 在多道批處理 、
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1