版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、如有幫助歡迎下載支持趙盈盈 2011210593 第四章作業(yè)上1 .解釋名詞:程序的順序執(zhí)行;程序的并發(fā)執(zhí)行。答:程序的順序執(zhí)行:一個具有獨立功能的程序獨占cpu直到得到最終結果的進程。程序的并發(fā)執(zhí)行:兩個或兩個以上程序在計算機系統(tǒng)中同時處于一開始執(zhí)行且尚未結束 的狀態(tài)。2 .什么是進程?進程與程序的主要區(qū)別是什么?答:進程:進程是具有獨立功能的程序關于某個數據集合的一次運行活動,進程是系統(tǒng)進行資源分配和調度的獨立單元。進程和程序的區(qū)別: 程序是靜態(tài)的,進程是動態(tài)的 進程有程序和數據兩部分組成 進程具有生命周期,有誕生和消亡,是短暫的;而程序是相對長久的 進程能更真實的描述并發(fā),而程序不行。
2、一個進程可以對應多個程序。一個程序可以對應多個進程 進程可以創(chuàng)建其他進程,程序不能3 .圖1所示,設一譽抄程序,將 f中記錄序列正確譽抄到g中,這一程序由get、copy、put三個程序段組成,它們分別負責獲得記錄、復制記錄、輸出記錄。請指出這三個程序段對f中的m個記錄進行處理時各種操作的先后次序, 并畫出譽抄此記錄序列的先后次序圖 (假 設f中有1, 2,,m個記錄,s,t為設置在主存中的軟件緩沖區(qū),每次只能裝一個記錄)。圖1改進后的譽抄過程答:4 .進程有哪幾種基本狀態(tài)?試畫出進程狀態(tài)變遷圖,并標明發(fā)生變遷的可能原因。答:進程基本狀態(tài):運行、就緒、等待就緒到運行:調度程序選擇一個新的進程運
3、行運行到就緒:運行進程用完了時間片或運行進程被中斷,因為一個高優(yōu)先級的進程處于就緒狀態(tài)運行到等待:OS尚未完成服務或對一資源的訪問尚不能進行或初始化I/O且必須等待結果或等待某一進程提供輸入(IPC)等待到就緒:當所有的事件發(fā)生時5 .什么是進程控制塊?它有什么作用?答:PCB為了便于系統(tǒng)控制和描述進程的活動過程,在操作系統(tǒng)核心中為進程定義的一個專門的數據結構。作用:系統(tǒng)用 PCB來控制和管理進程的調用,PCB也是系統(tǒng)感知進程存在的唯一標志6. n個并發(fā)進程共用一個公共變量Q,寫出用信號燈的p、v操作實現n個進程互斥時的程序描述,并說明信號燈值的取值范圍。答:main()pi()int mut
4、ex=1;p(mutex);cobegin執(zhí)行進程Pi;for(i=1;1<=n;i+) pi();v(mutex);coend對于N并發(fā)進程,互斥子信號燈取值范圍為【(n-1 ), 1】Mutex = 1,表示沒有進程進入緩沖區(qū)。Mutex = 0,表示有一個進程進入緩沖區(qū),沒有進程等待Mutex = -1,表示有一個進程進入緩沖區(qū),一個進程等待試用信號燈的p、v操作實現如圖Mutex =-(n-1),表示有一個進程進入緩沖區(qū),n-1個進程等待7 .我們用進程流圖來描述一組合作進程執(zhí)行的先后次序。2(a)、(b)中所示進程之間的同步,并寫出程序描述。PiP5 (S5)P6 (S6)P3
5、 (S3)P4 (S4)P7 ( S57、S67)P2(S2)3答:PV操作實現(a)及程序實現main()int S2=0,S3=0,S4=0; P1()P2()P3P4如有幫助歡迎下載支持CobeginP1();P2();P3();P4();執(zhí)行 P1;P( S2) ;P( S3) ;P ( S4) ;CoendV( S2) ;執(zhí)行P2;執(zhí)行P3;執(zhí)行P4;V( S3) ;V( S4) ;PV操作實現(b)及程序實現main()int S5=0,S6=0;P5()P6()P7()int S57=0,S67=0;CobeginP( S5) ;P( S6) ;P(S57);P5();P6();
6、P7();執(zhí)行 P5;執(zhí)行P6;P(S67);CoendV( S57)V( S67) ;執(zhí)行P7;8 . 如圖 3 所示的進程流圖中,有五個進程合作完成某一任務,試說明這五個進程之間的同步關系,并用 p 、 v 操作實現之,并要求寫出程序描述。答:PV操作實現及程序實現P2()執(zhí)行 P1; P(S2);( 52) ;執(zhí)行S2;( 53) ;Main () P1()int S1=0,S2=0,S3=0,S4=0;S35=0,S45=0; CobeginVP1();P2();P3();P4();P5();VCoendV(S4);0P(35);P(45);執(zhí)行P5;P3()P4()P5P(S3) ;
7、 P(S4);執(zhí)行 P3;執(zhí)行P4;V(35) ;V(45);9 .如圖4所示,get、copy、put三進程共用兩個緩沖區(qū)s、t (其大小為每次存放一個記錄)get進程負責不斷地把輸入記錄送入緩沖區(qū) s中,copy進程負責從緩沖區(qū) s中取出記錄復制 到緩沖t中,而put進程負責把記錄從緩沖區(qū) t中取出打印。試用 p、v操作實現這三個進 程之間的同步,并寫出程序描述。圖4答:PV操作實現及程序實現Main ()int S1=1,S2=0;/S1表示空緩沖區(qū)s個數,S2表示緩沖區(qū)是否有內容可以被copyint T1=1 , T2=0; / T1 表示空緩沖區(qū)t個數,T2表示緩沖區(qū)是否有內容可以被
8、putCobeginGet();Copy();Put(); Coend Get()Copy while(1) while(1)檢查S是否為滿;/ copy 數據 P(S1);/檢查 S 是否為空 P(S2);/put data to buffer S /補數據放入 S copy data from buffer S清空S;檢查T是否為空已滿V(S2); / S 已滿V(S1);/whileP(T1)Getput data to buffer TV(T2);/TPut() while(1)P(T2); 檢測T是否為滿Output data from buffer T ; 輸出 T 中數據V(T1
9、) ; /清空緩沖區(qū)T10 .什么是進程的互斥與同步?同步和互斥這兩個概念有什么聯系與區(qū)別?答:進程同步:是指進程之間一種直接的協同關系,是一些進程相互合作,共同完成一項任務,進程剪得直接相互作用構成進程的同步。進程互斥:在系統(tǒng)中,許多進程需要共享資源,而這些資源往往要求排他性的使用,即 一次只能為一個進程服務。因此,個進程間互斥使用這些資源,進程間的這種關 系叫做進程互斥。聯系:進程互斥與同步是指在進程推進時的相互制約關系。在多道程序系統(tǒng)中,由于資源 共享與進程合作,這種進程間的制約成為可能。區(qū)別:進程同步主要源于進城合作,是進程間共同完成一項任務時直接發(fā)生相互作用,為 進城提供直接制約關系
10、。在多道環(huán)境下,這種進程在執(zhí)行次序上的協調是必不可 少的。而進程互斥,主要源于資源共享,是進程間的間接制約關系。在多道系統(tǒng)中,每次只允許一個進程訪問的資源成為臨界資源,進程互斥就是保證每次只有一個進程 使用臨界資源。11 .在生產者一消費者問題中,我們設置三個彳t號燈,一個用于互斥的信號燈mutex,其初值為1;另外兩個信號燈是:full (初值為0,用以指示緩沖區(qū)內是否有物品)和 empty (初值為n,表示可利用的緩沖區(qū)數目)。試寫出此時的生產者一消費者問題的描述。答:該問題描述的是一個多個生產者一個消費者12 .判斷正是列同步算法是否有錯,請指出錯誤原因并改正。(1)三個進程并發(fā)活動的進
11、程流圖5所示,其同步算法描述如下:main()解(1) 答:改正如下:is.PiP2P3 fint s =-1;int S13=0,S23=0;cobeginP1();P2();P3();coendP1( )P1():圖5v(s) ;V(S13);P2()P2()P(s) ;!:V(S23);圖 4.25P3()P3() P(S13);P(s) ;P(S23);1111II(2)設a、b兩進程共用一緩沖區(qū)t,a向t寫入信息,b則從t讀出信息,算法框圖如 圖6所示。B進程(3)設a、b為兩個并發(fā)進程,它們共享一臨介資源。其執(zhí)行臨界區(qū)的算法框圖如圖 所示。A進程A進程.B進程向t寫入信息*P(S1
12、)V(S1)P(S)CSaP(S)CSb7v(s2)P(S2)從t讀出信息V(S)注:信號燈s的值為0注:信號燈S1、S2的值均為0答:解(2) A進程與B進程之間是協同關系。如有幫助歡迎下載支持A 進程往緩沖區(qū)寫入信息之前要先判斷緩沖區(qū)是否為滿。 寫入之后看聲明緩沖區(qū)數據可以被取走B 進程從緩沖區(qū)取數據之前先檢測緩沖區(qū)是否已滿, 從 t 中讀出信息之后要聲明緩沖區(qū)數據已被取走。Main()int S1=1,S2=0;/S1緩沖區(qū)是否裝滿,S0表示緩沖區(qū)內容是否陪取走CobeginA();B();Coend;A()B()while(1) while(1) Input data to buffe
13、r T; P(S1); / 檢驗緩沖區(qū)是否為滿V(S1) ; / 緩沖區(qū)是否已滿output data to buffer T;P(S2) ; / 緩沖區(qū)數據可以被取走V(S2); / 緩沖區(qū)數據被取走/while/while/A()/B()答:解(3)進程A、B之間為互斥關系,用一個信號燈就夠了。改正如圖A 、 B 只需進入臨界區(qū)之前檢測臨界區(qū)是否為空。出來之后聲明臨界區(qū)可用即可圖可以表現為13. 試說明進程創(chuàng)建的主要功能是什么?答: ( 1)為新建進程創(chuàng)建PCB。( 2 )賦予一個統(tǒng)一進程標識符( 3 )為進程映像分配空間( 4 )初始化進程控制塊( 5)設置相應的鏈接,將新建進程設置為就
14、緒狀態(tài),把PC明E入就緒隊列中。14. 用于進程控制的原語主要有哪幾個?答: 用于進程控制的原語主要有:創(chuàng)建原語,撤銷原語,阻塞原語,喚醒原語15. 什么是線程?線程與進程有什么區(qū)別?答: 線程是進程中的一個實體,是cpu 調度和分派的基本單位。區(qū)別: ( 1 )調度:線程是調度和分配的基本單位,進程是資源擁有的基本單位;在同一個進程中線程的切換不會引起進程的切換,在一個進程中線程切換到另一個進程中是會引起進程的切換。( 2)并發(fā)性:引入線程的OS 中,不僅進程之間可以并發(fā)執(zhí)行,而且一個進程的多個線程也可以并發(fā)執(zhí)行。因而是OS 有更好的并發(fā)性,從而能更有效地使用系統(tǒng)資源提高系統(tǒng)吞吐率。( 3)擁有資源:進城擁有資源的一
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年高職第三學年(海綿城市建設技術)海綿設施施工階段測試題及答案
- 2025年大學二年級(網絡媒體UI設計)UI應用階段測試題及答案
- 2025年大學第四學年(數字媒體技術)數字媒體交互設計試題及答案
- 2025年大學第四學年(工業(yè)設計)產品結構設計綜合試題及答案
- 2025年高職老年保健與管理(老年營養(yǎng)與膳食)試題及答案
- 2025年中職(新能源汽車檢測與維修)智能駕駛輔助設備基礎試題及答案
- 2025年高職(酒店管理綜合實訓)服務創(chuàng)新實操試題及答案
- 2026年幼兒教育(幼兒語言表達)試題及答案
- 2025年高職老年人服務與管理(心理疏導方法)試題及答案
- 2025年高職模具設計與制造(模具設計制造應用)試題及答案
- 生鮮乳安全生產培訓資料課件
- 2026年《必背60題》高校專職輔導員高頻面試題包含詳細解答
- 2026年八年級生物上冊期末考試試卷及答案
- 工程顧問協議書
- 2026年沃爾瑪財務分析師崗位面試題庫含答案
- 廣東省汕頭市金平區(qū)2024-2025學年九年級上學期期末化學試卷(含答案)
- 江蘇省G4(南師大附中、天一、海安、海門)聯考2026屆高三年級12月份測試(G4聯考)生物試卷(含答案)
- 資產清查合同范本
- GB/T 15390-2005工程用焊接結構彎板鏈、附件和鏈輪
- GA 1016-2012槍支(彈藥)庫室風險等級劃分與安全防范要求
- 6.項目成員工作負荷統(tǒng)計表
評論
0/150
提交評論