




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
軟件設(shè)計(jì)師考試重點(diǎn)難點(diǎn):
死鎖、流水線、關(guān)鍵路徑、系統(tǒng)可靠性計(jì)算、多媒體、操作系統(tǒng)、數(shù)據(jù)庫。
軟件設(shè)計(jì)師重點(diǎn)難點(diǎn)——死鎖
死鎖(Deadlock)是指多個(gè)進(jìn)程在運(yùn)行的過程中因爭奪資源而造成的一種僵局。當(dāng)進(jìn)程處于這種僵持
狀態(tài)時(shí),若無外力作用,它們都將無法再向前推進(jìn)。在軟件設(shè)計(jì)師的考試當(dāng)中,這個(gè)知識(shí)點(diǎn)的考查是
以選擇題的形式出現(xiàn)的,考點(diǎn)主要有:死鎖的必要條件、解決死鎖的方法,最難高難度會(huì)考到“銀行
家算法”。本文將介紹死鎖的相關(guān)知識(shí),但不會(huì)具體講解“銀行家算法”,該算法將在本系列的下?
篇文章中詳細(xì)說明。
1、死鎖發(fā)生的必要條件
死鎖的發(fā)生必須具備四個(gè)必要條件,這四個(gè)條件相互聯(lián)系、缺一不可。
互斥
不剝奪
(1)互斥條件?:指進(jìn)程對(duì)所分配到的資源進(jìn)行排他性使用,即在?段時(shí)間內(nèi)某資源只由個(gè)進(jìn)
程占用。如果此時(shí)還有其他進(jìn)程請(qǐng)求該資源,則請(qǐng)求者只能等待,直至占有該資源的進(jìn)程用完并釋放。
(2)請(qǐng)求和保持條件:指進(jìn)程已經(jīng)保持了至少一個(gè)資源,但又提出了新的資源請(qǐng)求,而該資源
又已被其他進(jìn)程占有,此時(shí)請(qǐng)求進(jìn)程阻塞,但又對(duì)自己已獲得的其他資源保持不放。
(3)不剝奪條件:指進(jìn)程已獲得的資源,在未使用完之前,不能被剝奪,只能在使用完時(shí)由自
己釋放。
(4)環(huán)路等待條件:指在發(fā)生死鎖時(shí),必然存在一個(gè)進(jìn)程一資源的環(huán)形鏈,即進(jìn)程集合{PO,P1,
P2…P〃}中的P0正在等待一個(gè)P1占用的資源,P1正在等待P2占用的資源,……Pn正在等待已被P0
占用的資源。
2、解決死鎖的策略
解決死鎖的策略通常有三種:死鎖預(yù)防、死鎖避免以及死鎖解除。前兩種方法是“事前措施”,
而死鎖解除是“事后解決方案”。
(1)死鎖預(yù)防:“解鈴還需系鈴人”,隨便破壞導(dǎo)致死鎖這任意一個(gè)必要條件就可以預(yù)防死鎖。
例如,要求用戶申請(qǐng)資源時(shí)一起申請(qǐng)所需要的全部資源,這就破壞了保持和等待條件;將資源分層,
得到上一層資源后,才能夠申請(qǐng)下一層資源,它破壞了環(huán)路等待條件。預(yù)防通常會(huì)降低系統(tǒng)的效率。
(2)死鎖避免:避免是指進(jìn)程在每次申請(qǐng)資源時(shí)判斷這些操作是否安全,典型算法是“銀行家
算法”(本系列文章的卜.?篇將詳細(xì)講解該問題)。但這種算法會(huì)增加系統(tǒng)的開銷。
(3)死鎖解除:該方法的思路很簡單,通過死鎖檢測判斷系統(tǒng)是否處于死鎖狀態(tài),若死鎖,則
由系統(tǒng)強(qiáng)制剝奪部分進(jìn)程的資源,將資源強(qiáng)行分配給別的進(jìn)程。
3、判斷系統(tǒng)是否可能進(jìn)入死鎖狀態(tài)
從上面的死鎖解決方案來看,無論哪?種方式都不可避免的要增加系統(tǒng)的負(fù)擔(dān)。而同時(shí)?個(gè)系統(tǒng)
是否有可進(jìn)入死鎖狀態(tài)受系統(tǒng)資源數(shù)量,需要使用該資源的進(jìn)程數(shù)量等因素影響。若系統(tǒng)本不可能引
起死鎖,而我們采用了死鎖解決方案,是很不合理的。所以,考試中??嫉竭@樣的題型:給出系統(tǒng)的
資源數(shù),以及需要使用該資源的進(jìn)程數(shù)量等參數(shù),讓考生判斷系統(tǒng)有無可能產(chǎn)生死鎖。下面我們以例
題的方式來說明如何解決這類問題。
例題1:
系統(tǒng)有3個(gè)進(jìn)程:A、B、Co這3個(gè)進(jìn)程都需要5個(gè)系統(tǒng)資源。如果系統(tǒng)有多少個(gè)資源,則不可
能發(fā)生死鎖。
解答:
在分析這個(gè)問題時(shí),我們可以取?些簡單的數(shù)據(jù)代入試題進(jìn)行驗(yàn)證、分析,以得到相應(yīng)的規(guī)律。
如:
(1)當(dāng)系統(tǒng)資源數(shù)量為9時(shí),若給A與B分別分配了4個(gè)資源,C分配了1個(gè)資源,則系統(tǒng)中
的每個(gè)進(jìn)程都存在資源不足的情況,而都不放手自己擁有的資源。不能正常運(yùn)行完畢,發(fā)生死鎖。
(2)當(dāng)系統(tǒng)資源數(shù)量為12時(shí),若給A、B、C各分配4個(gè)資源,則死鎖。
(3)當(dāng)系統(tǒng)資源數(shù)量為13時(shí),無論如何分配,總有至少1個(gè)進(jìn)程能得到5個(gè)資源,得到5個(gè)資
源的進(jìn)程可以正常運(yùn)行完畢,而后將自己占用的資源分配給其它進(jìn)程,所以這樣能使所有進(jìn)程運(yùn)行完
畢。
從上面的嘗試,我們可以總結(jié)出一個(gè)規(guī)律:先給所有進(jìn)程分配他們所需要的資源數(shù)減1個(gè)資源,
然后系統(tǒng)如果能再剩余1個(gè)資源,則系統(tǒng)不會(huì)發(fā)生死鎖。這樣解答本題變得非常容易。
(54)*3+1=131,
例題2:
一臺(tái)計(jì)算機(jī)有10臺(tái)磁帶機(jī)被m個(gè)進(jìn)程競爭,每個(gè)進(jìn)程最多需要三臺(tái)磁帶機(jī),那么m至多為一時(shí),
系統(tǒng)沒有死鎖的危險(xiǎn)。
A.3B.4C.5D.6
解答
首先從m=6開始考察,首先每個(gè)進(jìn)程分配1臺(tái),剩下的4臺(tái)只能分配給4個(gè)進(jìn)程,還有2個(gè)進(jìn)
程沒有分配,如果已經(jīng)分配了2臺(tái)的4個(gè)進(jìn)程需要3臺(tái)的話,則系統(tǒng)就會(huì)死鎖。同樣,如果〃?=5,也
會(huì)發(fā)生這種情況。當(dāng)機(jī)=4時(shí),每個(gè)進(jìn)程可以分得2臺(tái),還有2個(gè)進(jìn)程可分得3臺(tái),則可正常運(yùn)行,
運(yùn)行完畢后可釋放資源,從而不會(huì)死鎖。在解這道題時(shí)有些學(xué)員提出“如果按照答案,"=4,則這4個(gè)
進(jìn)程都是需要3臺(tái)磁帶機(jī)的話,共需要12臺(tái)磁帶機(jī),這樣還不會(huì)死鎖?這種想法是錯(cuò)誤的,因?yàn)?/p>
并不是同時(shí)把所有進(jìn)程都分配給足夠的資源才能完成這些進(jìn)程,可以是一個(gè)進(jìn)程先執(zhí)行完,釋放完資
源再執(zhí)行另一個(gè)進(jìn)程。
例如:4個(gè)進(jìn)程中,每個(gè)進(jìn)程分配2臺(tái)磁帶機(jī),用去了8臺(tái)。剩下2臺(tái),仍然可以滿足兩個(gè)進(jìn)程,
直到他們完成,釋放他們暫用的磁帶機(jī)。
軟件設(shè)計(jì)師重點(diǎn)難點(diǎn)——流水線
流水線這個(gè)知識(shí)點(diǎn)在軟件設(shè)計(jì)師考試中是個(gè)重點(diǎn)也是個(gè)難點(diǎn),考查的頻率比較高。之所以說流水線是
個(gè)難點(diǎn),有兩方面的原因:一方面是需要理解流水線的理論,了解其工作原理,計(jì)算方式;另一方面
是在軟考當(dāng)中,對(duì)于流水線的相關(guān)計(jì)算,標(biāo)準(zhǔn)并不是完全統(tǒng)一的,這一點(diǎn)在后面我們將詳細(xì)介紹。
流水線是指在程序執(zhí)行時(shí)多條指令重疊進(jìn)行操作的種準(zhǔn)并行處理實(shí)現(xiàn)技術(shù)。各種部件同時(shí)處理
是針對(duì)不同指令而言的,它們可同時(shí)為多條指令的不同部分進(jìn)行工作,以提高各部件的利用率和指令
的平均執(zhí)行速度。
指令流水線是將指令執(zhí)行分成幾個(gè)子過程,每一個(gè)子過程對(duì)應(yīng)一個(gè)工位,我們稱為流水級(jí)或流水
節(jié)拍,這個(gè)工位在計(jì)算機(jī)里就是可以重疊工作的功能部件,稱為流水部件。
如圖1所示,IF,ID,EX,WD分別是流水線的流水部件。
圖1幾個(gè)部件組成的流水線
流水線要求所有的流水級(jí)部件必須在相同的時(shí)間內(nèi)完成各自的子過程。在流水線中,指令流動(dòng)一
步便是一個(gè)機(jī)器周期,機(jī)器周期的長度必須由最慢的流水級(jí)部件處理子過程所需的時(shí)間來決定。
那么我們?yōu)槭裁匆岢隽魉€這個(gè)概念,以及流水線是如何提高系統(tǒng)吞吐量的呢?下面我們來看
幾個(gè)圖,概念自然就清楚了。
圖2是-一個(gè)非流水線結(jié)構(gòu)系統(tǒng)執(zhí)行指令時(shí)空?qǐng)D。
圖2非流水線結(jié)構(gòu)系統(tǒng)執(zhí)行指令時(shí)空?qǐng)D
我們從圖2中可以看到,任意一個(gè)系統(tǒng)時(shí)間都有大量的設(shè)備處于空閑狀態(tài),如第?一個(gè)時(shí)間段有
ID,EX,WB空閑,則第二個(gè)時(shí)間段有IF,EX,WB空閑。
我們?cè)賮砜床捎昧肆魉€結(jié)構(gòu)的時(shí)空?qǐng)D3。
圖3流水線結(jié)構(gòu)指令時(shí)空?qǐng)D
顯然,采用流水線可以大大提升系統(tǒng)資源的利用率,以及整個(gè)系統(tǒng)的吞吐量。
流水線的操作周期取決于基本操作中最慢的那個(gè)。例如:一個(gè)3段流水線,各段的執(zhí)行時(shí)間分別
為t,2t,f.則最慢的?段為2t,所以流水線操作周期為2t。
流水線的執(zhí)行時(shí)間公式為:
第1條指令的執(zhí)行時(shí)間+(指令條數(shù)T)*流水線操作周期
例題1
若每一條指令都可以分解為取指、分析和執(zhí)行三步。己知取指時(shí)間t取指=4Z\t,分析時(shí)間to
?i=3At(執(zhí)行時(shí)間如果按串行方式執(zhí)行完100條指令需要(1)At。如果按照流水
方式執(zhí)行,執(zhí)行完100條指令需要(2)
供選擇的答案
(1)A.1190B.1195C.1200D.1205
(2)A.504B.507C.508D.510
試題分析
本題考查的是計(jì)算機(jī)系統(tǒng)指令流水線方面的基礎(chǔ)知識(shí)。根據(jù)題意可以看到,在此流水線中按串行
方式執(zhí)行完100條指令要用1200At?采用流水方式執(zhí)行,執(zhí)行的總時(shí)間的關(guān)鍵取決于最長的執(zhí)行時(shí)
間,所以執(zhí)行完100條的時(shí)間為:4At+3At+5At+(100-1)*5At=507At?
試題答案
CB
例題2
現(xiàn)采用4級(jí)流水線結(jié)構(gòu)分別完成?條指令的取指、指令譯碼和取數(shù)、運(yùn)算,以及送回運(yùn)算結(jié)果4
個(gè)基本操作,每步操作時(shí)間依次為60ns,l()0ns,5()ns和70ns。該流水線的操作周期應(yīng)為Ans。
若有一小段程序需要用20條基本指令完成(這些指令完全適合于流水線上執(zhí)行),則得到第一條指令
結(jié)果需Bns,完成該段程序需上ns。
在流水線結(jié)構(gòu)的計(jì)算機(jī)中,頻繁執(zhí)行巨指令時(shí)會(huì)嚴(yán)重影響機(jī)器的效率。當(dāng)有中斷請(qǐng)求發(fā)生時(shí),
采用不精確斷點(diǎn)法,則將_艮。
供選擇的答案
A:①50②70③100④280
B:①100②200③280@400
C:①1400②2000③2300@2600
D:①條件轉(zhuǎn)移②無條件轉(zhuǎn)移③算術(shù)運(yùn)算④訪問存儲(chǔ)器
E:①僅影響中斷反應(yīng)時(shí)間,不影響程序的正確執(zhí)行
②不僅影響中斷反應(yīng)時(shí)間,還影響程序的正確執(zhí)行
③不影響中斷反應(yīng)時(shí)間,但影響程序的正確執(zhí)行
④不影響中斷反應(yīng)時(shí)間,也不影響程序的正確執(zhí)行
試題分析
本題主要考查對(duì)流水線技術(shù)的掌握。
對(duì)于CPU來說,流水線技術(shù)實(shí)際上是一種以增加硬件換取性能的方式:把一條指令分解成多條
更小的指令,由不同的處理單元來處理,在理想的滿負(fù)荷運(yùn)行狀態(tài)下,執(zhí)行一條指令的時(shí)間雖然沒有
減少,但是由于多個(gè)處理單元同時(shí)工作,在同一時(shí)間上可以執(zhí)行不同指令的不同部分,從而使得總體
的執(zhí)行時(shí)間大大減少。流水線的操作周期取決于基本操作中最慢的那個(gè)。這里最慢的是100ns,所以
操作周期是100ns。在流水線中,其實(shí)每?條指令的執(zhí)行時(shí)間并沒有減少,而第?條指令的執(zhí)行并沒
有體現(xiàn)流水線的優(yōu)勢,它在4個(gè)操作周期后才能執(zhí)行完成,這以后每個(gè)操作周期都能完成一條指令的
執(zhí)行。
影響流水線效率的重要因素有條件轉(zhuǎn)移指令和中斷,因?yàn)樗鼈兇驍嗔肆魉€,使得流水線不得不
重新裝載。
不精確斷點(diǎn)法實(shí)現(xiàn)簡單,但是要等到流水線內(nèi)的指令完成之后再響應(yīng)中斷。
試題答案
A.③B.@C.③D.①E.②
希賽IT教育專家提示:
的兩個(gè)例題,都是軟考當(dāng)中出現(xiàn)過的真題。我們可以看出,兩個(gè)題在計(jì)算流水線時(shí)間方面,
標(biāo)準(zhǔn)并不是統(tǒng)一的。
在例題1中:
4At+3At+5At+(100-1)*5At=507Ato
而在例題2中:
100ns+100ns+100ns+100ns+(20—1)*100ns=2300ns
這兩種計(jì)算方法,都是在套用公式:“第1條指令的執(zhí)行時(shí)間+(指令條數(shù)-1)*流水線操作周期”,
而對(duì)于“第1條指令的執(zhí)行時(shí)間”的理解并不相同。在例題1中,第1條指令的執(zhí)行時(shí)間是將指令執(zhí)
行時(shí)的幾個(gè)階段所需時(shí)間相加得到,而在例題2中,認(rèn)為每一個(gè)階段所需時(shí)間都是流水線的周期時(shí)間。
其中前者是流水線的理論計(jì)算方法,而后者是我們?cè)谠O(shè)計(jì)硬件流水線時(shí),常用的方式。兩種計(jì)算方法,
從理論上來講,都是正確的,但考試時(shí),只有一個(gè)是正確答案。那么我們應(yīng)該怎么做呢?由于每次考
試中,無論認(rèn)可的是哪種計(jì)算方式,都只會(huì)把這種計(jì)算方式的正確答案放入選項(xiàng)中,而不會(huì)將兩個(gè)正
確答案都放入,所以我們?cè)谟?種方式不能得到正確選項(xiàng)時(shí),應(yīng)采用另?種方式進(jìn)行計(jì)算,來得到正
確答案。
軟件設(shè)計(jì)師重點(diǎn)難點(diǎn)——關(guān)鍵路徑
關(guān)鍵路徑這個(gè)知識(shí)點(diǎn)在軟件設(shè)計(jì)師考試中,是-?個(gè)難點(diǎn)。
說到關(guān)鍵路徑這個(gè)概念,大家應(yīng)該多少有些印象,可能都知道它是“最長路徑”而不是“最短路
徑”,但說到它為什么是最長路徑,提出這個(gè)概念的用意何在,它有什么應(yīng)用,在計(jì)算機(jī)中關(guān)鍵路徑
是如何求的等問題卻沒有幾個(gè)人能真正搞清楚,甚至?xí)辖o出了完整的例子,都有很多人看不懂。下
面我先會(huì)簡單的說明基本概念,然后以?個(gè)例子,結(jié)合平時(shí)希賽教育學(xué)員的疑問,對(duì)這個(gè)知識(shí)點(diǎn)進(jìn)行
詳細(xì)的分析。
在AOV網(wǎng)絡(luò)中,如果邊上的權(quán)表示完成該活動(dòng)所需的時(shí)間,則稱這樣的AOV為AOE網(wǎng)絡(luò)。例如,
圖1表示?個(gè)具有10個(gè)活動(dòng)的某個(gè)工程的AOE網(wǎng)絡(luò)。圖中有7個(gè)頂點(diǎn),分別表示事件1-7,其中1
表示工程開始狀態(tài),7表示工程結(jié)束狀態(tài),邊上的權(quán)表示完成該活動(dòng)所需的時(shí)間。
下面我們來理解一下關(guān)鍵路徑的思想,圖1雖節(jié)點(diǎn)不多,但是為了讓問題變得更為簡單、直觀,
我們畫另一個(gè)A0E網(wǎng)絡(luò),如圖2所示。
圖2AOE網(wǎng)絡(luò)(2)
從圖2中我們可以看出,關(guān)鍵路路徑實(shí)際上是從源點(diǎn)到目的地的最長路徑。為什么是最長路徑呢?
因?yàn)閳D中的某些事件是可以并發(fā)執(zhí)行的。如圖2所示,當(dāng)?shù)竭_(dá)VI后,可以同時(shí)往V2,V3,V4三個(gè)方
向走,而V2,V3,V4都有到VA?的路徑,且長度都為1,并且Vk是終點(diǎn),則關(guān)鍵路徑是V1-〉V2->V^
因?yàn)檫@條路徑最長,只要這條路徑到目的地V*時(shí)其他的都已經(jīng)到達(dá)V九而在這條關(guān)鍵路徑上的活動(dòng)
a2,a5稱為關(guān)鍵活動(dòng)。
為了找出給定的A0E網(wǎng)絡(luò)的關(guān)鍵活動(dòng),從而找出關(guān)鍵路徑,先定義兒個(gè)重要的量:
Ve(j),VI(j):頂點(diǎn)j事件最早、最遲發(fā)生時(shí)間。
eG)、活動(dòng)i最早、最遲開始時(shí)間。
從源點(diǎn)”到某頂點(diǎn)Vj的最長路徑長度稱為事件Vj的最早發(fā)生時(shí)間,記為哈(7九也是以
V,為起點(diǎn)的出邊以〉所表示的活動(dòng)ai的最早開始時(shí)間e(i).
在不推遲整個(gè)工程完成的前提下,一個(gè)事件%允許的最遲發(fā)生時(shí)間記為「白九顯然,
l(i)=%(力Ya,所需時(shí)間),其中j為ai活動(dòng)的終點(diǎn)。滿足條件=e(7)的活動(dòng)為關(guān)鍵活動(dòng)。
求頂點(diǎn)口的花切和〃3可按以下兩步來做。
(1)由源點(diǎn)開始向匯點(diǎn)遞推。
尸1)=。
[K(J)=MAX億⑴+d(i,/)},<%,Vj>eEi,2WJWn
其中,瓦是網(wǎng)絡(luò)中以。,為終點(diǎn)的入邊集合。
(2)由匯點(diǎn)開始向源點(diǎn)遞推。
1椒夔阡入希實(shí)n?在線載w希賽n?在線教,
[%(J)=MIN{必/)—4CA左)},<匕,Vk1
其中,氏是網(wǎng)絡(luò)中以K/為起點(diǎn)的出邊集合。
對(duì)于前面的兩個(gè)概念很多人不能理解:從源點(diǎn)開始到匯點(diǎn)遞推以后,我們已經(jīng)得到了關(guān)鍵路徑的長度,
按理把這些點(diǎn)記錄下來,就得到了關(guān)鍵路徑,為什么在此時(shí),還要從匯點(diǎn)到源點(diǎn)進(jìn)行遞推,來求關(guān)鍵
路徑,這樣豈不多此?舉?其實(shí)不是這樣的,?個(gè)AOE網(wǎng)絡(luò)中可能有多條關(guān)鍵路徑,若我們只正推過
去,只能求得一條關(guān)鍵路徑,而不能找出所有的關(guān)鍵路徑。
要求一個(gè)AOE的關(guān)鍵路徑,一般需要根據(jù)以上變量列出一張表格,逐個(gè)檢查。例如,求圖1所示
的求AOE關(guān)鍵路徑的過程如表1所示。
表1求關(guān)鍵路徑的過程
盯%VW戔O電-電
V100Ai?000
V233A2⑹000
v323As0011
66330
V4A4(4)
Vi77As?341
4A?252
v?1010a7(3)231
?8(1)660
as0770
aio(9561
因此,圖1的關(guān)鍵活動(dòng)為ai,a2?a?,a8和a$),其對(duì)應(yīng)的關(guān)鍵路徑有兩條,分別為(V1,/,Vs,
V7)和(V1,V”V5,V?),長度都是10o
其實(shí)從學(xué)員的疑問可以看出,最關(guān)鍵的問題就在于此表如何填寫。首先值得我們注意的一點(diǎn)是,對(duì)于
頂點(diǎn)的VI,V2等事件,有最早,最遲發(fā)生時(shí)間;對(duì)于邊al,a2,a3,等活動(dòng),有最早,最遲開始時(shí)
間。Ve(/)表示的是頂點(diǎn)j的最早發(fā)生時(shí)間,V10)表示的是頂點(diǎn)j的最遲發(fā)生時(shí)間,e(i)表示的是活動(dòng)i
的最早開始時(shí)間,l(i)表示的是活動(dòng)i的最遲開始時(shí)間。總的來說填這個(gè)表有以下四個(gè)步驟。
?由源點(diǎn)開始遞推計(jì)算出表1-1中的Ve(/)列;
?由Ve(7)=10,回算V10)列;
?V10)列算出后用公式1(/)=V1(/)-(az所需要的時(shí)間);
?由l(i)=e(i)找出關(guān)鍵活動(dòng),求出關(guān)鍵路徑。
下面來填寫表格,首先我們來填最早發(fā)生時(shí)間和最早開始時(shí)間。
因?yàn)橛稍袋c(diǎn)VI到頂點(diǎn)V2的最長路徑長度是3(到V2只有?條路徑,長度為3,這個(gè)很好判斷),
所以V2的最早發(fā)生時(shí)間是3,從V2出發(fā)的活動(dòng)有a4,a5,所以a4,a5的最早開始時(shí)間也是3。又
比如,到頂點(diǎn)V4的最長路徑長度是6,所以V4的最早發(fā)生時(shí)間是6,從V4出發(fā)的活動(dòng)有a8,a8的
最早開始時(shí)間也是6,其余的依次類推。
最遲發(fā)生時(shí)間和最遲開始時(shí)間要先求出關(guān)鍵路徑的長度后,再進(jìn)行逆推。通過上面求最早發(fā)生時(shí)
間,我們可以求得關(guān)鍵路徑長度為10。
現(xiàn)在可以開始逆推了。
首先由于關(guān)鍵路徑長度為10,所以V7的最遲發(fā)生時(shí)間是10,再看V6,V6到V7有alO,長度
為4,所以V6的最遲發(fā)生時(shí)間是10-4=6,同樣V5到V7有a9,長度為3,所以V5的最遲發(fā)生時(shí)間
是10-3=7,依次類推,此項(xiàng)值對(duì)應(yīng)表1中的
接下來求最遲開始時(shí)間。
V7的最遲開始時(shí)間為10,a9,alO都指向V7,a9=3,al0=4,所以a9的最遲開始時(shí)間為10-3=7,
alO的最遲開始時(shí)間為10-4=6?V6的最遲開始時(shí)間為6,a7指向V6,a7=3,所以a7的最遲開始時(shí)間
為6-3=3.此項(xiàng)值對(duì)應(yīng)表1中的l(i).
上面的這個(gè)實(shí)例是一個(gè)難度較高的例子,在我們的實(shí)際考試中,難度并沒有這么高。下面看一個(gè)考
試真題。
例題:
某工程計(jì)劃如下圖所小,各個(gè)作業(yè)所需的天數(shù)如下表所示,設(shè)該工程從第0天開工,則該工程
的最短工期是(1)天,作業(yè)J最遲應(yīng)在笫(2〉天開工。
圖3工程計(jì)劃圖
供選擇的答案:
(1)A.17B.18C.19D.20
(2)A.11B.13C.14D.16
試題分析
這是一個(gè)帶權(quán)的AOE網(wǎng)。與AOV網(wǎng)不同之處在于,AOE網(wǎng)所關(guān)心完成該工程至少需要多少時(shí)間,
哪些活動(dòng)是影響整個(gè)工程進(jìn)度的關(guān)鍵。由于AOE網(wǎng)中的某些活動(dòng)能夠并行地進(jìn)行,所以完成整個(gè)工程
所需要的時(shí)間是從開始頂點(diǎn)到結(jié)束頂點(diǎn)的最長路徑的長度,稱為關(guān)鍵路徑。本題的關(guān)鍵路徑有兩條:
(1)S玲2玲5玲4玲D;(2)S玲2玲5玲D,路徑的長度均為20。作業(yè)J最遲要在什么時(shí)候開工?由
于完成作業(yè)J后就到了匯點(diǎn)D了,所以要看關(guān)鍵路徑多長,J的需要天數(shù)是多少。J的最遲開工
=20-7=13。
試題答案
DB
軟件設(shè)計(jì)師重點(diǎn)難點(diǎn)——系統(tǒng)可靠性計(jì)算
系統(tǒng)可靠性計(jì)算是軟件設(shè)計(jì)師考試的一個(gè)重點(diǎn),近些年幾乎每次考試都會(huì)考到,但這個(gè)知識(shí)點(diǎn)的難度
不高,了解基本的運(yùn)算公式,即可輕松應(yīng)對(duì)。
可靠性計(jì)算主要涉及三種系統(tǒng),即串聯(lián)系統(tǒng)、并聯(lián)系統(tǒng)和冗余系統(tǒng),其中串聯(lián)系統(tǒng)和并聯(lián)系統(tǒng)的
可靠性計(jì)算都非常簡單”只要了解其概念,公式很容易記住。冗余系統(tǒng)要復(fù)雜一些。在實(shí)際的考試當(dāng)
中,考得最多的就是串并混合系統(tǒng)的可靠性計(jì)算。所以要求我們對(duì)串聯(lián)系統(tǒng)與并聯(lián)系統(tǒng)的特點(diǎn)有基本
的了解,對(duì)其計(jì)算公式能理解、運(yùn)用。卜.面將對(duì)這些計(jì)算的原理及公式進(jìn)行詳細(xì)的說明。
1.串聯(lián)系統(tǒng)
假設(shè)?個(gè)系統(tǒng)由n個(gè)子系統(tǒng)組成,當(dāng)且僅當(dāng)所有的子系統(tǒng)都能正常工作時(shí),系統(tǒng)才能正常工作,
這種系統(tǒng)稱為串聯(lián)系統(tǒng),如圖1所示。
-------TRi-------T&|------------------------T&|--------
輸入物出
圖1串聯(lián)系統(tǒng)
設(shè)系統(tǒng)各個(gè)子系統(tǒng)的可靠性分別用吊,將,???,旦表示,則系統(tǒng)的可靠性
/?=X/?2X,??x
Rn0
如果系統(tǒng)的各個(gè)子系統(tǒng)的失效率分別用為,42,”?,&來表示,則系統(tǒng)的失效率
4=為+/?2+?',+
2.并聯(lián)系統(tǒng)
假如一個(gè)系統(tǒng)由n個(gè)子系統(tǒng)組成,只要有一個(gè)子系統(tǒng)能夠正常工作,系統(tǒng)就能正常工作,如圖2
所示。
圖2并聯(lián)系統(tǒng)
設(shè)系統(tǒng)各個(gè)子系統(tǒng)的可靠性分別用&&,…,&表示,則系統(tǒng)的可靠性
假如所有子系統(tǒng)的失效率均為九則系統(tǒng)的失效率為〃:
在并聯(lián)系統(tǒng)中只有一個(gè)子系統(tǒng)是真正需要的,其余/T1個(gè)子系統(tǒng)都被稱為冗余子系統(tǒng)。該系統(tǒng)隨
著冗余子系統(tǒng)數(shù)量的增加,其平均無故障時(shí)間也會(huì)增加。
3.串并混合系統(tǒng)
串并混合系統(tǒng)實(shí)際上就是對(duì)串聯(lián)系統(tǒng)與并聯(lián)系統(tǒng)的綜合應(yīng)用。我們?cè)诖艘詫?shí)例說明串并混合系統(tǒng)
的可靠性如何計(jì)算。
例1:
某大型軟件系統(tǒng)按功能可劃分為2段P1和P2。為提高系統(tǒng)可靠性,軟件應(yīng)用單位設(shè)計(jì)了如下圖
給出的軟件冗余容錯(cuò)結(jié)構(gòu),其中P1和P2均有一個(gè)與其完全相同的冗余備份。若P1的可靠度為0.9,
P2的可靠度為0.9,則整個(gè)系統(tǒng)的可靠度是。
圖3串并混合系統(tǒng)
供選擇的答案
A.0.6561B.0.81C.0.9801D.0.9
試題分析
當(dāng)系統(tǒng)采用串聯(lián)方式時(shí),其可靠度R可由公式區(qū)=1?出2…Rn求得。當(dāng)系統(tǒng)采用并聯(lián)方式時(shí),其可
靠度R可由公式R=1-(1-RD*(1-R2)…(1-Rn)求得。這個(gè)系統(tǒng)總的來說是串聯(lián),但分成兩個(gè)并聯(lián)部
分。第一部分的可靠度為:Rl=l-(l-0.9)*(l-0.9)=0.99;第二部分的可靠度也為:R2=0.99;所以整
個(gè)系統(tǒng)的可靠度為:R=R1*R2=O.9801,C答案。
試題答案
C
上面的例題是屬于常規(guī)形式的可靠性計(jì)算題,如果把這種試題再撥高一個(gè)層次,可以。
例2:
1臺(tái)服務(wù)器、3臺(tái)客戶機(jī)和2臺(tái)打印機(jī)構(gòu)成了?個(gè)局域網(wǎng)(如圖4所示)。在該系統(tǒng)中,服務(wù)器
根據(jù)某臺(tái)客戶機(jī)的請(qǐng)求,數(shù)據(jù)在一臺(tái)打印機(jī)上輸出。設(shè)服務(wù)器、各客戶機(jī)及各打印機(jī)的可靠度分別為
a、b、c,則該系統(tǒng)的可靠度為。
圖4串并混合系統(tǒng)
A.ab3c3B.a(l-b3)(1-c2)
C.a(l-b)3(l-c)2D.a(l-(l-b)3)(l-(l-c)2)
例題分析
在試題給出的系統(tǒng)中,客戶機(jī)之間是并聯(lián)的(任何一臺(tái)客戶機(jī)出現(xiàn)故障,對(duì)其他客戶機(jī)沒有影響),
同理,打印機(jī)之間是也并聯(lián)關(guān)系。然后,客戶機(jī)、服務(wù)器、打印機(jī)之間再組成一個(gè)串聯(lián)關(guān)系。因此,
我們可以把該系統(tǒng)簡化為:
已知服務(wù)器、各客戶機(jī)及各打印機(jī)的可用性分別為a、b、c,因此整個(gè)系統(tǒng)的可用性為:
/?=(1-(1-b)3)a(l-(l-c)2)=a(l-(l-b)3)(l-(l-c)2)
例題答案
D
4.模冗余系統(tǒng)
W模冗余系統(tǒng)由,〃個(gè)(爐2ml為奇數(shù))相同的子系統(tǒng)和一個(gè)表決器組成,經(jīng)過表決器表決后,身
個(gè)子系統(tǒng)中占多數(shù)相同結(jié)果的輸出可作為系統(tǒng)的輸出,如圖5所示。
圖5模冗余系統(tǒng)
在w個(gè)子系統(tǒng)中,只有加1個(gè)或加1個(gè)以上的子系統(tǒng)能正常工作,系統(tǒng)就能正常工作并輸出正確
結(jié)果。假設(shè)表決器是完全可靠的,每個(gè)子系統(tǒng)的可靠性為總,則w模冗余系統(tǒng)的可靠性為:
m
E。澗a-4嚴(yán)?
2=?+1
軟件設(shè)計(jì)師重點(diǎn)難點(diǎn)——多媒體
多媒體重點(diǎn)和難點(diǎn)
1.圖形和圖象的各種格式、幾個(gè)主要的概念:
2.音頻采集計(jì)算:聲音文件的存儲(chǔ)量=采樣頻率X采樣位數(shù)X聲道數(shù)
3.視頻圖象的容量計(jì)算和國家標(biāo)準(zhǔn):圖像文件的存儲(chǔ)量=分辨率X色彩數(shù)(位)。
4.視頻的幾種集中壓縮格式:
(44)A.128Kb/sB.320Kb/sC.1.5Mb/sD.15Mb/s
(45)A.352X288B.576X352C.720X576D.1024X720
(46)A.16幀/秒B.25幀/秒C.30幀/秒D.50幀/秒
例題1:
MPEG-I編碼器輸出視頻的數(shù)據(jù)率大約為一C—。PAL制式下其圖像亮度信號(hào)的分辨率為_A_,幀
速為_B_。(多媒體)
(44)A.128Kb/sB.320Kb/sC.1.5Mb/sD.15Mb/s
(45)A.352X288B.576X352C.720X576D.1024X720
(46)A.16幀/秒B.25幀/秒C.30幀/秒D.50幀/秒
例題2:
在多媒體的音頻處理中,由于人所敏感的聲頻最高為A赫茲(Hz),因此數(shù)字音頻文件對(duì)音頻的
采樣頻率為B赫茲(Hz)。對(duì)個(gè)雙聲道的立體聲,保持1秒鐘聲音,其波形文件所需的字節(jié)數(shù)為C,
這里假設(shè)每個(gè)采樣點(diǎn)的量化位數(shù)為8位。
MIDI文件是最常用的數(shù)字音頻文件之一,MIDI是一種D,它是該領(lǐng)域國際上的一個(gè)Eo
A:①50②10k③22k④44k
B:①44.1k②20.05k③10k@88k
C:①22050②88200③176400@44100
D:①語音數(shù)字接口②樂器數(shù)字接口
③語音模擬接口④樂器模擬接口
E:①控制方式②管理規(guī)范③通信標(biāo)準(zhǔn)④輸入格式
在音頻處理中,采樣頻率是決定音頻質(zhì)量的一個(gè)重要因素,它決定了頻率響應(yīng)范圍。對(duì)聲音進(jìn)行采樣
的三種標(biāo)準(zhǔn)以及采樣頻率分別為:語音效果(11kHz)、翻微果(22kHz)、高保真效果(44.1kHz),
目前聲卡的最高采樣率為44.lKHzo
另外,一般人的聽覺帶寬為20Hz"20kHz,人敏感的聲頻最高為22kHz。
信號(hào)編碼的位數(shù)是決定音頻質(zhì)量的另?個(gè)重要因素,它決定數(shù)字采樣的可用動(dòng)態(tài)范圍利信噪比。
16位聲卡的采樣位數(shù)就是16。
聲音文件的存儲(chǔ)量等于采樣頻率X采樣位數(shù)X聲道數(shù)。如本題所求波形文件的字節(jié)數(shù)計(jì)算公式如
下:
44.1kHzX8bitX2X1秒=705.6Mbit/8=88.2MB=88200Byte
[答案]
A:③B:①C:②D:②E:③
軟件設(shè)計(jì)師重點(diǎn)難點(diǎn)——操作系統(tǒng)
一、進(jìn)程相關(guān)的概念:
進(jìn)程、線程和管程
這是?:個(gè)看起來似乎比較容易混淆的概念,所以在復(fù)習(xí)的時(shí)候?定要牢記其定義和相互之間的區(qū)
別。
*進(jìn)程
進(jìn)程是?個(gè)可并發(fā)執(zhí)行的程序在?個(gè)數(shù)據(jù)集合上的運(yùn)行過程。也就是說,它是運(yùn)行中的程序,是
程序的一次運(yùn)行活動(dòng)。在操作系統(tǒng)中,進(jìn)程是進(jìn)行系統(tǒng)資源分配、調(diào)度和管理的最小單位。
*線程
對(duì)于一些多線程程序來講,其包含兩條或兩條以上并發(fā)運(yùn)行的部分,每個(gè)部分就稱作一個(gè)線程,
每個(gè)線程都有獨(dú)立的執(zhí)行路徑。線程是處理器分配資源的最小單位。
*管程
管程是?種并發(fā)性的構(gòu)造,它包括用于分配一個(gè)共享資源或一組共享資源的數(shù)據(jù)和過程。為了完
成分配資源的功能,進(jìn)程必須調(diào)用特定的管程入口。
操作系統(tǒng)中,多任務(wù)處理一般有兩種方式:基于進(jìn)程和基于線程?;谶M(jìn)程的多任務(wù)處理的特點(diǎn)
是允許計(jì)算機(jī)同時(shí)運(yùn)行兩個(gè)或更多的程序。而基于線程的多任務(wù)處理是指?個(gè)程序可以同時(shí)執(zhí)行兩個(gè)
或者多個(gè)任務(wù)的功能。
多線程程序比多進(jìn)程程序需要更少的管理費(fèi)用。進(jìn)程是重量級(jí)的任務(wù),需要分配它們自己獨(dú)立的
地址空間。進(jìn)程間的通信和相,,轉(zhuǎn)換需要很多的開銷。而線程是輕量級(jí)的任務(wù),它們共享相同的地址
空間并且分享同一個(gè)進(jìn)程。線程間的通信和轉(zhuǎn)換開銷要小很多。
二、信號(hào)量處理:
信號(hào)量和P-V操作
為了解決進(jìn)程同步的問題,提出了信號(hào)量機(jī)制。這一機(jī)制取得了很大的發(fā)展,從整型信號(hào)量到記
錄型信號(hào)量,再進(jìn)而發(fā)展為“信號(hào)量集”機(jī)制。不過,在原理上和考試中,一般我們都只涉及整型信
號(hào)量機(jī)制。
對(duì)于互斥臨界區(qū)的管理要求:
n有空則進(jìn)
n無空等待
n兩者擇一
n有先等待
在整型信號(hào)量機(jī)制中,信號(hào)量被定義為一個(gè)整型變量,除初始化外,僅能通過兩個(gè)標(biāo)準(zhǔn)的原子操
作wait(s)和signal(s)來訪問。其通常被分別稱作P、V操作。描述如下:
P操作
I.S-1T
II.如果SCO,則該進(jìn)程進(jìn)入等待狀態(tài);否則繼續(xù)進(jìn)行
V操作
I,S+1-S
II.如果seo,則喚醒隊(duì)列中的一個(gè)等待進(jìn)程
進(jìn)程互斥的情況初值是1,而同步的初值是0
進(jìn)程同步的問題相對(duì)來說是比較復(fù)雜的,這其中一些比較經(jīng)典的進(jìn)程同步問題,如:
*生產(chǎn)者一消費(fèi)者問題
*讀者一寫者問題
*哲學(xué)家進(jìn)餐問題
三、各種調(diào)度算法:
操作系統(tǒng)中,涉及到的調(diào)度比較多,如進(jìn)程調(diào)度、作業(yè)調(diào)度、磁盤調(diào)度等。但是其調(diào)度算法的原
理都大致相同。進(jìn)程調(diào)度是比較典型的一類調(diào)度,其調(diào)度算法較多。包括:
*先來先服務(wù)
*優(yōu)先數(shù)調(diào)度
*輪轉(zhuǎn)法
*短作業(yè)優(yōu)先
通過對(duì)這些調(diào)度算法的復(fù)習(xí),對(duì)我們掌握其他種類調(diào)度的調(diào)度算法也會(huì)很有幫助。
例題:一臺(tái)PC計(jì)算機(jī)系統(tǒng)啟動(dòng)時(shí),首先執(zhí)行的是_(42)然后加載—(43)—。在設(shè)備
管理中,虛擬設(shè)備的引入和實(shí)現(xiàn)是為了充分利用設(shè)備,提高系統(tǒng)效率,采用—(44)_來模擬低速設(shè)
備(輸入機(jī)或打印機(jī))的工作。
例題:設(shè)有7項(xiàng)任務(wù),分別標(biāo)記為a、b、c、d、c、f和g,需要若干臺(tái)機(jī)器以并行工作方式
來完成,它們執(zhí)行的開始時(shí)間和完成時(shí)間如卜表所示:
信號(hào)量例題:
在某超市里有?個(gè)收銀員,且同時(shí)最多允許有n個(gè)顧客購物,我們可以將顧客和收銀員看成是兩
類不同的進(jìn)程,且工作流程如卜.圖所示。為了利用PV操作正確地協(xié)調(diào)這兩類進(jìn)程之間的工作,設(shè)置
了三個(gè)信號(hào)量SI、S2和Sn,且初值分別為0、。和n。這樣圖中的a應(yīng)填寫_C__,圖中的bl、b2應(yīng)
分別填寫—D_,圖中的cl、c2應(yīng)分別填寫一A。(操作系統(tǒng))?
軟件設(shè)計(jì)師重點(diǎn)難點(diǎn)——數(shù)據(jù)庫
1數(shù)據(jù)庫管理系統(tǒng)(DBMS)
數(shù)據(jù)庫管理系統(tǒng)(DBMS)是指DBS中對(duì)數(shù)據(jù)進(jìn)行管理的軟件系統(tǒng),它是DBS的核心成分。DBS中
所有與數(shù)據(jù)庫打交道的操作,包括建庫、查詢、更新及數(shù)據(jù)控制,都是通過DBMS進(jìn)行的。數(shù)據(jù)庫管
理系統(tǒng)總是基于某種數(shù)據(jù)庫模型,可分為網(wǎng)狀型、層次型、關(guān)系型和面向?qū)ο笮虳BMS。
數(shù)據(jù)庫管理系統(tǒng)的主要目標(biāo);把數(shù)據(jù)作為可管理的資源處理。
數(shù)據(jù)庫管理系統(tǒng)的5個(gè)重要功能:
?數(shù)據(jù)庫的定義功能:DBMS提供數(shù)據(jù)定義語言(DDL)定義數(shù)據(jù)庫的3級(jí)結(jié)構(gòu),包括外模式、概
念模式、內(nèi)模式及其相互之間的映象,定義數(shù)據(jù)的完整性約束、保密限制等條件。因此在DBMS中包
括DDL的編譯程序。
?數(shù)據(jù)庫的操縱功能:提供數(shù)據(jù)操縱語言(DML)實(shí)現(xiàn)對(duì)數(shù)據(jù)的操作。有4種基本操作:檢索(查
詢)、插入、刪除、修改。在DBMS中包括DML的編譯程序或解釋程序。
?數(shù)據(jù)庫的保護(hù)功能:DBMS對(duì)數(shù)據(jù)庫的保護(hù)主要通過4個(gè)子系統(tǒng):
A.數(shù)據(jù)庫恢復(fù)(在數(shù)據(jù)庫被破壞或數(shù)據(jù)不正確時(shí),系統(tǒng)有能力把數(shù)據(jù)庫恢復(fù)到最近某個(gè)正確的狀
態(tài)
B.數(shù)據(jù)完整性控制(保證數(shù)據(jù)庫中數(shù)據(jù)及語義的正確性和有效性,防止任何對(duì)數(shù)據(jù)錯(cuò)誤的操作)
C.多用戶環(huán)境下的并發(fā)控制。
D.數(shù)據(jù)安全性控制(防止未被授權(quán)的用戶蓄謀或無意地存取數(shù)據(jù)庫中的數(shù)據(jù),以免數(shù)據(jù)的泄露或
破壞)。
?數(shù)據(jù)庫的維護(hù)功能:這部分包括數(shù)據(jù)庫的初始數(shù)據(jù)載入、轉(zhuǎn)換功能、存儲(chǔ)功能、數(shù)據(jù)庫的改組、
性能監(jiān)視功能。
?數(shù)據(jù)字典(DD):DD管理數(shù)據(jù)庫3級(jí)結(jié)構(gòu)的定義。對(duì)于數(shù)據(jù)庫的操作都要通過查閱DD才能進(jìn)行。
現(xiàn)在有的大型系統(tǒng)中,把DD單獨(dú)抽出來自成一個(gè)系統(tǒng),成為一個(gè)系統(tǒng)工具,使得DD成為?個(gè)比DBMS
更高級(jí)的用戶與數(shù)據(jù)庫之間的接口。
要注意的是:應(yīng)用程序并不屬于DBMS的范圍。應(yīng)用程序是用主語言和DML編寫的,程序中的DML
語句由DBMS執(zhí)行,而其余部分仍由主語言編譯程序完成。
數(shù)據(jù)庫系統(tǒng)(DBS)
數(shù)據(jù)庫系統(tǒng)是一個(gè)復(fù)雜的系統(tǒng),它是采用了數(shù)據(jù)庫技術(shù)的計(jì)算機(jī)系統(tǒng)。因此,它不僅僅是一組對(duì)
數(shù)據(jù)進(jìn)行管理的軟件(即DBMS),也不僅僅是一個(gè)數(shù)據(jù)庫。它是一個(gè)實(shí)際可運(yùn)行的、按照數(shù)據(jù)庫方
法存儲(chǔ)、維護(hù)和向應(yīng)用系統(tǒng)提供數(shù)據(jù)支持的系統(tǒng)。它是存儲(chǔ)介質(zhì)、處理對(duì)象和管理系統(tǒng)的集合體,由
數(shù)據(jù)庫DB、硬件支持系統(tǒng)、軟件支持系統(tǒng)和數(shù)據(jù)庫管理員DBA這四部分組成。
2SQL語句
?基本表的定義可用"CREATETABLE"語句實(shí)現(xiàn),增加屬性可以用ALTER...ADD.”語句,刪
除屬性可以用“ALTER...DROP.語句;刪除已存在的表可用“DROPTABLE.語句。
?視圖的定義和撤消
?索引的定義和撤銷
?SELECT查詢語句
?DELETE刪除語句
?INSERT插入語句
?UPDATE語句
3關(guān)系運(yùn)算
專門的關(guān)系運(yùn)算包括選擇、投影、連接、除等。
1?選擇(Selection)
選擇又稱為限制(Restriction)。它是在關(guān)系R中選擇滿足給定條件的諸元組,記作:
oF(R)={titeRAF(t)='真'}
其中F表示選擇條件,它是一個(gè)邏輯表達(dá)式,取邏輯值'真'或'假'。
邏輯表達(dá)式F的基本形式為:
XIeY1[<1>X2eY2]
0表示比較運(yùn)算符,它可以是〉、多、<、W、=或片。XI、Y1等是屬性名或常量或簡單函數(shù)。
屬性名也可以用它的序號(hào)來代替。山表示邏輯運(yùn)算符,它可以是偎、△或V。[]表示任選項(xiàng),即口
中的部分可以要也可以不要,.一表示上述格式可以重復(fù)下去。
因此選擇運(yùn)算實(shí)際上是從關(guān)系R中選取使邏輯表達(dá)式F為真的元組。這是從行的角度進(jìn)行的運(yùn)算。
舉例
設(shè)有一個(gè)學(xué)生-課程關(guān)系數(shù)據(jù)庫,包括學(xué)生關(guān)系Student、課程關(guān)系Course和選修關(guān)系SC。下面
的許多例子將對(duì)這三個(gè)關(guān)系進(jìn)行運(yùn)算。
例1查詢信息系(IS系)全體學(xué)生
。Sdept='IS"(Student)或。5=,IS'(Student)
例2查詢年齡小于20歲的元組
oSage<20(Student)
或。4<20(Student),
2.投影(Projection)
關(guān)系R上的投影是從R中選擇出若干屬性列組成新的關(guān)系。記作:
nA(R)={t[A]|teR}
其中A為R中的屬性列。
舉例
例3查詢學(xué)生關(guān)系Student在學(xué)生姓名和所在系兩個(gè)屬性上的投影:
nSname,Sdept(Student)
或
n2,5(Student)
結(jié)果如圖2-7(a).
投影之后不僅取消了原關(guān)系中的某些列,而且還可能取消某些元組,因?yàn)槿∠四承傩粤泻螅?/p>
就可能出現(xiàn)重復(fù)行,應(yīng)取消這些完全相同的行。
例4查詢學(xué)生關(guān)系Student中都有哪些系,即查詢學(xué)生關(guān)系Student在所在系屬性上的投影
ITSdept(Student)
投影之后不僅取消了原關(guān)系中的某些列,而且還可能取消某些元
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 自建樓房買賣合同
- 房產(chǎn)抵押反擔(dān)保合同
- 企業(yè)信息化管理系統(tǒng)建設(shè)與維護(hù)合同
- 體育賽事活動(dòng)策劃與執(zhí)行合同
- 養(yǎng)豬場生產(chǎn)經(jīng)營合同
- 重慶護(hù)理職業(yè)學(xué)院《化工儀表自動(dòng)化》2023-2024學(xué)年第二學(xué)期期末試卷
- Unit 2 Topic 1 Section C 教學(xué)設(shè)計(jì) 2024-2025學(xué)年仁愛科普版八年級(jí)英語上冊(cè)
- 沈陽科技學(xué)院《漆畫創(chuàng)作》2023-2024學(xué)年第二學(xué)期期末試卷
- 《人的正確的思想從哪里來》教學(xué)設(shè)計(jì)
- 哈爾濱學(xué)院《文化創(chuàng)意理論與實(shí)踐》2023-2024學(xué)年第二學(xué)期期末試卷
- 供電所安全第一課
- 新能源汽車底盤概論課件
- 全腦血管造影術(shù)的護(hù)理查房
- 學(xué)習(xí)弘揚(yáng)紅船精神課件
- 消防工程施工組織設(shè)計(jì)方案
- 敦刻爾克大撤退課件
- 農(nóng)藥殘留監(jiān)測
- 新生兒敗血癥(共22張課件)
- 頌缽療愈師培訓(xùn)
- 2025蛇年春節(jié)習(xí)俗大賞體驗(yàn)感受家的溫馨課件
- 投資居間協(xié)議合同模板
評(píng)論
0/150
提交評(píng)論