版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
《計算機英語》參考譯文和練習(xí)答案
目錄
第一單元2
課文A:計算機概覽2
第二單元4
課文A:計算機硬件4
第三單元7
課文A:操作系統(tǒng)7
第四單元10
課文A:編程語言10
第五單元12
課文A:計算機程序12
第六單元16
課文A:分布式計算機系統(tǒng)16
第七單元19
課文A:進入關(guān)系數(shù)據(jù)庫的世界19
第八單元22
課文A:電信與計算機22
第九單元24
課文A:計算機網(wǎng)絡(luò)24
第十單元26
課文A:網(wǎng)絡(luò)拓撲結(jié)構(gòu)26
第一|一-單元29
課文A:因特網(wǎng)是如何工作的?29
第十二單元31
課文A:信息革命31
第十三單元34
課文A:電子商務(wù)簡介34
第十四單元37
課文A:計算機安全37
第十五單元40
課文A:比爾?蓋茨文摘(1):40
比爾?蓋茨文摘(2):41
練習(xí)答案43
第一單元
課文A:計算機概覽
一、引言
計算機是一種電子設(shè)備,它能接收一套指令或一個程序,然后通過對數(shù)值數(shù)據(jù)進行運算
或者對其他形式的信息進行處理來執(zhí)行該程序。
如果沒有計算機的發(fā)展,現(xiàn)代的高科技世界是不可能產(chǎn)生的。在整個社會,不同型號和
不同大小的計算機被用于存儲和處理各種數(shù)據(jù),從政府保密文件、銀行交易到私人家庭賬目。
計算機通過自動化技術(shù)開辟了制造業(yè)的新紀(jì)元,而且它們也增強了現(xiàn)代通信系統(tǒng)的性能。在
幾乎每一個研究和應(yīng)用技術(shù)領(lǐng)域,從構(gòu)建宇宙模型到產(chǎn)生明天的氣象報告,計算機無不是必
要的工具,并且它們的應(yīng)用本身就開辟了人們推測的新領(lǐng)域。數(shù)據(jù)庫服務(wù)和計算機網(wǎng)絡(luò)使各
種各樣的信息源可供使用。同樣的先進技術(shù)也使侵犯個人隱私和商業(yè)秘密成為可能。計算機
犯罪已經(jīng)成為作為現(xiàn)代技術(shù)代價組成部分的許多風(fēng)險之一。
二、歷史
第一臺加法機,數(shù)字計算機的先驅(qū),是1642年由法國科學(xué)家、數(shù)學(xué)家兼哲學(xué)家布萊斯?
帕斯卡設(shè)計的。這個裝置使用了一系列有10個齒的輪子,每個齒代表從0到9的一個數(shù)字。
輪子互相連接,從而通過按照正確的齒數(shù)向前移動輪子,就可以將數(shù)字彼此相加。在17世
紀(jì)70年代,德國哲學(xué)家兼數(shù)學(xué)家戈特弗里德?威廉?萊布尼茲對這臺機器進行了改良,設(shè)計
了一臺也能做乘法的機器。
法國發(fā)明家約瑟夫-瑪麗?雅卡爾,在設(shè)計自動織機時,使用了穿孔的薄木板來控制復(fù)
雜圖案的編織。在19世紀(jì)80年代期間,美國統(tǒng)計學(xué)家赫爾曼?何勒里斯,想出了使用類似
雅卡爾的木板那樣的穿孔卡片來處理數(shù)據(jù)的主義。通過使用一種將穿孔卡片從電觸點上移過
的系統(tǒng),他得以為1890年的美國人口普查匯編統(tǒng)計信息。
1、分析機
也是在19世紀(jì),英國數(shù)學(xué)家兼發(fā)明家查爾斯?巴比奇,提出了現(xiàn)代數(shù)字計算機的原理。
他構(gòu)想出旨在處理復(fù)雜數(shù)學(xué)題的若干機器,如差分機。許多歷史學(xué)家認為巴比奇及其合伙人,
數(shù)學(xué)家奧古斯塔?埃達?拜倫,是現(xiàn)代數(shù)字計算機的真正先驅(qū)。巴比奇的設(shè)計之一,分析機,
具有現(xiàn)代計算機的許多特征。它有一個以一疊穿孔卡片的形式存在的輸入流、一個儲存數(shù)據(jù)
的“倉庫”、一個進行算術(shù)運算的“工廠”和一個產(chǎn)生永久紀(jì)錄的打印機。巴比奇未能將這
個想法付諸實踐,盡管在那個時代它在技術(shù)上很可能是可行的。
2、早期的計算機
模擬計算機是在19世紀(jì)末期開始制造的。早期型號是靠轉(zhuǎn)動的軸和齒輪來進行計算的。
用任何其他方法都難以解答的方程,可以用這樣的機器來求其近似數(shù)值。開爾文勛爵制造了
一臺機械潮汐預(yù)報器,這實際上就是一臺專用模擬計算機。第一次和第二次世界大戰(zhàn)期間,
機械模擬計算系統(tǒng)以及后來的電動模擬計算系統(tǒng),被用作潛艇上的魚雷航線預(yù)測器和飛機上
的轟炸瞄準(zhǔn)具的控制器。人們還設(shè)計了另一個系統(tǒng),用于預(yù)測密西西比河流域春天的洪水。
3、電子計算機
第二次世界大戰(zhàn)期間,以倫敦北面的布萊切利公園為工作地點的一組科學(xué)家和數(shù)學(xué)家,
制造了最早的全電子數(shù)字計算機之一:“巨人”。到1943年12月,這個包含了1500個真空
管的“巨人”開始運轉(zhuǎn)了。它被以艾倫?圖靈為首的小組用于破譯德國用恩尼格碼加密的無
線電報,他們的嘗試大部分是成功的。
除此而外,在美國,約翰?阿塔納索夫和克利福德?貝里早在1939年就在艾奧瓦州立學(xué)
院制造了一臺原型電子機。這臺原型機和后來的研究工作都是悄悄完成的,而且后來因1945
年電子數(shù)字積分計算機(ENIAC)的研制而顯得相形見細。ENIAC計算機被授予了專利。
但是,數(shù)十年后,在1973年,當(dāng)該機被揭露吸收了在阿塔納索夫-貝里計算機中首次使用
的原理后,這項專利被廢除。
ENIAC計算機(見圖1A—1)含有18,000個真空管,具有每分鐘幾百次的運算速度,
但是最初程序是通過導(dǎo)線傳送到處理器內(nèi)的,必須由人工更改。根據(jù)美籍匈牙利數(shù)學(xué)家約翰
?馮?諾伊曼的想法,后來制造的機器帶有一個程序存儲器。指令像數(shù)據(jù)一樣存儲在“存儲器”
中,使計算機在執(zhí)行過程中擺脫了紙帶閱讀器的速度限制,并使問題在不給計算機重新接線
的情況下得以解決。
20世紀(jì)50年代末,晶體管在計算機中的應(yīng)用,標(biāo)志著比真空管機器更小、更快、更通
用的邏輯元件的出現(xiàn)。由于晶體管使用的功率小得多,壽命也長得多,僅這項發(fā)展本身就導(dǎo)
致了被稱之為第二代計算機的改良機器的產(chǎn)生。元件變小了,元件的間距也變小了,而且系
統(tǒng)的制造成本也變得低得多。
4、集成電路
20世紀(jì)60年代末,集成電路得到采用,從而有可能將許多晶體管制作在一塊硅襯底上,
集體管之間以覆鍍固定的導(dǎo)線相連接。集成電路導(dǎo)致價格、尺寸和故障率的進一步降低。20
世紀(jì)70年代中期,隨著大規(guī)模集成電路和后來的超大規(guī)模集成電路(微芯片)的采用,成
千上萬個彼此相連的晶體管被蝕刻在一塊硅襯底上,于是微處理器成為現(xiàn)實。
那么,再回過頭來看看現(xiàn)代計算機處理開關(guān)值的能力:20世紀(jì)70年代的計算機一般一
次能夠處理8個開關(guān)值。也就是說,在每個循環(huán)中,它們能處理8個二進制數(shù)字或比特的數(shù)
據(jù)。8個比特為一組,稱為一個字節(jié);每個字節(jié)包含著256個開與關(guān)(或0與1)的可能模
式。每個模式相當(dāng)于一條指令、一條指令的一部分或者一個特定的數(shù)據(jù)類型,如一個數(shù)字、
一個字符或者一個圖形符號。例如,11010010這個模式可能是二進制數(shù)據(jù)——在這種情況
下,代表210這個十進制數(shù)字——或者它可能是一條指令,告訴計算機將存儲在其交換設(shè)備
中的數(shù)據(jù)與存儲在存儲芯片某個位置的數(shù)據(jù)進行比較。
一次能處理16、32和64比特數(shù)據(jù)的處理器的研制,提高了計算機的速度。一臺計算機
能夠處理的全部可識別模式——操作總清單——被稱為其指令集。隨著現(xiàn)代數(shù)字計算機的不
斷發(fā)展,這兩個因素——能夠同時處理的比特數(shù)和指令集的大小——在繼續(xù)增長。
三、硬件
不論尺寸大小,現(xiàn)代數(shù)字計算機在概念上都是類似的。然而,根據(jù)成本與性能,它們可
分為幾類:個人計算機或微型計算機,一種成本相當(dāng)?shù)偷臋C器,通常只有桌面大?。ūM管“膝
上型計算機”小到能夠放入公文包,而“掌上型計算機”能夠放入口袋);工作站,一種具
有增強的圖形與通信能力、從而使其對于辦公室工作特別有用的微型計算機;小型計算機,
一般就個人使用而言太昂貴,其性能適合于工商企業(yè)、學(xué)?;?qū)嶒炇?;以及大型機,一種大
型的昂貴機器,具有滿足大規(guī)模工商企業(yè)、政府部門、科研機構(gòu)或者諸如此類機構(gòu)需要的能
力(其中體積最大、速度最快的稱為巨型計算機)。
一臺數(shù)字計算機不是單一的機器。確切地說,它是由5個不同的要素組成的系統(tǒng):(1)
中央處理器;(2)輸入設(shè)備;(3)存儲設(shè)備;(4)輸出設(shè)備;以及(5)被稱作總線的通信
網(wǎng)絡(luò),它將系統(tǒng)的所有要素連接起來并將系統(tǒng)與外界連接起來。
四、編程
一個程序就是一系列指令,告訴計算機硬件對數(shù)據(jù)執(zhí)行什么樣的操作。程序可以內(nèi)嵌在
硬件本身里,或以軟件的形式獨立存在。在一些專業(yè)或“專用”計算機中,操作指令被嵌入
其電路里;常見的例子有計算器、手表、汽車發(fā)動機和微波爐中的微型計算機。另一方面,
通用計算機盡管含有一些內(nèi)嵌的程序(在只讀存儲器中)或者指令(在處理器芯片中),但
依靠外部程序來執(zhí)行有用的任務(wù)。計算機一旦被編程,就只能做在任何特定時間控制它的軟
件所允許它做的事情。廣泛使用的軟件包括一系列各種各樣的應(yīng)用程序——告訴計算機如何
執(zhí)行各種任務(wù)的指令。
五、未來的發(fā)展
計算機發(fā)展的一個持續(xù)不斷的趨勢是微小型化,亦即將更多的電路元件壓縮在越來越小
的芯片空間上的努力。研究人員也在設(shè)法利用超導(dǎo)性來提高電路的功能速度.超導(dǎo)性是在超
低溫條件下在某些材料中觀察到的電阻減少現(xiàn)象。
計算機發(fā)展的另一個趨勢是“第五代”計算機的研制工作,亦即研制可以解決復(fù)雜問題
而且其解決方法或許最終會與“創(chuàng)造性的”這一形容名副其實的計算機,理想的目標(biāo)是真正
的人工智能。正在積極探索的一條道路是并行處理計算,亦即利用許多芯片來同時執(zhí)行數(shù)個
不同的任務(wù)。一種重要的并行處理方法是模仿神經(jīng)系統(tǒng)結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò)。另一個持續(xù)不斷的
趨勢是計算機聯(lián)網(wǎng)的增加。計算機聯(lián)網(wǎng)現(xiàn)在使用由衛(wèi)星和電纜鏈路構(gòu)成的世界范圍的數(shù)據(jù)通
信系統(tǒng),來將全球的計算機連在一起。此外,大量的研究工作還投入在探索“光”計算機的
可能性上——這種硬件處理的不是電脈沖而是快得多的光脈沖。
第二單元
課文A:計算機硬件
一、引言
計算機硬件是計算機運行所需要的設(shè)備,由可進行物理處理的元件組成。這些元件的功
能一般分為3個主要類別:輸入、輸出和存儲。這些類別的元件與微處理器相連接,特別是
與計算機的中央處理器相連接,而后者是通過被稱之為線路或電路的總線來提供計算能力和
對計算機進行控制的電子電路。
另一方面,軟件是計算機用來處理數(shù)據(jù)的一套指令,如字處理程序或者視頻游戲。這些
程序通常被存儲起來,并由計算機硬件調(diào)入和調(diào)出中央處理器。軟件也控制著硬件如何使用;
例如,如何從存儲設(shè)備中檢索信息。輸入與輸出硬件的交互作用是由基本輸入輸出系統(tǒng)
(BIOS)軟件控制的。
盡管微處理器在技術(shù)上仍被認為是硬件,其部分功能也與計算機軟件有關(guān)系。既然微處
理器同時具有硬件與軟件方面的特征,它們因此經(jīng)常被稱作固件。
二、輸入硬件
輸入硬件由給計算機提供信息和指令的外部設(shè)備——亦即計算機中央處理器以外的元
件——組成。光筆是具有光敏端頭的輸入筆,用來在計算機屏幕上直接寫畫,或者通過按光
筆上的夾子或用光筆接觸屏幕來在屏幕上選擇信息。這種筆含有光傳感器,能夠識別屏幕上
筆經(jīng)過的部分。鼠標(biāo)是為一只手抓握而設(shè)計的指示設(shè)備。它在底部有一個檢測裝置(通常是
一個圓球),使用戶通過在一個平面上移動鼠標(biāo)能夠控制屏幕上指針或光標(biāo)的運動。當(dāng)鼠標(biāo)
滑過平面的時候,光標(biāo)隨著在屏幕上移動。要在屏幕上選擇項目或命令,用戶就點擊鼠標(biāo)上
的按鈕。操縱桿是由一根桿子組成的指示設(shè)備,該桿以向多個方向移動來操縱計算機屏幕上
的光標(biāo)或者其他圖形對象。鍵盤是一個像打字機的設(shè)備,它使用戶得以向計算機鍵入文本和
命令。有些鍵盤有特殊功能鍵或集成的指示設(shè)備,如軌跡球或者可以讓用戶通過手指的移動
來移動屏幕上光標(biāo)的觸敏區(qū)。
光掃描儀利用光感應(yīng)設(shè)備將圖片或文本等形式的圖像轉(zhuǎn)換成計算機能夠處理的電子信
號。例如,一張照片能夠被掃入一臺計算機,然后包括在該計算機建立的文本文件中。最常
見的兩種掃描儀類型是平板式掃描儀和手持式掃描儀,前者類似一臺辦公復(fù)印機,后者用手
動的方式從要處理的圖像上掃過。麥克風(fēng)是將聲音轉(zhuǎn)換成可被計算機存儲、處理和回放的信
號的設(shè)備。語音識別模塊是將說的話轉(zhuǎn)換成計算機能夠識別和處理的信號的設(shè)備。
調(diào)制解調(diào)器代表調(diào)制器一解調(diào)器,是將計算機與電話線連接、允許信息傳給或接自另一
臺計算機的設(shè)備。每臺發(fā)送或接收信息的計算機都必須與調(diào)制解調(diào)器相連接。計算機發(fā)送的
信息由調(diào)制解調(diào)器轉(zhuǎn)換成音頻信號,然后通過電話線傳送到接收調(diào)制解調(diào)器上,由其將信號
轉(zhuǎn)換成接收計算機能夠理解的信息。
三、輸出硬件
輸出硬件由將信息從計算機中央處理器傳給計算機用戶的外部設(shè)備構(gòu)成。視頻顯示器或
屏幕將計算機生成的信息轉(zhuǎn)換成可視信息。顯示器一般有兩種形式:陰極射線管視頻屏幕和
液晶顯示視頻屏幕?;陉帢O射線管的屏幕或監(jiān)視器看起來就像一臺電視機?從中央處理器
輸出的信息,使用電子束顯示出來,其過程是電子束掃描熒光屏,而熒光屏則發(fā)出光并產(chǎn)生
圖像?;谝壕э@示器的屏幕將可視信息顯示在比基于陰極射線管的視頻監(jiān)視器更平、更小
的屏幕上。液晶顯示器常常用于膝上型計算機。
打印機將計算機輸出的文本和圖像打印在紙上。點陣打印機使用細小的金屬絲打擊色帶,
從而形成字符。激光打印機使用光束在磁鼓上畫圖像,然后由磁鼓吸起被稱之為色粉的微小
黑粒。色粉熔凝到紙上,形成圖像。噴墨打印機將小墨滴噴射到紙上,形成字符和圖像。
四、存儲硬件
存儲硬件為計算機檢索提供信息和程序的永久性存儲。兩種主要的存儲設(shè)備是磁盤驅(qū)動
器和存儲器。磁盤驅(qū)動器有兒種類型:硬盤、軟盤、磁光盤和光盤。硬盤驅(qū)動器將信息存儲
在盤中嵌入的磁性顆粒中。硬盤驅(qū)動器通常是計算機的固定部分,能存儲大量的信息并對其
進行快速的檢索。軟盤驅(qū)動器也將信息存儲在磁性顆粒中,但這些顆粒是嵌入在可移動的盤
中,而這些盤既可能是軟的也可能是硬的。軟盤比硬盤存儲的信息少,檢索該信息的速度也
慢得多。磁光盤驅(qū)動器將信息存儲在對激光和磁場都敏感的可移動盤上。它們可存儲的信息
通常與硬盤一樣多,但檢索速度稍微慢一點.由反射材料制成的光盤,其表面燒蝕出凹陷區(qū)。
光驅(qū)(CD-ROM)就是將信息存儲于此。存儲在光盤上的信息不能擦除或用新信息改寫。它
們能夠存儲和硬盤差不多的信息量,但信息檢索速度比其慢。
存儲器是指存儲信息供中央處理器快速檢索的計算機芯片。隨機訪問存儲器(RAM)
用來存儲操作計算機程序的信息和指令。通常,程序由磁盤驅(qū)動器的存儲區(qū)調(diào)到隨機訪問存
儲器中。隨機訪問存儲器也稱作易失性存儲器,因為當(dāng)計算機的電源關(guān)閉時,計算機芯片中
的信息隨著丟失。只讀存儲器(ROM)包含必須永久可供計算機操作使用的關(guān)鍵信息和軟
件,如從開機到關(guān)機一直指揮計算機的運行的操作系統(tǒng)。只讀存儲器稱之為非易失性存儲器,
因為當(dāng)計算機的電源關(guān)閉時,存儲芯片中的信息不會丟失。
有些設(shè)備有不止一種用途。例如,軟盤也可用作輸入設(shè)備,如果它們含有計算機用戶要
使用和處理的信息的話。此外,它們也可用作輸出設(shè)備,如果用戶想將計算結(jié)果存儲在它們
上面的話。
五、硬件的連接
要想運轉(zhuǎn),硬件需要物理連接,使元件之間能夠交流和相互作用??偩€提供了一種常見
的互連系統(tǒng),它由一組導(dǎo)線或電路組成,在計算機的內(nèi)部組成部分之間協(xié)調(diào)和移動信息。計
算機總線由兩條通道組成:一條由中央處理器用來給數(shù)據(jù)定位,叫做地址總線;另一條用來
將該數(shù)據(jù)送往那個地址,叫做數(shù)據(jù)總線??偩€可用兩個特征來描述:一次可處理的信息量,
稱為總線寬度,和傳送這些數(shù)據(jù)的速度。
串行連接是一根或一組導(dǎo)線,用于將信息從中央處理器傳送到外部設(shè)備,如鼠標(biāo)、鍵盤、
調(diào)制解調(diào)器、掃描儀和一些類型的打印機。這種連接一次只能傳送一段數(shù)據(jù),因此很慢。使
用串行連接的好處在于它能提供遠距離的有效連接。
并行連接使用多組導(dǎo)線來同時傳送數(shù)個信息塊。大多數(shù)掃描儀和打印機使用這種連接方
式。并行連接比串行連接快得多,但是它在中央處理器和外部設(shè)備之間的傳輸距離僅限于不
到3米(10英尺)。
第三單元
課文A:操作系統(tǒng)
一、引言
在計算機科學(xué)中,操作系統(tǒng)(OS)是控制計算機的基本軟件。它具有3個主要功能:
協(xié)調(diào)與操作計算機硬件,如計算機存儲器、打印機、磁盤、鍵盤、鼠標(biāo)和監(jiān)視器;在各種存
儲介質(zhì)上編排文件,如軟盤、硬盤、光盤和磁帶;以及處理硬件錯誤和數(shù)據(jù)丟失。
二、操作系統(tǒng)是怎樣工作的
操作系統(tǒng)控制不同的計算機進程,如運行一個電子表格程序或訪問計算機存儲器里的信
息。一個重要的進程是解釋使用戶得以與計算機進行通信的命令。有些命令解釋器是面向文
本的,要求將命令鍵入。另一些命令解釋器是面向圖形的,允許用戶通過指向并點擊圖標(biāo),
即屏幕上代表具體命令的圖片,來進行通信。初學(xué)者一般覺得面向圖形的解釋器使用起來容
易一些,但是許多有經(jīng)驗的計算機用戶更喜歡使用面向文本的命令解釋器,因為它們的功能
更強大一些。
操作系統(tǒng)或者是單一任務(wù)處理的,或者是多任務(wù)處理的。早期的單一任務(wù)處理操作系統(tǒng)
每次僅能運行一個進程。例如,當(dāng)計算機打印文件時,在打印結(jié)束之前,計算機不能開始另
一個進程或響應(yīng)新的命令。
所有現(xiàn)代操作系統(tǒng)都是多任務(wù)處理的,可以同時運行數(shù)個進程。在大多數(shù)計算機中,只
有一個中央處理器(CPU)(計算機的計算與控制單元),因此多任務(wù)處理操作系統(tǒng)造成一種
假象,即數(shù)個進程同時在中央處理器上運行。用來造成這種假象的最常見辦法是時間片多任
務(wù)處理,依靠這種方法每個進程都單獨運行固定的一段時間。如果進程在分配的時間內(nèi)沒有
完成,它即被暫停,而另一個進程開始運行。進程之間的這種切換被稱為上下文轉(zhuǎn)換。操作
系統(tǒng)進行“簿記”,保存被暫停進程的狀態(tài)。它還有一種確定下一步運行哪個進程的機制,
稱之為調(diào)度程序。調(diào)度程序快速運行短進程,以盡可能縮短可察覺的延遲。由于用戶對時間
的感覺要比計算機的處理速度慢得多,因此多個進程看似在同時運行。
操作系統(tǒng)可以使用虛擬內(nèi)存,以運行所需主存空間大于實際可用主存空間的進程。使用
這種技術(shù),硬盤驅(qū)動器上的空間被用來模擬所需的額外內(nèi)存。然而,訪問硬盤驅(qū)動器比訪問
主存耗時多,因此計算機運行起來很慢。
三、當(dāng)前的操作系統(tǒng)
個人計算機常用的操作系統(tǒng)有UNIX、MacintoshOS,MS-DOS,OS/2以及Windows。
1、UNIX
在計算機科學(xué)中,UNIX是一種多用戶、多任務(wù)處理操作系統(tǒng),最初由肯?湯普森和丹
尼斯?里奇于1969年在美國電話電報公司的貝爾實驗室里開發(fā),用于小型計算機。UNIX以
各種形式和實現(xiàn)方式存在;這其中包括加利福尼亞大學(xué)伯克利分校開發(fā)的版本(稱為“伯克
利軟件發(fā)行中心版本”)和美國電話電報公司發(fā)行的版本——其最新版本是“美國電話電報
公司系統(tǒng)V”。UNIX被認為是一種功能強大的操作系統(tǒng)。因為是用C語言編寫的,它比其
他操作系統(tǒng)更具有可移植性——受機器限制比較少。UNIX還有幾個相關(guān)的系統(tǒng)形式,包括:
AIX,由IBM公司改寫的UNIX版本(在基于精簡指令集計算機的工作站上運行);A/UX
(用于蘋果計算機公司的麥金托什個人計算機上的圖形版本);以及Mach(一種重寫的但基
本上與UNIX兼容的操作系統(tǒng),用于NeXT計算機)。
UNIX的流行,在很大程度上是由于被稱作因特網(wǎng)的計算機互聯(lián)網(wǎng)絡(luò)的發(fā)展,因為因特
網(wǎng)使用的軟件最初是為運行UNIX的計算機設(shè)計的。UNIX的變種包括SunOS(由太陽微系
統(tǒng)股份有限公司發(fā)布)、Xenix(由微軟公司發(fā)布)和Linux。UNIX及其克隆產(chǎn)品支持多任
務(wù)處理和多個用戶。其文件系統(tǒng)提供了一種編排磁盤文件的簡便方法,并允許用戶保護其文
件而防范其他用戶。然而,UNIX中的命令不很直觀,要掌握這個系統(tǒng)比較困難。
2、MS-DOS
MS-DOS是“微軟磁盤操作系統(tǒng)”的首字母縮拚詞。在計算機科學(xué)中,MS-DOS同其
他操作系統(tǒng)一樣,管理下面一類的操作:磁盤輸入與輸出、視頻支持、鍵盤控制以及與程序
執(zhí)行和文件維護有關(guān)的許多內(nèi)部功能。MS-DOS是帶有命令行界面的單個任務(wù)處理、單用戶
操作系統(tǒng)。
3、OS/2
OS/2,或稱''第二代操作系統(tǒng)”,是20世紀(jì)80年代中期由IBM公司和微軟公司為個人
計算機開發(fā)的一種操作系統(tǒng)。1987年末,OS/2推出時,最常見的個人計算機是運行MS-DOS
的IBM兼容機和由蘋果計算機公司生產(chǎn)、運行其麥金托什個人計算機操作系統(tǒng)(MacOS)
的計算機。麥金托什個人計算機操作系統(tǒng)包含多任務(wù)處理功能,一個使計算機能夠同時運行
數(shù)個應(yīng)用程序的特征。在一個計算機網(wǎng)絡(luò)中,多任務(wù)處理允許不同計算機上的數(shù)個用戶同時
訪問同一個應(yīng)用程序或數(shù)據(jù)集。OS/2是為IBM兼容個人計算機設(shè)計、允許多任務(wù)處理的第
一個操作系統(tǒng)。
OS/2的第一個版本,1.0版本,是面向文本的,沒有允許用戶通過使用計算機鼠標(biāo)等指
向與點擊輸入設(shè)備來輸入命令的圖形用戶界面(GUI)。一年后,IBM和微軟發(fā)布了OS/2
的1.1版本,它包括一個稱為表示管理程序的圖形用戶界面。表示管理程序界面包含圖標(biāo),
亦即屏幕上用戶可以用鼠標(biāo)點擊來輸入指令的圖片或文字。OS/2的1.1版本也允許用戶打開
多個窗口(窗口是屏幕上的一個部分,每個窗口包含一個不同的文件或程序),并包括用戶
可以用鼠標(biāo)點擊來進行選擇的下拉式命令清單。
1991年,在微軟發(fā)布了Windows軟件——在MS-DOS上運行的多任務(wù)處理環(huán)境——之
后,IBM和微軟結(jié)束了它們在OS/2上的合作。1992年,IBM發(fā)布了OS/2的2.0版本。該
版本運行微軟的Windows程序,并可以執(zhí)行DOS操作下的多任務(wù)處理。它也包含面向?qū)ο?/p>
的編程環(huán)境,允許軟件設(shè)計者使用高級的面向?qū)ο缶幊陶Z言編程。
OS/2后來的版本增強了性能和多媒體能力。1994年,IBM宣布,自O(shè)S/2推出后已售
出5百多萬份。同一年,IBM推出OS/2的一個新版本,稱為OS/2Warp。其特色為:改善
的性能、增強的多媒體能力、一系列的集成應(yīng)用程序和方便的因特網(wǎng)接入。IBM公司繼續(xù)
對OS/2Wrap進行升級和擴充。
4、Windows
在計算機科學(xué)中,Windows是由微軟公司出售的一種個人計算機操作系統(tǒng),它允許用
戶通過指示和點擊設(shè)備,譬如鼠標(biāo),來代替鍵盤輸入命令。Windows操作系統(tǒng)為用戶提供了
一個圖形用戶界面,允許用戶操作計算機屏幕上稱之為圖標(biāo)的圖片來發(fā)出命令。Windows
是世界上使用最廣泛的操作系統(tǒng)。它是微軟的磁盤操作系統(tǒng)(MS-DOS)的擴充和替代品。
Windows圖形用戶界面旨在為用戶提供一個自然或直觀的工作環(huán)境。使用Windows,
用戶可以用鼠標(biāo)在計算機屏幕上移動光標(biāo)。通過將光標(biāo)指向圖標(biāo)并點擊鼠標(biāo)上的按鈕,用戶
可以給計算機發(fā)出命令,讓其執(zhí)行一個動作,如啟動一個程序、訪問一個數(shù)據(jù)文件或復(fù)制一
個數(shù)據(jù)文件。其他命令可以通過下拉或點擊式菜單項來訪問。計算機將用戶正在工作的活動
區(qū)域顯示為計算機屏幕上的窗口。當(dāng)前正在使用的活動窗口可以與先前使用的、仍然在屏幕
上打開著的其他活動窗口重疊。這種類型的圖形用戶界面被說成是包含了WIMP特征:窗
口、圖標(biāo)、菜單和指點設(shè)備(如鼠標(biāo))。
施樂公司帕洛阿爾托研究中心的計算機科學(xué)家,在20世紀(jì)70年代初創(chuàng)造了圖形用戶界
面這個概念,但是這個創(chuàng)新沒有馬上取得商業(yè)上的成功。1983年,蘋果計算機公司在其Lisa
計算機上采用了一種用戶圖形界面。這種用戶圖形界面在其1984年推出的麥金托什個人計
算機中得到升級和改善。
微軟于1983年開始開發(fā)用戶圖形界面,作為其MS-DOS操作系統(tǒng)的擴展。微軟的
Windows1.0版本在1985年首次出現(xiàn)。在這個版本中,窗口是平鋪式的,也就是互相挨著,
而不是重疊顯示。1987年推出的Windows2.0版本,在設(shè)計上類似于IBM的OS/2表示管理
程序——另一種用戶圖形界面操作系統(tǒng)。Windows2。版本具有重疊窗口的特征。1990年推
出的功能更加強大的Windows3.0版本和后來的3.1與3.11版本,迅速使Windows成為個人
計算機操作系統(tǒng)的市場領(lǐng)頭商品,其部分原因在于它被預(yù)先捆綁在新的個人計算機上。它還
成為受歡迎的軟件開發(fā)平臺。
1993年,微軟推出了WindowsNT(新技術(shù))。WindowsNT操作系統(tǒng)提供32位的多任
務(wù)處理,使計算機具有了高速地同時或并行運行數(shù)個程序的能力。這種操作系統(tǒng)與IBM的
OS/2展開競爭,爭做許多企業(yè)的密集型高端聯(lián)網(wǎng)運算環(huán)境的平臺。
1995年,微軟發(fā)布了用于個人計算機的一個Windows新版本,稱作Windows95。
Windows95與以前的版本相比,用戶圖形界面造型更加優(yōu)美,也更加簡單。它提供了32位
進程處理、高效的多任務(wù)處理、網(wǎng)絡(luò)連接和因特網(wǎng)接入。
幾乎沒有計算機用戶直接運行MS-DOS或OS/2。他們更愿意選擇UNIX的各種版本或
者帶有圖形界面的窗口型系統(tǒng),如Windows98或MacintoshOS,因為它們使計算機技術(shù)更
容易利用。然而,與面向命令的操作系統(tǒng)相比,圖形系統(tǒng)一般具有需要更多硬件的缺點,如
速度更快的中央處理器、更多的內(nèi)存和更高質(zhì)量的監(jiān)視器。
五、未來的技術(shù)
操作系統(tǒng)在不斷地演進。最近開發(fā)的一種稱之為分布式操作系統(tǒng)的操作系統(tǒng)類型,是為
共享硬盤驅(qū)動器等資源的一批連接在一起、但相互獨立的計算機設(shè)計的。在分布式操作系統(tǒng)
中,一個進程可以在網(wǎng)絡(luò)中的任何一臺計算機(可能是一臺空閑的計算機)上運行,以加快
該進程的執(zhí)行。操作系統(tǒng)的所有基本功能——如維護文件系統(tǒng)、確保合理的行為以及在發(fā)生
部分故障的情況下恢復(fù)數(shù)據(jù)一在分布式系統(tǒng)中變得比較復(fù)雜。
用語音或手寫的方法代替鍵盤輸入的研究工作也在進行中。目前,這些類型的輸入還不
很準(zhǔn)確,因為人們在詞的發(fā)音和書寫上有很大的不同,使計算機難以識別不同用戶的相同輸
入。然而,這個領(lǐng)域取得的發(fā)展已經(jīng)帶來了能夠識別由各種不同的人所說的少數(shù)單詞的系統(tǒng)。
另外,經(jīng)過訓(xùn)練能夠識別一個人的手跡的軟件也己經(jīng)開發(fā)出來。
第四單元
課文A:編程語言
一、引言
在計算機科學(xué)中,編程語言是用來編寫可被計算機運行的一系列指令(計算機程序)的
人工語言。與英語等自然語言相類似,編程語言具有詞匯、語法和句法。然而,自然語言不
適合計算機編程,因為它們能引起歧義,也就是說它們的詞匯和語法結(jié)構(gòu)可以用多種方式進
行解釋。用于計算編程的語言必須具有簡單的邏輯結(jié)構(gòu),而且它們的語法、拼寫和標(biāo)點符號
的規(guī)則必須精確。
編程語言在復(fù)雜性和通用程度上大相徑庭。有些編程語言是為了處理特定類型的計算問
題或為了用于特定型號的計算機系統(tǒng)而編寫的。例如,F(xiàn)ORTRAN和COBOL等編程語言是
為解決某些普遍的編程問題類型而編寫的——FORTRAN為了科學(xué)領(lǐng)域的應(yīng)用,而COBOL
為了商業(yè)領(lǐng)域的應(yīng)用。盡管這些語言旨在處理特定類型的計算機問題,但是它們具有很高的
可移植性,也就是說它們可以用來為多種類型的計算機編程。其他的語言,譬如機器語言,
是為一種特定型號的計算機系統(tǒng),甚至是一臺特定的計算機,在某些研究領(lǐng)域使用而編寫的。
最常用的編程語言具有很高的可移植性,可以用于有效地解決不同類型的計算問題。像C、
PASCAL和BASIC這樣的語言就屬于這一范疇。
二、語言類型
編程語言可劃分為低級語言和高級語言。低級編程語言或機器語言,是編程語言中最基
礎(chǔ)的類型,能被計算機直接理解。機器語言的區(qū)別取決于制造商和計算機的型號。高級語言
是在計算機能夠理解和處理之前必須首先翻譯成機器語言的編程語言。C、C++、PASCAL
和FORTRAN都是高級語言的例子。匯編語言是中級語言,非常接近于機器語言,沒有其
他高級語言所表現(xiàn)出的語言復(fù)雜程度,但仍然得翻譯成機器語言。
1、機器語言
在機器語言中,指令被寫成計算機能夠直接理解的被稱之為比特的1和0的序列。機器
語言中的一條指令通常告訴計算機4件事情:(1)到計算機主存儲器(隨機訪問存儲器)的
哪個位置去找一或兩個數(shù)字或者簡單的數(shù)據(jù)段;(2)要執(zhí)行的一個簡單操作,例如將兩個數(shù)
字加起來;(3)將這個簡單操作的結(jié)果存放在主存儲器的什么位置;以及(4)到哪里找要
執(zhí)行的下一條指令。雖然所有的可執(zhí)行程序最終都是以機器語言的形式被計算機讀取,但是
它們并非都是用機器語言編寫的。直接用機器語言編程極端困難,因為指令是1和0的序列。
機器語言中的一條典型的指令可能是1001011001011,意思是將存儲寄存器A的內(nèi)容加到
存儲寄存器B的內(nèi)容中。
2、高級語言
高級語言是利用人類語言中的詞和句法的一套相對復(fù)雜的語句。它們比匯編語言和機器
語言更類似于正常的人類語言,因此用來編寫復(fù)雜的程序更容易。這些編程語言允許更快地
開發(fā)更龐大和更復(fù)雜的程序。然而,在計算機能夠理解之前,高級語言必須被稱之為編譯器
的另外一種程序翻譯成機器語言。因為這個原因,與用匯編語言編寫的程序比較起來,用高
級語言編寫的程序可能運行的時間更長,占用的內(nèi)存更多。
3、匯編語言
計算機編程人員使用匯編語言使機器語言程序編寫起來更簡單一些。在匯編語言中,每
條語句大致對應(yīng)一條機器語言指令。匯編語言的語句是借助易于記憶的命令編寫的。在典型
的匯編語言的語句中,把存儲寄存器A的內(nèi)容加到存儲寄存器B的內(nèi)容中這一命令,可以
寫成AQCB,A。匯編語言與機器語言具有某些共同特征。例如,對特定的比特進行操作,
用匯編語言和機器語言都是可行的。當(dāng)盡量減少程序的運行時間很重要時,程序員就使用匯
編語言,因為從匯編語言到機器語言的翻譯相對簡單。當(dāng)計算機的某個部分必須被直接控制
時,如監(jiān)視器上的單個點或者流向打印機的單個字符,這時也使用匯編語言。
三、高級語言的分類
高級語言通常分為面向過程的、函數(shù)式的、面向?qū)ο蟮幕蜻壿嫷恼Z言。當(dāng)今最常見的高
級語言是面向過程的語言。在這種語言中,執(zhí)行某個完整功能的一個或多個相關(guān)的語句塊組
成一個程序模塊或過程,而且被給予諸如“過程A”的名稱。如果在程序的其他地方需要同
樣的操作序列,可以使用一個簡單的語句調(diào)回這個過程。實質(zhì)上,一個過程就是一個小型程
序。一個大程序可以通過將執(zhí)行不同任務(wù)的過程組合在一起而構(gòu)成。過程語言使程序變得比
較短,而且更易于被計算機讀取,但是要求程序員將每個過程都設(shè)計得足夠通用,能用于不
同的情況。
函數(shù)式語言像對待數(shù)學(xué)函數(shù)一樣對待過程,并允許像處理程序中的任何其他數(shù)據(jù)一樣處
理它們。這就使程序構(gòu)造在更高、更嚴密的水平上得以實現(xiàn)。函數(shù)式語言也允許變量——在
程序運行過程中可以被用戶指定和更改的數(shù)據(jù)符號——只被賦值一次。這樣,通過減少對語
句執(zhí)行的確切順序給予關(guān)注的必要性,就簡化了編程,因為一個變量沒有必要每次在一個程
序語句中用到,都重新定義或重新賦值。函數(shù)式語言的許多觀點已經(jīng)成為許多現(xiàn)代過程語言
的關(guān)鍵部分.
面向?qū)ο蟮恼Z言是函數(shù)式語言的發(fā)展結(jié)果。在面向?qū)ο蟮恼Z言中,用來編寫程序的代碼
和程序處理的數(shù)據(jù),組合成叫做對象的單元。對象進一步組合成類,而類則定義對象必須具
有的屬性。類的一個簡單例子就是書這個類。這個類中的對象可能是小說和短篇小說。對象
還有某些與其相關(guān)的功能,稱為方法。計算機通過使用對象的某種方法來使用這個對象。方
法對對象中的數(shù)據(jù)執(zhí)行某個操作,然后將值返回給計算機。對象的類也可更進一步組合成層,
而在層中一個類的對象可繼承另一個類的方法。面向?qū)ο蟮恼Z言中所提供的這種結(jié)構(gòu),使面
向?qū)ο蟮恼Z言對于復(fù)雜的編程任務(wù)非常有用。
邏輯語言將邏輯用作其數(shù)學(xué)基礎(chǔ)。一個邏輯程序由一系列的事實與“如果……則”規(guī)則
組成,來具體說明一系列事實如何可以從其他實事中推斷出來,例如:
如果X語句為真,則Y語句為假。
在這樣一個程序的執(zhí)行過程中,一條輸入語句可以按照邏輯從程序中的其他語句推斷出
來。許多人工智能程序使用這種語言編寫。
四、語言的結(jié)構(gòu)與成分
編程語言使用特定類型的語句或指令,來給程序提供功能結(jié)構(gòu)。程序中的一條語句是表
達一個簡單意思的基本句子,其目的是給計算機一條基本指令。語句對允許的數(shù)據(jù)類型、數(shù)
據(jù)如何處理以及過程和函數(shù)的工作方式進行定義。程序員利用語句來操作編程語言的常見成
分,如變量和宏(程序中的小型程序)。
數(shù)據(jù)聲明語句給予稱為變量的程序元素以名稱和屬性。變量在程序中可以賦予不同的值。
變量可以具有的屬性被稱作類型,它們包括:變量中可能存儲什么樣的值,值中使用何種程
度的數(shù)值精度,以及一個變量可以如何以有組織結(jié)構(gòu)的方式——如以表或數(shù)組的形式一代
表一組比較簡單的值等等。在許多編程語言中,一種關(guān)鍵的數(shù)據(jù)類型是指示字。指示字變量
本身沒有值;相反,它們含有計算機可以用來查找某個其他變量的信息——也就是說,它們
指向另一個變量。
表達式是語句的一段,描述要對一些程序變量執(zhí)行的一系列運算,如X+Y/Z,其中X、
Y和Z為變量,運算方法為加和除。賦值語句給一個變量賦予得自某個表達式的值,而條
件語句則指定要被測試、然后用于選擇接下來應(yīng)該執(zhí)行的其他語句的表達式。
過程與函數(shù)語句將某些代碼塊定義為以后可在程序中返回的進程或函數(shù)。這些語句也規(guī)
定程序員可以選擇的變量與參數(shù)種類,以及當(dāng)一個表達式使用過程或函數(shù)時代碼將返回的值
的類型。許多編程語言也容許叫做宏的小型翻譯程序。宏把使用程序員定義的語言結(jié)構(gòu)編寫
的代碼段翻譯成編程語言可以理解的語句。
五、歷史
編程語言幾乎可以追溯到20世紀(jì)40年代數(shù)字計算機發(fā)明之時。最早的匯編語言,隨著
商業(yè)計算機的推出,出現(xiàn)于20世紀(jì)50年代末。最早的過程語言是在20世紀(jì)50年代末到
20世紀(jì)60年代初開發(fā)的:FORTRAN語言由約翰?巴克斯創(chuàng)造,然后由格雷斯?霍珀創(chuàng)造了
COBOL語言。第一種函數(shù)式語言是LISP,由約翰?麥卡錫于20世紀(jì)50年代末編寫。這3
種語言今天仍在廣泛使用,但經(jīng)歷過大量修改。
20世紀(jì)60年代末,出現(xiàn)了最早的面向?qū)ο蟮恼Z言,如SIMULA語言。邏輯語言在20
世紀(jì)70年代中期隨著PROLOG語言的推出而變得廣為人知;PROLOG語言是一種用于編
寫人工智能軟件的語言。在20世紀(jì)70年代,過程語言繼續(xù)發(fā)展,出現(xiàn)了ALGOL.BASIC.
PASCAL、C和Ada等語言。SMALLTALK語言是一種具有高度影響力的面向?qū)ο蟮恼Z言,
它導(dǎo)致了面向?qū)ο蟮恼Z言與過程語言在C++和更近期的JAVA語言中的結(jié)合。盡管純粹的邏
輯語言受歡迎的程度有所下降,但其變體以現(xiàn)代數(shù)據(jù)庫所使用的關(guān)系語言——如結(jié)構(gòu)化查詢
語言一一的形式,變得至關(guān)重要。
第五單元
課文A:計算機程序
一、引言
計算機程序是指導(dǎo)計算機執(zhí)行某個功能或功能組合的一套指令。要使指令得到執(zhí)行,計
算機必須執(zhí)行程序,也就是說,計算機要讀取程序,然后按準(zhǔn)確的順序?qū)嵤┏绦蛑芯幋a的步
驟,直至程序結(jié)束。一個程序可多次執(zhí)行,而且每次用戶輸給計算機的選項和數(shù)據(jù)不同,就
有可能得到不同的結(jié)果。
程序可分為兩大類:應(yīng)用程序和操作系統(tǒng)。應(yīng)用程序直接為用戶執(zhí)行某項功能,如字處
理或玩游戲。操作系統(tǒng)管理計算機和與之相連的各種資源和設(shè)備,如隨機訪問存儲器、硬盤
驅(qū)動器、監(jiān)視器、鍵盤、打印機和調(diào)制解調(diào)器,以便使其他程序可以使用它們。操作系統(tǒng)的
例子包括:DOS、Windows95,OS/2和UNIX。
二、程序開發(fā)
軟件設(shè)計者通過特殊的應(yīng)用程序來開發(fā)新程序,這些應(yīng)用程序常被稱作實用程序或開發(fā)
程序。程序員使用稱作文本編輯器的另一種程序,來以稱作編程語言的特殊標(biāo)記編寫新程序。
使用文本編輯器,程序員創(chuàng)建一個文本文件,這個文本文件是一個有序指令表,也稱為程序
源文件。構(gòu)成程序源文件的單個指令被稱為源代碼。在這個時候,一種特殊的應(yīng)用程序?qū)⒃?/p>
代碼翻譯成機器語言或目標(biāo)代碼——操作系統(tǒng)將認作真程序并能夠執(zhí)行的一種格式。
將源代碼翻譯成目標(biāo)代碼的應(yīng)用程序有3種:編譯器、解釋器和匯編程序。這3種應(yīng)用
程序在不同類型的編程語言上執(zhí)行不同的操作,但是它們都起到將編程語言翻譯成機器語言
的相同目的。
編譯器將使用FORTRAN.C和Pascal等高級編程語言編寫的文本文件一次性從源代碼
翻譯成目標(biāo)代碼。這不同于BASIC等解釋執(zhí)行的語言所采取的方式,在解釋執(zhí)行的語言中
程序是隨著每條指令的執(zhí)行而逐個語句地翻譯成目標(biāo)代碼的。解釋執(zhí)行的語言的優(yōu)點是,它
們可以立即開始執(zhí)行程序,而不需要等到所有的源代碼都得到編譯。對程序的更改也可以相
當(dāng)快地作出,而無需等到重新編譯整個程序。解釋執(zhí)行的語言的缺點是,它們執(zhí)行起來慢,
因為每次運行程序,都必須對整個程序一次一條指令地翻譯。另一方面,編譯執(zhí)行的語言只
編譯一次,因此計算機執(zhí)行起來要比解釋執(zhí)行的語言快得多。由于這個原因,編譯執(zhí)行的語
言更常使用,而且在專業(yè)和科學(xué)領(lǐng)域幾乎總是得到采用。
另一種翻譯器是匯編程序,它被用于以匯編語言編寫的程序或程序組成部分。匯編語言
也是一種編程語言,但它比其他類型的高級語言更接近于機器語言。在匯編語言中,一條語
句通??梢苑g成機器語言的一條指令。今天,匯編語言很少用來編寫整個程序,而是最經(jīng)
常地采用于程序員需要直接控制計算機某個方面功能的場合。
程序經(jīng)常被編寫作一套較小的程序段,每段代表整個應(yīng)用程序的某個方面。各段獨立編
譯之后,一種被稱為連接程序的程序?qū)⑺芯幾g好的程序段組合成一個可以執(zhí)行的完整程序。
程序很少有第一次能夠正確運行的,所以一種被稱為調(diào)試程序的程序常被用來幫助查找
被稱為程序錯誤的問題。調(diào)試程序通常在運行的程序中檢測到一個事件,并向程序員指出事
件在程序代碼中的起源。
最近出現(xiàn)的編程系統(tǒng),如Java,采取多種方法相結(jié)合的方式創(chuàng)建和執(zhí)行程序。編譯器取
來Java源程序,并將其翻譯成中間形式。這樣的中間程序隨后通過因特網(wǎng)傳送給計算機,
而這些計算機里的解釋程序接下來將中間程序作為應(yīng)用程序來執(zhí)行。
三、程序元素
大多數(shù)程序只是由少數(shù)幾種步驟構(gòu)成,這些步驟在整個程序中在不同的上下文和以不同
的組合方式多次重復(fù)。最常見的步驟執(zhí)行某種計算,然后按照程序員指定的順序,進入程序
的下一個步驟。
程序經(jīng)常需要多次重復(fù)不長的一系列步驟,例如,瀏覽游戲得分表,從中找出最高得分。
這種重復(fù)的代碼序列稱為循環(huán)。
計算機所具有的使其如此有用的能力之一,就是它們能夠作出條件判定,并根據(jù)正在處
理的數(shù)據(jù)的值執(zhí)行不同的指令。if-then-else(如果一則一否則)語句通過測試某個數(shù)據(jù)段,
然后根據(jù)結(jié)果從兩個指令序列中選出一個,來執(zhí)行這個功能。這些選擇對象中的指令之一可
能是一個g"。語句,用以指引計算機從程序的另一個部分選擇下一條指令。例如,一個程
序可能比較兩個數(shù),并依據(jù)比較的結(jié)果而分支到程序的另一個部分:
IfKisgreaterthany
then
gotoinstruction#10
elsecontinue
程序經(jīng)常不止一次地使用特定的一系列步驟。這樣的一系列步驟可以組合成一個子例程,
而子例程根據(jù)需要可在主程序的不同部分進行調(diào)用或訪問。每次調(diào)用一個子例程,計算機都
會記住它自己在該調(diào)用發(fā)生時處在程序的那個位置,以便在運行完該子例程后還能夠回到那
里。在每次調(diào)用之前,程序可以指定子例程使用不同的數(shù)據(jù),從而做到一個通用性很強的代
碼段只編寫一次,而被以多種方式使用。
大多數(shù)程序使用幾種不同的子例程。其中最常用的是函數(shù)、過程、庫程序、系統(tǒng)程序以
及設(shè)備驅(qū)動程序。函數(shù)是一種短子例程,用來計算某個值,如角的計算,而該值計算機僅用
一條基本指令無法計算。過程執(zhí)行的是復(fù)雜一些的功能,如給一組名稱排序。庫程序是為許
多不同的程序使用而編寫的子例程。系統(tǒng)程序和庫程序相似,但實際上用于操作系統(tǒng)。它們
為應(yīng)用程序提供某種服務(wù),如打印一行文字。設(shè)備驅(qū)動程序是一種系統(tǒng)程序,它們加到操作
系統(tǒng)中,以使計算機能夠與掃描儀、調(diào)制解調(diào)器或打印機等新設(shè)備進行通信。設(shè)備驅(qū)動程序
常常具有可以直接作為應(yīng)用程序執(zhí)行的特征。這樣就使用戶得以直接控制該設(shè)備。這一點很
有用,例如,在彩色打印機更換墨盒后,需要重新調(diào)整以達到最佳打印質(zhì)量的情況下。
四、程序功能
現(xiàn)代計算機通常將程序存儲在計算機可以隨機訪問的某種形式的磁性存儲介質(zhì)上,如固
定放在計算機中的硬盤或者便攜式的軟盤。這些磁盤上被稱為目錄的額外信息,指明盤上各
種程序的名稱、它們寫入盤中的時間以及它們在磁盤介質(zhì)上的開始位置。當(dāng)用戶命令計算機
執(zhí)行一個特定應(yīng)用程序時,操作系統(tǒng)就瀏覽這些目錄,找到程序,并將一個副本讀入隨機存
儲器。操作系統(tǒng)然后命令中央處理器在程序的起始位置開始執(zhí)行指令。程序起始位置的指令
為計算機處理信息作好準(zhǔn)備,其方法是在隨機存儲器中找到閑置內(nèi)存位置來容納工作數(shù)據(jù),
從盤中取回用戶指出的標(biāo)準(zhǔn)方式選項和默認值的副本,并在監(jiān)視器上繪制初始顯示。
應(yīng)用程序通過調(diào)用系統(tǒng)程序而對用戶輸入的任何信息都要求一個副本。操作系統(tǒng)將如此
輸入的任何數(shù)據(jù)轉(zhuǎn)換成標(biāo)準(zhǔn)的內(nèi)部形式。應(yīng)用程序然后使用該信息決定下一步干什么——例
如,執(zhí)行某項期望的處理功能——如重新定義一頁文本的格式,或者從盤上的另一個文件獲
取某些額外信息。兩種情況無論是哪一種,都要調(diào)用其他系統(tǒng)程序,以事實上完成結(jié)果的顯
示或?qū)ΡP上文件的訪問。
運行結(jié)束或接到退出的提示時,應(yīng)用程序進行進一步的系統(tǒng)調(diào)用,以確保所有需要保存
的數(shù)據(jù)已寫回磁盤。然后,應(yīng)用程序向操作系統(tǒng)進行最后一次系統(tǒng)調(diào)用,指明它已運行結(jié)束。
操作系統(tǒng)接下來釋放隨機存儲器和該應(yīng)用程序使用的任何設(shè)備,并等待用戶的命令,以開始
運行另一個程序。
五、歷史
人們用程序的形式存儲一系列指令已經(jīng)有幾個世紀(jì)了。18世紀(jì)的音樂盒和19世紀(jì)末與
20世紀(jì)初的自動鋼琴,就可以播放音樂程序。這些程序以一系列金屬針或紙孔的形式存儲,
每一行(針或孔)表示何時演奏一個音符,而針或孔則表明此時演奏什么音符。19世紀(jì)初,
隨著法國發(fā)明家約瑟夫-瑪麗?雅卡爾的由穿孔卡片控制的織機的發(fā)明,對物理設(shè)備更精巧
的控制變得常見了。在編織特定圖案的過程中,織機的各個部分得進行機械定位。為了使這
個過程自動化,雅卡爾使用一張紙質(zhì)卡片代表織機的一個定位,用卡片上的孔來指示該執(zhí)行
織機的哪個操作。整條花毯的編織可被編碼到一疊這樣的卡片上,同樣的一疊卡片每次使用
都會編出相同的花毯圖案。在開發(fā)和使用的程序中,有的由24,000多張卡片構(gòu)成。
世界上第一臺可編程的機器是由英國數(shù)學(xué)家和發(fā)明家查爾斯?巴比奇設(shè)計的,但從未完
全制造成。這臺叫做分析機的機器,使用和雅卡爾的織機類似的穿孔卡片來選擇每個步驟應(yīng)
執(zhí)行的具體算術(shù)運算。插入不同的卡片組,就會改變機器執(zhí)行的運算。這種機器幾乎能在現(xiàn)
代計算機中找到所有的對應(yīng)物,但它是機械化的,而非電氣化的。分析機的制造從未完成,
因為制造它所需要的技術(shù)當(dāng)時不存在。
供分析機使用的最早卡片組程序是由詩人拜倫勛爵的女兒、英國數(shù)學(xué)家奧古斯塔??埃達
?拜倫開發(fā)的。由于這個原因,她被確認為世界上第一位程序員。
現(xiàn)代的內(nèi)部存儲計算機程序的概念是由美籍匈牙利數(shù)學(xué)家約翰??馮?諾伊曼于1945年首
先提出來的。馮?諾伊曼的想法是使用計算機的存儲器來既存儲數(shù)據(jù)又存儲程序。這樣,程
序可被視作數(shù)據(jù),可像數(shù)據(jù)一樣被其他程序處理。這一想法極大地簡化了計算機中的程序存
儲與執(zhí)行的任務(wù)
六、未來
由于計算機使用的增加,自20世紀(jì)50年代以來,計算機科學(xué)領(lǐng)域發(fā)展迅猛。作為對用
戶需求和技術(shù)發(fā)展的反應(yīng),計算機程序在這一時期經(jīng)歷了許多變化。計算領(lǐng)域的新思想,如
并行計算、分布式計算和人工智能,從根本上改變了一度決定程序形式與功能的傳統(tǒng)概念。
工作在并行計算——其中多個中央處理器合作同時處理同一個問題——領(lǐng)域中的科學(xué)
家,推出了許多新的程序模型。在并行計算中,一個問題的組成部分由不同的處理器同時處
理,這樣就加快了問題的解決速度。由于并行處理計算機的極端復(fù)雜性以及使其盡可能有效
地運行所包含的困難,為這種系統(tǒng)設(shè)計程序的科學(xué)家和工程師面臨著許多挑戰(zhàn)。被稱為分布
式計算的另一種并行計算,使用許多互相連接的計算機的中央處理器來解決問題。用來在分
布式計算應(yīng)用環(huán)境中處理信息的計算機,常常通過因特網(wǎng)互相連接。因特網(wǎng)的應(yīng)用正在成為
分布式計算的一種特別有用的形式,尤其是在使用Java等編程語言的情況下。在這種應(yīng)用
中,用戶登錄到一個站點,并下載一個Java程序到其計算機上。該Java程序運行時,就與
其主站點上的其他程序進行通信,也可以與不同計算機或站點上運行的其他程序進行通信。
人工智能(AI)的研究,已經(jīng)導(dǎo)致兒種其他的新程序設(shè)計風(fēng)格的產(chǎn)生。例如,邏輯程
序不是由供計算機盲目執(zhí)行的單個指令構(gòu)成,而是由成套的規(guī)則組成:如果x發(fā)生,則執(zhí)行
y。--種被稱為推理機的特殊程序,在向其提出一個新問題時,就使用這些規(guī)則來“推理”
出一個結(jié)果。邏輯程序的用途包括對復(fù)雜系統(tǒng)的自動監(jiān)控和證明數(shù)學(xué)定律。
一種全然不同的計算方法稱為神經(jīng)網(wǎng)絡(luò),在這種計算中沒有傳統(tǒng)意義上的程序。神經(jīng)網(wǎng)
絡(luò)是一組旨在模擬大腦的具有高度互連性的簡單處理單元。神經(jīng)網(wǎng)絡(luò)不是像傳統(tǒng)計算機那樣
通過程序來指導(dǎo)信息處理,而是依靠其處理單元的連接方式來處理信息。給神經(jīng)網(wǎng)絡(luò)編程的
實現(xiàn)方法是,給其提供輸入與輸出數(shù)據(jù)的已知模式,并調(diào)整處理單元之間各種互連的相對重
要性,直到完成所期望的模式匹配。神經(jīng)網(wǎng)絡(luò)通常是在傳統(tǒng)計算機上模擬,但是不同于傳統(tǒng)
的計算機程序,神經(jīng)網(wǎng)絡(luò)具有經(jīng)驗學(xué)習(xí)的能力。
第六單元
課文A:分布式計算機系統(tǒng)
一、引言
分布式計算領(lǐng)域在過去10年間經(jīng)歷了急劇的發(fā)展。隨著用于大規(guī)模計算的分布式計算
系統(tǒng)的使用的增長,提高其可靠性的需要也在增長。然而,多方式分布式系統(tǒng)中的單個處理
節(jié)點的故障概率并非可略而不計。因此,有必要開發(fā)有關(guān)的機制,在其中一個節(jié)點發(fā)生故障
的情況下——無論是瞬態(tài)硬件故障(總線差錯或分段錯誤)還是永久性故障(斷電或通信網(wǎng)
絡(luò)故障)所致,可以防止在分布式處理節(jié)點上執(zhí)行的計算歸于無用。
通信技術(shù)的進步和在不同工作地點環(huán)境中采用的各種工作方式,自然導(dǎo)致信息處理的更
大分布。起初,大多數(shù)分布式系統(tǒng)是同構(gòu)的,但是現(xiàn)在許多分布式環(huán)境是異構(gòu)的。因此,分
布式系統(tǒng)的設(shè)計必須著眼于異構(gòu)型環(huán)境,而將同構(gòu)系統(tǒng)視作異構(gòu)世界中的特例。分布式系統(tǒng)
設(shè)計中的關(guān)鍵問題包括特定的功能應(yīng)放在信息基礎(chǔ)結(jié)構(gòu)的何處。
二、什么是分布式系統(tǒng)?
分布式系統(tǒng)是獨立計算機的集合體,而這些計算機在系統(tǒng)用戶看來像是一臺計算機。幾
乎所有的大型軟件系統(tǒng)勢必是分布式的。例如,企業(yè)范圍的商業(yè)系統(tǒng)必須支持多個用戶在不
同的地點運行公用應(yīng)用程序。
一個分布式系統(tǒng)包含各種各樣的應(yīng)用程序、它們的基本支持軟件、它們借以運行的硬件
以及連接分布式硬件的通信鏈路。最大、最為人熟識的分布式系統(tǒng)是構(gòu)成萬維網(wǎng)的那一整套
計算機、軟件和服務(wù)。萬維網(wǎng)遍布各地,與大多數(shù)其他現(xiàn)有分布式系統(tǒng)共存或連接。最常見
的分布式系統(tǒng)是聯(lián)網(wǎng)的客戶/服務(wù)器系統(tǒng)。分布式系統(tǒng)都具有以下描述的一般特性。
1、資源共享
將一組計算機連接成分布式系統(tǒng)的最常見原因,是允許其分享物理資源和計算資源(例
如,打印機、文件、數(shù)據(jù)庫、郵件服務(wù)、股票行情和合作應(yīng)用程序等)。支持資源共享的分
布式系統(tǒng)組件發(fā)揮類似于操作系統(tǒng)的作用,且與其越來越難以區(qū)分。
2、多節(jié)點
分布式系統(tǒng)的軟件在節(jié)點或多臺獨立的計算機(不僅僅是同一臺計算機上的多個處理器,
因為這屬于并行計算的領(lǐng)域)上執(zhí)行。這些節(jié)點可以是個人計算機、高性能工作站、文件服
務(wù)器、大型機和巨型計算機。每個節(jié)點所扮演的角色可以是向其他節(jié)點要求服務(wù)的客戶;可
以是向其他節(jié)點提供計算或資源服務(wù)的服務(wù)器;也可以是兼?zhèn)鋬烧吖δ艿膶Φ润w。一個分布
式系統(tǒng)可以小至兩個節(jié)點,假如存在軟件連通性。這種安排如圖6A-1所示?
3、并行性
分布式系統(tǒng)中的每個節(jié)點既獨立工作,又與所有其他節(jié)點并行工作。每個節(jié)點多于一個
進程(執(zhí)行程序),每個進程多于一個線程(并行執(zhí)行任務(wù)),可在系統(tǒng)中充當(dāng)組件。大多數(shù)
組件具有反應(yīng)性,對來自用戶的命令和來自其他組件的消息不斷地進行響應(yīng)。像操作系統(tǒng)一
樣,分布式系統(tǒng)旨在避免終止,因此應(yīng)始終保持至少部分可用的狀態(tài)。
4、異構(gòu)性
系統(tǒng)中包含的節(jié)點可以由不同的計算與通信硬件組成。組成系統(tǒng)的軟件可以包括不同的
編程語言和開發(fā)工具。有些異構(gòu)性問題可以通過使用共同的消息格式或者在不同平臺(如個
人計算機、服務(wù)器和大型機)上易于執(zhí)行的低級協(xié)議來解決。其他的可能要求構(gòu)建將一套格
式或協(xié)議轉(zhuǎn)變?yōu)榱硪惶椎木W(wǎng)橋。更徹底的系統(tǒng)集成可以通過這樣的方式達到,即要求所有的
節(jié)點支持對獨立于平臺的程序指令進行處理的共同虛擬機。使用Java編程語言的系統(tǒng)就采
用這種方式。
5、多種協(xié)議
大多數(shù)分布式消息傳送與在順序程序范圍內(nèi)使用的調(diào)用種類(如過程調(diào)用)有相當(dāng)大的
區(qū)別。分布式通信的最基本形式是異步的。與郵政系統(tǒng)中郵寄的信件類似,發(fā)送者發(fā)送消息
而不指望其接收者收到或答復(fù)。這種基本的分布式消息抵達接收者通常要比本地調(diào)用花的時
間長得多。它們有時以不同于發(fā)送的順序到達接收者,而且可能根本就不能到達接收者。為
了避免這種情況,必須構(gòu)建更復(fù)雜的協(xié)議。這些協(xié)議可能包括:
?過程消息接發(fā),在這種消息接發(fā)中發(fā)送者等待完整的答復(fù);
?半同步消息接發(fā),在這種消息接發(fā)中發(fā)送者在繼續(xù)之前等待收到消息的確認;
?事務(wù)處理協(xié)議,在這種協(xié)議中一個給定的會話期或事務(wù)處理內(nèi)的所有消息要么全部
被處理,要么全部不被處理;
?回叫協(xié)議,在這種協(xié)議中接收者過后給發(fā)送者發(fā)回不同的消息;
?超時協(xié)議,在這種協(xié)議中發(fā)送者在繼續(xù)之前僅在一定的時間段內(nèi)等待回應(yīng);
?多址通信協(xié)議,在這種協(xié)議中發(fā)送者同時給一組其他的節(jié)點發(fā)送消息。
這些以及其他的協(xié)議常常被擴充和專門化,以提高可靠性、安全性和效率。
6、容錯
在單獨一臺計算機上運行的程序,其可靠性充其量僅與該計算機的可靠性相等。而另一
方面,大多數(shù)分布式系統(tǒng)需要至少保持部分可用和發(fā)揮作用的狀態(tài),即使其節(jié)點、應(yīng)用程序
或通信鏈路有些出故障或不正常情況。除徹底出故障外,應(yīng)用程序可能因為帶寬不足、網(wǎng)絡(luò)
爭用、軟件開銷或其他系統(tǒng)限制而出現(xiàn)服務(wù)質(zhì)量難以接受地低的情況。因此,在分布式系統(tǒng)
的構(gòu)建中,容錯的需求提出了一些最為重要且困難的挑戰(zhàn)。
7、安全性
只有特許用戶可訪問敏感數(shù)據(jù)或執(zhí)行關(guān)鍵操作。分布式系統(tǒng)的安全性本質(zhì)上是個多層次
問題:從每個節(jié)點的常駐硬件與操作系統(tǒng)所提供的基本安全保證;到信息加密與驗證協(xié)議;
到為隱私、內(nèi)容適宜性和個人責(zé)任等問題提供支持的機制。
解決可靠性問題的技術(shù),包括使用數(shù)字證書和阻止組件編碼執(zhí)行修改磁盤文件等可能具
有危險性的操作。
8、消息傳送
不同計算機上的軟件通過建立于若干聯(lián)網(wǎng)協(xié)議(如TCP/IP)基礎(chǔ)上的結(jié)構(gòu)化消息傳送
規(guī)程來進行通信。而這些協(xié)議則可以在若干連接技術(shù)(如以太網(wǎng)和調(diào)制解調(diào)器)之任一種的
基礎(chǔ)上運行.大多數(shù)分布式系統(tǒng)的節(jié)點是完全相連的——任一節(jié)點可給任一其他節(jié)點發(fā)送消
息。消息傳遞由基本的路由算法和相關(guān)的聯(lián)網(wǎng)支持來完成。
消息包括命令、服務(wù)請求、事件通知、多媒體數(shù)據(jù)、文件內(nèi)容,甚至完整的程序。應(yīng)注
意的是,大多數(shù)多處理器通過共享存儲器而不是消息傳送來進行通信,因此不是分布式的。
9、開放性
大多數(shù)順序程序被認為是封閉的,因為在執(zhí)行開始后它們的配置一直保持不變。在一定
程度上,大多數(shù)分布式系統(tǒng)是開放的,因為在系統(tǒng)運行期間,可以添加或改變節(jié)點、組件和
應(yīng)用程序。這就提供了容納擴展所必需的可擴展性,以及隨著系統(tǒng)所駐留的環(huán)境的變化而變
化并應(yīng)對之的能力。
開放性要求每個組件遵守一組最起碼的策略、慣例和協(xié)議,以確保更新或添加的組件之
間具有互操作性。以往,最成功的開放式系統(tǒng)是那些提出最低限度要求的系統(tǒng)。例如,超文
本傳輸協(xié)議的簡易性就是萬維網(wǎng)成功的一個主要原因。
國際標(biāo)準(zhǔn)化組織和美國國家標(biāo)準(zhǔn)協(xié)會等標(biāo)準(zhǔn)組織,與對象管理組等工業(yè)財團一起,制定
了構(gòu)成許多互操作性保障之基礎(chǔ)的基本格式和協(xié)議標(biāo)準(zhǔn)。另外,單個分布式系統(tǒng)還依賴于和
環(huán)境細節(jié)或域相關(guān)的策略和機制。
10、隔離
每個組件在邏輯上或物理上是獨立存在的,僅通過結(jié)構(gòu)化信息協(xié)議來與其他組件進行通
信。另外,出于功能、性能或安全的考慮,一組組的組件也可能被分開。例如,盡管一個公
司用分布式系統(tǒng)的連通性可能延伸到整個因特網(wǎng),但其基本功能可能(常常通過防火墻)限
定于只在防火墻之內(nèi)運行的局域網(wǎng)。這樣,它與系統(tǒng)的其他部分進行通信,要通過限定的安
全協(xié)議。
11、持久性
至少有些數(shù)據(jù)與程序保留在持久性介質(zhì)上,其持久性大于特定應(yīng)用程序的執(zhí)行時間。可
在文件系統(tǒng)、數(shù)據(jù)庫系統(tǒng)或編程語言的運行時支持機制等層次上作出持久性安排。
12、分散控制
單獨的計算機無需對整個系統(tǒng)的配置、管理或策略控制擔(dān)負責(zé)任。分布式系統(tǒng)反而是通
過自主主體協(xié)議連接的域,而這些自主主體為提供聚合功能要達成足夠的共同策略。分散化
在有些方面是可取的,如為容錯而預(yù)先采取的措施。分散化在另一些方面則是必不可少的,
因為集中控制不能適應(yīng)當(dāng)代系統(tǒng)所支持的節(jié)點與連接數(shù)量。然而,對系統(tǒng)范圍的策略實施管
理的工具則可能限于特定用戶使用。
三、優(yōu)點和缺點
1、分布式系統(tǒng)的優(yōu)點
分布式系統(tǒng)具有很多內(nèi)在的優(yōu)點,尤其是與集中式系統(tǒng)相比較而言。而且,有些應(yīng)用程
序本質(zhì)上就是分布式的。一般來說,分布式系統(tǒng):
?產(chǎn)生較高的性能;
?提供較高的可靠性;
?允許遞增的發(fā)展。分布式計算比單個中央處理器提供的返回率高;
?構(gòu)建由大量的用高速網(wǎng)絡(luò)連接起來的中央處理器組成的系統(tǒng),既可行又易行:
?滿足了共享分散在這些中央處理器上的數(shù)據(jù)的需要;
?提供了共享昂貴的外圍設(shè)備的方法;
?允許一個用戶在許多不同的機器上運行程序。
2、分布式系統(tǒng)的缺點
分布式系統(tǒng)盡管具有許多優(yōu)點,但的確也存在一些缺點。其中有:
?需要新的操作系統(tǒng)為其提供支持;
?依靠網(wǎng)絡(luò)通信:
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 假山展覽館景觀施工合同
- 科技峰會主持人招聘協(xié)議
- 沙石運輸鏟車租賃協(xié)議
- 二零二五年度網(wǎng)絡(luò)安全設(shè)備定向采購合同3篇
- 二零二五年度鋼材班輪運輸綠色物流運輸與倉儲服務(wù)合同3篇
- 二零二五年度國際原油交易居間代理協(xié)議3篇
- 2024年貨車掛靠車輛綜合服務(wù)合同
- 2024精簡版棋牌活動租賃協(xié)議書版B版
- 二零二五年度肥料委托加工與農(nóng)產(chǎn)品質(zhì)量安全協(xié)議3篇
- 2024版運輸合作合同范本
- 正畸計劃書模板
- 空中交通管制基礎(chǔ)
- 電梯銷售入門知識培訓(xùn)課件
- 安徽省馬鞍山市2023-2024學(xué)年高一上學(xué)期期末考試物理試題(含答案解析)
- 胃鏡室護士崗前培訓(xùn)
- JBT 14857-2023 氧化鋁焙燒煙氣脫硝裝置 (正式版)
- 閩教版2023版3-6年級全8冊英語單詞表
- 醫(yī)院耗材述職報告
- 膽管結(jié)石的健康宣教課件
- 實驗報告抑菌結(jié)果分析
- 華為財務(wù)分析報告
評論
0/150
提交評論