計算機演算法基礎第三版
1. 計算機操作系統第三版 湯子瀛編著的 第四章的課後題答案能發給我一下嗎
第四章 存儲器管理
1. 為什麼要配置層次式存儲器?
這是因為:
a.設置多個存儲器可以使存儲器兩端的硬體能並行工作。
b.採用多級存儲系統,特別是Cache技術,這是一種減輕存儲器帶寬對系統性能影響的最佳結構方案。
c.在微處理機內部設置各種緩沖存儲器,以減輕對存儲器存取的壓力。增加CPU中寄存器的數量,也可大大緩解對存儲器的壓力。
2. 可採用哪幾種方式將程序裝入內存?它們分別適用於何種場合?
將程序裝入內存可採用的方式有:絕對裝入方式、重定位裝入方式、動態運行時裝入方式;絕對裝入方式適用於單道程序環境中,重定位裝入方式和動態運行時裝入方式適用於多道程序環境中。
3. 何為靜態鏈接?何謂裝入時動態鏈接和運行時動態鏈接?
a.靜態鏈接是指在程序運行之前,先將各自目標模塊及它們所需的庫函數,鏈接成一個完整的裝配模塊,以後不再拆開的鏈接方式。
b.裝入時動態鏈接是指將用戶源程序編譯後所得到的一組目標模塊,在裝入內存時,採用邊裝入邊鏈接的一種鏈接方式,即在裝入一個目標模塊時,若發生一個外部模塊調用事件,將引起裝入程序去找相應的外部目標模塊,把它裝入內存中,並修改目標模塊中的相對地址。
c.運行時動態鏈接是將對某些模塊的鏈接推遲到程序執行時才進行鏈接,也就是,在執行過程中,當發現一個被調用模塊尚未裝入內存時,立即由OS去找到該模塊並將之裝入內存,把它鏈接到調用者模塊上。
4. 在進行程序鏈接時,應完成哪些工作?
a.對相對地址進行修改
b.變換外部調用符號
6. 為什麼要引入動態重定位?如何實現?
a.程序在運行過程中經常要在內存中移動位置,為了保證這些被移動了的程序還能正常執行,必須對程序和數據的地址加以修改,即重定位。引入重定位的目的就是為了滿足程序的這種需要。
b.要在不影響指令執行速度的同時實現地址變換,必須有硬體地址變換機構的支持,即須在系統中增設一個重定位寄存器,用它來存放程序在內存中的起始地址。程序在執行時,真正訪問的內存地址是相對地址與重定位寄存器中的地址相加而形成的。
9. 分區存儲管理中常採用哪些分配策略?比較它們的優缺點。
分區存儲管理中常採用的分配策略有:首次適應演算法、循環首次適應演算法、最佳適應演算法、最壞適應演算法。
a.首次適應演算法的優缺點:保留了高址部分的大空閑區,有利於後到來的大型作業的分配;低址部分不斷被劃分,留下許多難以利用的、小的空閑區,且每次分區分配查找時都是從低址部分開始,會增加查找時的系統開銷。
b.循環首次適應演算法的優缺點:使內存中的空閑分區分布得更為均勻,減少了查找時的系統開銷;缺乏大的空閑分區,從而導致不能裝入大型作業。
c.最佳適應演算法的優缺點:每次分配給文件的都是最適合該文件大小的分區;內存中留下許多難以利用的小的空閑區。
d.最壞適應演算法的優缺點:給文件分配分區後剩下的的空閑區不至於太小,產生碎片的幾率最小,對中小型文件分配分區操作有利;使存儲器中缺乏大的空閑區,對大型文件的分區分配不利。
10. 在系統中引入對換後可帶來哪些好處?
能將內存中暫時不運行的進程或暫時不用的程序和數據,換到外存上,以騰出足夠的內存空間,把已具備運行條件的進程或進程所需的程序和數據換入內存,從而大大地提高了內存的利用率。
12. 在以進程為單位進行對換時,每次是否將整個進程換出?為什麼?
在以進程為單位進行對換時,並非每次將整個進程換出。這是因為:
a.從結構上講,進程是由程序段、數據段和進程式控制制塊組成的,其中進程式控制制塊總有部分或全部常駐內存,不被換出。
b.程序段和數據段可能正被若干進程共享,此時它們也不能被換出。
13. 為實現分頁存儲管理,需要哪些硬體支持?
需要有頁表機制、地址變換機構的硬體支持。
16. 為什麼說分段系統較之分頁系統更易於實現信息共享和保護?
a.對於分頁系統,每個頁面是分散存儲的,為了實現信息共享和保護,則頁面之間需要一一對應起來,為此需要建立大量的頁表項;
b.而對於分段系統,每個段都從0開始編址,並採用一段連續的地址空間,這樣在實現共享和保護時,只需為所要共享和保護的程序設置一個段表項,將其中的基址與內存地址一一對應起來即可。
17. 分頁和分段有何區別?
a.分頁和分段都採用離散分配的方式,且都要通過地址映射機構來實現地址變換,這是它們的共同點;
b.對於它們的不同點有三,第一,從功能上看,頁是信息的物理單位,分頁是為實現離散分配方式,以消減內存的外零頭,提高內存的利用率,即滿足系統管理的需要,而不是用戶的需要;而段是信息的邏輯單位,它含有一組其意義相對完整的信息,目的是為了能更好地滿足用戶的需要;第二頁的大小固定且由系統確定,而段的長度卻不固定,決定於用戶所編寫的程序;第三分頁的作業地址空間是一維的,而分段的作業地址空間是二維的。
18. 試全面比較連續分配和離散分配方式。
a.連續分配是指為一個用戶程序分配一個連續的地址空間,包括單一連續分配方式和分區式分配方式,前者將內存分為系統區和用戶區,系統區供操作系統使用,用戶區供用戶使用,是最簡單的一種存儲方式,但只能用於單用戶單任務的操作系統中;分區式分配方式分為固定分區和動態分區,固定分區是最簡單的多道程序的存儲管理方式,由於每個分區的大小固定,必然會造成存儲空間的浪費;動態分區是根據進程的實際需要,動態地為之分配連續的內存空間,常用三種分配演算法: 首次適應演算法,該法容易留下許多難以利用的小空閑分區,加大查找開銷;循環首次適應演算法,該演算法能使內存中的空閑分區分布均勻,但會致使缺少大的空閑分區;最佳適應演算法,該演算法也易留下許多難以利用的小空閑區;
b.離散分配方式基於將一個進程直接分散地分配到許多不相鄰的分區中的思想,分為分頁式存儲管理,分段存儲管理和段頁式存儲管理. 分頁式存儲管理旨在提高內存利用率,滿足系統管理的需要,分段式存儲管理則旨在滿足用戶(程序員)的需要,在實現共享和保護方面優於分頁式存儲管理,而段頁式存儲管理則是將兩者結合起來,取長補短,即具有分段系統便於實現,可共享,易於保護,可動態鏈接等優點,又能像分頁系統那樣很好的解決外部碎片的問題,以及為各個分段可離散分配內存等問題,顯然是一種比較有效的存儲管理方式;
c.綜上可見,連續分配方式和離散分配方式各有各自的特點,應根據實際情況加以改進和利用.
19. 虛擬存儲器有哪些特徵?其中最本質的特徵是什麼?
特徵:離散性、多次性、對換性、虛擬性;
最本質的特徵:離散性;最重要的特徵:虛擬性。
20. 實現虛擬存儲器需要哪些硬體支持?
a.對於為實現請求分頁存儲管理方式的系統,除了需要一台具有一定容量的內存及外存的計算機外,還需要有頁表機制,缺頁中斷機構以及地址變換機構;
b.對於為實現請求分段存儲管理方式的系統,除了需要一台具有一定容量的內存及外存的計算機外,還需要有段表機制,缺段中斷機構以及地址變換機構;
21. 實現虛擬存儲器需要哪幾個關鍵技術?
a.分頁和分段都採用離散分配的方式,且都要通過地址映射機構來實現地址變換,這是它們的共同點;
25. 在請求分頁系統中,通常採用哪種頁面分配方式——物理塊分配策略?
三種分配方式:固定分配局部置換、可變分配全局置換、可變分配局部置換。
26. 在一個請求分頁系統中,採用FIFO頁面置換演算法時,假如一個作業的頁面走向為4、3、2、1、4、3、5、4、3、2、1、5,當分配給該作業的物理塊數M分別為3和4時,試計算在訪問過程中所發生的缺頁次數和缺頁率,並比較所得結果。
4 3 2 1 4 3 5 4 3 2 1 5
4
4 4 1 1 1 5 5 5
3 3 3 4 4 4 2 2
2 2 2 3 3 3 1
4 4 4 4 5 5 5 5 1 1
3 3 3 3 4 4 4 4 5
2 2 2 2 3 3 3 3
1 1 1 1 2 2 2
M=3時,採用FIFO頁面置換演算法的缺頁次數為9次,缺頁率為75%;
M=4時,採用FIFO頁面置換演算法的缺頁次數為10次,缺頁率為83%。
由此可見,增加分配給作業的內存塊數,反而增加了缺頁次數,提高了缺頁率,這種現象被稱為是Belady現象。
28. 試說明改進型Clock置換演算法的基本原理。
基本原理:
在將一個頁面換出時,如果該頁已被修改過,便須將該頁重新寫回到磁碟上;但如果該頁未被修改過,則不必將它寫回磁碟上。在改進型演算法中,除需考慮頁面的使用情況外,還須再增加一個因素,即置換代價,這樣,選擇頁面換出時,既要是未使用過的頁面,又要是未被修改過的頁面。
15 什麼是抖動? 產生抖動的原因是什麼?
a.抖動(Thrashing)就是指當內存中已無空閑空間而又發生缺頁中斷時,需要從內存中調出一頁程序或數據送磁碟的對換區中,如果演算法不適當,剛被換出的頁很快被訪問,需重新調入,因此需再選一頁調出,而此時被換出的頁很快又要被訪問,因而又需將它調入,如此頻繁更換頁面,使得系統把大部分時間用在了頁面的調進換出上,而幾乎不能完成任何有效的工作,我們稱這種現象為"抖動"。
b.產生抖動的原因是由於CPU的利用率和多道程序度的對立統一矛盾關系引起的,為了提高CPU利用率,可提高多道程序度,但單純提高多道程序度又會造成缺頁率的急劇上升,導致CPU的利用率下降,而系統的調度程序又會為了提高CPU利用率而繼續提高多道程序度,形成惡性循環,我們稱這時的進程是處於"抖動"狀態。
2. 求數值計算方法 第三版 李有法 朱建新 課後答案
數值計算方法如下:
1、有限元法:有限元方法的基礎是變分原理和加權餘量法,其基本求解思想是把計算域劃分為有限個互不重疊的單元,在每個單元內,選擇一些合適的節點作為求解函數的插值點,將微分方程中的變數改寫成由各變數或其導數的節點值與所選用的插值函數組成的線性表達式。
藉助於變分原理或加權餘量法,將微分方程離散求解。採用不同的權函數和插值函數 形式,便構成不同的有限元方法。
在有限元方法中,把計算域離散剖分為有限個互不重疊且相互連接的單元,在每個單元內選擇基函數,用單元基函數的線形組合來逼近單元中的真解,整個計算域上總體的基函數可以看為由每個單元基函數組成的,則整個計算域內的解可以看作是由所有單元 上的近似解構成。
根據所採用的權函數和插值函數的不同 ,有限元方法也分為多種計算格式。從權函數的選擇來說,有配置法、矩量法、最小二乘法和伽遼金法,從計算單元網格的形狀來劃分,有三角形網格、四邊形網格和多邊形網格,從插值函數的精度來劃分,又分為線性插值函數和高次插值函數等。不同的組合 同樣構成不同的有限元計算格式。
2、多重網格方法:多重網格方法通過在疏密不同的網格層上進行迭代,以平滑不同頻率的誤差分量。具有收斂速度快,精度高等優點。
多重網格法基本原理微分方程的誤差分量可以分為兩大類,一類是頻率變化較緩慢的低頻分量;另一類是頻率高,擺動快的高頻分量。
一般的迭代方法可以迅速地將擺動誤差衰減,但對那些低頻分量,迭代法的效果不是很顯著。高頻分量和低頻分量是相對的,與網格尺度有關,在細網格上被視為低頻的分量,在粗網格上可能為高頻分量。
多重網格方法作為一種快速計算方法,迭代求解由偏微分方程組離散以後組成的代數方程組,其基本原理在於一定的網格最容易消除波長與網格步長相對應的誤差分量。
該方法採用不同尺度的網格,不同疏密的網格消除不同波長的誤差分量,首先在細網格上採用迭代法,當收斂速度變緩慢時暗示誤差已經光滑,則轉移到較粗的網格上消除與該層網格上相對應的較易消除的那些誤差分量,這樣逐層進行下去直到消除各種誤差分量,再逐層返回到細網格上。
3、有限差分方法:有限差分方法(FDM)是計算機數值模擬最早採用的方法,至今仍被廣泛運用。該方法將求解域劃分為差分網格,用有限個網格節點代替連續的求解域。
有限差分法以Taylor級數展開等方法,把控制方程中的導數用網格節點上的函數值的差商代替進行離散,從而建立以網格節點上的值為未知數的代數方程組。該方法是一種直接將微分問題變為代數問題的近似數值解法,數學概念直觀,表達簡單,是發展較早且比較成熟的數值方法。
對於有限差分格式,從格式的精度來劃分,有一階格式、二階格式和高階格式。從差分的空間形式來考慮,可分為中心格式和逆風格式。考慮時間因子的影響,差分格式還可以分為顯格式、隱格式、顯隱交替格式等。
構造差分的方法有多種形式,目前主要採用的是泰勒級數展開方法。其基本的差分表達式主要有三種形式:
一階向前差分、一階向後差分、一階中心差分和二階中心差分等,其中前兩種格式為一階計算精度,後兩種格式為二階計算精度。通過對時間和空間這幾種不同差分格式的組合,可以組合成不同的差分計算格式。
4、有限體積法:有限體積法(Finite Volume Method)又稱為控制體積法。其基本思路是:將計算區域劃分為一系列不重復的控制體積,並使每個網格點周圍有一個控制體積;將待解的微分方程對每一個控制體積積分,便得出一組離散方程。其中的未知數是網格點上的因變數的數值。
為了求出控制體積的積分,必須假定值在網格點之間的變化規律,即假設值的分段的分布的分布剖面。從積分區域的選取方法看來,有限體積法屬於加權剩餘法中的子區域法;從未知解的近似方法看來,有限體積法屬於採用局部近似的離散方法。簡言之,子區域法屬於有限體積發的基本方法。
有限體積法的基本思路易於理解,並能得出直接的物理解釋。離散方程的物理意義,就是因變數在有限大小的控制體積中的守恆原理,如同微分方程表示因變數在無限小的控 制體積中的守恆原理一樣。
限體積法得出的離散方程,要求因變數的積分守恆對任意一組控制體積都得到滿足,對整個計算區域,自然也得到滿足。這是有限體積法吸引人的優點。有一些離散方法,例如有限差分法,僅當網格極其細密時,離散方程才滿足積分守恆。
而有限體積法即使在粗網格情況下,也顯示出准確的積分守恆。就離散方法而言,有限體積法可視作有限單元法和有限差分法的中間物。有限單元法必須假定值在網格點之間的變化規律(既插值函數),並將其作為近似解。
有限差分法只考慮網格點上的數值而不考慮值在網格點之間如何變化。有限體積法只尋求的結點值 ,這與有限差分法相類似;但有限體積法在尋求控制體積的積分時,必須假定值在網格點之間的分布,這又與有限單元法相類似。
在有限體積法中,插值函數只用於計算控制體積的積分,得出離散方程之後,便可忘掉插值函數;如果需要的話,可以對微分方程 中不同的項採取不同的插值函數。
5、近似求解的誤差估計方法:近似求解的誤差估計方法共有三大類:單元餘量法,通量投射法及外推法。
單元餘量法廣泛地用於以FEM離散的誤差估計之中,它主要是估計精確運算元的餘量,而不是整套控制方程的全局誤差。
這樣就必須假定周圍的單元誤差並不相互耦合,誤差計算採用逐節點演算法進行。單元餘量法的各種不同做法主要來自對單元誤差方程的邊界條件的不同處理辦法。基於此,該方法能夠有效處理局部的殘餘量,並能成功地用於網格優化程序。
通量投射法的基本原理來自一個很簡單的事實:精確求解偏微分方程不可能有不連續的微分,而近似求解卻可以存在微分的不連續,這樣產生的誤差即來自微分本身,即誤差為系統的光滑求解與不光滑求解之差。該方法與單元餘量法一樣,對節點誤差採用能量范數,故也能成功地用於網格優化程序。
單元餘量法及通量投射法都局限於局部的誤差計算(採用能量范數),誤差方程的全局特性沒有考慮。另外計算的可行性(指誤差估計方程的計算時間應小於近似求解計算時間)不能在這兩種方法中體現,因為獲得的誤差方程數量,階數與流場控制方程相同。
外推是指採用後向數值誤差估計思想由精確解推出近似解的誤差值。各類文獻中較多地採用Richardson外推方法來估計截斷誤差。無論是低階還是高階格式,隨著網格的加密數值計算結果都會趨近於准確解。但由於計算機內存與計算時間的限制,實際上不能採用這種網格無限加密的辦法。
6、多尺度計算方法:近年來發展的多尺度計算方法包括均勻化方法、非均勻化多尺度方法、以及小波數值均勻化方法、多尺度有限體積法、多尺度有限元法等。
該方法通過對單胞問題的求解,把細觀尺度的信息映射到宏觀尺度上,從而推導出宏觀尺度上的均勻化等式,即可在宏觀尺度上求解原問題。均勻化方法在很多科學和工程應用中取得了巨大成功,但這種方法建立在系數細觀結構周期性假設的基礎上,因此應用范圍受到了很大限制。
鄂維南等提出的非均勻化多尺度方法,是構造多尺度計算方法的一般框架。該方法有兩個重要的組成部分:基於宏觀變數的整體宏觀格式和由微觀模型來估計缺少的宏觀數據,多尺度問題的解通過這兩部分共同得到。
該方法基於多分辨分析,在細尺度上建立原方程的離散運算元,然後對離散運算元進行小波變換,得到了大尺度上的數值均勻化運算元。此方法在大尺度上解方程,大大地減小了計算時間。
該法在宏觀尺度上進行網格剖分,然後通過在每個單元里求解細觀尺度的方程(構造線性或者振盪的邊界條件)來獲得基函數。從而把細觀尺度的信息反應到有限元法的基函數里,使宏觀尺度的解包含了細觀尺度的信息。但多尺度有限元方法在構造基函數時需要較大的計算量。
藉助於變分原理或加權餘量法,將微分方程離散求解。採用不同的權函數和插值函數 形式,便構成不同的有限元方法。
在有限元方法中,把計算域離散剖分為有限個互不重疊且相互連接的單元,在每個單元內選擇基函數,用單元基函數的線形組合來逼近單元中的真解,整個計算域上總體的基函數可以看為由每個單元基函數組成的,則整個計算域內的解可以看作是由所有單元 上的近似解構成。
根據所採用的權函數和插值函數的不同 ,有限元方法也分為多種計算格式。從權函數的選擇來說,有配置法、矩量法、最小二乘法和伽遼金法,從計算單元網格的形狀來劃分,有三角形網格、四邊形網格和多邊形網格,從插值函數的精度來劃分,又分為線性插值函數和高次插值函數等。不同的組合 同樣構成不同的有限元計算格式。
2、多重網格方法:多重網格方法通過在疏密不同的網格層上進行迭代,以平滑不同頻率的誤差分量。具有收斂速度快,精度高等優點。
多重網格法基本原理微分方程的誤差分量可以分為兩大類,一類是頻率變化較緩慢的低頻分量;另一類是頻率高,擺動快的高頻分量。
一般的迭代方法可以迅速地將擺動誤差衰減,但對那些低頻分量,迭代法的效果不是很顯著。高頻分量和低頻分量是相對的,與網格尺度有關,在細網格上被視為低頻的分量,在粗網格上可能為高頻分量。
多重網格方法作為一種快速計算方法,迭代求解由偏微分方程組離散以後組成的代數方程組,其基本原理在於一定的網格最容易消除波長與網格步長相對應的誤差分量。
該方法採用不同尺度的網格,不同疏密的網格消除不同波長的誤差分量,首先在細網格上採用迭代法,當收斂速度變緩慢時暗示誤差已經光滑,則轉移到較粗的網格上消除與該層網格上相對應的較易消除的那些誤差分量,這樣逐層進行下去直到消除各種誤差分量,再逐層返回到細網格上。
3、有限差分方法:有限差分方法(FDM)是計算機數值模擬最早採用的方法,至今仍被廣泛運用。該方法將求解域劃分為差分網格,用有限個網格節點代替連續的求解域。
有限差分法以Taylor級數展開等方法,把控制方程中的導數用網格節點上的函數值的差商代替進行離散,從而建立以網格節點上的值為未知數的代數方程組。該方法是一種直接將微分問題變為代數問題的近似數值解法,數學概念直觀,表達簡單,是發展較早且比較成熟的數值方法。
對於有限差分格式,從格式的精度來劃分,有一階格式、二階格式和高階格式。從差分的空間形式來考慮,可分為中心格式和逆風格式。考慮時間因子的影響,差分格式還可以分為顯格式、隱格式、顯隱交替格式等。
構造差分的方法有多種形式,目前主要採用的是泰勒級數展開方法。其基本的差分表達式主要有三種形式:
一階向前差分、一階向後差分、一階中心差分和二階中心差分等,其中前兩種格式為一階計算精度,後兩種格式為二階計算精度。通過對時間和空間這幾種不同差分格式的組合,可以組合成不同的差分計算格式。
4、有限體積法:有限體積法(Finite Volume Method)又稱為控制體積法。其基本思路是:將計算區域劃分為一系列不重復的控制體積,並使每個網格點周圍有一個控制體積;將待解的微分方程對每一個控制體積積分,便得出一組離散方程。其中的未知數是網格點上的因變數的數值。
為了求出控制體積的積分,必須假定值在網格點之間的變化規律,即假設值的分段的分布的分布剖面。從積分區域的選取方法看來,有限體積法屬於加權剩餘法中的子區域法;從未知解的近似方法看來,有限體積法屬於採用局部近似的離散方法。簡言之,子區域法屬於有限體積發的基本方法。
有限體積法的基本思路易於理解,並能得出直接的物理解釋。離散方程的物理意義,就是因變數在有限大小的控制體積中的守恆原理,如同微分方程表示因變數在無限小的控 制體積中的守恆原理一樣。
限體積法得出的離散方程,要求因變數的積分守恆對任意一組控制體積都得到滿足,對整個計算區域,自然也得到滿足。這是有限體積法吸引人的優點。有一些離散方法,例如有限差分法,僅當網格極其細密時,離散方程才滿足積分守恆。
而有限體積法即使在粗網格情況下,也顯示出准確的積分守恆。就離散方法而言,有限體積法可視作有限單元法和有限差分法的中間物。有限單元法必須假定值在網格點之間的變化規律(既插值函數),並將其作為近似解。
有限差分法只考慮網格點上的數值而不考慮值在網格點之間如何變化。有限體積法只尋求的結點值 ,這與有限差分法相類似;但有限體積法在尋求控制體積的積分時,必須假定值在網格點之間的分布,這又與有限單元法相類似。
在有限體積法中,插值函數只用於計算控制體積的積分,得出離散方程之後,便可忘掉插值函數;如果需要的話,可以對微分方程 中不同的項採取不同的插值函數。
5、近似求解的誤差估計方法:近似求解的誤差估計方法共有三大類:單元餘量法,通量投射法及外推法。
單元餘量法廣泛地用於以FEM離散的誤差估計之中,它主要是估計精確運算元的餘量,而不是整套控制方程的全局誤差。
這樣就必須假定周圍的單元誤差並不相互耦合,誤差計算採用逐節點演算法進行。單元餘量法的各種不同做法主要來自對單元誤差方程的邊界條件的不同處理辦法。基於此,該方法能夠有效處理局部的殘餘量,並能成功地用於網格優化程序。
通量投射法的基本原理來自一個很簡單的事實:精確求解偏微分方程不可能有不連續的微分,而近似求解卻可以存在微分的不連續,這樣產生的誤差即來自微分本身,即誤差為系統的光滑求解與不光滑求解之差。該方法與單元餘量法一樣,對節點誤差採用能量范數,故也能成功地用於網格優化程序。
單元餘量法及通量投射法都局限於局部的誤差計算(採用能量范數),誤差方程的全局特性沒有考慮。另外計算的可行性(指誤差估計方程的計算時間應小於近似求解計算時間)不能在這兩種方法中體現,因為獲得的誤差方程數量,階數與流場控制方程相同。
外推是指採用後向數值誤差估計思想由精確解推出近似解的誤差值。各類文獻中較多地採用Richardson外推方法來估計截斷誤差。無論是低階還是高階格式,隨著網格的加密數值計算結果都會趨近於准確解。但由於計算機內存與計算時間的限制,實際上不能採用這種網格無限加密的辦法。
6、多尺度計算方法:近年來發展的多尺度計算方法包括均勻化方法、非均勻化多尺度方法、以及小波數值均勻化方法、多尺度有限體積法、多尺度有限元法等。
該方法通過對單胞問題的求解,把細觀尺度的信息映射到宏觀尺度上,從而推導出宏觀尺度上的均勻化等式,即可在宏觀尺度上求解原問題。均勻化方法在很多科學和工程應用中取得了巨大成功,但這種方法建立在系數細觀結構周期性假設的基礎上,因此應用范圍受到了很大限制。
鄂維南等提出的非均勻化多尺度方法,是構造多尺度計算方法的一般框架。該方法有兩個重要的組成部分:基於宏觀變數的整體宏觀格式和由微觀模型來估計缺少的宏觀數據,多尺度問題的解通過這兩部分共同得到。
該方法基於多分辨分析,在細尺度上建立原方程的離散運算元,然後對離散運算元進行小波變換,得到了大尺度上的數值均勻化運算元。此方法在大尺度上解方程,大大地減小了計算時間。
該法在宏觀尺度上進行網格剖分,然後通過在每個單元里求解細觀尺度的方程(構造線性或者振盪的邊界條件)來獲得基函數。從而把細觀尺度的信息反應到有限元法的基函數里,使宏觀尺度的解包含了細觀尺度的信息。但多尺度有限元方法在構造基函數時需要較大的計算量。
3. 急求《計算機導論》第三版的 清華大學出版社的 課後習題答案,黃國興的。。
是這個嗎?
復制的·
http://..com/question/80651958.html
第1章 概 述
習題(答案)
一.選擇題
1. D 2. B 3. CD 4. C 5. ABC
6. A 7. B 8. B 9. ABCD 10. ABCDE
二.簡答題
1.什麼是計算機系統?
計算機系統是一種能夠按照事先存儲的程序,自動、高速地對數據進行輸入、處理、輸出和存儲的系統,由計算機硬體系統和計算機軟體系統兩大部分組成。
2.請解釋馮•諾依曼所提出的「存儲程序」概念。
把程序和數據都以二進制的形式統一存放在存儲器中,由機器自動執行。不同的程序解決不同的問題,實現了計算機通用計算的功能。
3.控制器的主要功能是什麼?
控制器基本功能就是從內存中取出指令和執行指令,即控制器按程序計數器指出的指令地址從內存中取出該指令進行解碼,然後根據該指令功能向有關部件發出控制命令,執行該指令。另外,控制器在工作過程中,還要接受各部件反饋回來的信息。
4.簡述CPU和主機的概念。
通常把運算器、控制器做在一個大規模集成電路塊上稱為中央處理器,又稱CPU(Central Processing Unit)。
通常把內存儲器、運算器和控制器合稱為計算機主機,也可以說主機是由CPU與內存儲器組成的,而主機以外的裝置稱為外部設備,外部設備包括輸入/輸出設備,外存儲器等。
5.什麼是計算機軟體?計算機軟體的分類有哪些?
軟體是指用來指揮計算機運行的各種程序的總和以及開發、使用和維護這些程序所需的技術文檔。
計算機軟體系統分為系統軟體和應用軟體。計算機系統軟體由操作系統、語言處理系統、以及各種軟體工具等組成,指揮、控制計算機硬體系統按照預定的程序運行、工作,從而達到預定的目標。應用軟體是用戶利用計算機軟、硬體資源為解決各類應用問題而編寫的軟體,包括用戶程序及其說明性文件資料。
6.計算機有哪些主要的特點?
(1)運算速度快、精度高
計算機的字長越長,其精度越高,現在世界上最快的計算機每秒可以運算幾十萬億次以上。一般計算機可以有十幾位甚至幾十位(二進制)有效數字,計算精度可由千分之幾到百萬分之幾,是任何計算工具所望塵莫及的。
(2)具有邏輯判斷和記憶能力
計算機有準確的邏輯判斷能力和高超的記憶能力。能夠進行各種邏輯判斷,並根據判斷的結果自動決定下一步應該執行的指令。
(3)高度的自動化和靈活性
計算機採取存儲程序方式工作,即把編好的程序輸入計算機,機器便可依次逐條執行,這就使計算機實現了高度的自動化和靈活性。
7.計算機的分類有哪些?
根據計算機工作原理和運算方式的不同,以及計算機中信息表示形式和處理方式的不同,計算機可分為數字式電子計算機(Digital Computer)、模擬式電子計算機(Analog Computer)和數字模擬混合計算機(Hybrid Computer)。當今廣泛應用的是數字計算機,因此,常把數字式電子計算機(Electronic Digital Computer)簡稱為電子計算機或計算機。
按計算機的用途可分為通用計算機(General Purpose Computer)和專用計算機(Special Purpose Computer )兩大類。通用計算機能解決多種類型問題,是具有較強通用性的計算機,一般的數字式電子計算機多屬此類;專用計算機是為解決某些特定問題而專門設計的計算機,如嵌入式系統。
根據計算機的總體規模對計算機分類,可分為巨型機(Super Computer)、大/中型計算機(Mainframe)、小型計算機(Mini computer)、微型計算機(Micro computer)和網路計算機(Network Computer)五大類。
常見的微型機還可以分為台式機、便攜機、筆記本電腦、掌上型電腦等多種類型。
8.簡述計算機的基本運行方式。
計算機的基本運作方式可概括為所謂的「IPOS循環」。IPOS循環即輸入(Input)、處理(Processing)、輸出(Output)和存儲(Storage),它反映了計算機進行數據處理的基本步驟。
(1)輸入
接受由輸入設備(如鍵盤、滑鼠器、掃描儀等)提供的數據。
(2)處理
對數值、邏輯、字元等各種類型的數據進行操作,按指定的方式進行轉換。
(3)輸出
將處理所產生的結果等數據由輸出設備(如顯示器、列印機、繪圖儀等)進行輸出。
(4)存儲
計算機可以存儲程序和數據供以後使用。
9.計算機有哪些主要的用途?
(1)科學計算
使用計算機來完成科學研究和工程技術中所遇到的數學問題的計算稱為科學計算,也稱為數值計算。科學計算是使用計算機完成在科學研究和工程技術領域中所提出的大量復雜的數值計算問題,是計算機的傳統應用之一。
(2)信息處理
所謂信息處理就是使用計算機對數據進行輸入、分類、加工、整理、合並、統計、製表、檢索以及存儲等,又稱為數據處理。例如座席預訂與售票系統、零售業中的應用、辦公自動化等。信息處理已成為當代計算機的主要任務,是現代化管理的基礎。
(3)實時控制(也稱過程式控制制)
實時控制也稱過程式控制制,實時控制能及時地採集檢測數據、使用計算機快速地進行處理並自動地控制被控對象的動作,實現生產過程的自動化。
(4)計算機輔助設計/輔助製造/輔助教學
計算機輔助設計(Computer Aided Design——CAD)是使用計算機來輔助人們完成產品或工程的設計任務的一種方法和技術。計算機輔助製造(Computer Aided Manufacturing——CAM)是使用計算機輔助人們完成工業產品的製造任務,能通過直接或間接地與工廠生產資源介面的計算機來完成製造系統的計劃、操作工序控制和管理工作的計算機應用系統。計算機輔助教學(Computer Aided Instruction——CAI)是把計算機用作教學媒體,使它充當指導者、工具和學習者角色,學生通過與計算機的對話進行學習的一種新型教學技術。
(5)人工智慧
人工智慧(Artificial Intelligence——AI)就是指計算機模擬人類某些智力行為的理論、技術和應用。
(6)多媒體技術
隨著電子技術特別是通信和計算機技術的發展,人們已經有能力把文本、音頻、視頻、動畫、圖形和圖像等各種媒體綜合起來,構成「多媒體」(Multimedia)的概念。
10.簡述計算機的發展趨勢。
(1)微型化
一方面,隨著計算機的應用日益廣泛,在一些特定場合,需要很小的計算機,計算機的重量、體積都變得越來越小,但功能並不減少。另一方面,隨著計算機在世界上日益普及,個人電腦正逐步由辦公設備變為電子消費品。人們要求電腦除了要保留原有的性能之外,還要有時尚的外觀、輕便小巧、便於操作等特點,如平板電腦、手持電腦等。今後個人計算機(Personal Computer)在計算機中所佔的比重將會越來越大,使用也將會越來越方便。
(2)巨型化
社會在不斷發展,人類對自然世界的認識活動也越來越多,很多情況要求計算機對數據進行運算。「巨型化」在這里並不是通常意義上的大小,主要是指機器的性能——運算速度等。
(3)網路化
網際網路(Internet)的建立正在改變我們的世界,改變我們的生活。網路具有虛擬和真實兩種特性,網上聊天和網路游戲等具有虛擬特性,而網路通信、電子商務、網路資源共享則具有真實的特性。
(4)智能化
今後,計算機在生活中扮演的角色將會更加重要,計算機應用將具有更多的智能特性,能夠幫助用戶解決—些自己不熟悉或不願意做的事,如智能家電、烹調等。
(5)新型計算機
目前新一代計算機正處在設想和研製階段。新一代計算機是把信息採集、存儲處理、通信和人工智慧結合在一起的計算機系統。
11.簡述計算學科的定義、計算學科的本質、計算學科的三個過程。
計算學科是對描述和變換信息的演算法過程,包括對理論分析、設計、效率、實現和應用等進行的系統研究。計算學科的研究包括了從演算法與可計算性的研究到根據可計算硬體和軟體的實際實現問題的研究。
計算學科的根本問題是「什麼能被有效地自動進行?」。計算學科的根本問題討論的是能行性的有關內容,而凡是與能行性有關的討論都是處理離散對象的。
計算學科的實質是學科方法論的思想,其關鍵問題是抽象、理論和設計三個過程相互作用的問題。
(1)理論
理論是數學科學的根本。應用數學家們都認為,科學的進展都是基於純數學的。應用數學用數學的方法推動經驗科學和工程學的發展,同時又不斷刺激對新數學的需要,為純理論數學提出新的問題。
(2)抽象
抽象(模型化)是自然科學的根本。科學家們相信,科學進展的過程基本上都是形成假設,然後用模型化過程去求證。
(3)設計
設計是工程的根本。工程師們認為,工程進展基本上都是提出問題,然後通過設計去構造系統,以解決問題。
12.簡述計算機科學與技術學科的定義。
計算機科學技術是研究計算機的設計與製造和利用計算機進行信息獲取、表示、存儲、處理、控制等的理論、原則、方法和技術的學科,包括科學與技術兩方面。科學側重於研究現象、揭示規律;技術則側重於研製計算機和研究使用計算機進行信息處理的方法與技術手段。科學是技術的依據,技術是科學的體現;技術得益於科學,它又向科學提出新的課題。
13.簡述計算機科學課程體系的核心內容。
計算學科課程體系的教學內容歸結為14個知識體,包括:
(1)離散結構(PS)
計算學科是以離散型變數為研究對象,離散數學對計算技術的發展起著十分重要的作用。隨著計算技術的迅猛發展,離散數學越來越受到重視。
(2)程序設計基礎(PF)
《計算作為一門學科》報告指出了程序設計在計算學科的正確地位:程序設計是計算學科課程中固定練習的一部分,是每一個計算學科專業的學生應具備的能力,是計算學科核心科目的一部分,程序設計語言還是獲得計算機重要特性的有力工具。
(3)演算法與復雜性(AL)
演算法是計算機科學和軟體工程的基礎,現實世界中,任何軟體系統的性能僅依賴於兩個基本點方面,一方面是所選擇的演算法;另一方面是各不同層次實現的適宜性和效率。
(4)組織與體系結構(AR)
計算機在計算中處於核心地位,如果沒有計算機,計算學科只是理論數學的一個分支,應該對計算機系統的功能構件、以及他們的特點/性能和相互作用有一定的理解。
(5)操作系統(OS)
操作系統定義了對硬體行為的抽象,程序員用它來對硬體進行控制。操作系統還管理計算機用戶間的資源共享。
(6)網路計算(NC)
計算機和通信網路的發展,尤其是基於TCP/IP的網路的發展使得網路技術在計算學科中更加重要。
(7)程序設計語言(PL)
程序設計語言是程序員與計算機交流的主要工具。一個程序員不僅要知道如何使用一種語言進行程序設計,還應理解不同語言的程序設計風格。
(8)人-機交互(HL)
人機交互重點在於理解人對互動式對象的交互行為,知道如何使用以人為中心的方法開發和評價交互軟體系統,以及人機交互設計問題的一般知識。
(9)圖形學和可視化計算(GV)
該主領域的主要內容包括:計算機圖形學、可視化、虛擬現實、計算機視覺等4 個學科子領域的研究內容。
(10)智能系統(IS)
人工智慧領域關心的問題是自主代理的設計和分析。智能系統必須干知其環境,合理地朝著指定的任務行動,並與其它代理和人進行交互。
(11)信息管理(IM)
信息系統幾乎在所有使用計算機的場合都發揮著重要的作用。
(12)軟體工程(SE)
軟體工程是關於如何有效地利用建立滿足用戶和客戶需求的軟體系統理論/知識和實踐的學科,可以應用於小型、中型、大型系統。
(13)數值計算科學(CN)
從計算學科的誕生之日起,科學計算的數值方法和技術就構成了計算機科學研究的一個主要領域。
(14)社會和職業問題(SP)
大學生需要懂得計算學科本身基本的文化、社會、法律和道德問題。還需要培養學生提出有關計算的社會影響這樣嚴肅問題以及對這些問題的可能答案進行評價的能力。學生還需要認識到軟硬體銷售商和用戶的基本法律權利,也應意識到這些權利的基本基礎——道德價值觀。
三.討論題
1.計算機的產生是世紀最偉大的成就之一,具體體現在哪些方面?根據你的觀察,請列出計算機的應用。
答案略。
2.計算機提供了無限的機會和挑戰。利用它可以更快更好地完成許多事情,可以方便地和全世界的人們聯系和通信。但是,是否想過事情的反面呢?所有的變化都是積極的么?計算機的廣泛使用會產生什麼負面的影響嗎?討論這些問題和其他所能想到的問題。
答案略。
是這個嗎?
4. 請大家幫忙總結 985高校 計算機科學專業 的所有上課用的教材
你非要讓我總結這個,其實現在教材這方面對於教學質量也不是非常的重要,而且他們可能會有新版出現,我這里就隨便給你總結一下,當年我們上課用的一些教材。
但是因為我記不太清楚,所以我不知道,如果你可以的話還是可以選擇去相關的網站上查閱一下。
總結
當然,如果你覺得這些不對的話,其實也可以在網上進行搜索,很多國外名校的一些教材也還是非常不錯的。
5. 學習c語言看什麼書好
啥都不需要·
再去書店找本書,這本書有以下幾個特點:
1.一頁上寫的字不多,行高比較高
2.圖多~就是截圖節的多
3.例子多
4.你一拿住就知道這本書是你想看的~~
5.表聽別人跟風似得說什麼書好就買什麼,每個人的情況不一樣~
這不是
一個沒學過英語的人說我砸看不懂英文了~?
沒什麼,沒入門而已~
我2年前入的門,現在已經在寫操作系統了~~
剛入門那時候我也是什麼都不懂~慢慢的通過某個例子,明白了一些基本的東東,後面就是積累,整理了,沒入門之前啥咚咚都是很深奧的~
c語言么~其最最基本的就是下面這個例子
這就是一個可以運行的c語言程序,但是它裡面什麼都沒做~但他的的確確就是個完整的程序~
程序再大也只是在main裡面再多甜點東東~
main()
{
}
哈哈·~就是初學者都是那樣~~
不然雜叫菜鳥了~~
512167281
還沒收到~
搞定~~我這會兒下q了~晚上回來說·