版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
舉例說明,只有被操作系統(tǒng)管理和控制的資源才能被用戶使用。答:在沒有操作系統(tǒng)的時候,計算機系統(tǒng)的資源完全由用戶和用戶程序來控制和管理,使用非常不便。有了操作系統(tǒng),計算機系統(tǒng)的資源由操作系統(tǒng)控制和管理,用戶通過操作系統(tǒng)的服務(wù)接口使用這些資源。如果操作系統(tǒng)沒有控制和管理某些資源,用戶就不能通過操作系統(tǒng)的服務(wù)接口使用這些資源。例如,DOS只能管理1MB的內(nèi)存,裝上再多的內(nèi)存,一般用戶也無法使用。舉例說明,多道程序的引入提高了系統(tǒng)資源的利用率,同時也使操作系統(tǒng)復(fù)雜化。答:多道程序系統(tǒng)中存在著并發(fā)和并行操作。例如,在內(nèi)存中同時裝入幾個用戶程序,I/O操作與CPU計算機并行。由并發(fā)和并行而產(chǎn)生一系列問題:如何從一個活動切換到領(lǐng)一個;怎樣保護一個活動使其另外一些活動的影響;如何實現(xiàn)相互依賴的活動間的同步等。用于國家導(dǎo)彈防御系統(tǒng)的計算機系統(tǒng)是一個什么樣的系統(tǒng)?答:用于國家導(dǎo)彈防御系統(tǒng)的計算機系統(tǒng)是實時過程控制系統(tǒng)與實時信息處理系統(tǒng)相結(jié)合的系統(tǒng)。為什么中斷機構(gòu)對于多道操作系統(tǒng)是必不可少的?答:很多進程的切換是由中斷引起的,如時鐘中斷,尤其是分時系統(tǒng)。用戶程序進行系統(tǒng)調(diào)用時通過軟中斷來實現(xiàn),如TRAP。通道和外設(shè)的操作也要向操作系統(tǒng)發(fā)送中斷網(wǎng)絡(luò)操作系統(tǒng)和分布式操作系統(tǒng)的區(qū)別?答:網(wǎng)絡(luò)OS中的用戶使用自己的機器可以訪問網(wǎng)絡(luò)上別的機器的資源,通過網(wǎng)絡(luò)將很多機器連接起來,共享硬件資源,但是,整個系統(tǒng)對用戶來說是分散的,不透明的。分布式OS的用戶也是通過網(wǎng)絡(luò)將多臺機器連接起來,但是整個系統(tǒng)對用戶是透明的,用戶對整個OS就好像使用一個自己的機器一樣。評價一個操作系統(tǒng)的主要因素有哪些?答:評價一個操作系統(tǒng)的主要因素有方便性、有效性、擴充性、開放性、可用資源的數(shù)量。多用戶分時系統(tǒng)如何克服多道批處理系統(tǒng)的缺點?答:盡管多道批處理系統(tǒng)已經(jīng)大大地提高了計算機系統(tǒng)的資源利用率,但是它的致命缺點是缺少交互性。怎樣才能使系統(tǒng)既具有交互性又不使資源的利用率降低?資源利用率和交互性是一對矛盾。如果一臺計算機能夠連接多個操作臺(終端),允許多個用戶同時在操作臺上操作,每個操作臺上的擁護執(zhí)行一個程序,形成多個程序的并發(fā)執(zhí)行。通過并發(fā)程序的分時執(zhí)行,確保每個用戶操作的計算機終端就好象單獨一臺計算機一樣。這樣就避免了只有一個操作臺時,大量的計算機時間被一個用戶浪費,同時又克服了多道批處理系統(tǒng)非交互性的缺點。將手工操作、單道批處理、多道批處理、多用戶分時系統(tǒng)按CPU的有效利用率,由小到大進行排列。答:手工操作、單道批處理系統(tǒng)、多用戶分時系統(tǒng)、多道批處理系統(tǒng)。(1)手工操作沒有操作系統(tǒng),屬于單道程序系統(tǒng),大量的處理機時間被人工操作所浪費,因此CPU的利用率很低。(2)單道批處理系統(tǒng)在一定程度上克服了手工操作的缺點,但仍屬于單道程序系統(tǒng),大量的CPU時間浪費在等待I/O操作的完成上。因此它的CPU利用率比手工操作的系統(tǒng)要高,但比多道程序系統(tǒng)要低。(3)多用戶分時系統(tǒng)是多道程序系統(tǒng),具有交互性。但是程序的分時運行需CPU不斷地在多個程序之間進行切換,這種切換需要占用CPU時間。(4)多道批處理系統(tǒng)是多道程序系統(tǒng),沒有交互性。CPU在執(zhí)行一道程序時一般切換到其他程序,只有在需要等待某種事件發(fā)生時,才切換到另一程序執(zhí)行。因此,它的CPU切換次數(shù)遠遠低于分時系統(tǒng),而CPU的有效利用率高于批處理系統(tǒng)。Windows這樣的多任務(wù)系統(tǒng)和Unix這樣的多進程系統(tǒng)在調(diào)度上有何不同?答:從調(diào)度上講,在Windows這樣的多任務(wù)系統(tǒng)中,當前執(zhí)行哪個任務(wù)是由用戶決定的,是用戶可控制的;而在Unix這樣的多進程系統(tǒng)中,當前運行哪個進程是由內(nèi)部的調(diào)度算法決定,是對用戶透明的,用戶是不可直接控制的。進程和線程的主要區(qū)別是什么?答:在有進程和線程的系統(tǒng)中,進程是系統(tǒng)資源分配的獨立單位,而線程是可調(diào)度運行的獨立單位。程序的并發(fā)執(zhí)行為什么會有間斷性?答:并發(fā)執(zhí)行是指系統(tǒng)內(nèi)有多道程序在宏觀上”同時”執(zhí)行,但系統(tǒng)內(nèi)往往只有一臺處理機(CPU),因此只能分時地為多個程序服務(wù)。就一道程序而言,往往不是一次能夠運行完成,而是以“走走停?!钡姆绞酵瓿善溥\行,這就是并發(fā)系統(tǒng)內(nèi)程序執(zhí)行的間斷性。進程能自己將自己喚醒嗎?進程能自己將自己撤銷嗎?答:喚醒進程和撤消進程都是要通過CPU上運行程序來實現(xiàn)的。一個進程入睡了,它就不可能被調(diào)度到CPU上運行;一個進程在撤消前必須先進入終止狀態(tài),而處于終止狀態(tài)的進程不可能被調(diào)度到CPU上運行。因此,進程被喚醒、被撤消都不能由自己來完成,只能由別的進程實現(xiàn)。什么是原語?原語的主要特點是什么?答:原語是指由若干條機器指令構(gòu)成的,并用以完成特定功能的一段程序。這段程序在執(zhí)行期間是不可分割的。其主要特點是不可分割性。程序并發(fā)執(zhí)行與順序執(zhí)行時相比產(chǎn)生哪些新特征?答:程序并發(fā)執(zhí)行與順序執(zhí)行時產(chǎn)生的特性有:可分割性、失去封閉性、失去可再現(xiàn)性。程序并發(fā)執(zhí)行的主要特點是什么?此題答案為:答:程序并發(fā)執(zhí)行的主要特點是并發(fā)程序間具有相互制約的關(guān)系,程序并發(fā)執(zhí)行失去了程序的封閉性和再現(xiàn)性,程序和機器執(zhí)行程序的活動不再—對應(yīng)。一個因等待I/O操作結(jié)束而進入阻塞狀態(tài)的進程,何時被喚醒?答:是在別的進程執(zhí)行相應(yīng)的I/O中斷處理程序時喚醒的。在什么情況下,可以一次喚醒一個進程和一次喚醒多個進程?答:在I/O中斷處理程序中,當喚醒進程時,只喚醒等待該I/O結(jié)束的那一個進程;當一個進程釋放一個系統(tǒng)資源(如I/O緩存)時,將要喚醒所有因等待使用該資源而進入阻塞狀態(tài)的進程。進程的就緒狀態(tài)和阻塞狀態(tài)有何不同?答:阻塞狀態(tài)的進程還不具務(wù)執(zhí)行的條件,即使放到處理機上能執(zhí)行;就緒狀態(tài)的進程具備了執(zhí)行的所有條件,放在處理機上就能執(zhí)行。程序的并發(fā)執(zhí)行將導(dǎo)致運行結(jié)果失去封閉性,這對所有的程序都成立嗎?答:并不是所有程序的并行執(zhí)行都會導(dǎo)致運行結(jié)果失去封閉性。例如,當程序中都使用內(nèi)部變量,不可能被外部程序訪問時,程序的運行不會受到環(huán)境的影響。父進程創(chuàng)建子進程之后,父子進程間的關(guān)系是什么?答:一個進程創(chuàng)建子進程之后,進程與產(chǎn)生的進程之間的關(guān)系是父子關(guān)系,分別成為進程和子進程。子進程一經(jīng)產(chǎn)生就與你進程并發(fā)執(zhí)行,子進程共享父進程和子進程。子進程一經(jīng)產(chǎn)生就與你進程并發(fā)執(zhí)行,子進程共享父進程的正文段和已經(jīng)打開的文件。什么是線程?進程和線程的關(guān)系是什么?答:線程可定義為進程內(nèi)的一個執(zhí)行單位,或者定義為進程內(nèi)的一個可調(diào)度實體。在具有多線程機制的操作系統(tǒng)中,處理機調(diào)度的基本單位不是進程而是線程。一個進程可以有多個線程,而且至少有一個可執(zhí)行線程。進程和線程的關(guān)系是:⑴線程是進程的一個組成部分。(2)進程的多個線程都在進程的地址空間活動。(3)資源是分給進程的,而不是分給線程的,線程在執(zhí)行中需要資源時,系統(tǒng)從進程的資源分配額中扣除并分配給它。(4)處理機調(diào)度的基本單位是線程,線程之間競爭處理機,真正在處理機上運行的是線程。(5)線程在執(zhí)行過程中,需要同步。簡述引進線程的好處。答:引進線程的好處為:(1)以線程作為系統(tǒng)調(diào)度的基本單位,減少了系統(tǒng)的時空開銷。以進程為系統(tǒng)調(diào)度的基本單位的系統(tǒng)中,進程的切換是很頻繁的。在切換中由于要保留當時的運行環(huán)境,還要設(shè)置新選中的進程的運行環(huán)境,這既花費了處理機的時間,又增加了主存的空間,從而也限制了系統(tǒng)進程的數(shù)量和進程的切換速度。(2)引進線程提高了系統(tǒng)的并行能力。線程作為進程內(nèi)的一個可執(zhí)行實體,減少了并行粒度。線程作為調(diào)度的基本單位而不是資源分配的基本單位,調(diào)度更為容易,而且采用線程提高系統(tǒng)的并行能力比采用進程更為有效。(3)同一進程的線程共享進程的用戶地址空間,所以同一進程的線程間的通信更容易實現(xiàn)。當系統(tǒng)內(nèi)所有的進程都進入睡眠之后,系統(tǒng)還有可能復(fù)活嗎?答:只有兩種情況下系統(tǒng)可以復(fù)活:一種情況是有因等待I/O操作完成而進入睡眠的進程,當相應(yīng)的I/O操作完成后,I/O中斷處理程序喚醒等待本次I/O的進程,而該進程在運行過程中又可能通過釋放資源、發(fā)送消息等事件而喚醒其他進程,這樣整個系統(tǒng)就又活躍起來了;另一種情況是沒有等待I/O操作完成的進程,但有定時睡眠的進程,當睡眠時間到期,會由時鐘中斷將該入睡進程喚醒,從而獲得可運行進程,并有可能使系統(tǒng)重新活躍起來。當一個進程的父進程被撤銷時,該進程是撤銷好還是不撤銷好?答:在實際系統(tǒng)中,兩種處理辦法都是可行的,且各有優(yōu)缺點。若撤消,則該進程的任務(wù)可能還沒有完成,這顯然是不利的,特別是當該進程的運行結(jié)果對其他進程的運行很重要(如該進程是其他進程的前趨進程,沒有它的運行結(jié)果其他進程無法運行)時;若不撤消,則該進程又可能成為不可控的“孤兒”,從而產(chǎn)生不可預(yù)測的結(jié)果。比較好的做法是,當一個進程的父進程被撤消時,可以將該進程“過繼”給系統(tǒng)內(nèi)一個級別較高的進程(如Unix中的1#進程),讓它有一個”新的父親”,這樣既可以繼續(xù)完成其任務(wù)又不會成為不可控的。當一個進程的父進程被撤銷時,該進程是撤銷好還是不撤銷好?答:最主要的不同是“入睡”是進程的主動行為,而”掛起”可以是系統(tǒng)的強制行為;此處,只有在CPU上運行的進程才能執(zhí)行“入睡”操作,而不管進程處于什么狀態(tài),系統(tǒng)都可對其執(zhí)行“掛起”操作。它們的相同點是:這兩個操作都導(dǎo)致一個正在CPU上運行的進程從CPU上退下來。簡述進程為什么不能從就緒狀態(tài)直接變成阻塞(睡眠)狀態(tài)?答:一個進程要進入阻塞(睡眠)狀態(tài),必須通過執(zhí)行相應(yīng)的程序才能實現(xiàn),如Sleep?;駼lock。。就緒進程當前不在CPU上運行,不能執(zhí)行任何程序,當然不能使自己直接進入阻塞狀態(tài)。在一個分時操作系統(tǒng)中,進程可能出現(xiàn)下面所示的變化。請將產(chǎn)生每一種變化的具體原因填寫在下面橫線上。A:運行B:就緒C:數(shù)據(jù)資源D:等待I/O傳輸⑴A-—B(2)A-C(3)C-A⑷A--D⑸D-B答:(1)時間片用完(2)請求資源⑶I/O請求(4)分配資源(5)1/0操作完成為什么說互斥也是一種同步?答:互斥指的是某種資源一次只允許一個進程使用,即你在使用的時候我不能使用;我在使用的時候你不能使用。這就是一種協(xié)調(diào),一種“步伐”上的一致,因而也就是一種同步。但是,為了求解實際問題,將”同步“與“互斥”加以區(qū)別是有好處的,因為這兩種問題的求解方法是不同的。為什么說進程同步問題關(guān)系到QS的成???答:這是因為,進程同步問題若處理不當,有可能會產(chǎn)生種種”與時間有關(guān)性錯誤”,特別是當兩個或多個進程共享了公共變量而又沒有互斥地使用這些變量時,極有可能導(dǎo)致用戶程序運行結(jié)果的不正確,這量種災(zāi)難性的后果。這種OS顯然是不成功的,是用戶不敢使用的。同步機制應(yīng)遵循的準則是什么?答:有以下四條準則:空閑讓進、忙則等待、有限等待、讓權(quán)等待。進程通信有那三種基本類型?答:基于共享存儲器的通信、基于消息傳遞系統(tǒng)的通信和基于管理文件的通信。簡述解互斥問題的軟、硬件方法的異同。答:軟件方法是通過互斥地進入同類臨界區(qū)來解互斥問題的,而硬件方法是設(shè)計相應(yīng)的機器指令和機器指令執(zhí)行的不可中斷性來解互斥問題的。什么是原語?它與廣義指令有什么區(qū)別?答:原語是由若干條機器指令構(gòu)成的用以完成特定功能的一段程序,而這段程序在系統(tǒng)態(tài)下執(zhí)行,且在執(zhí)行期間是不可分割的。它與廣義指令的區(qū)別主要體現(xiàn)在兩個方面:(1)原語的執(zhí)行是不可分割的,而廣義指令所包含的程序段是允許被中斷的,不要求具有不可分割性。(2)廣義指令的功能可以在用戶態(tài)下實現(xiàn),而原語只能在系統(tǒng)態(tài)下執(zhí)行。對臨界區(qū)管理的要求是什么?答:對臨界區(qū)管理的要求是:(1)當有若干個進程要求進入它們的臨界區(qū)時,應(yīng)在有限的時間內(nèi)使一個進程進入臨界區(qū),進程之間不應(yīng)相互等待而使誰都不能進入臨界區(qū)。(2)每次只允許一個進程進入臨界區(qū)內(nèi)。(3)進程在臨界區(qū)內(nèi)逗留應(yīng)在有限的時間范圍內(nèi)。設(shè)有n個進程共享一個互斥段,對于如下兩種情況使用信號量,信號量的值的變化怎樣?(1)如果每次只允許一個進程進入互斥段。(2)如果每次最多允許m個進程(mvn)同時進入互斥段。答(1)信號量的初值為1。信號量的變化范圍是1,0,-1,…,-(n-1)o(2)信號量的初值為m。信號量的變化范圍是試述引起多道程序系統(tǒng)程序執(zhí)行不確定性的內(nèi)部原因?答:程序執(zhí)行不正確性,有兩個方面:(1)程序執(zhí)行結(jié)果不正確,即程序執(zhí)行結(jié)果不能再現(xiàn)。同一個程序,對給定相同的初始數(shù)據(jù),在相同的環(huán)境下運行,多次運行可能得到完全不同的結(jié)果。(2)多道程序環(huán)境下,程序按異步方式運行,每個程序在何時執(zhí)行,各個程序執(zhí)行的順序,以及每個程序所需要的時間都是不確定的,也是不可預(yù)知的。例如,有三個程序P1,P2,P3,這次運行共花了10min,完成的次序是P2,P1,P3,下次運行可能要花15min,完成的次序是P3,P1,P2,等等。這種表現(xiàn)在外部的不確定性是由OS內(nèi)部復(fù)雜的并發(fā)事件造成的。例如,隨即產(chǎn)生的中斷可改變一個進程的運行時間(因為中斷處理時間記在被中斷進程的賬上),而進程調(diào)度的不確定性導(dǎo)致程序完成先后次序的不確定性,沒有正確的同步和互斥導(dǎo)致執(zhí)行結(jié)果的不確定性,等等。如何理解原語的原子性,在單機環(huán)境下如何實現(xiàn)原語的原子性,實現(xiàn)時應(yīng)注意哪些問題?答:所謂原語操作是指一個操作中的所有動作,要么成功完成,要么全不做。也就是說,原語操作是一個不可分割的整體。為了保證原語操作的正確性,必須保證原語具有原子性。在單機環(huán)境下,操作的原子性一般是通過關(guān)中斷來實現(xiàn)的。由于中斷是計算機與外設(shè)通信的重要手段,關(guān)中斷會對系統(tǒng)產(chǎn)生很大的影響,所以在實現(xiàn)時一定要避免原語操作花費時間過長,絕對不允許原語中出現(xiàn)死循環(huán)。進程之間存在哪幾種相互制約關(guān)系?各是什么原因引起的?下列活動分別屬于哪種制約關(guān)系?(1)若干同學(xué)去圖書館借書。(2)兩隊舉行籃球比賽。(3)流水線生產(chǎn)的各道工序。(4)商品生產(chǎn)和消費。答:進程間存在著兩種相互制約的關(guān)系:直接制約關(guān)系(即同步問題)和間接制約關(guān)系(即互斥問題)。同步問題是存在邏輯關(guān)系的進程之間相互等待產(chǎn)生的制約關(guān)系,互斥問題是相互無邏輯關(guān)系的進程間競爭使用相同的資源所發(fā)生的制約關(guān)系。(1)屬于互斥關(guān)系,因為書的個數(shù)是有限的,一本書只能借給一個同學(xué)。(2)屬于互斥關(guān)系,籃球只有一個,兩隊都要爭奪。(3)屬于同步關(guān)系,各道工序的開始都依賴前道工序的完成。(4)屬于同步關(guān)系,商品沒生產(chǎn)出來,消費無法進行,商品未消費完,生產(chǎn)也無需進行。高級調(diào)度和低級調(diào)度的主要任務(wù)是什么?為什么引入中級調(diào)度?答(1)高級調(diào)度又稱為作業(yè)調(diào)度。它是批處理系統(tǒng)中使用的一種調(diào)度。其主要任務(wù)是按照某種算法從外存的后備隊列上選擇一個或多個作業(yè)調(diào)入內(nèi)存,并為其創(chuàng)建進程、分配必要的資源,然后再將所創(chuàng)建的進程控制塊插入就緒隊列中。(2)低級調(diào)度又稱進程調(diào)度。它是距離硬件最近的一級調(diào)度。其主要任務(wù)是按照某種算法從就緒隊列上選擇一個(或多個)進程,使其獲得CPU。(3)引入中級調(diào)度的目的是為了提高內(nèi)存利用率和系統(tǒng)吞吐量。其功能是,讓那些暫時不能運行的進程不再占用寶貴的內(nèi)存資源,而是調(diào)其到外存上等候。此時的進程狀態(tài)為掛起狀態(tài)。當這些進程重新具備運行條件且內(nèi)存空閑時,由中級調(diào)度選擇一部分掛起狀態(tài)的進程調(diào)入內(nèi)存并將其狀態(tài)變?yōu)榫途w狀態(tài)。在作業(yè)調(diào)度中需作出哪些決定?答(1)作業(yè)調(diào)度需要按照多道程序度(最大道數(shù))決定一次接納多少作業(yè)進入內(nèi)存。如果太少將導(dǎo)致系統(tǒng)資源利用率低,且系統(tǒng)吞吐量低;太多將導(dǎo)致內(nèi)存空間緊張,系統(tǒng)服務(wù)質(zhì)量下降,作業(yè)運行周期過長。(2)作業(yè)調(diào)度需要決定接納哪些作業(yè)進入內(nèi)存。常用的算法有:先來先服務(wù)、短作業(yè)優(yōu)先、最高優(yōu)先級調(diào)度、響應(yīng)比高者優(yōu)先等。在剝奪調(diào)度中,有哪些剝奪原則?答(1)時間片原則。在輪轉(zhuǎn)算法中,CPU輪流為諸多進程服務(wù),每個進程運行完自己的時間片后,系統(tǒng)就將CPU剝奪過來,交給下一個進程使用。(2)優(yōu)先級原則。為緊迫的作業(yè)賦予較高的優(yōu)先級,這種作業(yè)到達系統(tǒng)或由阻塞狀態(tài)被喚醒后,若其優(yōu)先級高于當前運行的進程的優(yōu)先級,可以剝奪當前運行進程的CPU。(3)短作業(yè)(進程)優(yōu)先原則。若一個作業(yè)(進程)到達系統(tǒng),其運行長度比當前運行的進程長度明顯的短,則剝奪當前運行的進程CPU。文件、文件系統(tǒng)的概念?答:文件是具有符號名的、在邏輯上具有完整意義的一組相關(guān)信息項的有序序列。文件系統(tǒng)就是操作系統(tǒng)中實現(xiàn)文件統(tǒng)一管理的一組軟件、被管理的的文件以及為實施文件管理所需的一些數(shù)據(jù)結(jié)構(gòu)的總稱。文件從不同角度(性質(zhì)和用途、信息的保存期限、保護方式、邏輯結(jié)構(gòu)、物理結(jié)構(gòu)、存取方式、內(nèi)容,特別是邏輯結(jié)構(gòu)和物理結(jié)構(gòu)),可以分哪幾類?答:可以將文件劃分為不同類別:1、按性質(zhì)和用途可分為:系統(tǒng)文件;庫文件;用戶文件;2、按信息的保存期限可分為:臨時文件;永久性文件;檔案文件;3、按文件的保護方式可分為:只讀文件;讀寫文件;可執(zhí)行文件;無保護文件;4、按文件的邏輯結(jié)構(gòu)可分為:流式文件;記錄式文件;5、按文件的物理結(jié)構(gòu)可分為:順序文件;鏈接文件;索引文件;Hash文件;索引順序文件6、按文件的存取方式可分為:順序存取文件;隨機存取文件;7、按文件內(nèi)容可分為:普通文件;目錄文件;特殊文件文件系統(tǒng)的功能和優(yōu)點?答:文件系統(tǒng)的功能:1、統(tǒng)一管理文件存儲空間(即外存),實施存儲空間的分配與回收;2、確定文件信息的存放位置及存放形式;3、實現(xiàn)文件從名字空間到外存地址空間的映射,即實現(xiàn)文件的按名存?。?、有效實現(xiàn)對文件的各種控制操作(如建立、撤消、打開、關(guān)閉文件等)和存取操作(如讀、寫、修改、復(fù)制、轉(zhuǎn)儲等);5、實現(xiàn)文件信息的共享,并且提供可*的文件保密和保護措施。文件系統(tǒng)的優(yōu)點:1、按名存取文件,以對用戶透明的方式實現(xiàn)對名字空間的管理和信息浮動,使用方便靈活;2、采取保護、保密措施,安全可靠;3、實現(xiàn)文件共享,節(jié)省空間和時間開銷。具體闡述常用的幾種文件物理結(jié)構(gòu)及其優(yōu)缺點。答:常見的文件物理結(jié)構(gòu)有以下幾種:1、順序結(jié)構(gòu)又稱連續(xù)結(jié)構(gòu)。這是一種最簡單的物理結(jié)構(gòu),它把邏輯上連續(xù)的文件信息依次存放在連續(xù)編號的物理塊中。只要知道文件在存儲設(shè)備上的起始地址(首塊號)和文件長度(總塊數(shù)),就能很快地進行存取。這種結(jié)構(gòu)的優(yōu)點是訪問速度快,缺點是文件長度增加困難。2、鏈接結(jié)構(gòu)這種結(jié)構(gòu)將邏輯上連續(xù)的文件分散存放在若干不連續(xù)的物理塊中,每個物理塊設(shè)有一個指針,指向其后續(xù)的物理塊。只要指明文件第一個塊號,就可以按鏈指針檢索整個文件。這種結(jié)構(gòu)的優(yōu)點是文件長度容易動態(tài)變化,其缺點是不適合隨機訪問。3、索引結(jié)構(gòu)采用這種結(jié)構(gòu),邏輯上連續(xù)的文件存放在若干不連續(xù)的物理塊中,系統(tǒng)為每個文件建立一張索引表,索引表記錄了文件信息所在的邏輯塊號和與之對應(yīng)的物理塊號。索引表也以文件的形式存放在磁盤上。給出索引表的地址,就可以查找與文件邏輯塊號對應(yīng)的物理塊號。如果索引表過大,可以采用多級索引結(jié)構(gòu)。這種結(jié)構(gòu)的優(yōu)點是訪問速度快,文件長度可以動態(tài)變化。缺點是存儲開銷大,因為每個文件有一個索引表,而索引表亦由物理塊存儲,故需要額外的外存空間。另外,當文件被打開時,索引表需要讀入內(nèi)存,否則訪問速度會降低一半,故又需要占用額外的內(nèi)存空間。4、Hash結(jié)構(gòu)又稱雜湊結(jié)構(gòu)或散列結(jié)構(gòu)。這種結(jié)構(gòu)只適用于定長記錄文件和按記錄隨機查找的訪問方式。Hash結(jié)構(gòu)的思想是通過計算來確定一個記錄在存儲設(shè)備上的存儲位置,依次先后存入的兩個記錄在物理設(shè)備上不一定相鄰。按Hash結(jié)構(gòu)組織文件的兩個關(guān)鍵問題是:定義一個雜湊函數(shù);解決沖突;5、索引順序結(jié)構(gòu)索引表每一項在磁盤上按順序連續(xù)存放在物理塊中。什么是文件目錄、目錄文件與當前目錄?答:文件控制塊的有序集合構(gòu)成文件目錄,每個目錄項即是一個文件控制塊。為了實現(xiàn)文件目錄的管理,通常將文件目錄以文件的形式保存在外存空間,這個文件就被稱為目錄文件。目錄文件是長度固定的記錄式文件。系統(tǒng)為用戶提供一個目前正在使用的工作目錄,稱為當前目錄。文件目錄結(jié)構(gòu)有哪幾種,各有什么優(yōu)缺點?答:文件目錄結(jié)構(gòu)一般有一級目錄結(jié)構(gòu)、二級目錄結(jié)構(gòu)和多級目錄結(jié)構(gòu)。一級目錄結(jié)構(gòu)的優(yōu)點是簡單,缺點是文件不能重名,限制了用戶對文件的命名。二級目錄結(jié)構(gòu)實現(xiàn)了文件從名字空間到外存地址空間的映射:用戶名,文件名立文件內(nèi)容。其優(yōu)點是有利于文件的管理、共享和保護;適用于多用戶系統(tǒng);不同的用戶可以命名相同文件名的文件,不會產(chǎn)生混淆,解決了命名沖突問題。缺點是不能對文件分類;當用文件較多時查找速度慢。多級目錄結(jié)構(gòu)的優(yōu)點是便于文件分類,可為每類文件建立一個子目錄;查找速度快,因為每個目錄下的文件數(shù)目較少;可以實現(xiàn)文件共享;缺點是比較復(fù)雜。為了提高檢索速度,對文件目錄應(yīng)做怎樣的改進?答:可以利用目錄項分解法解決這一問題,即把目錄項(文件控制塊)分為兩部分:名號目錄項,包含文件名以及相應(yīng)的文件內(nèi)部號;基本目錄項,包含了除文件名外文件控制塊的其他全部信息。目錄文件也分為名號目錄文件和基本目錄文件。查找一個目錄項就分成兩步:首先訪問名號目錄文件,根據(jù)文件名查找相應(yīng)的文件內(nèi)部號;然后訪問基本目錄文件,根據(jù)文件內(nèi)部號,可直接計算出相應(yīng)基本目錄項所在基本目錄文件中的相對位置和物理位置,并將它直接讀入內(nèi)存。目錄項分解法的優(yōu)點是提高了文件目錄檢索的速度。為實現(xiàn)設(shè)備的有效管理,應(yīng)采用怎樣的數(shù)據(jù)結(jié)構(gòu)?答:為實現(xiàn)設(shè)備、控制器、通道資源的分配與回收,系統(tǒng)需要記錄有關(guān)的信息。通常設(shè)備管理要建立以下數(shù)據(jù)結(jié)構(gòu),以實施有效的管理。1、設(shè)備控制塊2、控制器控制塊3、通道控制塊4、系統(tǒng)設(shè)備表什么是設(shè)備的獨立性?根據(jù)設(shè)備的類型,設(shè)備的分配策略有哪些?(獨占設(shè)備、共享設(shè)備、虛擬設(shè)備與SPOOLing系統(tǒng))。以磁盤為例,有哪些優(yōu)化調(diào)度算法?應(yīng)考慮哪些因素?答:進程申請設(shè)備時,應(yīng)當指定所需設(shè)備的類別,而不是指定某一臺具體的設(shè)備,系統(tǒng)根據(jù)當前請求以及設(shè)備分配情況在相應(yīng)類別的設(shè)備中選擇一個空閑設(shè)備并將其分配給申請進程,這稱作設(shè)備的獨立性。磁盤調(diào)度一般可采用以下幾種算法:1、先來先服務(wù)磁盤調(diào)度算法(FCFS)2、最短尋道時間優(yōu)先磁盤調(diào)度算法(SSTF)3、掃描算法(SCAN)設(shè)計磁盤調(diào)試算法應(yīng)考慮兩個基本因素:1公平性2、高效性設(shè)備分配的任務(wù)是什么?設(shè)備分配應(yīng)堅持的原則是什么?答:設(shè)備分配的任務(wù)是按照一定的策略為申請設(shè)備的進程分配合適的設(shè)備、控制器和通道。設(shè)備的獨立性:不能因物理設(shè)備的更換而影響用戶程序的正常運行;系統(tǒng)的安全性:設(shè)備分配不能導(dǎo)致死鎖現(xiàn)象發(fā)生。簡述通道控制的設(shè)備采用何種連接方式?其優(yōu)點是什么?答:一般設(shè)備的連續(xù)采用交*連接,其好處是:1、提高系統(tǒng)的可*性:當某條通路因控制器或通道故障而斷開時,可使用其他通路。2、提高設(shè)備的并行性:對于同一個設(shè)備,當與它相連的某一條通路中的控制器或通道被占用時,可以選擇另一條空閑通路,減少了設(shè)備因等待通路所需要花費的時間。簡述通道及通道控制結(jié)構(gòu)。答:通道是一個用來控制外部設(shè)備工作的硬件機構(gòu),相當于一個功能簡單的處理機。在一般大型計算機系統(tǒng)中,主機對外部設(shè)備的控制可以分成三個層次來實現(xiàn),即通道、控制器和設(shè)備。一旦CPU發(fā)出啟動通道的指令,通道就可以獨立于CPU工作。通道控制控制器工作,控制器用來控制設(shè)備的電路部分。這樣,一個通道可以連接多個控制器,而一個控制器又可以連接若干臺同類型的外部設(shè)備。最終,設(shè)備在控制器控制下執(zhí)行操作。外部設(shè)備的輸入、輸出方式有哪些?答:主要有以下四種:1、循環(huán)測試I/O方式;2、中斷處理方式;3、直接內(nèi)存存?。―MA)方式;4、通道方式設(shè)備管理的目標和功能是什么?答:設(shè)備管理的目標:1、向用戶提供外部設(shè)備的方便、統(tǒng)一的接口,按照用戶的要求和設(shè)備的類型,控制設(shè)備工作,完成用戶的輸入輸入請求。2、充分利用中斷技術(shù)、通道技術(shù)和緩沖技術(shù),提高CPU與設(shè)備、設(shè)備與設(shè)備之間的并行工作能力,以充分利用設(shè)備資源,提高外部設(shè)備的使用效率。3、設(shè)備管理就是要保證在多道程序環(huán)境下,當多個進程競爭使用設(shè)備時,按照一定的策略分配和管理設(shè)備,以使系統(tǒng)能有條不紊地工作。設(shè)備管理的功能:1、設(shè)備分配和回收;2、管理輸入輸入緩沖區(qū);3、設(shè)備驅(qū)動,實現(xiàn)物理I/O操作;4、外部設(shè)備中斷處理;5、虛擬設(shè)備及其實現(xiàn)。設(shè)備可以按照何種方式分類,每種分類方式又包括哪些?答:1、按設(shè)備的工作特性分類(1)存儲設(shè)備;(2)輸入輸出設(shè)備2、按設(shè)備上數(shù)據(jù)組織方式分類1)塊設(shè)備;(2)字符設(shè)備3、按資源分配的角度分類(1)獨占設(shè)備;(2)共享設(shè)備;(3)虛擬設(shè)備什么是操作系統(tǒng)管理的設(shè)備管理?答:設(shè)備管理是指計算機系統(tǒng)中除了CPU和內(nèi)存以外的所有輸入、輸出設(shè)備的管理。在虛存中,頁面在內(nèi)存與外存中頻繁地調(diào)試,系統(tǒng)效率急劇下降,稱為顛簸。試說明產(chǎn)生顛簸的原因。通過什么方式可以防止顛簸的發(fā)生?答:顛簸是由缺頁率高而引起的。系統(tǒng)規(guī)定缺頁率的上界和下界。當運行進程缺頁率高于上界時,表明所分給它的物理頁面數(shù)過少,應(yīng)當增加;反之,當運行進行缺頁率低于下界時,表明所分給它的物理頁面數(shù)過多,可以減少。這樣,根據(jù)缺頁率反饋可動態(tài)調(diào)整物理頁面的分配,以防止顛簸的發(fā)生。以虛擬頁式存儲管理為例介紹虛擬存儲管理的實現(xiàn)過程。答:虛擬頁式存儲管理的基本思想是,在進程開始執(zhí)行之前,不是裝全部頁面,而是只裝一個(甚至0個)頁面,然后根據(jù)進程執(zhí)行的需要,動態(tài)地裝入其它頁面。1、頁表2、缺頁中斷處理3、頁面淘汰。虛擬存儲技術(shù)的理論基礎(chǔ)(局部性原理)是什么?答:程序局部性原理:虛擬存儲管理的效率與程序局部性程序有很大關(guān)系。根據(jù)統(tǒng)計,進程運行時,在一段時間內(nèi),其程序的執(zhí)行往往呈現(xiàn)出高度的局限性,包括時間局部性和空間局部性。1、時間局部性:是指若一條指令被執(zhí)行,則在不久,它可能再被執(zhí)行。2、空間局部性:是指一旦一個存儲單元被訪問,那它附近的單元也將很快被訪問。試述段頁式存儲管理的基本思想。答:段頁式存儲管理的基本思想是:1、用頁式方法來分配和管理內(nèi)存空間,即把內(nèi)存劃分成若干大小相等的頁面;2、用段式方法對用戶程序按照其內(nèi)在的邏輯關(guān)系劃分成若干段;3、再按照劃分內(nèi)存頁面的大小,把每一段劃分成若干大小相等的頁面;4、用戶程序的邏輯地址由三部分組成,形式如下:段號頁號頁內(nèi)地址5、內(nèi)存是以頁為基本單位分配給每個用戶程序的,在邏輯上相鄰的頁面內(nèi)存不一定相鄰。為了提高存取速度,可以使用快表技術(shù)。試述這一技術(shù)是如何實現(xiàn)的?答:快表技術(shù)是在地址映射機構(gòu)中增加一個小容量的聯(lián)想寄存器(相聯(lián)存儲器),它由高速寄存器組成,成為一張快表,快表用來存放當前訪問最頻繁的少數(shù)活動頁的頁號。在快表中,除了邏輯頁號、物理頁號對應(yīng)外,還增加了幾位。特征位表示該行是否為空,用0表示空,用1表示有內(nèi)容;訪問位表示該頁是否被訪問過,用0表示未訪問,1表示已訪問,這是為了淘汰那些用得很少甚至不用的頁面而設(shè)置的??毂碇淮娣女斍斑M程最活躍的少數(shù)幾頁,隨著進程的推進,快表內(nèi)容動態(tài)更新。當用戶程序需要存取數(shù)據(jù)時,根據(jù)該數(shù)據(jù)所在邏輯頁號在快表中找出對應(yīng)的物理頁號,然后拼接頁內(nèi)地址,以形成物理地址;如果在快表中沒有相應(yīng)的邏輯頁號,則地址映射仍然通過內(nèi)存中的頁表進行,得到物理頁號后須將該物理頁號填到快表的空閑單元中。有無空閑單元,則根據(jù)淘汰算法淘汰某一行,再填入新得到的頁號。實際上查找快表和查找內(nèi)存頁表是并行進行的,一旦發(fā)現(xiàn)快表中有與所查頁號一致的邏輯頁號就停止查找內(nèi)存頁表。試述頁式存儲管理的基本原理。答:①內(nèi)存劃分。②邏輯地址空間劃分。③頁面大小。④內(nèi)存分配。什么是固定分區(qū)?什么是可變分區(qū)?各有什么優(yōu)缺點?答:固定分區(qū):系統(tǒng)將內(nèi)存劃分為若干固定的分區(qū),當作業(yè)申請內(nèi)存時,系統(tǒng)為其選擇一個適當?shù)姆謪^(qū),并裝入內(nèi)存運行。由于分區(qū)大小是事先固定的,因而可容納作業(yè)的大小受到限制,而且當用戶作業(yè)的地址空間小于分區(qū)的存儲空間時,浪費了一些存儲空間??勺兎謪^(qū):是指在作業(yè)裝入內(nèi)存時建立分區(qū),使分區(qū)的大小正好與作業(yè)要求的存儲空間相等。引入可變分區(qū)方法,使內(nèi)存分配有較大的靈活性,也提高了內(nèi)存利用率。什么叫碎片?(零散的小空閑區(qū))怎樣解決碎片問題?(緊湊技術(shù))。答:所謂碎片是指內(nèi)存中出現(xiàn)的一些零散的小空閑區(qū)域。解決碎片的方法是移動所有占用區(qū)域,使所有的空閑區(qū)合并成一片連續(xù)區(qū)域。這一過程稱為緊湊,這一技術(shù)就是緊湊技術(shù)。怎樣對內(nèi)存進行分區(qū)?(靜態(tài)、動態(tài);等長、不等長)答:對內(nèi)存空間的劃分是可以靜態(tài)的,也可以動態(tài)的;可以是等長的,也可以不等長。靜態(tài)劃分是指系統(tǒng)運行之前就將內(nèi)存空間劃分成若干區(qū)域,通常,分配給進程的內(nèi)存可能比進程實際所需的區(qū)域長。動態(tài)劃分是在系統(tǒng)運行過程中才劃分內(nèi)存空間。這樣,系統(tǒng)可按進程所需要的存儲空間大小為其分配恰好滿足要求的一個或多個區(qū)域。等長分區(qū)是將存儲空間劃分為若干個長度相同的區(qū)域。不等長分區(qū)則是將存儲空間劃分若干個長度不同的區(qū)域。什么叫物理地址?什么叫邏輯地址?什么叫地址映射?地址映射分哪幾類?(靜態(tài)、動態(tài))答:物理地址是內(nèi)存中各存儲單元的編號,即存儲單元的真實地址,它是可識別、可尋址并實際存在的。用戶程序經(jīng)過編譯或匯編形成的目標代碼,通常采用相對地址形式,其首地址為零,其余指令中的地址都是相對首地址而定。這個相對地址就稱為邏輯地址或虛擬地址。邏輯地址不是內(nèi)存中的物理地址,不能根據(jù)邏輯地址到內(nèi)存中存取信息。為了保證CPU執(zhí)行程序指令時能正確訪問存儲單元,需要將用戶程序中的邏輯地址轉(zhuǎn)運行時可由機器直接尋址的物理地址,這一過程稱為地址映射或地址重定位。地址映射可分為兩類:1、靜態(tài)地址映射2、動態(tài)地址映射虛存儲器的含義是什么?(兩層含義)答:虛存儲器有兩層含義,一是指用戶程序的邏輯地址構(gòu)成的地址空間;二是指當內(nèi)存容量不滿足用戶要求時,采用一種將內(nèi)存空間與外存空間有機地結(jié)合在一起,利用內(nèi)外存自動調(diào)度的方法構(gòu)成一個大的存儲器,從而給用戶程序提供更大的訪問空間。如何實現(xiàn)存儲保護?答:在多道程序系統(tǒng)中,內(nèi)存中既有操作系統(tǒng),又有許多用戶程序。為使系統(tǒng)正常運行,避免內(nèi)存中各程序相互干擾,必須對內(nèi)存中的程序和數(shù)據(jù)進行保護。1、防止地址越界對進程所產(chǎn)生的地址必須加以檢查,發(fā)生越界時產(chǎn)生中斷,由操作系統(tǒng)進行相應(yīng)處理。2、防止操作越權(quán)對屬于自己區(qū)域的信息,可讀可寫;對公共區(qū)域中允許共享的信息或獲得授權(quán)可使用的信息,可讀而不可修改;對未獲授權(quán)使用的信息,不可讀、不可寫。存儲保護一般以硬件保護機制為主,軟件為輔,因為完全用軟件實現(xiàn)系統(tǒng)開銷太大,速度成倍降低。當發(fā)生越界或非法操作時,硬件產(chǎn)生中斷,進入操作系統(tǒng)處理作業(yè)調(diào)度算法是按照什么樣的原則來選取作業(yè)并投入運行,調(diào)試算法的合理性直接影響系統(tǒng)的效率,作業(yè)調(diào)度算法有哪些?對算法的選擇要考慮哪些問題?答:作業(yè)調(diào)度算法:1、先來先服務(wù)算法;2、短作業(yè)優(yōu)先算法;3、最高響應(yīng)比作業(yè)優(yōu)先算法;4、資源搭配算法;5、多隊列循環(huán)算法對算法的選擇要考慮三個目標:1、盡量提高系統(tǒng)的作業(yè)吞吐量,即每天處理盡可能多的作業(yè);2、盡量使CPU和外部設(shè)備保持忙碌狀態(tài),以提高資源利用率;3、對各種作業(yè)公平合理,使用有用戶都滿意。以批處理方式下作業(yè)的管理為例,說明作業(yè)調(diào)度的主要任務(wù)、目標、計價作業(yè)調(diào)度算法優(yōu)劣的性能指標、主要作業(yè)調(diào)度算法及作業(yè)調(diào)度的時機是什么?答:作業(yè)調(diào)度的主要任務(wù)是:按照某種調(diào)試算法,從后備作業(yè)中挑選一批合理搭配的作業(yè)進入運行狀態(tài);同時,為選中的作業(yè)分配內(nèi)存和外部設(shè)備資源,為其建立相關(guān)的進程;當作業(yè)執(zhí)行結(jié)束進入完成狀態(tài)時,做好釋放資源等善后工作。作業(yè)調(diào)度的目標:1、響應(yīng)時間快;2、周轉(zhuǎn)時間或加權(quán)周轉(zhuǎn)時間短;3、均衡的資源利用率;4、吞吐量大;5、系統(tǒng)反應(yīng)時間短。評價作業(yè)調(diào)度算法優(yōu)劣的性能指標:1、作業(yè)平均周轉(zhuǎn)時間;2、作業(yè)平均帶權(quán)周轉(zhuǎn)時間主要作業(yè)調(diào)度算法有:1、先來先服務(wù)法;2、短作業(yè)優(yōu)先算法;3、最高響應(yīng)比優(yōu)先算法;4、資源搭配算法;5、多隊列循環(huán)算法。作業(yè)調(diào)試時機:一般當輸入井中有一道作業(yè)建立,或內(nèi)存中的一道作業(yè)運行結(jié)束時,系統(tǒng)啟動作業(yè)調(diào)試工作。算法題在信號量機制中,若P(S)操作是可中斷的,則會有什么問題?答:P(S)的操作如下:BeginS.Value:=S.Value-1;①IfS.Value<0Then②Beginlnsert(*,S.L);Block(*)③EndEnd.若P(S)可中斷的,例如進程A在執(zhí)行了語句①之后從CPU上退下了,假定此時S.Value=O;這時換另一進程B,B又將S.Value的值減1使之為一1,在執(zhí)行語句③時,B被阻塞;然后又換回A執(zhí)行,由于A的"斷點"是語句①之后,當它執(zhí)行語句②時,由于這時S.Value已經(jīng)是一1,故進程繼續(xù)執(zhí)行而被阻塞。這就出現(xiàn)了錯誤:本來A操作P(S)操作后,S.Value=O,是不應(yīng)該被阻塞的,現(xiàn)在卻被阻塞了。何謂臨界區(qū)?下面給出的兩個進程互斥的算法是安全的嗎?為什么?definetrue;definefalse;Intflag[2];flag[1]=flag[2]=false;enter-crtsec(i)inti;(While(flag[1-i])flag[i]=true;)feave-crtsec(i)Inti;(flag[i]=false;}processI;Enter-crtsec(i);Incriticalsection;Leave-crtsec(i);答:一次僅允許一個進程使用的資源稱為臨界資源,在進程中對臨界資源訪問的程序段稱為臨界區(qū)。從概念上講,系統(tǒng)中各進程在邏輯上是獨立的,它們可以按各自的速度向前推進。但由于它們共享某些臨界資源,因而產(chǎn)生了臨界區(qū)問題。對于具有臨界區(qū)問題的并發(fā)進程,它們之間必須互斥,以保證不會同時進入臨界區(qū)。這種算法不是安全的。因為,在進入臨界區(qū)的enter-crtsec()不是一個原語操作,如果兩個進程同時執(zhí)行完其循環(huán)(此前兩個flag均為false),則這兩個進程可同時進入臨界區(qū)。當進程X和進程丫共享某個資源r,進程并發(fā)執(zhí)行時的程序如下:BeginS:semaphore:=1;CobeginProcessXBeginL1:P(S);使用資源r;V(S);GotoL1;End;ProcessYBeginL2:P(S);使用資源r;V(S);GotoL2;End;Coend;End;請回答:(1)兩個進程并發(fā)執(zhí)行時,能否保證互斥地使用資源?為什么?(2)若要使用兩個進程交替使用資源,仍使用P、V操作來進行管理,寫出應(yīng)定義的信號量及其初值。(3)修改上述程序,使兩個進程能交替使用資源r。答:當進程X和進程Y共享某個資源r,(1)能保證互斥使用資源。因為在兩個進程中,"使用資源r”都是作為臨界區(qū),由于P(S)和V(S)操作保證了互斥執(zhí)行,S的初值定義為1,符合要求。(2)要使兩個進程交替使用資源,僅僅保證互斥使用是不夠的,必須要兩個進程互相等待互相通知。為此,必須定義新的信號量。定義兩個私有信號量S1和S2。假定進程X先使用資源,那么進程X的私有信號量S1的初值定義為1,進程丫的私有信號量S2的初值定義為0。輪流使用可以保證互斥,因此信號量S可以不要。(3)兩個進程可以改寫為:BeginS1:semaphore:=1;S2:semaphore:=1;CobeginProcessXBeginL1:P(S1);使用資源r;V(S2);GotoL1;End;ProcessY某車站售票廳,任何時刻最多可容納20名購票者進入,當售票少于20名購票者時,則廳外的購票者可立即進入,否則需在外面等待。若把一個購票者看作個進程,請回答下列問題:(1)用P、V操作管理這些并發(fā)進程時,應(yīng)怎樣定義信號量?寫出信號量的初值以及信號量各種取值的含義。(2)根據(jù)所定義的信號量,把應(yīng)執(zhí)行的P、V操作填入下述程序中,以保證進程能夠正確地并發(fā)執(zhí)行。CobeginPROCESSPi(i=1,2,?.)Begin進入售票廳;購票;退出;End;Coend(3)若欲購票者最多為n個人,寫出信號量可能的變化范圍(最大值和最小值)。答:售票廳問題解答如下:(1)定義一信號量S,初始值為20。S>0S的值表示可繼續(xù)進入售票廳的人數(shù):S=0表示售票廳中已有20名購票者;S<0|S|的值為等待進入售票廳中的人數(shù)。(2)上框為P(S),下框為V(S)。(3)S的最大值為20,S的最小值為20-N,N為某一時刻需要進入售票廳的最多人數(shù)。已經(jīng)系統(tǒng)中有四個緩沖池M0,M1,M2,M3。其容量分別為3、2、3、2,現(xiàn)各緩沖區(qū)分別存在0、1、0、2個數(shù)據(jù)?,F(xiàn)同時有四個進程P0、P1、P2、P3分別在各緩沖區(qū)間不斷地移動數(shù)據(jù)(見圖3.5)。例如,P0進程從M0向M1移動數(shù)據(jù)。試用信號量及其P、V(或signal,wait)操作及類Pasic/C語言描述各進程之間的同步關(guān)系,并給出各信號量的含義和初值。答:緩沖池各問題解答如下:(1)互斥信號量和初值M(0)=1,M(1)=1,M(2)=1,M(3)=1,(2)同步信號量Full(i)表示buffer(i)是否有數(shù)據(jù);初值為full(O)=O,full⑴=1,full(2)=0,full(3)=2;Empty(i)表示buffer(i)是否有空間;初值為empty(0)=3,empty(1)=1,empty(2)=3,empty(3)=0(3)進程i的程序ProcessProc(i){P(full(i));p(empty(i+1)mod5);P(m(i));move;v(m(i));v(m(full(i+1)mod5));v(empty(i));)設(shè)有兩個優(yōu)先級相同的進程P1和P2如下,信號量S1和S2的初值均為0。試問P1、P2并發(fā)執(zhí)行結(jié)束后,x=?,y=?,z=?〈進程P1>Y:=1;Y:=y+2;V(S1);Z:=y+1;P(S2);Y:=z+y;〈進程P2>X:=1;X:=x+1;P(S1);X:=x+y;V(S2);Z:=x+z;答:因為P1和P2是兩個并發(fā)進程,所以進程調(diào)度程序調(diào)度P1和P2的順序是不確定的。這里不妨假設(shè)P1先執(zhí)行。進程P1執(zhí)行到語句P(S2)時,S2=-1,進程P1阻塞。此時y=3,z=4。當進程調(diào)度程序調(diào)度到進程P2時,由于進程P1已執(zhí)行了V(S1),進程P2在執(zhí)行P(S1)時并未阻塞而繼續(xù)執(zhí)行,當執(zhí)行到V(S2)時,將P1喚醒,然后執(zhí)行最后?個語句z:=x+z,如寸x=5,z=9。當懈P1再次被調(diào)度時,繼續(xù)執(zhí)行P1的最后一個語句,此時y=12,最終結(jié)果是:x=5,y=12,z=91>如果當P2進程執(zhí)行到V(S2)時,將P1喚醒,然后P2進程被中斷,此時x=5,y=3,z=4。P1進程開始執(zhí)行然后執(zhí)行最后一個語句y:=z+y,此時x=5,y=3,z=7。然后P2進程被調(diào)度,執(zhí)行z:=x+z,此時x=5,y=3,z=12?如果P2先執(zhí)行,則執(zhí)行結(jié)果與上面相同。在批處理系統(tǒng)、分時系統(tǒng)和實時系統(tǒng)中,各采用哪幾個進程(作業(yè))調(diào)度算法?答(1)批處理系統(tǒng)中的作業(yè)調(diào)度算法有:先來先服務(wù)算法(FCFS)、短作業(yè)優(yōu)先算法(SJF)、優(yōu)先級調(diào)度算法(HPF)和高響應(yīng)比優(yōu)先算法(RF)。批處理系統(tǒng)的進程調(diào)度算法有:先進先出算法(FIFO),短進程優(yōu)先算法(SPF)、優(yōu)先級調(diào)度算法(HPF)和高響應(yīng)比優(yōu)先算法(RF)。(2)分時系統(tǒng)中只設(shè)有進程調(diào)度(不設(shè)作業(yè)調(diào)度),其進程調(diào)度算法只有輪轉(zhuǎn)法(RR)一種。(3)實時系統(tǒng)中只設(shè)有進程(不設(shè)作業(yè)調(diào)度),其進程調(diào)度算法調(diào)度有:輪轉(zhuǎn)法、優(yōu)先級調(diào)度算法。前者適用于時間要求不嚴格的實時系統(tǒng);后者用于時間要求嚴格的實時系統(tǒng)。后者又可細分為:非搶占式優(yōu)先級調(diào)度、搶占式優(yōu)先級調(diào)度、基于時鐘中斷的搶占式優(yōu)先級調(diào)度。假設(shè)系統(tǒng)中有5個進程,它們的到達時間和服務(wù)時間見下表1,忽略I/O以及其他開銷時間,若按先來先服務(wù)(FCFS)、非搶占的短作業(yè)優(yōu)先和搶占的短作業(yè)優(yōu)先三種調(diào)度算法進行CPU調(diào)度,請給出各個進程的完成時間、周轉(zhuǎn)時間、帶權(quán)周轉(zhuǎn)時間、平均周轉(zhuǎn)時間和平均帶權(quán)周轉(zhuǎn)時間,完成表2。表1進程到達和需要服務(wù)時間進程到達時間服務(wù)時間B26C44D65E82表2進程的完成時間和周轉(zhuǎn)時間進程ABCDE平均FCFS完成時間周轉(zhuǎn)時間帶權(quán)周轉(zhuǎn)時間SPF(非搶占)完成時間周轉(zhuǎn)時間帶權(quán)周轉(zhuǎn)時間SPF(搶占)完成時間周轉(zhuǎn)時間帶權(quán)周轉(zhuǎn)時間答:表2進程的完成時間和周轉(zhuǎn)時間進程ABCDE平均FCFS完成時間39131820周轉(zhuǎn)時間37912128.6帶權(quán)周轉(zhuǎn)時間1Q01.172.252.406.002.56SPF(非搶占)完成時間39152011周轉(zhuǎn)時間37111437.6帶權(quán)周轉(zhuǎn)時間1.001.171.752.801.501.84SPF(搶占)完成時間31582010周轉(zhuǎn)時間31341427.2帶權(quán)周轉(zhuǎn)時間1.002.161.002.801.001.59一個邏輯空間最多可有64個頁,每頁1KB字節(jié)。若把它映射到由32個物理塊組成的存儲器。間(1)有效的邏輯地址由多少位?(2)有效的物理地址由多少位?答:一個邏輯空間有64個頁,每頁1KB字節(jié)。若把它映射到由32個物理塊組成的存儲囂。64=26,則(1)邏輯地址有16位(2)物理地址有15位。在某分頁系統(tǒng)中,測得CPU和磁盤的利用率如下,試指出每種情況下的問題和措施。CPU的利用率為15%,磁盤利用率為95%。CPU的利用率為88%,磁盤利用率為3%。CPU的利用率為13%,磁盤利用率為5%。答:在某分頁虛存系統(tǒng)中,在題中的CPU和磁盤的利用率的情況下,出現(xiàn)的問題和應(yīng)采取的措施如F:(1)可能已出現(xiàn)了抖動現(xiàn)象,應(yīng)減少系統(tǒng)的進程數(shù)。(2)系統(tǒng)比較正常,可考慮適當增加進程數(shù)以提高資源利用率。(3)CPU和磁盤的利用率都較低,必須增加并發(fā)進程數(shù)。對訪問串:1,2,3,4,1,2,5,1,2,3,4,5,指出在駐留集大小分別為3,4時,使用FIFO和LRU替換算法的缺頁次數(shù)。結(jié)果說明了什么?答:首先采用FIFO,當m=3時,缺頁次數(shù)=9,當m=4時,缺頁次數(shù)=10。采用LRU算法,當m=3時,缺頁次數(shù)=10:當m=4時,缺頁次數(shù)=8。結(jié)果說明:FIFO有Belady奇異現(xiàn)象,即不滿足駐留集增大,缺頁次數(shù)一定減小的規(guī)律;另外在m=3時,LRU的缺頁次數(shù)比FIFO要多,所以LRU算法并不總優(yōu)于FIFO,還要看當前訪問串的特點。一個分頁存儲器的頁表存放在內(nèi)存。(1)若內(nèi)存的存取周期為0.6ms,則CPU從內(nèi)存取一條指令(或一個操作數(shù))需多少時間?(2)若使用快表且快表的命中率為75%,則內(nèi)存的平均存取周期為多少?答:一個分頁存儲器的頁表存放在內(nèi)存(1)因為頁表放在內(nèi)存,故取一條指令(或一個操作數(shù))須訪問兩次內(nèi)存,所以需0.6msx2=1.2ms的時間。(2)這里家假設(shè)訪問快表的時間忽略不計,命中快表時,取數(shù)只要一次訪問,故此時的平均存取周期為0.6msx0.75+1.2msx(1-0.75)=0.75ms在一個請求分頁系統(tǒng)中,采用LRU頁面置換算法時,假如一個作業(yè)的頁面走向為4、3、2、1、4、3、5、4、3、2、1、5,當分配給該作業(yè)的物理內(nèi)存塊數(shù)M分別為3和4時,分別計算在訪問過程中所發(fā)生的缺頁次數(shù)和缺頁率,并畫出頁面置換圖。解:訪問過程中缺頁情況(M=3)頁面走向432143543215最近最長時間未使用的頁面433243543243214354321最近剛使用過的頁面432143543215缺頁當M=3時,缺頁次數(shù)為10次,缺頁率為10/12=0.83=83%。訪問過程中缺頁情況(M=4)頁面走向432143543215最近最長時間未使用的頁面432111543432143543243214354321最近剛使用過的頁面432143543215缺頁W?W當M=4時,缺頁次數(shù)為8次,缺頁率為8/12=0.66=66%。可見,增加分配給作業(yè)的內(nèi)存塊數(shù)可以減少缺頁次數(shù),從而降低缺頁率。對于一個使用快表的頁式虛存,設(shè)快表的命中率為70%,內(nèi)存的存取周期為1ns;缺頁處理時,若內(nèi)存有可用空間或被置換的頁面在內(nèi)存未被修改過,則處理一個缺頁中斷需8000ns,否則需20000ns。假定被置換的頁面60%是屬于后一種情況,為了保證有效存取時間不超過2ns,問可接受的最大缺頁率是多少?答:設(shè)可接受的最大缺頁率位P,則有1nsx0.7+2nsx(1-0.7-p)+0.4px8000ns+0.6px20000ns=2ns即0.7+0.6-2p+3200p+12000p=215198p=0.7P=0.000046在分頁存儲管理系統(tǒng)中,存取一次內(nèi)存的時間是8ns,查詢一次快表的時間是1ns,缺頁中斷的時間是20ns。假設(shè)頁表的查詢與快表的查詢同時進行,當查詢頁表時,如果該頁在內(nèi)存但快表中沒有頁表項,系統(tǒng)將自動把該頁頁表項送入快表。一個作業(yè)最多可保留3個頁面在內(nèi)存。現(xiàn)在開始執(zhí)行一作業(yè),系統(tǒng)連續(xù)對作業(yè)的2,4,5,2,7,6,4,8頁面的數(shù)據(jù)進行一次存取,如分別采用FIFO算法和最優(yōu)頁面置換算法,求每種上存取這些數(shù)據(jù)需要的總時間。答(1)FIFO第2頁面:20+8x3第4頁面:20+8x3第5頁面:20+8x3第2頁面:8+1第7頁面:20+8x3第6頁面:20+8x3第4頁面:20+8x3第8頁面:20+8x3因此總的時間是(20+8x3)x7+(8+1)ns(2)OPT第2頁面:20+8x3第4頁面:20+8x3第5頁面:20+8x3第2頁面:8+1第7頁面:20+8x3第6頁面:20+8x3第4頁面:8+1第8頁面:8+1因此總的時間是(20+8x3)x5+(8+1)x3ns在一個請求分頁系統(tǒng)中,采用LRU頁面置換算法時,假如一個作業(yè)的頁面走向為1、3、2、1、1、3、5、1、3、2、1、5,當分配給該作業(yè)的物理內(nèi)存塊數(shù)M分別為3和4時,分別計算在訪問過程中所發(fā)生的缺頁次數(shù)和缺頁率,并畫出頁面置換圖。解:訪問過程中缺頁情況(M=3)頁面走向132113513215最近最長時間未使用的頁面133213513213221351321最近剛使用過的頁面132113513215缺頁777777當M=3時,缺頁次數(shù)為6次,缺頁率為6/12=0.5=50%。訪問過程中缺頁情況(M=4)頁面走向132113513215最近最長時間未使用的頁面222553133213513213221351321最近剛使用過的頁面132113513215缺頁“4Y當M=4時,缺頁次數(shù)為4次,缺頁率為4/12=0.33=33%??梢?,增加分配給作業(yè)的內(nèi)存塊數(shù)可以減少缺頁次數(shù),從而降低缺頁率。在一個請求分頁系統(tǒng)中,采用OPT頁面置換算法時,假如一個作業(yè)的頁面走向為4、3、2、1、4、3、5、4、3、2、1、5,當分配給該作業(yè)的物理內(nèi)存塊數(shù)M分別為3和4時,分別計算在訪問過程中所發(fā)生的缺頁次數(shù)和缺頁率,并畫出頁面置換圖。解:訪問過程中缺頁情況(M=3)頁面走向432143543215最近最長時間未使用的頁面2111544/33/21/23334335最近剛使用過的頁面44443443555缺頁7777777當M=3時,缺頁次數(shù)為7次,缺頁率為7/12=0.583=58.3%。訪問過程中缺頁情況(M=4)頁面走向432143543215最近最長時間未使用的頁面111544/34/3/21/3/222222533343325最近剛使用過的頁面44443443255缺頁???7??當M=4時,缺頁次數(shù)為8次,缺頁率為6/12=0.5=50%??梢?,增加分配給作業(yè)的內(nèi)存塊數(shù)可以減少缺頁次數(shù),從而降低缺頁率。在?個請求分頁系統(tǒng)中,采用FIFO頁面置換算法時,假如?個作業(yè)的頁面走向為4、3、2、1、4、3、5、4、3、2、1、5,當分配給該作業(yè)的物理內(nèi)存塊數(shù)M分別為3利4時,分別計算在訪問過程中所發(fā)生的缺頁次數(shù)和缺頁率,并畫出頁面置換圖。解:訪問過程中缺頁情況(M=3)頁面走向432143543215最近最長時間未使用的頁面432144435543214333522最近剛使用過的頁面432143555211缺頁當M=3時,缺頁次數(shù)為9次,缺頁率為9/12=0.75=75%。訪問過程中缺頁情況(M=4)頁面走向432143543215最近最長時間未使用的頁面444321543433321543243222154321最近剛使用過的頁面432111543215缺頁當M=4時,缺頁次數(shù)為10次,缺頁率為10/12=0.86=83%。可見,增加分配給作業(yè)的內(nèi)存塊數(shù)并不能減少缺頁次數(shù),降低缺頁率,這種現(xiàn)象叫抖動現(xiàn)象(Belady).利用信號量機制描述前趨關(guān)系:S={S1,S2,S3,S4,S5,S6,S7}={(S1,S2),(S1,S3),(S2,S4),(S2,S5),(S3,S5),(S3,S6),(S4,S7),(S5,S7),(S6,S7)}解:Vara,b,c,d,e,f,g,h,i,:semaphore:=0,0,0,0,0,0,0,0,0,0;BeginParbeginBeginS1;signal(a);signal(b);end;Beginwait(a);S2;signal(c);signal(d);end;Beginwait(b);S3;signal(e);signal(f);end;Beginwait(c);S4;signal(g);end;Beginwait(d);wait(e);S5;signal(h);end;Beginwait(f);S6;signal(i);end;Beginwait(g);wait(h);wait(i);S7;end;Parend利用記錄型信號量解決經(jīng)典同步問題:生產(chǎn)者——消費者解:Varmutex,empty,full:semaphore:=1,n,0;buffer:array[0,...,n-1]ofitem;in,out:integer:=0,0;beginparbeginproceducer:beginrepeatproduceranitemnextp;wait(empty);wait(mutex);buffer(in):=nextp;in:=(in+1)modn;signal(mutex);signal(full);untilfalse;endconsume匚beginrepeatwait(full);wait(mutex);nextp:=buffer(out);out:=(out+1)modn;signal(mutex);signal(empty);consumertheiteminnextc;untilfalse;endpatendend利用記錄型信號量解決經(jīng)典進程同步問題:讀者——寫者解:Varrmutex,wmutex:semaphore:=1,1;Readcount:integer:=0;BeginparbeginReader:beginrepeatwait(rmutex)ifReadcount=0thenwait(wmutex);Readcount:=Readcount+1;signal(rmutex)performreadoperation;wait(rmutex);Readcount:=Readcount-1;ifReadcount=0thensignal(wmutex);signal(rmutex);untilfalse;endWriter:beginrepeatwait(wmutex);performwriteoperation;signal(wmutex);untilfalseendparendEnd有一個車間不斷取A和B進行裝配,每次各取一個。為避免零件銹蝕,遵循先入庫者先出庫的原則。有兩組供應(yīng)商分別不斷供應(yīng)A和B(每次1個)。為保證齊套和合理庫存,當某種零件的數(shù)量比另一種零件的數(shù)量多得超過n(n<m)時,暫停對數(shù)量大的零件的供貨,集中補充數(shù)量少的零件。試用Wait和Signal原語正確實現(xiàn)。解:varmutex,emptya,emptyb,fulla,fullb,sa,sb:semaphore:=1,m,m,0,0,n,n;Begincobeginprovider_A();provider_B();assembiling_shop();coendprovider_A()beginrepeatwait(emptya);wait(sa);wait(mutex);putAintothestorehouse;signal(mutex);signal(fulla);signal(sb);untilfalse;provider_B()beginrepeatwait(emptyb);wait(sb);wait(mutex);putBintothestorehouse;signal(mutex);signal(fullb);signal(sa);untilfalse;endasemmbling_shop()beginrepeatwait(fulla);wait(fullb);wait(mutex);asemmblingAandB;signal(mutex);signal(emptya);signal(emptyb);untilfalse;endcorendEnd一個主修動物行為學(xué),輔修計算機科學(xué)的學(xué)生參加了一個課題,調(diào)查花果山的猴子能否被教會理解死鎖。他找到一處峽谷,橫跨峽谷拉了一根繩索(假設(shè)為南北方向),這些猴子就可以攀登著繩索跨過峽谷。只要它們朝著相同的方向,同一-時刻可以有多個猴子通過。但是如果在相反方向商同時有猴子通過則會發(fā)生死鎖(這些猴子卡在繩子中間,假設(shè)這些猴子無法在繩索商從另一只猴子身上翻過去)。如果一只猴子想跨越峽谷,他必須看當前是否有別的猴子在逆向通過。請使用信號量寫一個避免思索的程序來解決該問題。解:BeginvarSmutex^mutex^MonkeyCount^MonkeyCount^emaphore;SMonkeyCount:=0;NMonkeyCount:=0;Smutex:=1;Nmutex:=1;mutex:=1;ParBeginSouthi(i=192,3,...)Beginwait(Smutex);ifSMonkeyCount=0thenwait(mutex);SMonkeyCount:=SMonkeyCount+1;signal(Smutex);Crossthecordage;wait(Smutex);SMonkeyCount:=SMonkeyCount-1;ifSMonkeyCount=0thensignal(mutex);signal(Smutex);EndNorthi(i=1,2,3,...)Beginwait(Smutex);ifNMonkeyCount=0thenwait(mutex);NMonkeyCount:=NMonkeyCount+1;signal(Nmutex);Crossthecordage;wait(Nmutex);NMonkeyCount:=NMonkeyCount-1;ifNMonkeyCount=0thensignal(mutex);signal(Nmutex);EndparEndEnd設(shè)有兩個生產(chǎn)者進程A和B和一個銷售進程C,它們共享一個無限大的倉庫,生產(chǎn)者每次循環(huán)生產(chǎn)一個產(chǎn)品,然后入庫供銷售者銷售;銷售者每次循環(huán)從倉庫中取出一個產(chǎn)品銷售。如果不允許同時入庫,也不允許同時出庫;而且要求生產(chǎn)和銷售A產(chǎn)品和B產(chǎn)品數(shù)量都滿足以下關(guān)系:?nv=A的件數(shù)?B的件數(shù)v=m,其中n,m是正整數(shù)。請用信號量機制寫出A,B,C三個進程的工作流程。解:Vardifference:integer:=O;SAB,SBA,S,SA,SB,mutex:semaphore:=m,n,0,0,0,1;BeginparbeginprocessA:beginrepeatwait(SAB);produceaproductA;signal(SBA);wait(mutex);addtheproductAtothestorehouse;signal(mutex);signal(SA);signal(S);untilfalse;endprocessB:beginrepeatwait(SBA);producebproductB;signal(SAB);wait(mutex);addtheproductBtothestorehouse;signal(mutex);signal(SB);signal(S);untilfalse;processC:beginrepeatwait(S);ifdifference<=-nthenbeginwait(SA);wait(mutex);takeaproductAfromstorehouse;signal(mutex);difference:=difference+1;endelseifdifference>=mthenbeginwait(SB);wait(mutex);takeaproductBfromstorehouse;signal(mutex);difference:=difference-1;endelsewait(mutex);takeaproductAorBfromstorehouse;signal(mutex);if(product_type=A)thenbeginwait(SA);difference:=difference+1;endelsebeginwait(SB);difference:=difference-1;endselltheproduct;untilfalse;parendEnd試證明:如果系統(tǒng)作業(yè)幾乎同時到達,則使系統(tǒng)平均作業(yè)周轉(zhuǎn)時間最短的算法是短作業(yè)優(yōu)先。解:設(shè)有n個作業(yè)j1J2J3,…Jn,其運行時間分別為不妨假設(shè)t1<=t2<=t3<=...<=tn,則短作業(yè)優(yōu)先的作業(yè)調(diào)度算法的平均周轉(zhuǎn)時間為:T=(t1+(t1+t2)+(t1+t2+t3)+....(t1+t2+t3+...+tn))/n=(n*t1+(n-1)*t2+...+tn)/n考慮其他不同調(diào)度算法,設(shè)在此調(diào)度算法下的作業(yè)調(diào)度次序為ji1Ji2,…jin,其中(i1,i2,...,in)是(1,2,3,?.?,n)的一個排列,則類似上面可以得出:T1=((n*ti1+(n-1)*ti2+...+tin)/n)根據(jù)不等式結(jié)論:如果有a1v=a2v=...v=an且b1v=b2v=...v=bn,則a1bn+a2bn-1+...+anb1<=a1bi1+a2bi2+...+anbn<=a1b1+a2b2+...+anbn其中(i1,i2,…,in)是(1,2,3,…,n)的一個排列,不難得出T<=T1。采用銀行家算法防止死鎖,用Pi-n表示Pi進程申請n個資源,用Pi-n表示Pi進程占有n個資源。如果占有n個資源的進程被阻塞,可以用Pi*-n來表示,假設(shè)系統(tǒng)中有某類資源10個,進程P1,P2,P3各自的最大需求量為3,7,10個,各進程T0時刻開始運行:T1時刻發(fā)生:P1-2,P2T3,P3T3T2時刻發(fā)生:P2—1,P3T2T3時刻發(fā)生:P1—1,P2Tl根據(jù)銀行家算法,填寫三個時刻的進行占有和阻塞情況.進程TOT1T2T3P1P2P3P2P3解:進程T0T1T2T3P1P1—0P1—2P1—2P1-3P2P2—0P2—3P2-4P2*-4P3P3—0P3-3P3*—3P3*-3有兩個用戶進程A和B,在運行過程中都要使用系統(tǒng)中的一臺打印機輸出計算結(jié)果。(1)試說明A、B兩進程之間存在什么樣的制約關(guān)系?答:A、B兩進程之間存在互斥的制約關(guān)系。因為打印機屬于臨界資源,必須一個進程使用完之后另一個進程才能使用(2)為保證這兩個進程能正確地打印出各自的結(jié)果,請用信號量和P、V操作寫出各自的有關(guān)申請、使用打印機的代碼。要求給出信號量的含義和初值。答:mutex:用于互斥的信號量,因為只有一臺打印機,所以初值為1進程A進程BP(mutex);P(mutex);申請打印機;申請打印機;使用打印機;使用打印機;V(mutex);V(mutex);設(shè)input進程不斷向緩沖區(qū)Q寫入信息,output進程不斷地將剛由input進程寫入的信息讀出。試問:(1)這兩個進程有何相互制約關(guān)系?答:這兩個進程的相互制約關(guān)系為同步關(guān)系:(2)試用P、V操作寫出這兩個進程完成這項任務(wù)的代碼段和信號量的含義及初值。答:設(shè)兩個信號量S1和S2。其中S1表示Q是否為空,初值為1,表示Q是空的:S2表示Q中是否有信息,初值為0,表示Q中無信息。兩進程的代碼段如下:input進程output進程While信息未處理完畢While信息未處理完畢{加工一個信息;{P(S2):P(S1);從Q中讀出一個信息;將信息放入Q中;V(S1);}V(S2);}……假定在單道批處理環(huán)境下有5個作業(yè),各作業(yè)進入系統(tǒng)的時間和估計運行時間如下表所示:作業(yè)進入系統(tǒng)時間估計運行時間/分鐘8:00408:20308:30129:00189:105(1)如果應(yīng)用先來先服務(wù)的作業(yè)調(diào)度算法,試將下面表格填寫完整。作業(yè)進入系統(tǒng)時間估計運行時間/分鐘開始時間結(jié)束時間周轉(zhuǎn)時間/分鐘作業(yè)平均周轉(zhuǎn)時間T=(2)如果應(yīng)用最短作業(yè)優(yōu)先的作業(yè)調(diào)度算法,試將下面表格填寫完整。作業(yè)進入系統(tǒng)時間估計運行時間/分鐘開始時間結(jié)束時間周轉(zhuǎn)時間/分鐘2345作業(yè)平均周轉(zhuǎn)時間T=(1)如果應(yīng)用先來先服務(wù)的作業(yè)調(diào)度算法,試將下面表格填寫完整。作業(yè)進入系統(tǒng)時間估計運行時間/分鐘開始時間結(jié)束時間周轉(zhuǎn)時間/分鐘18:00408:008:404028:20308:409:105038:30129:109:225249:00189:229:404059:1059:409:4535作業(yè)平均周轉(zhuǎn)時間T=43.4217(2)如果應(yīng)用最短作業(yè)優(yōu)先的作業(yè)調(diào)度算法,試將下面表格填寫完整。作業(yè)進入系統(tǒng)時間估計運行時間/分鐘開始時間結(jié)束時間周轉(zhuǎn)時間/分鐘18:00408:008:404028:20308:529:226238:30128:408:522249:00189:279:454559:1059:229:2717作業(yè)平均周轉(zhuǎn)時間T=37.2186在請求分頁系統(tǒng)中,某用戶的編程空間為16個頁面,每頁1K,分配的內(nèi)存空間為8K。假定某時刻該用戶的頁表如下圖所示,試問:(1)邏輯地址084B(H)對應(yīng)的物理地址是多少?(用十六進制表示)(2)邏輯地址5000(十進制)對應(yīng)的物理地址是多少?(用十進制表示)(3)當該用戶進程欲訪問24A0H單元時,會出現(xiàn)什么現(xiàn)象?頁號塊號031724112596120⑴答:104B(H)(2)答:13192(3)答:24A0(H)的頁號為9,而其頁面當前不在內(nèi)存,所以會發(fā)一個缺頁中斷,請求系統(tǒng)調(diào)頁。兩個并發(fā)執(zhí)行的進程A和B的程序如卜:進程ARepeatN=N+5;Untilfalse;進程BRepeat打印N的值;N=0;Untilfalse;其中N為整數(shù),初值為4。若進程A先執(zhí)行了三個循環(huán)后,進程A和進程B又并發(fā)執(zhí)行了一個循環(huán),寫出可能出現(xiàn)的打印值。正確的打印值應(yīng)該是多少?請用P、V操作進行管理,使進程A和B并發(fā)執(zhí)行時不會出現(xiàn)與時間有關(guān)的錯誤。答:因為N初值為4,若進程A先執(zhí)行了三個循環(huán),此時N的值為19。當進程A和進程B并發(fā)執(zhí)行時可能會有如下兩種執(zhí)行次序,即進程A先執(zhí)行一次循環(huán),然后再進程B執(zhí)行一次循環(huán),此時打印的是正確值24,執(zhí)行后N中的值為0。但若進程B先執(zhí)行一次循環(huán),然后再進程A執(zhí)行一次循環(huán),則打印的值是19,執(zhí)行后N中的值是5。這是錯誤的,即發(fā)生了與時間有關(guān)的錯誤。用P、V操作進行管理,使進程A和B并發(fā)時不會出現(xiàn)與時間有關(guān)的錯誤的程序如下:(S為互斥信號量,初值為1),進程ARepeatP(S);N=N+5;V(S);Untilfalse;進程BRepeatP(S);打印N的值;N=0;V(S);Untilfalse;根據(jù)如下段表:段號基地址長度合法(0)/非法(1)03002001750054023000101032000100(1)求出邏輯地址為0,100的物理地址并將其的合法性填入上表適當位置;(2)求出邏輯地址為3,100的物理地址并將其的合法性填入上表適當位置;答:⑴答:物理地址為:300+100=400(2)答:物理地址為:2000+100=2100段號基地址長度合法(0)俳法(1)0300200017500540230001010320001001引起進程調(diào)度的主要因素有:答(1)一個進程運行完畢。(2)一個正在運行的進程被阻塞。(3)在搶占式調(diào)度中,一個高優(yōu)先級的進程被創(chuàng)建。(4)在搶占式調(diào)度中,一個高優(yōu)先級進程由阻塞喚醒。(5)在輪轉(zhuǎn)式調(diào)度中,正垢進程運行完一個時間片。在選擇調(diào)度方式和調(diào)度算法時,應(yīng)遵循的原則是什么?答(1)面向用戶準則。對于用戶的緊迫性作業(yè),系統(tǒng)能夠及時地處理,不至于運行延誤;批處理系統(tǒng)追求作業(yè)的周轉(zhuǎn)時間短;分時系統(tǒng)追求作業(yè)的響應(yīng)時間快;實時系統(tǒng)中作業(yè)的截止時間要有保證。(2)面向系統(tǒng)準則。系統(tǒng)的吞吐量要高,處理機的利用率要高,各類系統(tǒng)資源能夠得到平衡利用。為什么說多級反饋隊列能較好的滿足各種用戶的需要?答:終端用戶的作業(yè)一般比較短小精悍,大多數(shù)在進入多級隊列的第
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 高考物理總復(fù)習(xí)專題四曲線運動萬有引力與航天第4講萬有引力與航天練習(xí)含答案
- 建筑工地用水泥采購
- 醫(yī)藥產(chǎn)品采購合同示例
- 作文主題05 多彩信件-四年級語文作文主題訓(xùn)練
- 九年級化學(xué)下冊 第六章 金屬 6.1 金屬的物理性質(zhì)教案 (新版)粵教版
- 2024秋七年級英語上冊 Unit 7 Days and Months Lesson 42 Happy Holodays教案 (新版)冀教版
- 2024秋九年級化學(xué)上冊 4.1 愛護水資源教案 (新版)新人教版
- 2024高中歷史 第七單元 復(fù)雜多樣的當代世界 第24課 兩極對峙格局的形成教案 岳麓版必修1
- 2023六年級語文下冊 第六單元 難忘小學(xué)生活-閱讀交流與指導(dǎo)配套教案 新人教版
- 2023三年級語文下冊 第二單元 6 陶罐和鐵罐配套教案 新人教版
- 《剪映專業(yè)版:短視頻創(chuàng)作案例教程(全彩慕課版)》 課件 第6章 創(chuàng)作生活Vlog
- 《心理健康教育主題班會》主題
- GB 30254-2024高壓三相籠型異步電動機能效限定值及能效等級
- 重大事故隱患判定標準與相關(guān)事故案例培訓(xùn)課件
- 公安行政執(zhí)法綜合實訓(xùn)智慧樹知到期末考試答案章節(jié)答案2024年南京警察學(xué)院
- 年度成本費用預(yù)算表模板
- 火龍罐綜合灸療法
- 深圳市中小學(xué)生流感疫苗接種知情同意書
- 數(shù)據(jù)、模型與決策(運籌學(xué))課后習(xí)題和案例答案007
- 西師大版一年級上冊數(shù)學(xué)第二單元測試試題及答案
- 大小額支付系統(tǒng)題庫
評論
0/150
提交評論