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

正文內(nèi)容

[計算機(jī)軟件及應(yīng)用]處理器管理(編輯修改稿)

2025-02-17 23:09 本頁面
 

【文章內(nèi)容簡介】 () 創(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)程是運(yùn)行持續(xù)工作在核心態(tài)的進(jìn)程,它的功能是執(zhí)行進(jìn)程調(diào)度和讓進(jìn)程在主存和磁盤上進(jìn)行交換。 0號進(jìn)程又稱為交換進(jìn)程。 0號進(jìn)程又創(chuàng)建一個 1號進(jìn)程, 1號進(jìn)程又稱為初始化進(jìn)程。 1號進(jìn)程在用戶態(tài)運(yùn)行,每當(dāng)有終端有用戶請求注冊時, 1號進(jìn)程就為該用戶創(chuàng)建 1個 login進(jìn)程。如果有多個用戶注冊,那么就創(chuàng)建多個 login進(jìn)程。如果用戶登陸成功 login進(jìn)程就創(chuàng)建 1個 shell進(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()創(chuàng)建的新進(jìn)程實(shí)際上是父進(jì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)。 d,按父進(jìn)程中 p_size所示的長度為子進(jìn)程申請分配內(nè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)程。 ? 系統(tǒng)調(diào)用 exit的主要任務(wù)是把終止進(jìn)程自被創(chuàng)建以來所占用的系統(tǒng)資源退還給系統(tǒng)。 關(guān)閉該進(jìn)程的打開文件,釋放它對正文段的使用權(quán)。把user結(jié)構(gòu)換出到磁盤兌換區(qū)并收回數(shù)據(jù)段占用的主存空間。然后把子進(jìn)程改為僵死狀態(tài),像父進(jìn)程發(fā)出信號,由父進(jìn)程作善后處理。 ? ? 系統(tǒng)調(diào)用 wait對 exit終止信號作善后處理。 wait的任務(wù)是先查找僵死狀態(tài)的子進(jìn)程,若子進(jìn)程未僵死,則讓該進(jìn)程等待,直到子進(jìn)程成為僵死狀態(tài)后釋放。當(dāng)父進(jìn)程釋放后, wait繼續(xù)執(zhí)行,再從磁盤對換區(qū)中把子進(jìn)程的 user結(jié)構(gòu)讀入主存,釋放 user在對換區(qū)中所占的空間,然后把user存放的時間信息加在本進(jìn)程的 user結(jié)構(gòu)中,再釋放主緩沖去,把子進(jìn)程子 proc中的表項刪除。 ? ? 綜上所述:一個子進(jìn)程終止后,其父進(jìn)程的善后處理工作主要是釋放子進(jìn)程的 proc和 user,并把 user存放的時間信息累加到父進(jìn)程中。 ?fork調(diào)用的一個奇妙之處就是它僅僅被調(diào)用一次,卻能夠返回兩次,它可能有三種不同的返回值: ?在父進(jìn)程中, fork返回新創(chuàng)建子進(jìn)程的進(jìn)程 ID; ?在子進(jìn)程中, fork返回 0; ?如果出現(xiàn)錯誤, fork返回一個負(fù)值 ?P54 實(shí)驗二 進(jìn)程管理 ? /* */ includesys/ inlcude main() { pid_t pid。 /*此時僅有一個進(jìn)程 */ pid=fork()。 /*此時已經(jīng)有兩個進(jìn)程在同時運(yùn)行 */ if(pid0) printf(error in fork!)。 else if(pid==0) printf(I am the child process, my process ID is %d\n,getpid())。 else printf(I am the parent process, my process ID is %d\n,getpid())。 } 編譯并運(yùn)行: $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)換出。 意義:使系統(tǒng)運(yùn)行效率提高。 unix進(jìn)程的睡眠與喚醒 中斷技術(shù) 、中斷和中斷的類型 ?中斷 一個進(jìn)程占有處理器運(yùn)行時,由于自身或者外界的原因(出現(xiàn)了事件)使運(yùn)行被打斷,讓操作系統(tǒng)處理所出現(xiàn)的事件,到適當(dāng)?shù)臅r候再讓被打斷的進(jìn)程繼續(xù)運(yùn)行,這個過程稱為 中斷 。 ?從中斷事件的性質(zhì)出發(fā),中斷可以分為兩大類: ? 強(qiáng)迫性中斷事件 包括硬件故障中斷,程序性中斷,外部中斷和輸入輸出中斷等 ? 自愿性中斷事件 是由正在運(yùn)行的進(jìn)程執(zhí)行一條訪管指令用以請求系統(tǒng)調(diào)用而引起的中斷,這種中斷也稱為 訪管中斷 。 自愿中斷的斷點(diǎn)是確定的,而強(qiáng)迫性中斷的斷點(diǎn)可能發(fā)生在任何位置。 中斷的響應(yīng) ?中斷響應(yīng) (硬件即中斷裝置操作 ) 處理器每執(zhí)行一條指令后,硬件的中斷位置立即檢查有無中斷事件發(fā)生,若有中斷事件發(fā)生,則暫停現(xiàn)行進(jìn)程的執(zhí)行,而讓操作系統(tǒng)的中斷處理程序占用處理器,這一過程稱為 中斷響應(yīng) 。 中斷響應(yīng)過程中,中斷裝置要做以下三項工作: ? 是否有中斷事件發(fā)生 判別自愿性中斷,只要檢查操作碼是否為訪管指令。 判別強(qiáng)迫性中斷,則要檢查中斷寄存器內(nèi)容。若為 0,則無中斷;若非 0,則表示有中斷事件發(fā)生。 ? 若有中斷發(fā)生,保護(hù)斷點(diǎn)信息 每個程序都有一個程序狀態(tài)字 (PSW)來反映本狀態(tài)的執(zhí)行狀態(tài),如基本狀態(tài)、中斷碼和中斷屏蔽位等內(nèi)容。處理器設(shè)有一個 程序狀態(tài)字寄存器 用來存放當(dāng)前運(yùn)行程序的 PSW。程序狀態(tài)字可分為當(dāng)前 PSW、舊 PSW和新 PSW。 當(dāng)出現(xiàn)中斷事件后,把被中斷進(jìn)程的 PSW保存為舊PSW,即完成斷點(diǎn)信息保護(hù)。 ? 啟動操作系統(tǒng)的中斷處理程序工作 中斷裝置通過 交換 PSW過程完成此項任務(wù),即把出現(xiàn)的中斷事件存放到當(dāng)前 PSW中斷碼位置,然后把該當(dāng)前PSW保存為舊 PSW,再把操作系統(tǒng)中斷處理程序的新 PSW送到程序狀態(tài)字寄存器中,成為當(dāng)前的 PSW。 ? (軟件即操作系統(tǒng)操作 ) 操作系統(tǒng)的中斷處理程序?qū)χ袛嗍录M(jìn)行處理時,大致要做三方面的工作: ? 保護(hù)被中斷進(jìn)程的現(xiàn)場信息 把中斷時的通用寄存器,控制寄存器內(nèi)容及舊 PSW保存到被中斷進(jìn)程的進(jìn)程控制塊中。 ? 分析中斷原因 根據(jù)舊 PSW的中斷碼可知發(fā)生該中斷的具體原因。 ? 處理發(fā)生的中斷事件 一般只做一些簡單處理,在多數(shù)情況下把具體的處理交給其他程序模塊去做。 中斷優(yōu)先級和中斷屏蔽(識記) 中斷優(yōu)先級是硬件設(shè)計時確定的。中斷裝置按預(yù)定的順序來響應(yīng)同時出現(xiàn)的中斷事件,這個預(yù)定的順序稱為 中斷優(yōu)先級 。中斷優(yōu)先級是按中斷事件的重要性和緊迫程度來確定的 ,是由硬件設(shè)計時固定下來的。一般情況下,優(yōu)先級的高低順序依次為:硬件故障中斷、自愿中斷、程序性中斷,外部中斷和輸入輸出中斷。 ?中斷的嵌套處理 ?中斷屏蔽的作用。中斷優(yōu)先級只是規(guī)定了中斷裝置響應(yīng)同時出現(xiàn)的中斷的次序,當(dāng)中斷裝置響應(yīng)了某個中斷后中斷處理程序在進(jìn)行處理時,中斷裝置也可能去響應(yīng)另一個中斷事件。因此會出現(xiàn)優(yōu)先級低的中斷事件的處理打斷優(yōu)先級高的中斷事件的處理,使得中斷事件的處理順序與響應(yīng)順序不一致,而且會形成多重嵌套處理,使多現(xiàn)場保護(hù)、程序返回等工作變的復(fù)雜。 ?中斷屏蔽技術(shù)就是為了解決上述問題而提出的在一個中斷處理沒有結(jié)束之前不響應(yīng)其他中斷事件,或者只響應(yīng)比當(dāng)前級別高的中斷事件。于是,當(dāng)中斷裝置檢查到有中斷事件后,便去查看 PSW中中斷屏蔽標(biāo)志,如果沒有屏蔽就響應(yīng)該中斷;否則,暫時不響應(yīng)該中斷,待屏蔽標(biāo)志消除后再響應(yīng)。自愿中斷是不能屏蔽的。 UNIX系統(tǒng)的中斷技術(shù) 處理器調(diào)度(領(lǐng)會) ?進(jìn)程調(diào)度的職責(zé)。按選定的進(jìn)程調(diào)度算法從就緒隊列中選擇一個進(jìn)程,讓它占用處理器。 ?選擇進(jìn)程調(diào)度算法的幾個準(zhǔn)則: 提高處理器利用率 增大吞吐量 減少等待時間 縮短響應(yīng)時間 ?處理機(jī)是計算機(jī)系統(tǒng)中的重要資源 ?處理機(jī)調(diào)度算法對整個計算機(jī)系統(tǒng)的綜合性能指標(biāo)有重要影響 ?不同的 OS,處理機(jī)管理的策略不同 ?可把處理機(jī)調(diào)度分成三個層次: ? 高級調(diào)度 ? 中級調(diào)度 ? 低級調(diào)度 處理機(jī)調(diào)度的層次 處理器調(diào)度(領(lǐng)會) 處理機(jī)調(diào)度的層次 ?高級調(diào)度 ( 宏觀調(diào)度、作業(yè)調(diào)度、長程調(diào)度 ) 主要功能:根據(jù)作業(yè)控制塊中的信息,審查系統(tǒng)能否滿足用戶作業(yè)的資源需求,以及按照一定的算法,從外存的后備隊列中選取某些作業(yè)調(diào)入內(nèi)存,并為它們創(chuàng)建進(jìn)程、分配必要的資源。然后再將新創(chuàng)建的進(jìn)程插入就緒隊列,準(zhǔn)備執(zhí)行。因此,有時也把作業(yè)調(diào)度稱為接納調(diào)度 (Admission Scheduling)。 ? 低 級調(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ū)中。 目的:提高內(nèi)存的利用率和系統(tǒng)吞吐量。 處理機(jī)調(diào)度的層次 處理機(jī)調(diào)度的層次 1 高級調(diào)度(只針對批處理系統(tǒng)) 1. 作業(yè)和作業(yè)步 (1) 作業(yè) (Job)=程序 +數(shù)據(jù) +作業(yè)說明書 系統(tǒng)根據(jù)說明書來對程序的運(yùn)行進(jìn)行控制。在批處理系統(tǒng)中,以作業(yè)為基本單位從外存調(diào)入內(nèi)存的。 輸入井:磁盤上用來存放作業(yè)信息的專用區(qū)域 后備作業(yè):在輸入井中等待處理的作業(yè)。 (2) 作業(yè)步 (Job Step)。 通常 , 在作業(yè)運(yùn)行期間 , 每個作業(yè)都必須經(jīng)過若干個相對獨(dú)立 , 又相互關(guān)聯(lián)的順序加工步驟才能得到結(jié)果 , 我們把其中的每一個加工步驟稱為一個作業(yè)步 , 各作業(yè)步之間存在著相互聯(lián)系 , 往往是把上一個作業(yè)步的輸出作為下一個作業(yè)步的輸入 。 ① 編譯 ② 連結(jié)裝配 ③ 運(yùn)行 (3) 作業(yè)流 。 若干個作業(yè)進(jìn)入系統(tǒng)后 , 被依次存放在外存上 , 形成輸入的作業(yè)流;在操作系統(tǒng)的控制下 , 逐個作業(yè)進(jìn)行處理 , 形成處理作業(yè)流 。 2. 作業(yè)控制塊 JCB(Job Control Block) ?是作業(yè)在系統(tǒng)中存在的標(biāo)志 ?保存了系統(tǒng)對作業(yè)進(jìn)行管理和調(diào)度所需的全部信息。 ?通常應(yīng)包含的內(nèi)容有:作業(yè)標(biāo)識、用戶名稱、用戶帳戶、作業(yè)類型 (CPU 繁忙型、 I/O 繁忙型、批量型、終端型 )、作業(yè)狀態(tài)、調(diào)度信息 (優(yōu)先級、作業(yè)已運(yùn)行時間 )、資源需求 (預(yù)計運(yùn)行時間、要求內(nèi)存大小、要求 I/O設(shè)備的類型和數(shù)量等 )、進(jìn)入系統(tǒng)時間、開始處理時間、作業(yè)完成時間、作業(yè)退出時間、資源使用情況等。 ?作業(yè)的狀態(tài) 作業(yè)從輸入到完成要經(jīng)歷 提交,收容,執(zhí)行,完成 四個階段。 JCB主要信息 作業(yè)的狀態(tài)及其轉(zhuǎn)換 ① 提交狀態(tài) :一個作業(yè)被提交給機(jī)房后或用戶通過終端設(shè)備向計算機(jī)中輸入其作業(yè)時所處的狀況。 ② 后備狀態(tài) :作業(yè)的全部信息都已輸入,并存放在磁盤中等待運(yùn)行。 ③ 運(yùn)行狀態(tài) :作業(yè)被調(diào)度程序選中而被送入主存中投入運(yùn)行。 ④ 完成狀態(tài) :作業(yè)完成其全部運(yùn)行,釋放其所占用的全部資源,
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1