




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第1章計算機系統(tǒng)導論
1.1概論
1.1.1計算機系統(tǒng)的發(fā)展簡史
計算機已經(jīng)歷了50多年的發(fā)展。在這個過程中,最重
要的代表人物是英國科學家艾蘭?圖靈和美籍匈牙利科學家
馮?諾依曼。
艾蘭?圖靈對現(xiàn)代計算機發(fā)展的主要貢獻是建立了圖靈
機的理論模型,發(fā)展了可計算性理論和提出了定義機器智能
的圖靈(AI)測試。
1936年,圖靈發(fā)表了名為《論可計算的數(shù)及其在密碼問
題的應用》的論文。該文首次提出邏輯機(logicMachine)
的通用模型。人們把該模型稱為圖靈機(縮寫TM)。實踐
證明:TM不能解決的計算問題,實際計算機也不可能解決;
只有TM能夠解決的計算問題,實際計算機才有可能解決。
但對還有些問題,TM可以計算而實際計算機還不能實現(xiàn)的。
在這個基礎上發(fā)展了可計算性理論
圖靈機的計算能力概括了數(shù)字計算機的計算能力。TM
能識別的語言屬于遞歸可枚舉集合,它能計算的問題稱為部
分遞歸函數(shù)的整數(shù)函數(shù)。圖靈機對數(shù)字計算機的一般結構、
可實現(xiàn)性和局限性產(chǎn)生了意義深遠的影響。直到今天,人們
還在研究各種形式的圖靈機。
1950年10月,圖靈發(fā)表了另一篇名為《計算機器與智
能》的論文。指出:如果一臺機器對于質問的響應與人類做
出的響應完全無法區(qū)別,則這臺機器就具有智能。人們把這
一論斷稱為圖靈測試,它奠定了人工智能的理論基礎。
艾蘭?圖靈對計算機科學做出了巨大貢獻,但其生前并未
得到社會的重視。在他死后,為紀念艾蘭?圖靈的理論成就,
美國計算機協(xié)會(ACM)專門設立了圖靈獎。從1966年至
今已有幾十位各國一流的計算機科學家獲得此項殊榮。圖靈
獎也就成為計算機學術界的最高成就獎。
馮?諾依曼是美籍匈牙利數(shù)學家。第二次世界大戰(zhàn)以前,
主要以算子理論、量子理論、集論以及博弈論等方面的研究
聞名。戰(zhàn)后從事研制第一臺電子計算機工作,并把計算機應
用于核武器設計和天氣預報等方面。
1944年8月到1945年6月,當時在洛斯阿拉莫斯國家
試驗室從事核武器研究工作的馮?諾依曼,成為人類第一臺電
子計算機“ENIAC”小組的顧問,首先提出在電子計算機中
存儲程序的概念,并在設計第一臺具有存儲程序功能的計算
機EDVAC上起到了關鍵作用。
EDVAC是電子離散變量計算機的縮寫。它使用水銀延
遲線主存儲器,用磁鼓作輔存儲器。由運算器、邏輯控制器、
存儲器、輸入和輸出五部分組成。為充分發(fā)揮電子元件的高
性能,指令和數(shù)據(jù)用二進制形式存入計算機的記憶裝置,讓
計算機能自動地執(zhí)行程序。
馮?諾依曼提出的存儲程序思想和計算機硬件的基本結
構,確立了現(xiàn)代計算機的基本結構。幾十年來,計算機發(fā)生
了極大的變化。但從硬件體系結構看,目前所有的通用數(shù)字
計算機基本采用的都是計算機經(jīng)典結構一一馮?諾依曼結
構。該結構的特點是:
⑴使用單一處理部件來完成計算、存儲及通信工作。
⑵線性組織的定長存儲單元。
⑶存儲空間的單元是直接尋址的。
⑷使用機器語言,其指令是完成基本操作的簡單操作。
⑸對計算進行集中的順序控制。
綜上可知,計算機是孕育于英國,誕生于美國,成長于
全世界。根據(jù)計算機所采用物理器件的發(fā)展,一般把計算機
的發(fā)展分成四個階段(或稱四代),如P2表1-1所示。
1.1.2計算機系統(tǒng)的應用領域
計算機的出現(xiàn),使人類從繁重的機械腦力勞動中解放出
來,使人類能集中更多的精力從事高級的創(chuàng)造與發(fā)明。隨著
計算機技術的飛速發(fā)展,計算機已廣泛深入到社會生活的各
個領域,并對人類社會的發(fā)展產(chǎn)生了巨大影響?,F(xiàn)將計算機
的應用領域大體歸納概括為以下六個方面:
1.科學計算
又稱數(shù)值計算。指用于完成科學研究和工程技術中提出
的數(shù)學問題的計算。這是計算機發(fā)明之初,且目前仍是計算
機應用的一個十分重要的領域。這類問題的特點是數(shù)據(jù)量不
大,而計算量和數(shù)值變化范圍很大。例如,衛(wèi)星軌道計算、
導彈發(fā)射參數(shù)計算、天氣預報、建筑結構受力分析等。
科學計算主要應用在三個方面:①人工難以完成的復雜
的科學運算。②對計算速度有要求的一些科學計算。③用計
算機進行實驗(數(shù)值模擬)。
利用計算機的快速、精確的特點,可以提高科學研究和
工程設計的質量,縮短研制時間,降低研制成本。
2.信息處理
又稱數(shù)據(jù)處理或非數(shù)值計算,指用計算機管理各種形式
的數(shù)據(jù)資料,按不同的要求進行歸納、整理、分析和統(tǒng)計,
向使用者提供信息存儲、檢索等服務。這是目前計算機應用
最廣泛的一個領域。其特點是處理的數(shù)據(jù)量大,但計算方法
較簡單,處理結果往往以表格或文件形式存儲或通過輸出設
備輸出。
如今,數(shù)據(jù)處理廣泛應用于辦公自動化、文字處理、企
業(yè)管理、事務管理、情報管理等。面對浩如煙海的各種各樣
的信息,用計算機進行處理,大大提高工作效率與工作質量。
使人們從大量的事務性工作中解放出來。
3.自動控制
也稱過程控制或實時控制,指用計算機及時采集數(shù)據(jù),
將數(shù)據(jù)處理后,按最佳值迅速對控制對象進行控制。
計算機加上敏感檢測元件(傳感器)及控制機構,可構
成自動控制系統(tǒng)。計算機及時檢測傳感器的參數(shù),迅速將參
數(shù)提供給計算機進行快速處理,然后根據(jù)處理結果對控制系
統(tǒng)進行相應的操作,達到實時控制的目的。實時是指計算機
的運算、控制時間與被控制過程的真實時間相適應,實時性
是以計算機速度為基礎的。
將實時控制運用于工業(yè)生產(chǎn)中,對于提高生產(chǎn)效率、降
低成本、改進產(chǎn)品質量等方面都有明顯效果。目前,自動控
制已在冶金、化工、紡織、機械、航天和軍事現(xiàn)代化等方面
得到廣泛的應用。
4.計算機輔助系統(tǒng)
這是近年來迅速發(fā)展的一個新應用領域,目前常見的輔
助系統(tǒng)包括:
計算機輔助設計(CAD)指借助于計算機進行設計。即
借助于計算機的強大功能,對飛機、船舶、建筑物、機械設
備、服裝和大規(guī)模集成電路等進行設計。
計算機輔助制造(CAM)指利用計算機進行生產(chǎn)設備的
管理、控制和操作的技術。通常CAM的發(fā)展是依賴CAD的
發(fā)展而發(fā)展,因此在許多系統(tǒng)中,兩者總是結合還一起,稱
為CAD/CAM系統(tǒng)。
隨著計算機技術的高速發(fā)展,生產(chǎn)的全面自動化已是當
今發(fā)展的必然趨勢,在CAD/CAM系統(tǒng)的基礎上,更高級的
計算機集成制作系統(tǒng)(CIMS),將人、機器、材料、資金
和信息五類活動有機的結合起來,從而達到設計、制造和管
理過程自動化的系統(tǒng)。
計算機輔助教育(CBE)包括:計算機輔助教學(CAI)、
計算機輔助測試(CAT)和計算機管理教學(CMI)o近年
來由于多媒體技術和網(wǎng)絡技術的發(fā)展,推動了CBE的發(fā)展,
網(wǎng)上教學和遠程教學已廣泛地展開。
5.人工智能(AI)
又稱智能模擬,指使計算機應用知識進行推理、學習及
其他認識和思維的活動,來模擬人類的某些智力活動,從而
代替人的大腦的一些功能。
人工智能探索和模擬人的感覺和思維的過程,是在控制
論、計算機科學、仿生學和心理學等基礎上發(fā)展起來的新興
邊緣學科,是計算機理論科學的一個領域。主要研究感覺與
思維模型的建立,圖像、聲音和物體的識別。
人工智能的研究方法是以知識工程為基礎,即使用計算
機收集、獲取有用的知識、組織知識,建立高質量的知識庫,
使用知識并利用邏輯推理解決問題。
專家系統(tǒng)是知識庫系統(tǒng)的一種,它是一種基于知識的計
算機程序系統(tǒng),能夠模擬專門領域中的專家求解問題,對所
面臨的復雜問題,做出專家水平的鑒定。它已用于化學、醫(yī)
學、地質學、氣象學、農(nóng)業(yè)、軍事等領域。
6.網(wǎng)絡通信
計算機技術與通信技術相結合,產(chǎn)生的計算機網(wǎng)絡,促
進人類由工業(yè)社會向信息社會的過渡。依靠計算機網(wǎng)絡可實
現(xiàn)信息交換、前端處理、語音和影像輸入/輸出等。特別是利
用計算機網(wǎng)絡,可實現(xiàn)跨地區(qū)、跨國界的信息資源傳輸和共
享,提高了信息的利用率。
計算機在Internet上的應用更是雨后春筍般地快速發(fā)展。
通過互聯(lián)網(wǎng)將各種形態(tài)的信息(如文字數(shù)據(jù)、聲音、圖像等)
在全世界交互傳輸(即信息高速公路)。通過互聯(lián)網(wǎng)進行相
互關聯(lián)的動態(tài)商務活動(即電子商務)等。
總之,隨著人類社會的進步,計算機的應用將會得到更
進一步的拓展和深入。隨著網(wǎng)絡通信的發(fā)展、人工智能的開
發(fā)和完善,計算機將真正成為人們得心應手的工具。
1.1.3計算機的主要技術指標
1.運算速度
指計算機進行數(shù)值計算或信息處理的快慢程度,用計算
機每秒執(zhí)行簡單指令的次數(shù)來表示。指令的執(zhí)行是在計算機
時鐘節(jié)拍的控制下進行,所以時鐘頻率越高,運算速度越快。
2.字長
指計算機一次并行處理的位數(shù),它取決于微機的內存儲
器或寄存器。通常,字長越長,用來表示數(shù)的有效位就越多,
數(shù)的精度就越高。為了能使用戶按需要選取字長,有些機器
可以進行半字長、雙倍字長或多倍字長的運算。
3.存儲容量
內存容量的大小,決定了可運行程序的大小和程序的運
行效率。外存容量的大小則決定整個微機系統(tǒng)存儲數(shù)據(jù)、文
件的能力。
4.輸入/輸出數(shù)據(jù)的傳送率
是主機與外部設備進行數(shù)據(jù)交換的速率,用“字符/分”
表不。
5.系統(tǒng)可靠性與可維護性
計算機連續(xù)無故障運行的平均間隔時間,稱為系統(tǒng)可靠
性,用小時表示。系統(tǒng)無故障運行時間越長則系統(tǒng)可靠性越
高。計算機發(fā)生故障的平均修復時間,稱為系統(tǒng)可維護性。
6.軟件配置
主要看所配置的操作系統(tǒng)是否先進,必要的軟件(如各
種常用的高級語言)是否配齊,應用軟件是否豐富。
7.可聯(lián)網(wǎng)性
是否允許連網(wǎng)以及聯(lián)網(wǎng)的方便程度,也是微機系統(tǒng)的一
個重要技術指標。
1.2計算機系統(tǒng)組成及工作原理
1.2.1計算機系統(tǒng)組成
計算機系統(tǒng)由硬件和軟件兩大部分組成。硬件是指用電
子器件和機電裝置組成的計算機實體。軟件一般是指面向某
個應用領域或解決某一類特定問題以及實現(xiàn)計算機自身管
理的各種程序的總稱,前者稱為應用程序,后者稱為系統(tǒng)軟
件。
1.計算機硬件
馮?諾依曼型計算機結構由:運算器、控制器、存儲器、
輸入設備和輸出設備五部分組成。。它們之間的邏輯關系如
卜圖所示。
輸
輸
入
入
設
設
備
備
控制器
圖中,實線為控制線,虛線為反饋線,雙線為數(shù)據(jù)線。
各部件的功能為:
運算器:又稱算術邏輯運算單元。負責對數(shù)據(jù)進行算術
運算和邏輯運算。算術運算包括加、減、乘、除的操作,邏
輯運算包括移位、與、或、異或、非等操作。
控制器:是整個計算機的指揮中心,其主要功能是:根
據(jù)操作指令控制計算機各部件協(xié)調一致、自動連續(xù)地進行工
作。它一方面向各部件發(fā)出執(zhí)行任務的命令,另一方面又接
受各部件的反饋信息,并把這些信息作為下一步發(fā)出命令的
條件。
控制器和運算器合稱為中央處理器,簡稱CPU。是一臺
計算機的核心和關鍵。它的性能的好壞對一臺計算機整體性
能的好壞起著至關重要的作用。
存儲器:計算機的記憶部件。它的主要功能是:在控制
器的控制下,保存計算機工作程序和在執(zhí)行程序過程中所需
要的原始數(shù)據(jù)及計算機在運行過程中所產(chǎn)生的中間數(shù)據(jù)和
結果數(shù)據(jù)。
根據(jù)存儲器在計算機中的位置不同,存儲器可分為主存
儲器和輔助存儲器兩大類。主存儲器又稱為內存儲器,用來
存放當前運行的程序及所需數(shù)據(jù),其容量相對較小,但存取
速度快。輔助存儲器又稱為外存儲器,用來存放當前不直接
參加運行的程序和數(shù)據(jù)。其容量相對較大,但存取速度慢。
外存通常采用軟磁盤、硬磁盤以及光盤、磁帶等。
輸入設備:將用戶信息,如程序、數(shù)據(jù)等轉換成計算機
內部能夠識別的信號,輸入到計算機中。常見的輸入設備有
鍵盤、鼠標等。
輸出設備:將計算機運行結果信息轉換成人能接受的形
式輸出,供用戶察看。常見的輸出設備有顯示器、打印機等。
輸入設備、輸出設備統(tǒng)稱為外部設備,簡稱“外設”。
一般地,外設還包括外存儲器。
計算機硬件系統(tǒng)各部件之間是通過總線連接的,所謂總
線就是一束同類信號線。根據(jù)總線所傳遞的信息性質不同,
總線可分為地址總線(AB)——負責傳遞有關內存或接口的
地址信息;數(shù)據(jù)總線(DB)——負責傳遞數(shù)據(jù)信息;和控制
總線(CB)——負責傳遞各種控制信息。
馮?諾依曼結構為計算機的發(fā)展奠定了基礎,但是“集中
的順序控制”又成為計算機性能進一步提高的瓶頸。因此,
計算機科學家一直在探索各種各樣的非馮?諾依曼結構。
如數(shù)據(jù)流計算機,其工作原理與傳統(tǒng)的馮?諾依曼計算
機不同。馮?諾依曼計算機的基本特點是在程序計數(shù)器的集
中控制下順序執(zhí)行指令,因此是以控制流方式工作的。而數(shù)
據(jù)流計算機是以數(shù)據(jù)驅動的數(shù)據(jù)流方式工作的:只要一條或
一組指令所要求的操作數(shù)全部準備就緒,就可立即激發(fā)相應
指令或指令組的執(zhí)行。而執(zhí)行結果將送往等待這一數(shù)據(jù)的下
一條或下一組指令。如果其中一些指令因此而得到所需用到
的數(shù)據(jù),又可被立即激發(fā)執(zhí)行。因此,在這種機器上不需要
程序計數(shù)器。指令的執(zhí)行基本上是無序的,完全受數(shù)據(jù)流的
驅動,與指令在程序中出現(xiàn)的先后順序無關。
2.計算機軟件
軟件是指揮整個計算機硬件工作的程序的集合。它包括
機器運行時所需要的各種程序和有關資料(如設計說明、使
用說明、維護說明等)。脫離軟件的計算機硬件系統(tǒng)是不能
做任何有意義工作的。因此,一臺性能優(yōu)良的計算機硬件系
統(tǒng)能否發(fā)揮其應有的功能,取決于為之所設計的系統(tǒng)軟件是
否完善,開發(fā)或配備的應用軟件是否豐富。
因此,在使用、開發(fā)計算機時,不僅要了解其硬件系統(tǒng)
的構成,還必須熟悉與之相應的各種軟件。綜上所述,計算
機硬件和軟件共同組成了計算機系統(tǒng)。其基本組成如下:
「運算器(ALU)
r箕源器{控制器
C主機<
、主存儲器
‘硬件(「鍵盤、鼠標
「輸入輸出設備1
、顯示器、打印機
I外設Y
磁帶
'輔存儲器
計算機系統(tǒng){磁盤
操作系統(tǒng)
,系統(tǒng)
「軟件語言處理系統(tǒng)
服務程序(編輯、診斷等)
軟件V
程序庫
專用軟件r數(shù)值計算
「公用軟件<
通用軟件)I數(shù)據(jù)處理
軟件包
綜上所述,計算機硬件和軟件共同組成了計算機系統(tǒng)。
一個實際的計算機系統(tǒng),具體的硬件和軟件的配置要根據(jù)其
規(guī)模、應用場合和對計算機功能的要求等來綜合決定。
1.2.2計算機硬件與軟件的關系
計算機硬件與軟件的關系主要體現(xiàn)在以下三個方面:
1.互相依存
計算機硬件與軟件的產(chǎn)生與發(fā)展本身就是相輔相成、互
選促進的。硬件是軟件的基礎和依托,軟件是發(fā)揮硬件功能
的關鍵,是計算機的靈魂。缺少哪一部分,計算機都無法運
行。另外,許多硬件所能達到的功能常常需要通過軟件的配
合來實現(xiàn)。如操作系統(tǒng)的許多功能的實現(xiàn),都需要硬件支持。
2.無嚴格界面
在許多情況下軟、硬件之間的界面是浮動的。即計算機
某些功能既可由硬件實現(xiàn),也可以由軟件實現(xiàn)。隨著計算機
技術的發(fā)展,一些過去只能用軟件實現(xiàn)的功能,現(xiàn)在也可以
用硬件來實現(xiàn),且速度和可靠性都大為提高。而原來一些硬
件實現(xiàn)的操作也可以改由軟件來實現(xiàn),稱為硬件軟化。這可
以有效地降低硬件成本。
3.相互促進
計算機硬件與軟件之間是相互依賴、相互影響、相互促
進的關系。硬件技術的發(fā)展對軟件提出新的要求,促進軟件
的發(fā)展;反之,軟件的發(fā)展又對硬件提出新的課題。
1.2.3計算機的工作原理
50多年來,計算機體系結構發(fā)生了重大變化。但從本質
上講,其工作原理都是存儲程序原理——是現(xiàn)代計算機的結
構基礎。
1.程序和指令
用計算機解決一個具體任務,必須根據(jù)該任務編寫一個
程序,并將其裝入計算機,計算機通過運行該程序獲得結果。
例如要解一道復雜的數(shù)學問題,就必須把該問題的求解
過程分解為若干步驟,然后依次其轉換成計算機能執(zhí)行的基
本操作命令的序列,其中每一條計算機能執(zhí)行的基本操作命
令稱為機器指令——人們對計算機發(fā)出的工作命令。這個指
令序列就稱為程序——實現(xiàn)既定任務的指令序列。計算機按
程序安排的順序執(zhí)行每條指令,就能完成解題任務。
機器指令必須滿足兩個條件:⑴機器指令要用計算機能
夠理解的數(shù)字編碼形式表示。⑵機器指令規(guī)定的操作必須是
計算機能夠執(zhí)行的,即每條機器指令要和實現(xiàn)此指令操作的
電子線路相對應。否則,這些指令就無法在機器中實現(xiàn)。
一般地,每條指令必須指明其操作性質(如加、減、乘、
除、比較大小等)和參加操作的有關信息(如數(shù)據(jù)或數(shù)據(jù)存
放的地址等)。
通常一條指令包含操作碼、工作方式及操作對象三部分
內容,其格式如下:
操作碼工作方式碼操作對象
操作碼指定該指令所執(zhí)行的操作;工作方式碼表示對操
作對象的尋址方式;操作對象給出操作數(shù)的有關信息。
機器指令由計算機硬件執(zhí)行,機器指令的集合稱為指令
系統(tǒng)(或稱為機器語言)一一決定了計算機的功能,也影響
著計算機的結構。不同機器的指令系統(tǒng)所具有的指令種類和
數(shù)目不同。無論指令系統(tǒng)差異多么大,但從功能角度分類,
指令可分為:數(shù)據(jù)傳送類、算術和邏輯運算類、程序控制類
(也稱轉移類)、外部設備類、各種控制管理機器類的指令。
指令的不同組合方式構成了完全不同任務的程序。
2.存儲程序工作原理
計算機要實現(xiàn)自動連續(xù)工作,它必須能自動按程序中規(guī)
定的順序取出要執(zhí)行的指令,然后執(zhí)行指令規(guī)定的操作。因
此,計算機要解決兩個問題:
⑴應能知道什么時候到什么地點去取哪條指令。
⑵執(zhí)行一條指令后,能自動去取要執(zhí)行的下一條指令。
為解決這兩個問題,計算機中設置了一個擔任指揮功能
的部件一一程序計數(shù)器。當計算機工作時,控制器只要告訴
它第一條指令存放的地方,它就能按照一定的順序依次取出
每條指令,分析識別后,執(zhí)行該指令規(guī)定的操作。然后再取
下一條,分析執(zhí)行,直到完成全部指令任務為止。
由上可知,計算機的基本工作原理可概括如下:
⑴計算機的自動執(zhí)行(或自動處理)過程是執(zhí)行一段預
先編制好的程序的過程。
⑵程序是指令的有序集合。因此,執(zhí)行程序的過程實際
上是逐條執(zhí)行指令的過程。
⑶指令的逐條執(zhí)行是由計算機硬件實現(xiàn)的,可歸結為取
指令、分析指令、執(zhí)行指令所規(guī)定的操作,并為取下一條指
令準備好指令地址。如此重復操作,直至執(zhí)行完程序中的全
部指令,便可獲得最終結果。
需要指出的事,現(xiàn)代計算機系統(tǒng)已提供強有力的高級語
言翻譯程序,計算機的用戶已無須再用指令的二進制代碼編
寫程序,程序在存儲器中的存放位置由計算機的操作系統(tǒng)自
動安排。
1.2.4多媒體技術簡介
1.多媒體的概念
媒體是指承載或傳遞信息的載體。多媒體技術是集聲
音、視頻、圖像、動畫等多種信息媒體(集計算機技術、聲
像技術和通信技術)于一體的信息處理技術。它可以接受外
部圖像、聲音、錄像及各種其他媒體信息,經(jīng)過計算機加工
處理后,以圖片、文字、聲音、動畫等多種方式輸出,實現(xiàn)
輸入輸出方式的多元化,改變了計算機只能輸入輸出文字、
數(shù)據(jù)的局限,使計算機能說會唱。以前的個人電腦只能處理
文字和數(shù)字,即單媒體?,F(xiàn)在,個人電腦不僅能處理文字和
數(shù)字,而且還能處理圖像、文本、音頻、視頻等多種媒體,
這就是多媒體。多媒體是將計算機、電視機、錄像機、錄音
機和游戲機的技術融為一體,形成電腦與用戶之間可以相互
交流的操作環(huán)境。人機相互交流是多媒體最大的特點。電視、
電影使人只能在一旁欣賞,而在多媒體上,你可以從圖形到
顏色都予以修改,你可以參與其中,改變劇情,叫演員按照
你的意思演出。
2.多媒體技術的發(fā)展
多媒體技術有兩個顯著特點:一是它的綜合性,它將計
算機、聲像、通信技術合為一體,是計算機、電視機、錄像
機、錄音機、音響、游戲機、傳真機性能的大綜合。二是人
機交互性。
多媒體技術的發(fā)展趨勢主要有:
⑴硬件上,在PC母板上或芯片內增加多媒體和通信功
能。Intel公司推出NSP,它基于奔騰處理器實現(xiàn)音頻、視頻
和通信處理功能。Motorola公司將陣列處理器和POWERPC
處理器放在一個芯片上。
⑵技術上,研究視頻、音頻壓縮和解壓縮算法,開發(fā)芯
片和板極產(chǎn)品。C-Cube公司推出符合MPEG-1標準的
CLM-4500和CLM-4600oIBM推出符合MPEG-2的編碼和
解碼芯片等。
⑶人機界面上,開發(fā)多種環(huán)境下的操作系統(tǒng)及多媒體創(chuàng)
作平臺。AT&T公司推出MultimediaDesigner圖像處理程序。
Avid科技公司推出基于Windows95視頻生成產(chǎn)品。Media
Forge推出Windows95創(chuàng)作工具等。由此可見,用于多媒體
系統(tǒng)管理的只有Windows一枝獨秀。因此,多媒體軟件的研
究與開發(fā)可以大有作為,尤其是面向應用的工具軟件和直接
由最終用戶使用的應用軟件。
⑷研究多媒體數(shù)據(jù)庫技術,多媒體通信技術,交互電視
技術,虛擬現(xiàn)實技術及智能多媒體技術等。這些技術都是近
年來十分活躍的技術領域,是多媒體技術研究的重要方向。
而多媒體通信是一個綜合性的技術,它集成了數(shù)據(jù)處
理、數(shù)據(jù)通信和數(shù)據(jù)存儲等技術,涉及多媒體、計算機及通
信等技術領域,并且給這些領域帶來很大的影響。
3.常用的多媒體技術
多媒體研究的關鍵技術有如下幾種:
⑴數(shù)據(jù)壓縮。在多媒體系統(tǒng)中,涉及的數(shù)據(jù)量是巨大和
驚人的。以一幅中等分辨率的彩色圖像為例,每秒約需
27.6MB空間,即使是650MB的標準光盤也只能裝入20多
秒鐘,而大多數(shù)遠程通信網(wǎng)的速率都在每秒兒兆位。因此,
對數(shù)據(jù)進行有效地壓縮是多媒體中的關鍵技術之一。之所以
能實現(xiàn)對圖像、聲音的壓縮,是由于這些原始圖像和聲音存
在著很大的冗余度,包括空間冗余、時間冗余、結構冗余與
視覺冗余等。常用的數(shù)據(jù)壓縮技術分兩大類:一類是無損壓
縮,另一類是有損壓縮?,F(xiàn)在已形成了一些壓縮的國際標準。
如JPEG適用于靜態(tài)圖像,MPEG適用于動態(tài)圖像,G722已
成為電視會議和電話的聲音編碼標準以及多媒體系統(tǒng)地
MPC標準等。壓縮和解壓縮的速度是壓縮系統(tǒng)的兩項單獨的
性能指標,從目前開發(fā)的壓縮技術看,一般來說壓縮的計算
量比解壓縮的計算量大。壓縮速度不僅與采用的方法有關,
而且也與快速算法的計算量有關。如果能在壓縮方法和快速
算法上取得突破性進展,無疑將對多媒體的開發(fā)和應用產(chǎn)生
很大的影響。
⑵多媒體信息的特性與建模。多媒體信息的特性研究主
要是進行媒體的種類、性質及其相互關系,媒體之間的轉換
意義、方法及手段,媒體處理的特點等方面的研究。在此基
礎上進而研究多媒體數(shù)據(jù)建模的方法,信息空間如何構成,
時間特性如何表示,面向對象的方法怎樣使用,在媒體之間
如何確定相互的關系,對信息的內容如何表示等。雖然各種
圖像、聲音等專門技術的研究歷史已有兒十年,但大多數(shù)都
是從單一媒體角度考慮的,從多媒體統(tǒng)一角度研究,才有可
能獲得進一步進展。
⑶多媒體信息的組織與管理。信息及數(shù)據(jù)管理是信息系
統(tǒng)的核心之一,多媒體數(shù)據(jù)量巨大,種類繁多,每種媒體之
間差別十分明顯但又具有種種信息上的關聯(lián),這些都給數(shù)據(jù)
與信息管理帶來了新的問題。如何管理、組織這些數(shù)據(jù),如
何從各種媒體數(shù)據(jù)中找出所需信息,如何表現(xiàn)這些媒體信
息,這些都是傳統(tǒng)的數(shù)據(jù)庫理論與方法尚沒有很好解決的問
題。因此,人們正在探索有效的管理方法(如對關系數(shù)據(jù)庫
進行擴充,建構面向對象的數(shù)據(jù)庫,超媒體信息管理等方
法)。
⑷多媒體信息的表現(xiàn)與交互。在多媒體環(huán)境下,多種媒
體并存,各種媒體在空間如何進行組織,在時間上如何安排,
媒體之間的相互作用如何描述和解釋,都是在表達信息時必
須考慮的問題,其交互的作用和影響在表現(xiàn)中是一個不可缺
少的成分。媒體之間的同步、時空的合成也是研究的重點。
⑸多媒體通信與分布處理。對于數(shù)字化的大量數(shù)據(jù)傳
輸,一般網(wǎng)絡難以滿足其要求,寬帶綜合業(yè)務數(shù)字網(wǎng)
(B-ISDN)及ATM(異步傳送模式)是一個重要的研究和
開發(fā)成果。計算機網(wǎng)絡及其網(wǎng)絡上的分布化協(xié)作性操作,使
之廣泛實現(xiàn)信息共享。如何設計出有效協(xié)議、合理的體系結
構,如何充分地發(fā)揮分布式協(xié)作性作用,如何使得各系統(tǒng)與
用戶之間更易于交換信息、共享信息和同時處理信息,都是
研究的重要方向。
⑹多媒體軟硬件平臺。軟硬件平臺是實現(xiàn)多媒體系統(tǒng)的
物質基礎,過去的每一項重要技術突破都直接影響到多媒體
的發(fā)展與應用進程。在硬件方面,DVI和CD-I作為最早的
兩個典型的視頻多媒體接口具有里程碑意義,如今各種聲
音、視頻適配器已獲得廣泛應用,多媒體工作站實現(xiàn)高質量
的畫面和音響已經(jīng)達到令人賞心悅目的順平。其他外設如圖
像掃描儀、彩色拷貝機等已經(jīng)十分成熟,目前集成一體化的
設備是研究的方向。軟件與硬件相比研究的差距很大,目前
只有Windows是多媒體的標準軟件環(huán)境,軟件的開發(fā)潛力甚
大,應開發(fā)出更多更好的系統(tǒng)軟件和工具、創(chuàng)作軟件和工具、
編輯軟件和工具以及終端用戶應用軟件和多媒體節(jié)目。
⑺虛擬現(xiàn)實技術。虛擬現(xiàn)實技術是近年來十分活躍的技
術領域,使多媒體發(fā)展得更高境界。所謂虛擬現(xiàn)實就是采用
計算機技術生成一個逼真的視覺、聽覺、觸覺及嗅覺等的感
覺世界。用戶可以用人的自然技能對這個生成的虛擬實體進
行交互考察。虛擬現(xiàn)實是一種高度集成的技術,是計算機軟、
硬件技術、傳感技術、機器人技術、人工智能及心理學等飛
速發(fā)展的結晶。主要依賴于三維實施圖形顯示、三維定位跟
蹤、觸覺及嗅覺傳感技術、人工智能技術、高速計算與并行
計算技術以及人的行為學研究等多項關鍵技術的進展。美國
著名計算機圖形專家J.Foley曾指出:虛擬現(xiàn)實或許是人機接
口作為計算機設計的最后一個堡壘中最有意義的領域。
⑻多媒體技術的標準化。標準化是國際上重點研究的課
題,標準對于多媒體技術的開發(fā)應用、推廣、經(jīng)營銷售都有
很大意義并產(chǎn)生深遠影響。標準不是絕對的,在實施標準的
過程中往往需要加以不斷修改和完善,如果我們有相當強的
技術實力,采用的技術又得到社會承認時,就應積極爭取成
為國際標準。多媒體開發(fā)應用中涉及的標準很多,其大致分
為三類:多媒體技術標準,多媒體通信標準和CD-ROM標
準。有些標準已成熟,有些正在制定中,各國許多大公司、
廠商紛紛聯(lián)合,致力于這方面的研究。
⑼數(shù)字通信網(wǎng)絡中存在的問題。多媒體通信主要受制于
網(wǎng)絡。在多媒體通信中,由于多媒體信息的特點,要求網(wǎng)絡
有足夠的帶寬來傳輸多種媒體,同時要求網(wǎng)絡的傳輸延時足
夠小,使聲音和圖像等與時間有關的媒體信息能實時處理。
目前,可以用來進行多媒體通信的網(wǎng)絡有基于包交換的局域
網(wǎng)和基于電路交換的利用電話網(wǎng)通信的網(wǎng)絡,以及新興的綜
合業(yè)務數(shù)字網(wǎng)(ISDN)。
對于基于包交換方式的局域網(wǎng),其高速網(wǎng)絡和多媒體通
信協(xié)議的發(fā)展,已經(jīng)能滿足大部分多媒體通信服務的要求。
然而,新的多媒體的應用服務,將要求網(wǎng)絡有更快的速度(每
秒幾百兆甚至幾千兆的速度)和更強功能的通信協(xié)議。如無
錯傳輸?shù)取S捎诰钟蚓W(wǎng)的延時一般較長,且有錯傳的可能,
因此采用緩沖手段克服部分延時的影響,才能滿足多媒體通
信的要求。
對于利用電話網(wǎng)通信的網(wǎng)絡,它采用了點落交換的方
式,信道是獨占的,這有利于連續(xù)媒體的傳輸。但由于電話
網(wǎng)信道帶寬較窄,因此無法傳輸大數(shù)據(jù)量的媒體。
由于上述兩種網(wǎng)絡都有缺點,因此人們逐漸把目標轉向
了一種新型的網(wǎng)絡——綜合業(yè)務數(shù)字網(wǎng)(ISDN)。ISDN是
目前比較理想的用于傳輸多媒體信息的網(wǎng)絡。帶寬綜合業(yè)務
數(shù)字網(wǎng)(B-ISDN),它將采用同步光纖網(wǎng)SONET作為傳輸介
質,以異步傳送模式(ATM)作為傳輸和交換技術。它是以
分組傳送模式為基礎并融合了電路傳送模式高速化的郵電
發(fā)展而成的,它將數(shù)據(jù)、語音及圖像等所有數(shù)字信息分解成
長度固定的數(shù)據(jù)塊(48b),并在數(shù)據(jù)塊前加上控制信息(5b)
構成信元(53b),在網(wǎng)上只要獲得空信元隨時可以插入信
息發(fā)送出去。這種方式兼有電路交換延時小、分組交換速率
高及速率可變的特點。B-ISDN的傳輸速率最高將達到
4Gb/s,在其上可傳高保真的立體聲、普通和高清晰度的視頻,
是多媒體通信的理想環(huán)境。
⑩多媒體數(shù)據(jù)終端實現(xiàn)中的問題。ISDN網(wǎng)上的數(shù)據(jù)終
端和圖像終端是多媒體數(shù)據(jù)中斷,它們都要求符合國際電話
電報咨詢委員會(CCITT)的標準。
數(shù)據(jù)終端是用于實現(xiàn)人機交互的。它有多種實現(xiàn)方法,
可以通過各種各樣的適配器將各種非ISDN(K系列和V系
列終端)接入ISDN網(wǎng)絡,也可以將多媒體通信卡插入微型
計算機或工作站,在配上軟件,使之成為多媒體通信終端,
實現(xiàn)多媒體通信功能。
圖像終端是用來實現(xiàn)各種圖像業(yè)務的。通過計算機生成
的各種圖像及各種制式的電視圖像都要由圖像終端來顯示。
圖像終端因其圖像特征、通信形式和傳輸速率不同而不同。
1990年2月,CCITT在H.261標準中規(guī)定了ISDN圖像編碼
和解碼方案,從而使各廠商生產(chǎn)的圖像終端能夠互通。
多媒體信息的同步在多媒體通信中,多個媒體是有機組
合的,一個重要的方面是要保持單個媒體的穩(wěn)定和各種媒體
之間時空上的同步。例如,圖像和聲音要同步,聲音和文字
要同步等。
進入21世紀以視頻為核心的多媒體通信得到了廣泛的
應用,主要有:
⑴可視電話??梢曤娫捲谕ㄔ掚p方的連接通路上提供同
步的圖像和聲音。當今可視電話的研究正朝著兩個方向不斷
深入,一個方向是利用現(xiàn)有的公共電話網(wǎng)進行黑白或彩色靜
止圖像傳送,研究重點放在可視電話本身的圖像處理和調制
方法上,以求傳輸?shù)膱D像分辨率高、速度快、體積小、價格
低、功能強。另一個方向是利用ISDN進行活動圖像傳送,
研究重點放在圖像的壓縮編碼技術上。
⑵多媒體會議(視頻會議)。視頻會議為分散在不同地
區(qū)的多個用戶提供了一個很好的討論環(huán)境。它能夠通過信息
網(wǎng)絡將每個用戶的現(xiàn)場情況通過音頻、視頻等媒體傳送到其
他用戶,以達到交換信息和共同討論的目的。視頻會議從兩
條路線發(fā)展而來。一條是源于電視和電話,先后出現(xiàn)了電話
會議、視頻會議以及會議是視頻會議等。這些系統(tǒng)中傳輸?shù)?/p>
大部分是模擬信號,使用網(wǎng)絡也不是ISDN,它強調的是實
時的語音信息和視頻信息的交換,缺乏人機交互和對會議的
管理功能。在整個會議中,它的作用只是傳輸現(xiàn)場情況,而
沒有對會議討論進行記錄、存檔等功能。視頻會議的另一條
發(fā)展路線是基于計算機網(wǎng)絡的。隨著多媒體通信的出現(xiàn)和發(fā)
展,產(chǎn)生了一種新型的會議系統(tǒng)一一桌面視頻會議系統(tǒng),它
是視頻會議系統(tǒng)發(fā)展的方向。由于這個路線的基礎是計算機
和數(shù)字網(wǎng)絡,因此其交互能力和會議管理能力很強。它結合
了多媒體信息的強大表現(xiàn)力和計算機交互、管理能力。在會
議發(fā)起時,計算機負責用戶間的聯(lián)絡,在會議進行中,計算
機可自動處理用戶的加入和退出,用戶還可以通過數(shù)據(jù)庫查
找會議中要用到的材料,建立會議的目錄,記錄會議的進展
以便歸檔保存,供以后查詢,從而極大地方便了與會者。
⑶按客戶要求播放節(jié)目。按需播放是實時地把正在播放
的不同節(jié)目傳送到各個客戶家里。它提供給用戶定義自己每
次要看的影像片子以及選擇片子的機會。此類服務可由有線
電視提供商及電話公司來提供。
1.3計算機軟件基礎知識
1.3.1程序設計語言與語言實現(xiàn)
1.程序設計語言
程序設計語言從問世到現(xiàn)在已有近半個世紀的歷史。它
經(jīng)歷了由機器語言發(fā)展到符號化的機器語言一一用助記符
表示的匯編語言,它們都是面向機器的語言。后來又發(fā)展到
結構化和模塊化的語言——面向過程的語言,進而又發(fā)展到
面向對象語言。這些變化反映了語言由低級向高級,由過程
性向非過程性的發(fā)展。語言的應用范圍也從單處理機發(fā)展到
異構的、物理上分布式的計算機網(wǎng)絡。從單純的科學計算發(fā)
展到包括信息處理、事務處理等各個應用領域。語言在軟件
開發(fā)過程中的作用也從單純的程序設計語言發(fā)展到可用于
軟件開發(fā)過程中的各個階段、各個方面。因此可以說,當今
世界上計算機無處不在,計算機程序設計語言也無處不在。
2.計算機的解題過程及流程圖設計
⑴算法計算機發(fā)展到今天有如此強大的功能,除了集
成芯片制造工藝及芯片內體系結構的不斷改進外,主要靠軟
件的進步。而軟件的核心是算法,算法中蘊含的設計思想是
靈魂。無論是制造芯片的EDA(電子設計自動化)軟件,多
媒體信息的壓縮技術MPEG,還是“深藍”電腦贏了卡斯帕
羅夫,亦或是多國部隊在海灣“沙漠風暴”中所進行的一場
勝者流血最少的戰(zhàn)爭、算法都起到了關鍵作用。
算法即對解題方案進行準確而完整的描述。即將解題過
程的每個細節(jié)準確地加以定義,確定采取的方法和步驟。
算法具有以下四個特征:
①可行性。算法執(zhí)行的結果能達到預期的目的。
②確定性。指算法中的每一個步驟都必須是有明確定義
的,不允許有模棱兩可的解釋,也不允許有多義性。
③有窮性。是指算法必須能在有限的時間內做完,即能
在執(zhí)行有限步驟之后終止。
④擁有足夠的信息。一個算法執(zhí)行的結果總是與輸入的
初始數(shù)據(jù)有關,當輸入不夠或輸入錯誤時,算法本身就無法
執(zhí)行或執(zhí)行錯誤。
綜上可知,一個可解的算法,必須在有限存儲空間內運
行有限的時間而得到正確結果。
評價一個算法是否優(yōu)劣,主要看:
①算法是否正確。
②計算的復雜性。衡量復雜性的標準
一是計算所需的步驟或指令條數(shù),即運行的時間,稱時
間復雜度。
二是計算所需的存儲單元數(shù)量,即占用的存儲空間,稱
空間復雜度。
③看算法是否簡單和是否易讀。
一個好的編程人員,應該有強烈的算法意識、細膩而又
科學的算法思維、敏捷而又扎實的程序設計思想。所編寫的
算法所具有的特性和評價標準都最大限度地體現(xiàn)在軟件的
開發(fā)和運行當中。軟件開發(fā)并不只是編寫程序,軟件的核心
是解決算法問題。編程不過是軟件最后的實現(xiàn)形式。
⑵算法的表示工具一一流程圖。早在20世紀40年代,
人們就已經(jīng)在編程前使用流程圖來做算法設計。流程圖分兩
類:一類是高層宏流程圖,往往在編程后補畫;另一類是細
微流程圖,需要在編程前詳細描述。
傳統(tǒng)流程圖是由幾何圖形和有向線段組成。常用方框表
示處理,用菱形框表示判斷,用有向線段表示執(zhí)行順序。圖
1-2是算法的三種基本控制結構的傳統(tǒng)流程圖。
BABA
順序結構選擇結構循環(huán)結構
用計算機解決一個實際問題,一般分為四個階段:分析
問題、確定算法、編制程序、上機調試。因此,任何問題都
首先需要通過算法設計進行描述,然后用程序設計語言表達
出來,才能在計算機上實現(xiàn)。
⑶數(shù)據(jù)結構在程序設計中的作用數(shù)據(jù)是信息的載體,
是所有輸入到計算機并由計算機程序進行處理的符號的總
稱。計算機所處理的數(shù)據(jù)已不限于純粹的數(shù)值,更多的是符
號、表格、圖形和圖像。由于信息的類型不一樣,信息載體
的數(shù)據(jù)結構也不一樣。數(shù)據(jù)結構就是研究數(shù)據(jù)組織、存儲和
運算的一般方法的一門學問。
數(shù)據(jù)結構是指同一數(shù)據(jù)元素類中各數(shù)據(jù)元素之間存在
的結構關系,包括它們之間的邏輯結構關系、存儲結構關系
和運算關系。數(shù)據(jù)的邏輯結構是從邏輯上觀察數(shù)據(jù)并以此來
描述數(shù)據(jù)之間的關系;數(shù)據(jù)的存儲結構是數(shù)據(jù)的邏輯結構在
計算機存儲器中的實現(xiàn)。邏輯結構與數(shù)據(jù)的存儲無關,是獨
立與計算機的,而存儲結構是依附于計算機的。數(shù)據(jù)的運算
是在數(shù)據(jù)的邏輯結構上定義的操作方法。
1976年,沃思提出了“算法+數(shù)據(jù)結構=程序”的論斷,
闡明算法與數(shù)據(jù)結構在程序設計中的重要作用。從該論斷可
進一步看出程序設計的實質。
程序設計實際上就是構思和設計解題的思路和步驟一
一算法所研究的內容,對給定的包括各種結構的數(shù)據(jù)進行有
效的處理。
對各種結構的數(shù)據(jù)進行合理的組織、存儲和運算是數(shù)據(jù)
結構研究的內容。在程序設計中選擇合適的數(shù)據(jù)結構,可以
起到簡化程序的算法,節(jié)約存儲空間和提高效率的作用。
3.語言實現(xiàn)
語言實現(xiàn)研究的是翻譯程序的構造原理和技術。翻譯程
序又可分為編譯型和解釋型兩大類。
編譯型語言有C、C++、Fortran>Pascal和Ada等,用
此類語言編寫的源程序在執(zhí)行前需經(jīng)編譯程序翻譯成目標
機器語言。
解釋型語言有BASIC>LISP、ML、Prolog和Smalltalk
等,用此類語言編寫的源程序在執(zhí)行前需先用匯編程序轉變
為易于執(zhí)行的中間代碼,然后再用解釋程序把中間代碼轉變
為目標機器代碼。
Java語言實現(xiàn)結構的編譯系統(tǒng)經(jīng)歷了三代的改進,由第
一代的傳統(tǒng)編譯發(fā)展到第二代的及時編譯,再到第三代的動
態(tài)編譯,即將及時編譯與解釋相結合。
選擇什么語言主要取決于待解決問題的應用領域。例
如,商業(yè)方面主要語言由COBOL>Spreadsheet;科學計算
主要語言由Fortran>C、C++、Pascal等;人工智能主要語
言由LISP、Prolog;出版業(yè)主要語言有PostscriptsWord>
Processing等。
1.3.2軟件開發(fā)環(huán)境與開發(fā)平臺
搞好軟件的開發(fā),除了要有好的算法以及對給定的各種
結構的數(shù)據(jù)進行有效的處理外,還要有良好的軟件開發(fā)環(huán)
境,包括對開發(fā)者友好的用戶界面和功能強大的為開發(fā)者提
供各種開發(fā)工具的操作平臺——泛指計算機用戶軟件運行
的硬、軟件環(huán)境。
1.用戶界面
在計算機應用中,用戶與計算機是通過人機界面把信息
傳遞給對方,即所謂人機交互。所謂界面友好,從廣義上說,
是指計算機的顯示器、鍵盤、鼠標等輸入/輸出設備以及計算
機上裝載的系統(tǒng)軟件、應用軟件是否對用戶友好——即說這
些硬、軟件的外觀上是否美觀,感覺上是否愉快,使用上是
否方便簡單,性能上是否可靠穩(wěn)定。從狹義上說,人們把軟
件在顯示屏幕上體現(xiàn)的用戶界面是否靈活方便、簡捷實用、
賞心悅目,叫做界面友好。
隨著計算機技術的發(fā)展和用戶對計算機要求的提高,用
戶界面也在不斷發(fā)展。20世紀80年代以前,用戶界面主要
是基于字符的界面一一字符用戶界面CUI。進入20世紀90
年代,圖形用戶界面GUI得到廣泛推廣,特別是隨著多媒體
技術的發(fā)展,出現(xiàn)了圖文并茂、聲形兼?zhèn)涞囊暣坝脩艚缑妗?/p>
用戶既可以使用傳統(tǒng)的字符、菜單命令、聯(lián)機幫助,也可以
使用多窗口的圖形、圖像、聲音等媒體與計算機交互,使計
算機的操作和應用更加豐富。
Internet時代的到來,使用戶界面又將發(fā)生變化,圖形用
戶界面GUI將可能發(fā)展到瀏覽器用戶界面BUL
2.操作系統(tǒng)
操作系統(tǒng)OS是控制和管理計算機硬件和軟件資源,合
理地組織計算機工作流程以及方便用戶的程序的集合。任何
類型的的計算機都必須有以操作系統(tǒng)為主的系統(tǒng)軟件。即操
作系統(tǒng)是軟件開發(fā)者進行軟件開發(fā)的一個平臺。
當前國際上的主流操作系統(tǒng)有三大類:一是微軟的操作
系統(tǒng)(主要是Windows9x、WindowsNT/2000/XP)系列;
二是一些IT產(chǎn)業(yè)為自己硬件產(chǎn)品提供的配套專用操作系統(tǒng),
如DEC公司的YMS,IBM公司的OS/2,Apple公司的MacOS
等;三是對外開放的操作系統(tǒng),如UNIX、Linux等。
盡管微軟的Windows系列仍主導OS市場,保持長盛不
衰,操作系統(tǒng)的功能,特別是他們的網(wǎng)絡功能日益強大,但
仍存在著與網(wǎng)絡為中心的環(huán)境不相適應、OS內部通信、硬
件和軟件都搶著控制CPU的時間和資源的分配等問題。這些
問題都在不同程度上導致系統(tǒng)的異常和出現(xiàn)錯誤。21世紀的
網(wǎng)絡用戶需要一個更加智能、快捷和多任務的操作系統(tǒng),使
它能穩(wěn)定可靠地傳輸異步、非預定制和實時數(shù)據(jù)流。
1.3.3軟件開發(fā)技術的發(fā)展
有了好的算法、好的軟件開發(fā)環(huán)境,還必須有好的軟件
開發(fā)技術,才能開發(fā)出好的軟件。
軟件開發(fā)技術隨程序設計語言的發(fā)展,由模塊化、結構
化向面向對象發(fā)展。軟件開發(fā)技術可分為流行于學術界的形
式化方法和流行于工業(yè)界的非形式化方法一一即傳統(tǒng)的稱
為瀑布模型的軟件開發(fā)技術。
1.傳統(tǒng)的瀑布模型方法
瀑布模型基本上反映了軟件個體手工開發(fā)時所習慣用
的開發(fā)過程和開發(fā)方法。這種方法把軟件的開發(fā)階段劃分為
四個主要步驟,即分析、設計、編碼和測試,各個步驟自上
而下緊密相連,如同一瀉而下的“瀑布”。該階段的四個步
驟相繼完成“做什么”、“怎么做”、“這么做”、和“做
得怎樣”四個任務。
隨著軟件技術的發(fā)展,又出現(xiàn)了一些新的如快速原型模
型、操作模型、軟件演進模型等。
2.廣泛使用的結構化設計方法
軟件設計中,長期中使用著兩種最基本的設計策略:一
種是模塊化設計,另一種是由頂向下設計——已成為現(xiàn)代軟
件開發(fā)中的主要設計策略。
在這兩種設計策略的基礎上,出現(xiàn)了許多對軟件進行設
計的系統(tǒng)方法。其中結構化設計方法(又稱SD法)是比較
成熟和廣泛使用的一種。
SD方法是一種面向數(shù)據(jù)流的設計方法,重點在于確定
軟件的結構,主要是用來指導瀑布模型中軟件“概要設計”
的。因此,它的目的主要是滿足系統(tǒng)要求的最佳軟件結構。
C語言是結構化和模塊化的語言。它是面向過程的,即
用C語言編寫的程序遵循面向過程的問題求解的方法。即把
一個復雜的問題劃分成幾個相對簡單的子問題,如果子問題
還比較復雜,再繼續(xù)劃分,最后將劃分后的每個問題用過程
或函數(shù)(模塊)來實現(xiàn)。其中心思想是用計算機能夠理解的
邏輯來描述和表達待解決的問題及其具體的解決過程。數(shù)據(jù)
結構、算法是面向過程求解的核心組成。其中數(shù)據(jù)結構利用
計算機的離散邏輯來量化表達需要解決的問題,而算法則研
究如何快捷、高效地組織解決問題的具體過程。
在處理較小規(guī)模的問題時,面向過程的問題求解可以精
確、完備地描述具體的求解過程。但當問題比較復雜,對應
的程序規(guī)模比較大時,面向過程的程序設計方法(比如用C
語言編寫的程序)就不足以把一個包含了多個相互關聯(lián)的過
程的復雜系統(tǒng)表述清楚。這就要求C程序的設計者必須細致
地設計程序中的每一個細節(jié),準確地考慮到程序運行時每一
時刻發(fā)生的事情,如各個變量的值是如何變化的,什么時候
應進行哪些輸入,在屏幕上應該輸出什么等。這對程序員的
要求是比較高的。如果面對的是一個復雜問題,程序員往往
感到力不從心。
3.先進的面向對象設計方法
軟件開發(fā)中一直受兩大難題所困擾:一個是如何跨越程
序復雜性障礙。另一個是如何在計算機系統(tǒng)中自然地表示出
客觀世界,即對象模型。
非面向對象的過程語言(如C、PASCAL等),其數(shù)據(jù)
結構是問題解的核心。一個軟件系統(tǒng)的結構是圍繞一個或兒
個關鍵數(shù)據(jù)結構為核心而組成的。這就使軟件的開發(fā)很難逾
越程序復雜性的障礙和計算機系統(tǒng)中如何自然地表示客觀
世界(即對象模型)的困擾。
“算法+數(shù)據(jù)結構=程序設計”的原則在軟件開發(fā)的過程
中產(chǎn)生了積極和深遠的影響。但隨著軟件系統(tǒng)的規(guī)模越來越
大、復雜性越來越增長,人們不得不對“關鍵數(shù)據(jù)結構”重
新評價。數(shù)據(jù)結構的主要缺點是應用范圍受到局限,而且可
視性差。因為在非面向對象的軟件系統(tǒng)中,許多重要的過程
和函數(shù)(子程序)的實現(xiàn)嚴格地取決于關鍵數(shù)據(jù)結構,如果
這些關鍵數(shù)據(jù)結構中的一個或幾個數(shù)據(jù)有所改變,將影響到
整個軟件系統(tǒng),致使許多過程和函數(shù)必須重新編寫,嚴重時
會導致整個系統(tǒng)崩潰。
為解決上述的軟件設計危機,20世紀80年代提出了面
向對象的程序設計(簡稱OOP)。在這種形勢下,C++等面
向對象的程序設計語言應運而生。即用這類語言編寫的程序
遵循面向對象的問題求解的方法。面向對象問題求解關心的
不僅僅是孤立的單個過程,而是孕育所有這些過程的母體系
統(tǒng)。它能夠使計算機邏輯來模擬描述系統(tǒng)本身,包括系統(tǒng)的
組成,系統(tǒng)的各種可能狀態(tài),以及系統(tǒng)中可能產(chǎn)生的各種過
程與過程引起的系統(tǒng)狀態(tài)切換。
面向對象技術代表了一種全新的程序設計思想和觀察、
表達、處理問題的方法,與傳統(tǒng)的面向過程的開發(fā)方法不同,
面向對象的程序設計和問題求解力求符合人們日常自然的
思維習慣,降低、分解問題的難度和復雜性,提高整個求解
過程的可控制性、可監(jiān)測性和可維護性,從而達到以較小代
價和較高效率獲得較滿意效果的目的。
客觀世界中任何一個事物都可以看成一個對象?;蛘?/p>
說,客觀世界是由千千萬萬個對象組成的,它們之間通過一
定的渠道相互聯(lián)系。例如,學校是一個對象,一個班級也是
一個對象。實際生活中,人們往往在一個對象中進行活動,
或者說對象是進行活動的基本單位。例如在一個班級中上
課、開會、文娛活動等。作為對象應該至少有兩個要素“一
是從事活動的主體,例如班級中的若干名學生;二是活動的
內容,如上課、開會等。要使班級中的學生進行活動,或者
是事先安排好一個活動計劃(例如課程表),或者由外界臨
時通知(如參加全校大會)。
從計算機角度看,一個對象應包括兩個要素:一是數(shù)據(jù),
相當于班級中的學生;二是需要進行的操作,相當于學生進
行的活動。對象就是一個包含數(shù)據(jù)以及與這些數(shù)據(jù)有關的操
作的集合。
傳統(tǒng)的面向過程的程序設計是圍繞功能進行的。用函數(shù)
實現(xiàn)功能,所有數(shù)據(jù)都是公用的,一個函數(shù)可以使用任意一
組數(shù)據(jù),而一組數(shù)據(jù)又能被多個函數(shù)所使用。程序設計者必
須考慮每一個細節(jié)。當程序規(guī)模較大,數(shù)據(jù)很多,操作種類
繁多時,程序設計者往往感到難以應付。就如工廠的廠長直
接指揮每一個工人的工作一樣,非常勞累,而且往往會遺漏
和搞錯。
面向對象程序設計采用新思路。它面對的是一個個對
象,所有數(shù)據(jù)分別屬于不同的對象。實際上,每一組數(shù)據(jù)都
有特定用途,是某種操作的對象。把相關數(shù)據(jù)和操作放在一
起,形成一個整體,與外界相對分隔。正如同一班級的同學
生活在一起,與外界相對獨立一樣。這符合客觀世界本來面
目。假設工廠把材料、機器和工人分配給車間,廠長只要向
車間下生產(chǎn)指令,車間就會運作起來,把指定的材料變成產(chǎn)
品。每一個車間分別有自己的材料和運作體系。對廠長來說,
車間使用的材料和如何運作,他不必詳細了解。只要給它一
個命令,它能按規(guī)定完成任務即可。這就是把對象“封裝”
起來,各自相對獨立,互不干擾。
對象作為計算機模擬思維,表示真實世界的抽象。一個
對象如同一個軟件構件,它包含相應的數(shù)據(jù)結構和相關的操
作。對象本身可為用戶提供一系列服務,如改變對象狀態(tài)、
測試、傳遞消息等,用戶無需知道服務的任何實現(xiàn)細節(jié),操
作完全是封閉的,即對象是一組數(shù)據(jù)和作用于這組數(shù)據(jù)的操
作(也叫方法)的封裝。
面向對象程序設計中定義了一些概念,如抽象數(shù)據(jù)類
型、類和類型層次、子類、繼承性、消息、事例等。
必須指出,面向對象程序設計方法主要是解決大型軟件
的設計問題。只有編寫過大型軟件的人才會體會到C的不足
和C++的優(yōu)點。C++是一種大型語言,其功能、概念和語法
規(guī)定都比較復雜,要深入掌握它需要花較多的時間,尤其是
需要有較豐富的實踐經(jīng)驗。但熟練掌握C再學習C++就不會
有太大困難。由C++語言編寫的面向對象程序設計是解決上
述兩大難題的最有前途的方法。面向對象程序設計是軟件開
發(fā)方法的一場革命,它代表了新穎的程序設計思維方法,使
計算機對問題的求解更接近人的邏輯思維方式。這種方法是
通過增加軟件可擴充性和可重用性,以提高程序員的編程能
力,并能控制軟件維護的復雜性和開銷。
Ada語言在推廣面向對象方法利用技術上起到了不小的
作用。C++是C語言基礎上加以擴展并成為一種面向對象的
程序設計語言。由于它是C語言的擴充,容易學習和掌握,
很受用戶歡迎。
面向對象軟件開發(fā)的開發(fā)過程一般分為三個階段:面向
對象的分析,面向對象的設計和面向對象程序設計。
從20世紀80年代到現(xiàn)在,對面向對象軟件開發(fā)技術的
研究發(fā)展很快,新的方法層出不窮,據(jù)不完全統(tǒng)計有50余
種。但不論哪種方法,都覆蓋上面開發(fā)過程的三個階段,而
且都把面向對象的分析階段作為重點。因為科學和正確的問
題模型的建立是基于對問題域內問題所涉及的對象與對象
之間關系的正確分析之上的。
面向對象的軟件開發(fā)方法逐漸成熟之后的首要任務是
使這種開發(fā)方法統(tǒng)一化和標準化。1997年1月由Rational軟
件公司推出的UML(統(tǒng)一建模語言),UML主要用來規(guī)范、
表示和構造系統(tǒng)的模型,是一個通用的建模語言,適用于使
用各種軟件開發(fā)方法的用戶。UML是一種標準的建模語言,
而不是一個標準的開發(fā)過程,它完全獨立與開發(fā)過程。已顯
示出強大生命力的UML建模語言,將是未來面向對象軟件
開發(fā)方法的核心。
在面向對象的程序設計中,是把密切相關的數(shù)據(jù)與過程
定義為一個整體(即對象),以克服復雜性的障礙。面向對
象軟件系統(tǒng)的構造不取決于對象的內部結構,僅僅取決于定
義能在對象內部數(shù)據(jù)上實行操作的方法。
1.4計算安全基礎知識
1.4.1計算機病毒及其防治
計算機病毒一詞最早源于生物學,它具有生物學病毒所
表現(xiàn)的各種特征因而得名。計算機病毒本身也是一組程序或
指令集合,通常通過磁盤和網(wǎng)絡等作為媒介進行傳播擴散,
潛伏在計算機內,待適當?shù)臅r機即被激活,通常通過反復的
自我繁殖和擴散等方式危及計算機系統(tǒng)的正常工作,最終導
致計算機發(fā)生故障甚至癱瘓。
1.計算機病毒的特征
計算機病毒的特征如下:
⑴傳播性。只要計算機運行了一個帶有病毒的文件,該
病毒就能傳播到這個程序有權訪問的所有程序和文件。并通
過磁盤或者網(wǎng)絡傳播給其它計算機。
⑵隱藏性。大多計算機病毒程序都可以很長時間隱藏在
合法文件中,平時很難發(fā)現(xiàn)。
⑶潛伏性。病毒侵入后,一般不會立即發(fā)作,有一段潛
伏時間,待條件成熟后才開始活動。
⑷激活性。計算機病毒并不是什么時候都發(fā)作,只有等
待適當?shù)臅r機,條件滿足時才被激活。
⑸破壞性。不同的程序有不同的破壞功能,這根據(jù)計算
機病毒的設計者的意圖來決定,但都會對計算機造成傷害。
2.計算機病毒的分類
根據(jù)病毒的入侵方式,通常把它概括成四類:
⑴操作系統(tǒng)型病毒。當系統(tǒng)引導時就裝入內存,在計算
機運行過程中能夠掌握到CPU的控制權,并以自己的程序加
入或取代部分操作系統(tǒng)進行工作,具有很大破壞作用。
⑵原碼型病毒。該病毒專門攻擊高級語言的源程序和數(shù)
據(jù)文件的源碼,在編譯之前便附在源程序上。
⑶外殼型病毒。它的攻擊目標主要是可執(zhí)行文件,每運
行一次便繁殖一次,這樣占用了大量的CPU時間,使計算機
工作效率大大降低,最終造成死機。
⑷定時炸彈型病毒。許多微機上配有供系統(tǒng)時鐘用的擴
充板,擴充板上有可充電電池和CMOS存儲器,定時炸彈型
病毒可避開DOS的中斷調用,通過底層硬件訪問對CMOS
存儲器的讀寫。甚至有一些病毒將程序的一部分寄生到這個
地方,不會因關機或斷電而丟失,因此危害性極其嚴重。
3.計算機病毒的防治
當我們發(fā)現(xiàn)計算機系統(tǒng)有些異常如顯示器顯示異常、打
印機異常、系統(tǒng)異常死機或速度減慢、無故丟失文件或數(shù)據(jù)
等情況發(fā)生時,計算機就可能染上了病毒。對于計算機病毒
應當以預防為主,并做到及時診斷消除。
⑴病毒的兒種預防措施
①盡量避免使用公用軟件,不得已使用時,必須先做好
檢測和清查工作,確認無病毒后再在機器上使用。
②不要玩電腦游戲,游戲軟件是計算機病毒傳播的主要
載體。
③用硬盤引導較為安全,用軟盤引導最好用原始盤。
④對經(jīng)常使用的軟盤應加上些保護。
⑤對計算機系統(tǒng)要定期進行檢查,以便及時發(fā)現(xiàn)和消除
病毒。
⑥對系統(tǒng)中的重要文件要經(jīng)常做備份,把損失降低到最
小限度。
⑦對網(wǎng)絡上不確定的信件或文件,嚴禁下載。如果發(fā)現(xiàn)
網(wǎng)絡上有病毒,應立即斷開網(wǎng)絡。
⑵病毒的清除
檢測出病毒后,可用殺毒軟件清除。常用的軟件有以下
兒種:
①SCAN和KILL,是國家公安部推出的一套殺毒軟件,
使用方法簡單,可消除幾百種病毒。
②TurboAnti-Virus美國CARMEL公司推出的殺毒軟
件,能檢測和消除幾百種病毒。
③CentralPointAnti-Virus由CentralPointSoftware公司
推出的CPAV殺毒軟件。功能齊全,具有常駐內存、警戒病
毒入侵的聯(lián)機安全機制,能在病毒入侵時自動報警,可檢查
并消除1000多種計算機病毒。
④MeAffeScan由MeAffe公司推出,運行時依次檢測自
身、內存、分區(qū)表、引導扇區(qū)、執(zhí)行文件和系統(tǒng)文件。
⑤KV系列和AV系列是使用較多的殺毒軟件之一。
⑥MSCAN可全面檢測機器的內存、I/O控制器,全面殺
除Word和Excel宏病毒。
⑦對于網(wǎng)絡的安全問題可使用防火墻,例如瑞星版具有
如下主要功能:
?全新概念的病毒實時監(jiān)控(防火墻)。
?徹底查殺CHI等各種惡性病毒。
?查殺壓縮文件中的病毒。
?提供硬盤修復功能。
?全面清除各種黑客程序。
?全面支持Win9x、XP、NT服務器和工作站。
目前,市場上的殺毒軟件已達數(shù)百種,如常用的還有金
山毒霸等。當一種殺毒軟件不能清除所有的病毒時,可將幾
種殺毒軟件共同使用。
1.4.2網(wǎng)絡資源的知識產(chǎn)權問題
1.網(wǎng)絡資源傳輸與發(fā)表權
在Internet上允許任何文本、任何格式的信息在網(wǎng)絡中
傳播,例如文字作品、音樂作品、聲像作品、科學數(shù)據(jù)、軟
件等,而且傳輸速度快、容量大、形式多樣。發(fā)表權問題是
Internet上引起的第一個知識產(chǎn)權問題,因為任何信息的網(wǎng)絡
傳輸是否符合法律對“發(fā)表”的要求,對網(wǎng)絡資源知識產(chǎn)權
保護具有重要意義。在著作法中嚴格規(guī)定了對“已發(fā)表”的
作品和“未發(fā)表”作品保護之區(qū)別,例如使用他人未發(fā)表的
作品開展信息服務必須經(jīng)版權人許可,并支付報酬。在判斷
是否侵權、確定解決方式時,是否“發(fā)表”是一個非常重要
的因素。
在一般意義上對“發(fā)表”一詞的解釋,不同法系有不同
的解釋。在英美法系中,”發(fā)表(Publishing)”是指正式地
讓公眾感知,與出版發(fā)行是同義語。在中國,“發(fā)表”一般
是指在一定范圍內公開,而且著作權法《實施條例》第26
條規(guī)定“著作權法所稱的已經(jīng)發(fā)表的作品,指著作權人以著
作權法規(guī)定的方式公之于眾的作品”。凡在國家出版并標有
統(tǒng)一書號或國際標準書號的圖書上發(fā)表,或在國家最高行政
機關或省、自治區(qū)、直轄市主管部門批準,在期刊主辦單位
所在地的省級出版管理機構登記并領取登記證或載有有效
的國際期刊編號的期刊上發(fā)表,稱為正式發(fā)表。根據(jù)國務院
批準的有關規(guī)定,;履行了申報程序并被批準的音像出版廣
播電視機構公開廣播的作品也視為公開發(fā)表。除此之外,在
其他刊物等材料上發(fā)表作品,為非正式發(fā)表。
我國著作權法制定于20世紀90年代初,對在Internet
上傳輸作品是否為“發(fā)表”沒有相應的規(guī)定。武漢大學圖書
情報學院陳傳夫教授在國家自然科學基金會資助項目“高新
技術知識產(chǎn)權保護及其對傳統(tǒng)知識產(chǎn)權制度的影響”研究項
目中,提出了如下比較合理的建議,并不是在網(wǎng)絡上所有的
傳輸行為都是發(fā)表,構成“發(fā)表權”中發(fā)表的條件是:
⑴由作者授權后在網(wǎng)絡上公開作品。發(fā)表權是著作人重
要的精神權利,即“決定作品是否公之于從的權利”。這一
權利只有作者才可享有,未經(jīng)著作權人授權的公開,如以欺
騙手法泄漏創(chuàng)作機密而在網(wǎng)絡中傳輸?shù)模皇榘l(fā)表。這一
點與專利制度中的“公開”是有所區(qū)別的。
⑵作品須在較大范圍內被公眾感知。那些僅限于小范圍
的交流,例如私人之間的E-mail和有限的人士參加的網(wǎng)絡討
論、在局域網(wǎng)(例如單位內)上的交流均不應視為“發(fā)表”。
⑶發(fā)表權只能行使一次。如果作品已在其他出版物上公
開過,即使首次進入互聯(lián)網(wǎng)絡,也不應視為發(fā)表。
2.網(wǎng)絡資源傳輸與復制權
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 節(jié)假日行車安全培訓
- 項目施工合同培訓
- 機房溫控節(jié)能相關行業(yè)投資方案范本
- 系列高效脫氧劑相關行業(yè)投資規(guī)劃報告范本
- 網(wǎng)絡安全合作保密免責條款
- 稀土發(fā)光材料相關行業(yè)投資方案范本
- 地理信息系統(tǒng)基礎與實戰(zhàn)測試題
- 辦公場所租賃合同書
- 學校委托管理協(xié)議書
- 食品加工工藝及質量控制標準試題
- 2024年03月浙江南潯銀行春季招考筆試歷年參考題庫附帶答案詳解
- 執(zhí)行立案申請書模版
- 智能建筑外掛電梯安裝方案
- 2024屆廣東省廣州市高三一??荚囉⒄Z試題講評課件
- 數(shù)字電子技術(廣東工業(yè)大學)知到智慧樹章節(jié)測試課后答案2024年秋廣東工業(yè)大學
- 安徽省淮北一中2025屆高三沖刺模擬數(shù)學試卷含解析
- 白云山生態(tài)停車場工程施工組織設計施工方案
- 2022年CSCO軟組織肉瘤診療指南
- 盆底康復課件
- CNAS認可準則、規(guī)則考核專項測試題附答案
- 中等職業(yè)學??谇恍迯凸に噷I(yè)實訓教學條件建設標準
評論
0/150
提交評論