軟件設計師考試重點難點_第1頁
軟件設計師考試重點難點_第2頁
軟件設計師考試重點難點_第3頁
軟件設計師考試重點難點_第4頁
軟件設計師考試重點難點_第5頁
免費預覽已結束,剩余15頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、軟件設計師考試重點難點:死鎖、流水線、關鍵路徑、系統可靠性計算、多媒體、操作系統、數據庫軟件設計師重點難點一一死鎖死鎖(Deadlock)是指多個進程在運行的過程中因爭奪資源而造成的一種僵局。當進程處于這種僵持狀態時,若無外力作用,它們都將無法再向前推進。在軟件設計師的考試當中,這個知識點的考查是以選擇題的形式出現的,考點主要有:死鎖的必要條件、解決死鎖的方法,最難高難度會考到“銀行家算法”。本文將介紹死鎖的相關知識,但不會具體講解“銀行家算法”,該算法將在本系列的下一篇文章中詳細說明。1、死鎖發生的必要條件死鎖的發生必須具備四個必要條件,這四個條件相互聯系、缺一不可。環路等待(1)互斥條件:

2、指進程對所分配到的資源進行排他性使用,即在一段時間內某資源只由一個進程占用。如果此時還有其他進程請求該資源,則請求者只能等待,直至占有該資源的進程用完并釋放。(2)請求和保持條件:指進程已經保持了至少一個資源,但又提出了新的資源請求,而該資源又已被其他進程占有,此時請求進程阻塞,但又對自己已獲得的其他資源保持不放。(3)不剝奪條件:指進程已獲得的資源,在未使用完之前,不能被剝奪,只能在使用完時由自己釋放。(4)環路等待條件:指在發生死鎖時,必然存在一個進程-資源的環形鏈,即進程集合P0,P1,P2Pn中的P0正在等待一個P1占用的資源,P1正在等待P2占用的資源,,Pn正在等待已被P0占用的資

3、源。2、解決死鎖的策略解決死鎖的策略通常有三種:死鎖預防、死鎖避免以及死鎖解除。前兩種方法是“事前措施”,而死鎖解除是“事后解決方案”。(1)死鎖預防:“解鈴還需系鈴人”,隨便破壞導致死鎖這任意一個必要條件就可以預防死鎖。例如,要求用戶申請資源時一起申請所需要的全部資源,這就破壞了保持和等待條件;將資源分層,得到上一層資源后,才能夠申請下一層資源,它破壞了環路等待條件。預防通常會降低系統的效率。(2)死鎖避免:避免是指進程在每次申請資源時判斷這些操作是否安全,典型算法是“銀行家算法”(本系列文章的下一篇將詳細講解該問題)。但這種算法會增加系統的開銷。(3)死鎖解除:該方法的思路很簡單,通過死鎖

4、檢測判斷系統是否處于死鎖狀態,若死鎖,則由系統強制剝奪部分進程的資源,將資源強行分配給別的進程。3、判斷系統是否可能進入死鎖狀態從上面的死鎖解決方案來看,無論哪一種方式都不可避免的要增加系統的負擔。而同時一個系統是否有可進入死鎖狀態受系統資源數量,=需要使用該資源的進程數量等因素影響。=若系統本不可能引起死鎖,而我們采用了死鎖解決方案,是很不合理的。所以,考試中常考到這樣的題型:給出系統的資源數,以及需要使用該資源的進程數量等參數,讓考生判斷系統有無可能產生死鎖。下面我們以例題的方式來說明如何解決這類問題。例題1:系統有3個進程:A、B、G這3個進程都需要5個系統資源。如果系統有多少個資源,則

5、不可能發生死鎖。解答:在分析這個問題時,我們可以取一些簡單的數據代入試題進行驗證、分析,以得到相應的規律。如:(1)當系統資源數量為9時,若給A與B分別分配了4個資源,C分配了1個資源,則系統中的每個進程都存在資源不足的情況,而都不放手自己擁有的資源。不能正常運行完畢,發生死鎖。(2)當系統資源數量為12時,若給A、B、C各分配4個資源,則死鎖。(3)當系統資源數量為13時,無論如何分配,總有至少1個進程能得到5個資源,得到5個資源的進程可以正常運行完畢,而后將自己占用的資源分配給其它進程,所以這樣能使所有進程運行完畢。從上面的嘗試,我們可以總結出一個規律:先給所有進程分配他們所需要的資源數減

6、1個資源,然后系統如果能再剩余1個資源,則系統不會發生死鎖。這樣解答本題變得非常容易。(5-1)*3+1=13。例題2:一臺計算機有10臺磁帶機被m個進程競爭,每個進程最多需要三臺磁帶機,那么m至多為時,系統沒有死鎖的危險。A.3B.4C.5D.6解答首先從m=6開始考察,首先每個進程分配1臺,剩下的4臺只能分配給4個進程,還有2個進程沒有分配,如果已經分配了2臺的4個進程需要3臺的話,則系統就會死鎖。同樣,如果m=5,也會發生這種情況。當m=4時,每個進程可以分得2臺,還有2個進程可分得3臺,則可正常運行,運行完畢后可釋放資源,從而不會死鎖。在解這道題時有些學員提出“如果按照答案m=4,則這

7、4個進程都是需要3臺磁帶機的話,共需要12臺磁帶機,這樣還不會死鎖?”。這種想法是錯誤的,因為并不是同時把所有進程都分配給足夠的資源才能完成這些進程,可以是一個進程先執行完,釋放完資源再執行另一個進程。例如:4個進程中,每個進程分配2臺磁帶機,用去了8臺。剩下2臺,仍然可以滿足兩個進程,直到他們完成,釋放他們暫用的磁帶機。軟件設計師重點難點一一流水線流水線這個知識點在軟件設計師考試中是個重點也是個難點,考查的頻率比較高。之所以說流水線是個難點,有兩方面的原因:一方面是需要理解流水線的理論,了解其工作原理,計算方式;另一方面是在軟考當中,對于流水線的相關計算,標準并不是完全統一的,這一點在后面我

8、們將詳細介紹。流水線是指在程序執行時多條指令重疊進行操作的一種準并行處理實現技術。各種部件同時處理是針對不同指令而言的,它們可同時為多條指令的不同部分進行工作,以提高各部件的利用率和指令的平均執行速度。指令流水線是將指令執行分成幾個子過程,每一個子過程對應一個工位,我們稱為流水級或流水節拍,這個工位在計算機里就是可以重疊工作的功能部件,稱為流水部件。如圖1所示,IF,ID,EX,W防別是流水線的流水部件。SIS2S3S4圖1幾個部件組成的流水線流水線要求所有的流水級部件必須在相同的時間內完成各自的子過程。在流水線中,指令流動一步便是一個機器周期,機器周期的長度必須由最慢的流水級部件處理子過程所

9、需的時間來決定。那么我們為什么要提出流水線這個概念,以及流水線是如何提高系統吞吐量的呢?下面我們來看幾個圖,概念自然就清楚了。圖2是一個非流水線結構系統執行指令時空圖。圖口非流水統緒構系統執行指令時空圖我們從圖2中可以看到,任意一個系統時間都有大量的設備處于空閑狀態,如第一個時間段有ID,EX,W腔閑,則第二個時間段有IF,EX,W必閑。我們再來看采用了流水線結構的時空圖3。圉3流水線結構指令時空圖顯然,采用流水線可以大大提升系統資源的利用率,以及整個系統的吞吐量。流水線的操作周期取決于基本操作中最慢的那個。例如:一個3段流水線,各段的執行時間分別為t,2t,to則最慢的一段為2t,所以流水線

10、操作周期為2to流水線的執行時間公式為:第1條指令的執行時間+(指令條數-1)*流水線操作周期例題1若每一條指令都可以分解為取指、分析和執行三步。己知取指時間t取指=4At,分析時間t分析=3At,執行時間t執行=5Zt。如果按串行方式執行完100條指令需要(1)Ato如果按照流水方式執行,執行完100條指令需要(2)t。供選擇的答案(1) A.1190B.1195C.1200D,1205(2) A.504B.507C.508D.510試題分析本題考查的是計算機系統指令流水線方面的基礎知識。根據題意可以看到,在此流水線中按串行方式執行完100條指令要用1200Ato采用流水方式執行,執行的總時

11、間的關鍵取決于最長的執行時間,所以執行完100條的時間為:4At+3At+5At+(1001)*5At=507At。試題答案CB例題2現采用4級流水線結構分別完成一條指令的取指、指令譯碼和取數、運算,以及送回運算結果4個基本操作,每步操作時間依次為60ns,100ns,50ns和70ns。該流水線的操作周期應為Ans。若有一小段程序需要用20條基本指令完成(這些指令完全適合于流水線上執行),則得到第一條指令結果需Bns,完成該段程序需_C_ns。在流水線結構的計算機中,頻繁執行_D_指令時會嚴重影響機器的效率。當有中斷請求發生時,采用不精確斷點法,則將Eo供選擇的答案A:5070100280B

12、:100200280400C:1400200023002600D:條件轉移無條件轉移算術運算訪問存儲器E:僅影響中斷反應時間,不影響程序的正確執行不僅影響中斷反應時間,還影響程序的正確執行不影響中斷反應時間,但影響程序的正確執行不影響中斷反應時間,也不影響程序的正確執行試題分析=本題主要考查對流水線技術的掌握。I對于CPU來說,流水線技術實際上是一種以增加硬件換取性能的方式:把一條指令分解成多條更小的指令,由不同的處理單元來處理,在理想的滿負荷運行狀態下,執行一條指令的時間雖然沒有減少,但是由于多個處理單元同時工作,在同一時間上可以執行不同指令的不同部分,從而使得總體的執行時間大大減少。流水線

13、的操作周期取決于基本操作中最慢的那個。這里最慢的是100ns,所以操作周期是100ns。在流水線中,其實每一條指令的執行時間并沒有減少,而第一條指令的執行并沒有體現流水線的優勢,它在4個操作周期后才能執行完成,這以后每個操作周期都能完成一條指令的執行。影響流水線效率的重要因素有條件轉移指令和中斷,因為它們打斷了流水線,使得流水線不得不重新裝載。不精確斷點法實現簡單,但是要等到流水線內的指令完成之后再響應中斷。試題答案A.B.C.D.E.希賽IT教育專家提示:上面的兩個例題,都是軟考當中出現過的真題。我們可以看出,兩個題在計算流水線時間方面,標準并不是統一的。在例題1中:4At+3At+5At+

14、(1001)*5At=507At。而在例題2中:100ns+100ns+100ns+100ns+(201)*100ns=2300ns這兩種計算方法,都是在套用公式:“第1條指令的執行時間+(指令條數-1)*流水線操作周期”,而對于“第1條指令的執行時間”的理解并不相同。在例題1中,第1條指令的執行時間是將指令執行時的幾個階段所需時間相加得到,而在例題2中,認為每一個階段所需時間都是流水線的周期時間。其中前者是流水線的理論計算方法,而后者是我們在設計硬件流水線時,常用的方式。兩種計算方法,從理論上來講,都是正確的,但考試時,只有一個是正確答案。那么我們應該怎么做呢?由于每次考試中,無論認可的是哪

15、種計算方式,都只會把這種計算方式的正確答案放入選項中,而不會將兩個正確答案都放入,所以我們在用一種方式不能得到正確選項時,應采用另一種方式進行計算,來得到正確答案。軟件設計師重點難點一一關鍵路徑關鍵路徑這個知識點在軟件設計師考試中,是一個難點。說到關鍵路徑這個概念,大家應該多少有些印象,可能都知道它是“最長路徑”而不是“最短路徑”,但說到它為什么是最長路徑,提出這個概念的用意何在,它有什么應用,在計算機中關鍵路徑是如何求的等問題卻沒有幾個人能真正搞清楚,甚至書上給出了完整的例子,都有很多人看不懂。下面我先會簡單的說明基本概念,然后以一個例子,結合平時希賽教育學員的疑問,對這個知識點進行詳細的分

16、析。在AOV3絡中,如果邊上的權表示完成該7S動所需的時間,則稱這樣的AOVAO加絡。例如,圖1表示一個具有10個活動的某個工程的AO加絡。圖中有7個頂點,分別表示事件17,其中1表示工程開始狀態,7表示工程結束狀態,邊上的權表示完成該活動所需的時間。圖1AOE網緒(11下面我們來理解一下關鍵路徑的思想,圖1雖節點不多,但是為了讓問題變得更為簡單、直觀,我們畫另一個AOE網絡,如圖2所示。圖2AOE網絡(2)從圖2中我們可以看出,關鍵路路徑實際上是從源點到目的地的最長路徑。為什么是最長路徑呢?因為圖中的某些事件是可以并發執行的。如圖2所示,當到達V1后,可以同時往V2,V3,V4三個方向走,而

17、V2,V3,V4都有到Vk的路徑,且長度都為1,并且Vk是終點,則關鍵路徑是V1->V2->Vk。因為這條路徑最長,只要這條路徑到目的地Vk時其他的都已經到達Vk。而在這條關鍵路徑上的活動a2,a5稱為關鍵活動。為了找出給定的AO朗絡的關鍵活動,從而找出關鍵路徑,先定義幾個重要的量:Ve(j)、Vl(j):頂點j事件最早、最遲發生時間。e(i)、l(i):活動i最早、最遲開始時間。從源點V到某頂點Vj的最長路徑長度稱為事件Vj的最早發生時間,記為Ve(j)oVe(j)也是以V為起點的出邊<V,M>所表示的活動ai的最早開始時間e(i)。在不推遲整個工程完成的前提下,一個

18、事件V允許的最遲發生時間記為V(j)。顯然,l(i)=Vl(j)-(ai所需時間),其中j為ai活動的終點。滿足條件l(i)=e(i)的活動為關鍵活動。求頂點Vj的Ve(j)和Vl(j)可按以下兩步來做。(1)由源點開始向匯點遞推。1%(黑=19左”.育蘇IT在鬟IT在*一y&G)=MAXK(i)+d(tVj一場,2運j演犀其中,Ei是網絡中以Vj為終點的入邊集合。(2)由匯點開始向源點遞推。%5)=匕5)(7)-MIN(k)-d(J,k),<Vk>£段,2WJW厚1其中,E2是網絡中以Vj為起點的出邊集合。對于前面的兩個概念很多人不能理解:從源點開始到匯點遞推以

19、后,我們已經得到了關鍵路徑的長度,按理把這些點記錄下來,就得到了關鍵路徑,為什么在此時,還要從匯點到源點進行遞推,來求關鍵路徑,這樣豈不多此一舉?其實不是這樣的,一個AOEJ絡中可能有多條關鍵路徑,若我們只正推過去,只能求得一條關鍵路徑,而不能找出所有的關鍵路徑。要求一個AOE的關鍵路徑,一般需要根據以上變量列出一張表格,逐個檢查。例如,求圖1所示的求AOEI鍵路徑的過程如表1所示。表1求關鍵路徑的過程IfIII|>'*"*»1-P4Ar!的氣2V100A】000啊33A詢0002n11V4"6-6A電1330%.77A©341一小1口叫&

20、quot;V71010在咂231刈)660aoiT770561因此,圖1的關鍵活動為ai,a2,a,as和a9,其對應的關鍵路徑有兩條,分別為(Vi,V2,V和(V1,V4,M,V,長度都是10。其實從學員的疑問可以看出,最關鍵的問題就在于此表如何填寫。首先值得我們注意的一點是,對于頂點的V1,V2等事件,有最早,最遲發生時間;對于邊al,a2,a3,等活動,有最早,最遲開始時間。Ve(j)表示的是頂點j的最早發生時間,Vl(j)表示的是頂點j的最遲發生時間,e(i)表示的是活動i的最早開始時間,l(i)表示的是活動i的最遲開始時間。總的來說填這個表有以下四個步驟。由源點開始遞推計算出表1-1

21、中的Ve(j)列;由Ve(7)=10,回算Vl(j)列;Vl(j)列算出后用公式l(i)=Vl(j)-(ai所需要的時間);由l(i)=e(i)找出關鍵活動,求出關鍵路徑。下面來填寫表格,首先我們來填最早發生時間和最早開始時間。因為由源點V1到頂點V2的最長路徑長度是3(到V2只有一條路徑,長度為3,這個很好判斷),所以V2的最早發生時間是3,從V2出發的活動有a4,a5,所以a4,a5的最早開始時間也是3。又比如,到頂點V4的最長路徑長度是6,所以V4的最早發生時間是6,從V4出發的活動有a8,a8的最早開始時間也是6,其余的依次類推。最遲發生時間和最遲開始時間要先求出關鍵路徑的長度后,再進

22、行逆推。通過上面求最早發生時間,我們可以求得關鍵路徑長度為10o現在可以開始逆推了。首先由于關鍵路徑長度為10,所以V7的最遲發生時間是10,再看V6,V6到V7有a10,長度為4,所以V6的最遲發生時間是10-4=6,同樣V5到V7有a9,長度為3,所以V5的最遲發生時間是10-3=7,依次類推,此項值對應表1中的Vl(j)。接下來求最遲開始時間。V7的最遲開始時間為10,a9,a10都指向V7,a9=3,a10=4,所以a9的最遲開始時間為10-3=7,a10的最遲開始時間為10-4=6oV6的最遲開始時間為6,a7指向V6,a7=3,所以a7的最遲開始時間為6-3=3。此項值對應表1中的

23、l(i)。上面的這個實例是一個難度較高的例子,在我們的實際考試中,難度并沒有這么高。下面看一個考試真題。例題:0天開工,則該工程某工程計劃如下圖所示,各個作業所需的天數如下表所示,設該工程從第的最短工期是(1)天,作業J最遲應在第天開工。供選擇的答案:(1)A.17B.18C.19D.20(2)A.11試題分析B.13C.14D.16這是一個帶權的AO朗。與AOVJ不同之處在于,AOEJ所關心完成該工程至少需要多少時間,哪些活動是影響整個工程進度的關鍵。由于AOEJ中的某些活動能夠并行地進行,所以完成整個工程所需要的時間是從開始頂點到結束頂點的最長路徑的長度,稱為關鍵路徑。本題的關鍵路徑有兩條

24、:(1) S254D;(2)S25D,路徑的長度均為20。作業J最遲要在什么時候開工?由于完成作業J后就到了匯點D了,所以要看關鍵路徑多長,J的需要天數是多少。J的最遲開工=20-7=13。試題答案DB軟件設計師重點難點一一系統可靠性計算系統可靠性計算是軟件設計師考試的一個重點,近些年幾乎每次考試都會考到,但這個知識點的難度不高,了解基本的運算公式,即可輕松應對。可靠性計算主要涉及三種系統,即串聯系統、并聯系統和冗余系統,其中串聯系統和并聯系統的可靠性計算都非常簡單,只要了解其概念,公式很容易記住。冗余系統要復雜一些。在實際的考試當中,考得最多的就是串并混合系統的可靠性計算。所以要求我們對串聯

25、系統與并聯系統的特點有基本的了解,對其計算公式能理解、運用。下面將對這些計算的原理及公式進行詳細的說明。1 .串聯系統假設一個系統由n個子系統組成,當且僅當所有的子系統都能正常工作時,系統才能正常工作,這種系統稱為串聯系統,如圖1所示。-*&i-輸入一1-荏輸出圖1串聯系統設系統各個子系統的可靠性分別用友,國表示,則系統的可靠性尺二國X&X工斗。如果系統的各個子系統的失效率分別用加,為冥.'乩起來表示,則系統的失效率義二4+飽+,+4!-2 .并聯系統!假如一個系統由n個子系統組成,只要有一個子系統能夠正常工作,系統就能正常工作,如圖2所示。圖2并聯系統設系統各個子系統

26、的可靠性分別用尺1,尺?,一,國表示,則系統的可靠性氏二-&1)加-的乂乂。-%)。假如所有子系統的失效率均為九,則系統的失效率為比而在并聯系統中只有一個子系統是真正需要的,其余n-1個子系統都被稱為冗余子系統。該系統隨著冗余子系統數量的增加,其平均無故障時間也會增加。3 .串并混合系統串并混合系統實際上就是對串聯系統與并聯系統的綜合應用。我們在此以實例說明串并混合系統的可靠性如何計算。例1:某大型軟件系統按功能可劃分為2段P1和P2o為提高系統可靠性,軟件應用單位設計了如下圖給出的軟件冗余容錯結構,其中P1和P2均有一個與其完全相同的冗余備份。若P1的可靠度為0.9,P2的可靠度為0

27、.9,則整個系統的可靠度是o圖3串并混合系統供選擇的答案C.0.9801D.0.9A.0.6561B.0.81試題分析當系統采用串聯方式時,其可靠度R可由公式R=R1R2Rn求得。當系統采用并聯方式時,其可靠度R可由公式R=1-(1-R1)*(1-R2),(1-Rn)求得。這個系統總的來說是串聯,但分成兩個并聯部分。第一部分的可靠度為:R1=1-(1-0.9)*(1-0.9)=0.99;第二部分的可靠度也為:R2=0.99;所以整個系統的可靠度為:R=R1*R2=0.9801,C答案。試題答案C上面的例題是屬于常規形式的可靠性計算題,如果把這種試題再撥高一個層次,可以。例2:1臺服務器、3臺客

28、戶機和2臺打印機構成了一個局域網(如圖4所示)。在該系統中,服務器根據某臺客戶機的請求,數據在一臺打印機上輸出。設服務器、各客戶機及各打印機的可靠度分別為a、b、c,則該系統的可靠度為。圖4串升混合系統A.ab3c3B.a(1-b3)(1-c2)C.a(1-b)3(l-c)2D.a(1-(1-b)3)(1-(l-c)2)例題分析在試題給出的系統中,客戶機之間是并聯的(任何一臺客戶機出現故障,對其他客戶機沒有影響)同理,打印機之間是也并聯關系。然后,客戶機、服務器、打印機之間再組成一個串聯關系。因此,我們可以把該系統簡化為:已知服務器、各客戶機及各打印機的可用性分別為a、b、c,因此整個系統的可

29、用性為:氏=Q(1匕尸)點Q(1白/)=儀1Q匕)3)(1(1)2)例題答案D4.模冗余系統m模冗余系統由m個(m=2n+1為奇數)相同的子系統和一個表決器組成,經過表決器表決后,m個子系統中占多數相同結果的輸出可作為系統的輸出,如圖5所示。圖5模冗余系統在m個子系統中,只有n+1個或n+1個以上的子系統能正常工作,系統就能正常工作并輸出正確結果。假設表決器是完全可靠的,每個子系統的可靠性為R。,則m模冗余系統的可靠性為:V對麻。-為嚴軟件設計師重點難點一一多媒體多媒體重點和難點1 .圖形和圖象的各種格式、幾個主要的概念:2 .音頻采集計算:聲音文件的存儲量=采樣頻率X采樣位數X聲道數3 .視

30、頻圖象的容量計算和國家標準:圖像文件的存儲量=分辨率X色彩數(位)。4 .視頻的幾種集中壓縮格式:(44)A.128Kb/sB.320Kb/sC.1.5Mb/sD.15Mb/s(45)A.352X288B.576X352二C.720X576D.1024X720(46)A.16幀/秒B.25幀/秒C.30幀/秒D.50幀/秒例題1:MPEG-I編碼器輸出視頻的數據率大約為_C_oPAL制式下其圖像亮度彳t號的分辨率為_A一幀速為_B_。(多媒體)(44) A.128Kb/sB.320Kb/sC.1.5Mb/sD.15Mb/s(45) A.352X288B.576X352C.720X576D.10

31、24X720(46) A.16幀/秒B.25幀/秒C.30幀/秒D.50幀/秒例題2:在多媒體的音頻處理中,由于人所敏感的聲頻最高為A赫茲(Hz),因此數字音頻文件對音頻的采樣頻率為B赫茲(Hz)。對一個雙聲道的立體聲,保持1秒鐘聲音,其波形文件所需的字節數為C,這里假設每個采樣點的量化位數為8位。MIDI文件是最常用的數字音頻文件之一,MIDI是一種D,它是該領域國際上的一個EoA:5010k22k44kB:44.1k20.05k10k88kC:220508820017640044100D:語音數字接口樂器數字接口語音模擬接口樂器模擬接口E:控制方式管理規范通信標準輸入格式在音頻處理中,采樣

32、頻率是決定音頻質量的一個重要因素,它決定了頻率響應范圍。對聲音進行采樣的三種標準以及采樣頻率分別為:語音效果(11kHz)、音樂效果(22kHz)、高保真效果(44.1kHz),目前聲卡的最高采樣率為44.1KHz。另外,一般人的聽覺帶寬為20Hz20kHz人敏感的聲頻最高為22kHz。信號編碼的位數是決定音頻質量的另一個重要因素,它決定數字采樣的可用動態范圍和信噪比。16位聲卡的采卞位數就是16。聲音文件的存儲量等于采樣頻率X采樣位數X聲道數。如本題所求波形文件的字節數計算公式如下:44.1kHzX8bitX2X1秒=705.6Mbit/8=88.2MB=88200Byte答案A:B:C:D

33、:E:軟件設計師重點難點一一操作系統、進程相關的概念:進程、線程和管程這是三個看起來似乎比較容易混淆的概念,所以在復習的時候一定要牢記其定義和相互之間的區別。* 進程進程是一個可并發執行的程序在一個數據集合上的運行過程。也就是說,它是運行中的程序,是程序的一次運行活動。在操作系統中,進程是進行系統資源分配、調度和管理的最小單位。* 線程對于一些多線程程序來講,其包含兩條或兩條以上并發運行的部分,每個部分就稱作一個線程,每個線程都有獨立的執行路徑。線程是處理器分配資源的最小單位。* 管程管程是一種并發性的構造,它包括用于分配一個共享資源或一組共享資源的數據和過程。為了完成分配資源的功能,進程必須

34、調用特定的管程入口。操作系統中,多任務處理一般有兩種方式:基于進程和基于線程。基于進程的多任務處理的特點是允許計算機同時運行兩個或更多的程序。而基于線程的多任務處理是指一個程序可以同時執行兩個或者多個任務的功能。多線程程序比多進程程序需要更少的管理費用。進程是重量級的任務,需要分配它們自己獨立的地址空間。進程間的通信和相互轉換需要很多的開銷。而線程是輕量級的任務,它們共享相同的地址空間并且分享同一個進程。線程間的通信和轉換開銷要小很多。二、信號量處理:信號量和P-V操作為了解決進程同步的問題,提出了信號量機制。這一機制取得了很大的發展,從整型信號量到記錄型信號量,再進而發展為“信號量集”機制。

35、不過,在原理上和考試中,一般我們都只涉及整型信號量機制。對于互斥臨界區的管理要求:n有空則進n無空等待n兩者擇一n有先等待在整型信號量機制中,信號量被定義為一個整型變量,除初始化外,僅能通過兩個標準的原子操作wait(s)和signal(s)來訪問。其通常被分別稱作P、V操作。描述如下:P操作I .S-1-SII .如果S<0,則該進程進入等待狀態;否則繼續進行V操作I .S+1-SII .如果S>0,則喚醒隊列中的一個等待進程進程互斥的情況初值是1,而同步的初值是0進程同步的問題相對來說是比較復雜的,這其中一些比較經典的進程同步問題,如:* 生產者一消費者問題* 讀者一寫者問題*

36、 哲學家進餐問題三、各種調度算法:操作系統中,涉及到的調度比較多,如進程調度、作業調度、磁盤調度等。但是其調度算法的原理都大致相同。進程調度是比較典型的一類調度,其調度算法較多。包括:* 先來先服務* 優先數調度* 輪轉法* 短作業優先通過對這些調度算法的復習,對我們掌握其他種類調度的調度算法也會很有幫助。例題:一臺PC計算機系統啟動時,首先執行的是_(42)_,然后加載_(43)_o在設備管理中,虛擬設備的引入和實現是為了充分利用設備,提高系統效率,采用(44)來模擬低速設備(輸入機或打印機)的工作。例題:設有7項任務,分別標記為a、b、c、d、c、f和g,需要若干臺機器以并行工作方式來完成

37、,它們執行的開始時間和完成時間如下表所示:信號量例題:在某超市里有一個收銀員,且同時最多允許有n個顧客購物,我們可以將顧客和收銀員看成是兩類不同的進程,且工作流程如下圖所示。為了利用PV操作正確地協調這兩類進程之間的工作,設置了三個信號量S1、S2和Sn,且初值分別為0、0和n。這樣圖中的a應填寫_C_,圖中的bl、b2應分別填寫_D_,圖中的cl、c2應分別填寫_A。(操作系統)?軟件設計師重點難點一一數據庫1數據庫管理系統(DBMS數據庫管理系統(DBMS是指DBS中對數據進行管理的軟件系統,它是DBS的核心成分。DBS中所有與數據庫打交道的操作,包括建庫、查詢、更新及數據控制,都是通過D

38、BMS5行的。數據庫管理系統總是基于某種數據庫模型,可分為網狀型、層次型、關系型和面向對象型DBMS數據庫管理系統的主要目標:把數據作為可管理的資源處理。數據庫管理系統的5個重要功能: 數據庫的定義功能:DBM翻供數據定義語言(DDL定義數據庫的3級結構,包括外模式、概念模式、內模式及其相互之間的映象,定義數據的完整性約束、保密限制等條件。因此在DBM外包括DDL的編譯程序。 數據庫的操縱功能:提供數據操縱語言(DML實現對數據的操作。有4種基本操作:檢索(查詢)、插入、刪除、修改。在DBM阱包括DML勺編譯程序或解釋程序。 數據庫的保護功能:DBMS寸數據庫的保護主要通過4個子系統:A.數據

39、庫恢復(在數據庫被破壞或數據不正確時,系統有能力把數據庫恢復到最近某個正確的狀態B.數據完整性控制(保證數據庫中數據及語義的正確性和有效性,防止任何對數據錯誤的操作)C.多用戶環境下的并發控制。D.數據安全性控制(防止未被授權的用戶蓄謀或無意地存取數據庫中的數據,以免數據的泄露或破壞)。數據庫的維護功能:這部分包括數據庫的初始數據載入、轉換功能、立僮功能、數據庫的改組、性能監視功能。數據字典(DD:DD管理數據庫3級結構的定義。對于數據庫的操作都要通過查閱DD才能進行。現在有的大型系統中,把DDB獨抽出來自成一個系統,成為一個系統工具,使得DD成為一個比DBMS更高級的用戶與數據庫之間的接口。

40、要注意的是:應用程序并不屬于DBMS勺范圍。應用程序是用主語言和DM踹寫的,程序中的DML語句由DBM馱行,而其余部分仍由主語言編譯程序完成。數據庫系統(DBS數據庫系統是一個復雜的系統,它是采用了數據庫技術的計算機系統。因此,它不僅僅是一組對數據進行管理的軟件(即DBMS,也不僅僅是一個數據庫。它是一個實際可運行的、按照數據庫方法存儲、維護和向應用系統提供數據支持的系統。它是存儲介質、處理對象和管理系統的集合體,由數據庫DB硬件支持系統、軟件支持系統和數據庫管理員DBAa四部分組成。2SQL語句基本表的定義可用“CREATETABLE語句實現,增加屬性可以用ALTER.ADD.”語句,刪除屬

41、性可以用“ALTER.DROP.”語句;刪除已存在的表可用“DROPTABLE.”語句。視圖的定義和撤消 索引的定義和撤銷 SELECT查詢語句 DELETE®除語句 INSERT插入語句 UPDATED句3關系運算專門的關系運算包括選擇、投影、連接、除等。1.選擇(Selection)選擇又稱為限制(Restriction)。它是在關系R中選擇滿足給定條件的諸元組,記作:bF(R)=t|t6RAF(t尸真'其中F表示選擇條件,它是一個邏輯表達式,取邏輯值真或假。邏輯表達式F的基本形式為:X10Y14X28丫2。表示比較運算符,它可以是、=或*。XI、Y1等是屬性名或常量或簡

42、單函數。屬性名也可以用它的序號來代替。4表示邏輯運算符,它可以是僵、A或V。口表示任選項,即中的部分可以要也可以不要,.表示上述格式可以重復下去。因此選擇運算實際上是從關系R中選取使邏輯表達式F為真的元組。這是從行的角度進行的運算。舉例設有一個學生-課程關系數據庫,包括學生關系Student>課程關系Course和選修關系SC下面的許多例子將對這三個關系進行運算。例1查詢信息系(IS系)全體學生(TSdept='IS'(Student)或(r5='IS'(Student)例2查詢年齡小于20歲的元組Sage<20(Student)或(T4<20(S

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論