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

正文內容

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

2025-02-17 23:09 本頁面
 

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