




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1.1細(xì)看處理器與主存放器我們已經(jīng)了解到全部計(jì)算機(jī)有類似能力且能執(zhí)行相同功效,盡管一些可能比其余快。我們知道電腦系統(tǒng)有輸入、輸出、倉(cāng)儲(chǔ)、加工元件,還知道處理器是計(jì)算機(jī)系統(tǒng)“智能”部分,而且知道一個(gè)簡(jiǎn)單計(jì)算機(jī)系統(tǒng)能夠有幾個(gè)處理器。我們已經(jīng)討論了在電腦系統(tǒng)中數(shù)據(jù)以被稱作位電子狀態(tài)來表示。我們現(xiàn)在準(zhǔn)備闡釋計(jì)算機(jī)系統(tǒng)關(guān)鍵內(nèi)部活動(dòng)——處理器。電腦內(nèi)部操作很有趣,但真沒有什么奧秘事。這種神秘性存在于那些道聽途說和相信科幻作家人心中。計(jì)算機(jī)是不會(huì)思索電子設(shè)備,它必須插入電源,就像一臺(tái)烤面包機(jī)或一盞燈。毫不夸大地講,市場(chǎng)上有幾百種不一樣類型計(jì)算機(jī)在銷售。每種類型可能都很復(fù)雜,但每個(gè)處理器,有時(shí)被稱為中央處理器或者說CPU,只有兩個(gè)基本部分:控制單元,算術(shù)和邏輯單元。主存放器在處理器內(nèi)部發(fā)揮著主要作用。這三個(gè)——主存、控制單元,算術(shù)和邏輯單元——一起工作。讓我們來看看他們之間功效和聯(lián)絡(luò)。與磁輔助存放設(shè)備,如磁帶、磁盤相比,主存沒有移動(dòng)部件。沒有機(jī)械運(yùn)動(dòng),數(shù)據(jù)能夠以電子速度被存取訪問,靠近光速。今天大多數(shù)電腦主存使用DRAM(動(dòng)態(tài)隨機(jī)訪問存放器)技術(shù)。先進(jìn)DRAM芯片大約有1/8郵票那么大,大約能夠儲(chǔ)存256,000萬位或多于25,600,000字符數(shù)據(jù)。主存放器,或者主存,提供給處理器程序和數(shù)據(jù)暫時(shí)存放。在可執(zhí)行程序或數(shù)據(jù)能夠被處理之前,全部程序和數(shù)據(jù)必須被從輸入設(shè)備(如VDT)或從輔助存放(如磁盤)轉(zhuǎn)移到主存放器。主要存放空間總是極少;所以,在一個(gè)程序被執(zhí)行后,它占領(lǐng)儲(chǔ)備空間會(huì)被重新分配給另一個(gè)等候執(zhí)行程序。圖1-1說明了全部輸入/輸出(I/O)“讀”或“用”主要存放。圖中(輸入)探討是在VDT上。消息被查詢形式,是經(jīng)過一個(gè)渠道到主存放器(如同軸電纜)。消息被解釋,處理機(jī)從輔助存放設(shè)備取出所需程序和數(shù)據(jù)。程序和數(shù)據(jù)被“裝好”,或移動(dòng),從輔助存放器到主存放器。這是一個(gè)無損閱讀過程。也就是說,程序和數(shù)據(jù)被從主要存放器(暫時(shí))和輔助存放器(永久)中讀取。數(shù)據(jù)依照程序指令被操作,匯報(bào)被從主存放器寫入到打印機(jī)。一個(gè)程序指令或一塊數(shù)據(jù)保留在特定主存單元被稱為地址。地址允許程序指令和數(shù)據(jù)被存放,訪問和加工。每一個(gè)地址內(nèi)容伴隨不一樣程序執(zhí)行和新數(shù)據(jù)處理是不停改變。主存放器另一個(gè)名字是隨機(jī)存取存放器,或RAM。一個(gè)特殊類型主存放器,稱為只讀存放器(ROM),不能被程序員改寫。ROM內(nèi)容被制造商作為“只讀”所固化(設(shè)計(jì)在芯片邏輯上)。當(dāng)你打開微機(jī)系統(tǒng),一個(gè)ROM中程序自動(dòng)開啟計(jì)算機(jī)系統(tǒng)。然后ROM程序初步顯示器幕提醒。ROM一個(gè)變種是可編程只讀存放器(PROM)。RPOM是讓用戶能裝載“只讀”程序和數(shù)據(jù)ROM。一旦一個(gè)程序被加載到PROM,它簡(jiǎn)直從不改變。然而,假如你需要能夠修改內(nèi)容PROM,有EPROM,可擦寫PROM。在寫操作之前,全部?jī)?chǔ)存單元必須被刪除到一樣初始狀態(tài)。一個(gè)更具備吸引力形式主讀存放器是電可擦可編程只讀存放器(EEPROM)。在任何時(shí)候都能夠?qū)懭?,不需擦除原先?nèi)容,且只是更新尋址到字節(jié)或多個(gè)字節(jié)。EEPROM把非易失性優(yōu)點(diǎn)和可更新、需更新地方靈活性結(jié)合起來,修改時(shí)使用普通總線控制線、地址線和數(shù)據(jù)線。另一個(gè)形式半導(dǎo)體內(nèi)存是閃存(這么命名因?yàn)樗俣?。閃存在花費(fèi)和功效上介于EPROM和EEPROM之間。和EEPROM一樣,閃存使用是電擦除技術(shù)。整個(gè)閃存在一個(gè)或幾秒鐘內(nèi)能夠被消除,這比只讀存放器快得多。另外,可能消除只是塊內(nèi)存,而不是整個(gè)晶片。然而,閃存不提供字節(jié)級(jí)擦除。與EPROM一樣,閃存每位只使用一個(gè)晶體管,所以能達(dá)成EPROM高密度。高速緩沖存放器程序和數(shù)據(jù)從輔助存放裝載到RAM,因?yàn)閺腞AM訪問一個(gè)程式指令或者一段數(shù)據(jù)所需要時(shí)間遠(yuǎn)遠(yuǎn)低于從輔助存放器。從磁盤存放器上存取單個(gè)數(shù)據(jù)所花時(shí)間,能夠從RAM中存取幾千條指令或數(shù)據(jù)]。RAM實(shí)質(zhì)上是一個(gè)數(shù)據(jù)和程序高速起降緩沖區(qū)。實(shí)際上,沒有什么真正發(fā)生在計(jì)算機(jī)系統(tǒng)中,直到程序指令和數(shù)據(jù)轉(zhuǎn)移四處理器。這轉(zhuǎn)移四處理器指令和數(shù)據(jù)可能是費(fèi)時(shí),即使在微秒級(jí)速度。為了促進(jìn)指令和數(shù)據(jù)更加快轉(zhuǎn)移,大多數(shù)電腦四處理器被設(shè)計(jì)經(jīng)過高速緩沖存放器。高速緩沖存放器主要被電腦設(shè)計(jì)師用于增加吞吐量(計(jì)算機(jī)系統(tǒng)工作速率)。像RAM一樣,高速緩存是一項(xiàng)高速起降緩沖區(qū)程序數(shù)據(jù)和指令。然而,緩存存放器使用靜態(tài)存放器(靜態(tài)內(nèi)存)技術(shù),大約有RAM10倍速度和100倍花費(fèi)。只有RAM一小部分內(nèi)存容量,高速緩存只保持下一步可能需要由處理器處理程序和數(shù)據(jù)。兩種類型高速緩沖存放器廣泛應(yīng)用于電腦。第一個(gè)被稱為內(nèi)部緩存和建在中央處理器芯片。第二個(gè),外部高速緩存,位于靠近CPU地方。計(jì)算機(jī)能夠有幾個(gè)不一樣層次高速緩沖存放器。一級(jí)緩存幾乎總是建成芯片。二級(jí)緩存曾經(jīng)是外部高速緩存,但現(xiàn)在通常像一級(jí)緩存一樣也建到CPU。1.2總線互連 總線是連接兩個(gè)或多個(gè)設(shè)備通信通路??偩€關(guān)鍵特征是,它是一條共享傳輸介質(zhì)。多個(gè)設(shè)備連接到總線上,任一個(gè)設(shè)備發(fā)出信號(hào)能夠?yàn)槠溆嗳窟B接到總線上設(shè)備所接收。假如兩個(gè)設(shè)備同時(shí)傳送,它們信號(hào)將會(huì)重合,引發(fā)混同。所以,一次只能有一個(gè)設(shè)備成功地(利用總線)發(fā)送數(shù)據(jù)。 經(jīng)典情況是,總線由多條通信通路或線路組成,每條線(路)能夠傳送代表二進(jìn)制1和0信號(hào)。一段時(shí)間里,一條線能傳送一串二進(jìn)制數(shù)字??偩€幾條線放在一起能同時(shí)并行傳送二進(jìn)制數(shù)字。比如,一個(gè)8位數(shù)據(jù)能在8條總線線上傳送。 計(jì)算機(jī)系統(tǒng)包含有多個(gè)不一樣總線,它們?cè)谟?jì)算機(jī)系統(tǒng)層次結(jié)構(gòu)各個(gè)層次提供部件之間通路。連接主要計(jì)算機(jī)部件(處理機(jī),存放器,I/O)總線稱為系統(tǒng)總線。系統(tǒng)總線通常由50~100條分立(導(dǎo))線組成。每條線被賦予一個(gè)特定含義或功效。即使有許多不一樣總線設(shè)計(jì),但任何總線上線都能夠分成三個(gè)功效組:數(shù)據(jù)線、地址線和控制線。另外可能還有為連接模塊提供電源電源線。 數(shù)據(jù)線提供系統(tǒng)模塊間傳送數(shù)據(jù)路徑,這些線組合在一起稱為數(shù)據(jù)總線。經(jīng)典數(shù)據(jù)總線包含8、16或32根線,線數(shù)量稱為數(shù)據(jù)總線寬度。因?yàn)槊織l線每次傳送1位,所以線數(shù)目決定了每次能同時(shí)傳送多少位。數(shù)據(jù)總線寬度是決定系統(tǒng)總體性能關(guān)鍵原因。 地址線用于指定數(shù)據(jù)總線上數(shù)據(jù)起源和去向。比如,假如處理機(jī)希望從存放器中讀一個(gè)字?jǐn)?shù)據(jù),它將所需要字地址放在地址線上。顯然,地址總線寬度決定了系統(tǒng)最大可能存放器容量。 控制線用來控制對(duì)數(shù)據(jù)線和地址線訪問和使用。因?yàn)閿?shù)據(jù)線和地址線被全部部件共享,所以必須用一個(gè)方法來控制它們使用??刂菩盘?hào)在系統(tǒng)模塊之間傳送命令和定時(shí)信息。定時(shí)信息指定了數(shù)據(jù)和地址信息有效性,命令信號(hào)指定了要執(zhí)行操作。 大多數(shù)計(jì)算機(jī)系統(tǒng)使用多總線,這些總線通常設(shè)計(jì)成層次結(jié)構(gòu)。圖1.3顯示了一個(gè)經(jīng)典高性能體系結(jié)構(gòu)。一條局部總線把處理機(jī)連接到高速緩存控制器,而高速緩存控制器又連接到支持主存放器系統(tǒng)總線上。高速緩存控制器集成到連接高速總線橋中。這一總線支持連接到:高速LAN、視頻和圖形工作站控制器,以及包含SCSI和FireWire局部外設(shè)總線接口控制器。低速設(shè)備依然由分開擴(kuò)充總線支持,用一個(gè)接口來緩沖該擴(kuò)充總線和高速總線之間通信流量。快速外設(shè)部件互連提升性能在過去十年里,PCI總線一直是PC機(jī)和服務(wù)器主流I/O架構(gòu)。PCI傳送由微處理器、網(wǎng)卡、圖形卡和與它相連其余子系統(tǒng)所產(chǎn)生數(shù)據(jù)。然而,伴隨計(jì)算元件速度和性能提升,PCI帶寬限制和并行效率低下逐步成為系統(tǒng)性能瓶頸。PCI是一個(gè)有多個(gè)適配器單向平行總線體系結(jié)構(gòu),必須爭(zhēng)奪可利用總線帶寬。即使PCI接口性能幾年來不停得到改進(jìn),但信號(hào)偏離(數(shù)據(jù)位抵達(dá)目標(biāo)地太晚),信號(hào)路由以及無法降低電壓或提升頻率等問題,無不表明該架構(gòu)走到了盡頭。額外努力去提升它性能將會(huì)花費(fèi)很大而且不切實(shí)際,一些賣主,包含業(yè)內(nèi)一些最大最成功系統(tǒng)開發(fā)商,發(fā)起了一項(xiàng)被稱為PCIExpressI/O架構(gòu)(最初被稱為第三代I/O,或3GIO)。PCIExpress是點(diǎn)對(duì)點(diǎn)切換體系結(jié)構(gòu),創(chuàng)造了高速、CPU和系I/O統(tǒng)之間雙向鏈接(開關(guān)是由主橋連接到CPU上)。每一個(gè)這些鏈接都有一個(gè)或多個(gè)包含四條線線纜——兩條用來傳送數(shù)據(jù)兩條用來接收數(shù)據(jù)。這些線纜設(shè)計(jì)能使其在低電壓下使用(造成低力量使用),降低電磁排放,消除信號(hào)偏離,降低成本自然也提升了性能。在最初設(shè)計(jì)實(shí)現(xiàn)中,PCIExpress能夠得到在每條線路上每個(gè)方向以2.5Gbit/秒速度轉(zhuǎn)移。相比之下,PCI-X1.0版本PCI架構(gòu),是如今最常見,提供1Gbit/秒吞吐量。PCIExpress卡吞吐量可在四或八線配置(稱為x4和x8),x4PCIExpress卡所能提供吞吐量高達(dá)20Gbit/秒,而x8PCIExpress卡所能提供吞吐量高達(dá)40Gbit/秒。早期嘗試創(chuàng)建一個(gè)新PCI架構(gòu)失敗了,這在一定程度上是因?yàn)樗麄冃枰喔淖兊较到y(tǒng)和應(yīng)用軟件。驅(qū)動(dòng)程序,實(shí)用程序和管理應(yīng)用均需要被改寫。PCIExpress開發(fā)人員消除了對(duì)新操作系統(tǒng)支持依賴,讓PCI兼容驅(qū)動(dòng)程序和應(yīng)用程序無需改變就能在PCIExpress硬件上運(yùn)行。未來總線開發(fā)人員正在提升PCIExpress可擴(kuò)展性.當(dāng)前服務(wù)器和桌面系統(tǒng)支持PCIExpress適配器和圖形卡高達(dá)8通道,這種體系結(jié)構(gòu)在未來能夠支持多達(dá)32個(gè)通道。第一個(gè)光纖通道主機(jī)數(shù)據(jù)適配器被設(shè)計(jì)來支持四通道而不是八通道,部分原因是因?yàn)榉?wù)器開發(fā)商已經(jīng)將他們系統(tǒng)設(shè)置成了四通道插槽,。甚至更大帶寬是必須,執(zhí)行一條八通道道設(shè)計(jì)能夠?qū)⑿阅芴嵘槐?,假如系統(tǒng)中沒有其余瓶頸。這種可伸縮性加上每個(gè)通道速度有望加倍,達(dá)成5Gb/s(兆位/秒),將保持PCIExpress在可預(yù)見未來依然是設(shè)計(jì)師課實(shí)施方案。PCIExpress是PCI上重大提升,而且,在它發(fā)展路上正逐步形成對(duì)PC機(jī),服務(wù)器更多新標(biāo)準(zhǔn)。它不但能夠降低成本,提升可靠性,不過它也大大提升了性能。應(yīng)用程序如音樂、視頻流、視頻點(diǎn)播、網(wǎng)絡(luò)電話和數(shù)據(jù)存放將受益于這些改進(jìn)。2.4外部接口:SCSI和火線 I/O模塊到外設(shè)接口必須按該外設(shè)性質(zhì)和操作來設(shè)計(jì)改制。接口一個(gè)主要特征是串行還是并行。在并行接口中,連接I/O模塊和外設(shè)線有多根,同時(shí)傳送多位,就象在數(shù)據(jù)總線上同時(shí)傳送一個(gè)字全部位。在串行接口中,只有一條線用于傳送數(shù)據(jù),每次傳送一位。通常,并行接口用于高速外設(shè),諸如磁盤和磁帶。串行接口更慣用于打印機(jī)和終端。什么是USB? 在計(jì)算機(jī)周圍呆過2到3年以上人都知道USB試圖處理問題——在過去,把儲(chǔ)設(shè)備連接到計(jì)算機(jī)一直是頭痛問題!打印機(jī)連接到并行打印機(jī)端口,而大多數(shù)計(jì)算機(jī)只有一個(gè)。Zip驅(qū)動(dòng)器那些設(shè)備需要一個(gè)計(jì)算機(jī)高速連接也將使用并行端口,經(jīng)常極少成功且速度不快。調(diào)制解調(diào)器使用串口端口。大多數(shù)計(jì)算機(jī)最多有兩個(gè)串行端口,而且在大多數(shù)情況下,它們是很慢。需要更加快連接設(shè)備有它們自己卡,這些卡必須插入計(jì)算機(jī)機(jī)箱內(nèi)相符合卡槽口。遺憾是,卡槽口數(shù)目有限,而且你需要一個(gè)博士生為一些卡安裝軟件。USB目標(biāo)是結(jié)束全部這些頭痛問題。通用串行總線給你一個(gè)單一、標(biāo)準(zhǔn)、輕易用方法,把多達(dá)127個(gè)設(shè)備連接到一臺(tái)計(jì)算機(jī)上。把一臺(tái)USB設(shè)備連接到計(jì)算機(jī)是簡(jiǎn)單——你只要在你機(jī)器背后或正面找到USB插頭插入即可。假如它是一個(gè)新設(shè)備,操作系統(tǒng)自動(dòng)檢測(cè)到它,并要求該設(shè)備驅(qū)動(dòng)程序盤。假如該設(shè)備已經(jīng)安裝,計(jì)算機(jī)就激活它并開始與它通話。USB設(shè)備能夠在任何時(shí)間連接和斷開。一根USB電纜有兩根線用于電源(+5伏和地線),一根雙扭線傳送數(shù)據(jù),低功率設(shè)備(為鼠標(biāo))能夠直接從USB總線取得它們電源。高功率設(shè)備(為打印機(jī))有它們自己電源并從總線取得極小電源,單根USB電纜能延伸5米長(zhǎng);用幾個(gè)集線器,設(shè)備能夠離主機(jī)30米(6根電纜)。許多USB設(shè)備有它們自己內(nèi)部電纜,且該電纜有一個(gè)“A”連接。假如沒有內(nèi)部電纜話,那么該“A”插口上行接向計(jì)算機(jī)“B”插口下行接到個(gè)別設(shè)備經(jīng)過在上行端口和下行端口使用不一樣插口,就不可能搞混亂——假如你把任何USB電纜“B”插頭連接到一個(gè)設(shè)備,那你知道它會(huì)正常工作。類似地,你能夠把任何“A”插頭插入任何“A”插座,并知道它會(huì)正常工作。USB2.04月公布了USB2.0版本標(biāo)準(zhǔn),它作為USB1.1升級(jí)版。USB2.0(高速USB)為多媒體和存放應(yīng)用提供附加帶寬,而且比USB1.1快40倍數(shù)據(jù)傳輸率。為了使消費(fèi)者和制造商能平滑過分,USB2.0與原先USB設(shè)備完全向前和向后兼容,而且也能用為原先USB制造電纜和連接器工作。因?yàn)橹С?鐘速度方式,USB2.0支持低帶寬設(shè)備,如鍵盤和鼠標(biāo),以及高帶寬設(shè)備,如高分辨率Web相機(jī)、掃描儀、打印機(jī)和高兼容存放系統(tǒng)。USB2.0使用已使PC工業(yè)界領(lǐng)導(dǎo)者們加速開發(fā)下一代PC外設(shè)來補(bǔ)充現(xiàn)有高性能PC。USB2.0傳輸速率也推進(jìn)了開發(fā)下一代PC和應(yīng)用程序。除了改進(jìn)功效和激勵(lì)革新,USB2.0提升了用戶應(yīng)用程序生產(chǎn)率,而且允許用戶同時(shí)運(yùn)行多個(gè)PC應(yīng)用程序或若干高性能外設(shè)數(shù)據(jù)傳輸當(dāng)主機(jī)開機(jī)時(shí),它問詢?nèi)窟B接在通用串行總線上設(shè)備,且分配每個(gè)設(shè)備一個(gè)地址。這個(gè)過程稱做計(jì)數(shù)——當(dāng)設(shè)備連接到總線時(shí)設(shè)備也被計(jì)數(shù)。主機(jī)也從每個(gè)設(shè)備查出它希望進(jìn)行哪一個(gè)數(shù)據(jù)傳輸。中止模式——鼠標(biāo)或鍵盤等設(shè)備,發(fā)送極少數(shù)據(jù)會(huì)選擇中止模式。成批模式——打印機(jī)等設(shè)備以大數(shù)據(jù)包接收數(shù)據(jù),所以使用成批傳輸模式。一塊數(shù)據(jù)發(fā)送給打印機(jī)(64個(gè)字節(jié)塊)且被檢驗(yàn)確定它是正確。等時(shí)模式——流設(shè)備使用等時(shí)模式,數(shù)據(jù)在設(shè)備和主機(jī)之間以實(shí)時(shí)方式流動(dòng),且沒有錯(cuò)誤校正。主機(jī)也能用控制包發(fā)送命令或查詢參數(shù)?;鹁€串行總線伴隨處理機(jī)速度抵達(dá)1GHz,以及存放設(shè)備有幾千兆位,個(gè)人計(jì)算機(jī)和服務(wù)器對(duì)I/O要求是很苛刻。所以,對(duì)開發(fā)一個(gè)高速接口來替換SCSI和其余小型系統(tǒng)I/O接口一直存在著很大興趣。其結(jié)果是高性能串行總線IEEE標(biāo)準(zhǔn)1394,通常稱為火線。火線比SCSI和其余I/O接口有許多優(yōu)點(diǎn)。它速度快、價(jià)格廉價(jià)而且輕易實(shí)現(xiàn)。實(shí)際上,火線不但在計(jì)算機(jī)系統(tǒng),而且在消費(fèi)者電子產(chǎn)品,如數(shù)碼相機(jī)、VCR和電視機(jī)都很受歡迎。在這些產(chǎn)品中,火線用于傳送視頻圖像,這些視頻圖像正在越來越多地來自于(諸如數(shù)碼相機(jī),數(shù)碼攝相機(jī)等)數(shù)字化設(shè)備?;鹁€接口強(qiáng)項(xiàng)之一是采取串行傳送(每次一位)而不是并行傳送。并行接口,如SCSI,需要較多線,這意味著較寬、較貴電纜以及較寬、較貴帶有更多引腳(要彎曲或斷開)連接器。一條帶有多根線電纜需要屏蔽保護(hù)以防止線之間電干擾。另外,恰恰在計(jì)算機(jī)增加計(jì)算能力和I/O要求時(shí),它們體積正變得更小。手提式和袖珍式計(jì)算機(jī)給連接器很小空間,但卻需要高速數(shù)據(jù)傳輸率來處理圖象和視頻?;鹁€目標(biāo)是提供單個(gè)接口,帶有簡(jiǎn)單連接器,它能夠經(jīng)過單個(gè)端口來處理許多設(shè)備,所以,鼠標(biāo)、激光打印機(jī)、SCSI、外部磁盤驅(qū)動(dòng)器、聲音,和局域網(wǎng)連接都能用這單個(gè)連接器所取代。這種連接器是受NintendoGameboy中所用連接器啟發(fā)。它使用是如此方便,用戶只要在機(jī)器背后插入即可。火線使用菊花鏈配置,從單個(gè)端口可連接多達(dá)63個(gè)設(shè)備。而且多達(dá)1022條火線總線能用橋接器互連,使得系統(tǒng)能支持所需要那么多外設(shè)?;鹁€提供大家所知熱插入,它不需要關(guān)閉計(jì)算機(jī)系統(tǒng)或重新配置系統(tǒng)就能連接和斷開外設(shè)。3.1C++和面向?qū)ο蟪绦蛟O(shè)計(jì)一些面向?qū)ο蟪绦蛟O(shè)計(jì)概念在語言間滲透。比如微軟QuickPascal是允許使用對(duì)象第一批語言中一個(gè)。C++有什么使得它是一個(gè)適合于開發(fā)面向?qū)ο蟪绦蛘Z言?如同先前所提到,答案是類(class)數(shù)據(jù)類型。給該語言建立對(duì)象之能力是建立在C結(jié)構(gòu)類型之上C++類(class)類型。還有,C++把另外幾個(gè)特征引入面向?qū)ο蟪绦蛟O(shè)計(jì),這些特征并不包含在簡(jiǎn)單地利用對(duì)象其余一些語言中。C++優(yōu)點(diǎn)包含強(qiáng)類型、運(yùn)算符重載和較少地強(qiáng)調(diào)預(yù)處理。確實(shí)你能使用其余一些產(chǎn)品和采取其余一些語言來進(jìn)行面向?qū)ο蟪绦蛟O(shè)計(jì),不過采取C++眾多好處是顯著。這是為面向?qū)ο蟪绦蛟O(shè)計(jì)而設(shè)計(jì)語言,并非(現(xiàn)有語言)式樣翻新。面向?qū)ο蟪绦蛟O(shè)計(jì)是一個(gè)程序設(shè)計(jì)技術(shù),使得你能把一些概念看作各種各樣對(duì)象。經(jīng)過使用對(duì)象,你能表示要被執(zhí)行任務(wù)、它們之間相互作用和必須觀察一些給定條件。一個(gè)數(shù)據(jù)結(jié)構(gòu)經(jīng)常形成某個(gè)對(duì)象基礎(chǔ);所以,在C或C++中,結(jié)構(gòu)類型能形成某種基本對(duì)象。與對(duì)象通信,如前提到,能經(jīng)過使用消息來完成。消息使用類似于在面向過程程序中對(duì)函數(shù)調(diào)用。當(dāng)某對(duì)象收到一個(gè)消息時(shí),包含在該對(duì)象內(nèi)一些方法作出響應(yīng)。方法類似于面向過程程序設(shè)計(jì)函數(shù)。然而,方法是對(duì)象一部分。C++類是對(duì)C和C++結(jié)構(gòu)類型擴(kuò)充,而且形成了面向?qū)ο蟪绦蛟O(shè)計(jì)所需要抽象數(shù)據(jù)類型。類能包含緊密相關(guān)一些條目,它們共享一些屬性。更正式地說,對(duì)象只不過是類實(shí)例。最終,應(yīng)該出現(xiàn)包含很多對(duì)象類型類庫(kù),你能使用這些對(duì)象類型實(shí)例去拼合程序代碼。在你更詳細(xì)地考查這些術(shù)語之前,一個(gè)好主意是熟悉與C++和面向?qū)ο蟪绦蛟O(shè)計(jì)相關(guān)另外幾個(gè)概念,如同下面幾節(jié)所述。封裝封裝指是每個(gè)對(duì)象把它組員數(shù)據(jù)和組員函數(shù)(方法)組合成單個(gè)結(jié)構(gòu)方式。圖3-1舉例說明了你怎樣能組合數(shù)據(jù)域和方法以建立對(duì)象。經(jīng)典地,一個(gè)對(duì)象描述是一個(gè)C++類一部分,且包含對(duì)該對(duì)象內(nèi)部結(jié)構(gòu)描述、該對(duì)象怎樣與其余對(duì)象相關(guān),以及把該對(duì)象功效細(xì)節(jié)和該類外部相隔離某種形式保護(hù)。C++類結(jié)構(gòu)做到了全部這些。在一個(gè)C++類中,你使用私有、公共和/或受保護(hù)描述符來控制對(duì)象功效細(xì)節(jié)。在面向?qū)ο蟪绦蛟O(shè)計(jì)中,公共(public)部分通慣用于接口信息(方法),使得該類可在各應(yīng)用中重用。假如數(shù)據(jù)或方法被包含在公共部分,它們?cè)谠擃愅獠恳部捎?。類私有部分把?shù)據(jù)或方法可用性局限于該類本身。包含數(shù)據(jù)或方法受保護(hù)部分被局限于該類和任何派生子類。類層次結(jié)構(gòu)C++類實(shí)際上用作創(chuàng)建對(duì)象模板或模式。從類描述形成對(duì)象都是該類實(shí)例。開發(fā)類層次結(jié)構(gòu)是可能,其中有一個(gè)主類和幾個(gè)子類。在C++中,做這事基礎(chǔ)是派生類。父類表示更通常化任務(wù),而派生子類執(zhí)行一些特定任務(wù)。比如,早先討論林肯類可能包含整個(gè)林肯系列公共數(shù)據(jù)和方法,諸如引擎、檢測(cè)儀表、電池、制動(dòng)能力和操縱。從父類派生子類,諸如TourCar、MarkⅧ和Continental可能包含該類專用一些款項(xiàng)。比如,1995Continental是該系列中唯一具備主動(dòng)懸架系統(tǒng)汽車。繼承面向?qū)ο蟪绦蛟O(shè)計(jì)中繼承使得一個(gè)類能繼承某對(duì)象類一些性質(zhì)。父類用作派生類模式,且能以幾個(gè)方式被改變(在下一章中你將了解組員函數(shù)能被重載、新組員函數(shù)能被添加,而且組員存取特權(quán)能被改變)。假如某個(gè)對(duì)象從單個(gè)父類繼承其屬性,稱為單繼承。假如某個(gè)對(duì)象從多個(gè)父類繼承屬性,便稱為多繼承。繼承是一個(gè)主要概念,因?yàn)樗沟脽o須對(duì)代碼做大改變就能重用類定義。繼承激勵(lì)重用代碼,因?yàn)樽宇愂菍?duì)父類擴(kuò)充。多態(tài)性與類層次結(jié)構(gòu)相關(guān)另一個(gè)主要面向?qū)ο蟾拍钍枪蚕⒛鼙话l(fā)送到諸父類對(duì)象和全部派生子類對(duì)象。按正式術(shù)語,這稱為多態(tài)性。多態(tài)性使每個(gè)子類對(duì)象能以一個(gè)對(duì)其定義來說適當(dāng)方式對(duì)消息格式作出響應(yīng)。試構(gòu)想搜集數(shù)據(jù)一個(gè)類層次結(jié)構(gòu)。父類可能負(fù)責(zé)搜集某個(gè)個(gè)體姓名、社會(huì)安全號(hào)、職業(yè)和雇傭年數(shù),那末你能使用子類來決定依照職業(yè)將添加什么附加信息。一個(gè)情況,一個(gè)管理職位會(huì)包含年薪,而另一個(gè)情況,銷售員職位會(huì)包含小時(shí)工資和回扣信息。所以,父類搜集一切子類公共通用信息,而子類搜集與特定工作描述相關(guān)附加信息。多態(tài)性使得公共數(shù)據(jù)搜集消息能被發(fā)送到每個(gè)類。父類和子類二者都以對(duì)該消息是恰當(dāng)方式作出響應(yīng)。多態(tài)性促進(jìn)現(xiàn)有代碼可擴(kuò)充性。虛函數(shù)多態(tài)性賦予對(duì)象以當(dāng)對(duì)象精準(zhǔn)類型還未知時(shí)響應(yīng)來自例行程序之消息能力。在C++中這能力是遲綁定結(jié)果。使用遲綁定,地址在運(yùn)行時(shí)刻動(dòng)態(tài)地確定,而不是如同傳統(tǒng)編譯型語言在編譯時(shí)刻靜態(tài)地確定。這靜態(tài)(固定)方法往往稱為早綁定。函數(shù)名被替換為存放地址。你使用虛函數(shù)來完成遲綁定。在隨即派生類將經(jīng)過重定義函數(shù)之實(shí)現(xiàn)而重載該函數(shù)時(shí),在父類中定義虛函數(shù)。當(dāng)你使用虛函數(shù)時(shí),消息不是直接傳給對(duì)象,而是作為指向?qū)ο笾羔槀魉汀L摵瘮?shù)利用了地址信息表,該表在運(yùn)行時(shí)刻使用結(jié)構(gòu)符而被初始化。一個(gè)結(jié)構(gòu)符每當(dāng)創(chuàng)建它類一個(gè)對(duì)象時(shí)被調(diào)用。這里結(jié)構(gòu)符工作是把虛函數(shù)與地址信息表鏈接,在編譯運(yùn)轉(zhuǎn)期間虛函數(shù)地址是未知;相反,給出是(在運(yùn)行時(shí)刻確定)地址表中將包含該函數(shù)(入口)地址位置。3.3java介紹Java是為了應(yīng)對(duì)在異構(gòu)條件下、全網(wǎng)分布式環(huán)境應(yīng)用開發(fā)背景挑戰(zhàn)而設(shè)計(jì)。其中最主要挑戰(zhàn)就是在系統(tǒng)資源消耗最低情況下安全傳送應(yīng)用,能夠運(yùn)行在任何硬件和軟件平臺(tái),可擴(kuò)充動(dòng)態(tài)改變。Java開發(fā)源于一個(gè)研究計(jì)劃一部分,開發(fā)在多個(gè)多樣網(wǎng)絡(luò)設(shè)備和嵌入式系統(tǒng)中使用先進(jìn)軟件。目標(biāo)是發(fā)展一個(gè)體積小、可靠性高、便攜式、分布式、實(shí)時(shí)操作平臺(tái)。當(dāng)項(xiàng)目開始時(shí),C++是精選語言。但伴隨時(shí)間推移,因?yàn)镃++產(chǎn)生問題逐步顯著,最好處理方法就是創(chuàng)造一個(gè)全新語言平臺(tái)。設(shè)計(jì)和架構(gòu)決議從各種各樣語言中得出,如Eiffel,SmallTalk,ObjectiveC和Cedar/Mesa。對(duì)于開發(fā)一套安全、分布式、基于網(wǎng)絡(luò)環(huán)境,最終用戶應(yīng)用程序從網(wǎng)絡(luò)兼容設(shè)備到萬維網(wǎng)和桌面程序來說,結(jié)果得到語言平臺(tái)被證實(shí)是理想。Java設(shè)計(jì)需要是被計(jì)算環(huán)境本性所驅(qū)使,在其中軟件必須被展開。大量增加因特網(wǎng)和萬維網(wǎng)引領(lǐng)我們以一個(gè)全新角度對(duì)待軟件發(fā)展和分布。為了在電子商務(wù)和分布式環(huán)境中生存,在異構(gòu)分布式網(wǎng)絡(luò)中,Java必須確保有應(yīng)用在多個(gè)平臺(tái)安全性,高性能和魯棒性。在多平臺(tái)異構(gòu)式網(wǎng)絡(luò)操作,使傳統(tǒng)方案二進(jìn)制分布、公布、升級(jí)、補(bǔ)丁等變得無用。為了在這激烈競(jìng)爭(zhēng)中生存,Java必須是總體結(jié)構(gòu)不帶偏向性、可移植,且能動(dòng)態(tài)地自適應(yīng)。Java系統(tǒng)出現(xiàn)很輕易地滿足了這些需求,所以它能夠很輕易地被大多數(shù)開發(fā)者應(yīng)用進(jìn)行編程;一樣地,當(dāng)前開發(fā)者能夠非常輕易地學(xué)習(xí)Java;面向?qū)ο?利用當(dāng)代軟件開發(fā)方法和融入分布式客戶端-服務(wù)器應(yīng)用程序中;多線程,對(duì)高性能應(yīng)用程序,需要完成多個(gè)并發(fā)活動(dòng),如多媒體;可解釋,為了取得最大可移植性和動(dòng)態(tài)能力。另外,上述要求集合了相當(dāng)多時(shí)髦術(shù)語,所以讓我們應(yīng)在使用之前檢測(cè)他們以及他們各自優(yōu)點(diǎn)。Java和他實(shí)時(shí)系統(tǒng)以全新方式相結(jié)合產(chǎn)生了靈活強(qiáng)大編程系統(tǒng)。你應(yīng)用程序使用Java開發(fā)軟件可在多個(gè)機(jī)器總體結(jié)構(gòu)、操作系統(tǒng)和圖形用戶接口間移植,安全、高性能。使用Java,你作為一名軟件開發(fā)者工作更輕易了——基于Java堅(jiān)實(shí)基礎(chǔ),集中你全部注意力在運(yùn)行創(chuàng)新產(chǎn)品最終目標(biāo)上。愈加好軟件方式開發(fā)是在這里,現(xiàn)在,給你帶來Java語言平臺(tái)。很有力語言Lisp,TCL,和SmallTalk經(jīng)慣用于原型結(jié)構(gòu)技術(shù)。他們成功原因之一是它們具備魯棒性——你無須擔(dān)心釋放或損壞內(nèi)存。一樣,,在Java編程時(shí)程序員能夠相對(duì)無所畏懼處理內(nèi)存問題;無用單元回收系統(tǒng)使程序員工作大為輕易;卸下了程序員肩上存放管理之負(fù)擔(dān),存放分配錯(cuò)誤不再發(fā)生。通常認(rèn)為像LISP、TCL、和SmallTalk這么一些語言十分適合于原型法另一理由,是因?yàn)樗鼈儾灰竽闶茉缙跊Q定約束——這些語言語義是很豐富。Java有恰恰相反性質(zhì):它強(qiáng)迫你做出明確選擇。伴隨這些選擇還有很多輔助方法——你能夠?qū)懛椒ㄕ{(diào)用,假如你有什么錯(cuò)了,它會(huì)在編譯時(shí)將這些告訴你。你無須擔(dān)心方法調(diào)用錯(cuò)誤。4.1操作系統(tǒng)概述操作系統(tǒng)是作為軟件之間接口電腦用戶和計(jì)算機(jī)硬件。操作系統(tǒng)目標(biāo)是提供一個(gè)環(huán)境,讓用戶能夠執(zhí)行程序。最基本目標(biāo)是一個(gè)操作系統(tǒng),使計(jì)算機(jī)系統(tǒng)使用方便。次要目標(biāo)是使用電腦硬件在一條有效路徑。我們能夠認(rèn)為一個(gè)操作系統(tǒng)為一個(gè)資源分配程序。計(jì)算機(jī)系統(tǒng)能夠有很多資源要處理一個(gè)問題:比如CPU時(shí)間、內(nèi)存空間,文檔保留、輸入/輸出(I/O)設(shè)備等等。操作系統(tǒng)作為這些內(nèi)容管理者及分配于一些特定程序和用戶所需要任務(wù)。因?yàn)榭赡苡泻芏?可能相互矛盾,資源需求、操作系統(tǒng)必須決定哪些請(qǐng)求是分配資源,以公平和有效率地操作計(jì)算機(jī)操作系統(tǒng)。早期計(jì)算機(jī)是從控制臺(tái)運(yùn)行(物理)很大機(jī)器。程序員將編寫一個(gè)程序,然后直接從該操作員控制臺(tái)運(yùn)行該程序。軟件如匯編、裝載機(jī)和編譯器改進(jìn)了方便編程系統(tǒng),但還需要大量設(shè)置時(shí)間。為了降低開啟時(shí)間、經(jīng)營(yíng)者被雇用和類似工作是成批排在一起。批處理系統(tǒng)允許自開工作被常駐監(jiān)控程序排序,很大改進(jìn)了綜合利用計(jì)算機(jī)。計(jì)算機(jī)已經(jīng)不再有等人類操作。CPU利用依然很低,不過因?yàn)橐苿?dòng)遲緩速度相對(duì)I/O設(shè)備到中央處理器。離線運(yùn)行試驗(yàn)設(shè)備遲緩。緩沖是另一個(gè)方法提升系統(tǒng)性能輸入、輸出重合,并給出計(jì)算一個(gè)單一工作。最終,允許中央處理器重合設(shè)備工作輸入和輸出計(jì)算與其余工作。后臺(tái)還提供了許多已讀取和正在等候運(yùn)行工作。這份工作支持多道程序設(shè)計(jì)概念池。與多道程序設(shè)計(jì)中,幾項(xiàng)工作,保持在記憶在同一時(shí)間,中央處理器被轉(zhuǎn)回之間穿行以增加CPU利用率、降低總實(shí)時(shí)用來執(zhí)行一個(gè)工作。為了提升效率而發(fā)展多道程序設(shè)計(jì),也允許時(shí)間共享。共享操作系統(tǒng)允許許多用戶(從一個(gè)到數(shù)百)交互地在同一時(shí)間內(nèi)使用計(jì)算機(jī)系統(tǒng)。因?yàn)橄到y(tǒng)從一個(gè)用戶到下一個(gè)用戶快速轉(zhuǎn)換,每個(gè)用戶都會(huì)有他擁有自己電腦感覺。其它操作系統(tǒng)類型包含實(shí)時(shí)系統(tǒng)與多處理器系統(tǒng)。,實(shí)時(shí)系統(tǒng)經(jīng)常在專用應(yīng)用系統(tǒng)被用作控制裝置。傳感器將數(shù)據(jù)傳給計(jì)算機(jī)。計(jì)算機(jī)必須分析數(shù)據(jù),很有可能調(diào)整控制來修改傳感器投入??刂瓶茖W(xué)試驗(yàn)系統(tǒng),醫(yī)學(xué)計(jì)算機(jī)系統(tǒng),工業(yè)控制系統(tǒng),以及一些顯示系統(tǒng)都是實(shí)時(shí)系統(tǒng)。實(shí)時(shí)多任務(wù)操作系統(tǒng)具備明確固定時(shí)間限制。處理必須在要求時(shí)間內(nèi)完成,不然系統(tǒng)將失效。多處理器系統(tǒng)上有一個(gè)以上CPU。顯著優(yōu)勢(shì)是更大計(jì)算能力和可靠性。對(duì)于多處理器和多處理計(jì)算機(jī)有各種類型操作系統(tǒng)。這是對(duì)于多個(gè)CPU系統(tǒng)某種程度可能區(qū)分兩種類型操作系統(tǒng),渙散耦合,如網(wǎng)絡(luò)操作系統(tǒng)和分配操作系統(tǒng),和緊耦合,如并行操作系統(tǒng)。我們應(yīng)該看到,松與緊耦合軟件是大致類似于松與緊耦合硬件。操作系統(tǒng)必須能夠確保計(jì)算機(jī)系統(tǒng)正確運(yùn)行。為了預(yù)防用戶程序干擾系統(tǒng)正確運(yùn)行,硬件修改為兩個(gè)模式:用戶模式和監(jiān)控模式。許多指令(如I/O指令,停頓指令)有特權(quán),而且只能在監(jiān)控模式下運(yùn)行。監(jiān)控程序所在內(nèi)存也必須保護(hù)起來以防用戶修改。定時(shí)器能夠預(yù)防死循環(huán)。一旦對(duì)基本計(jì)算機(jī)結(jié)構(gòu)作了這些改變(兩種方式,特權(quán)指令,內(nèi)存保護(hù),時(shí)鐘中止),就有可能寫出正確操作系統(tǒng)。4.3窗口管理程序窗口管理程序管理那些用來交換應(yīng)用程序和用戶之間信息設(shè)備。輸出設(shè)備包含視頻顯示器和聲音合成器。輸入設(shè)備包含鍵盤和指點(diǎn)器,諸如鼠標(biāo)、操縱桿、控制球、或光筆。窗口管理程序與輸出設(shè)備設(shè)備驅(qū)動(dòng)程序交互把信息展現(xiàn)給用戶,與輸入設(shè)備設(shè)備驅(qū)動(dòng)程序交互獲取表示用戶正在輸入信息消息。應(yīng)用程序和腳本執(zhí)行引擎把表示成位圖或PostSript表示法圖像傳給窗口管理程序,窗口管理程序把這些圖像展現(xiàn)給用戶。窗口管理程序把用戶經(jīng)過輸入設(shè)備輸入消息返回給應(yīng)用程序和腳本執(zhí)行引擎。窗口管理程序已十分普及,因?yàn)樗鼈冎С衷S多對(duì)終端用戶和應(yīng)用程序開發(fā)者二者都十分有用特征。用戶與多個(gè)進(jìn)程交互。窗口管理程序把窗口分配給每個(gè)進(jìn)程。假如每個(gè)進(jìn)程與一個(gè)顯示在顯示器上窗口相關(guān),那么多個(gè)進(jìn)程能夠共享一個(gè)視頻顯示器。用戶經(jīng)過觀看分配給進(jìn)程窗口之內(nèi)容和向其窗口處于激活狀態(tài)進(jìn)程發(fā)命令來觀察進(jìn)展(即執(zhí)行情況)和控制各進(jìn)程。用戶輕易在應(yīng)用程序之間移動(dòng)信息。窗口給用戶提供了一個(gè)在應(yīng)用程序之間傳送信息方法。圖4-1舉例說明了一個(gè)有3個(gè)窗口顯示器。一個(gè)窗口分配給正文編輯程序,另一個(gè)分配給電子表格程序,而第三個(gè)窗口分配給數(shù)據(jù)庫(kù)程序。在這個(gè)例子中,用戶首先用數(shù)據(jù)庫(kù)應(yīng)用程序從數(shù)據(jù)庫(kù)檢索一些數(shù)據(jù)。然后用戶從檢索得到數(shù)據(jù)中選擇一些,并把這些數(shù)據(jù)移到第二個(gè)窗口中電子表格程序。電子表格應(yīng)用程序計(jì)算共計(jì)和總計(jì)信息,然后用戶把計(jì)算結(jié)果移到分配給正文編輯程序窗口。用戶使用正文編輯程序把總計(jì)信息集成到正在用正文編輯程序準(zhǔn)備匯報(bào)中。用戶訪問遠(yuǎn)程應(yīng)用程序。一些窗口管理程序能夠經(jīng)過通信系統(tǒng)把一個(gè)窗口分配給運(yùn)行在遠(yuǎn)程計(jì)算機(jī)上一個(gè)進(jìn)程。比如,工作站用戶希望訪問某臺(tái)大型機(jī)上數(shù)據(jù)庫(kù)。該用戶請(qǐng)求窗口管理程序創(chuàng)建窗口,在該窗口中用戶能夠輸入對(duì)那臺(tái)大型機(jī)上數(shù)據(jù)庫(kù)管理系統(tǒng)請(qǐng)求。在該請(qǐng)求被處理后,窗口管理程序在該窗口中顯示從數(shù)據(jù)庫(kù)管理系統(tǒng)來結(jié)果。用戶對(duì)一個(gè)進(jìn)程有多個(gè)視圖。一些窗口管理程序能夠把幾個(gè)窗口分配給一個(gè)應(yīng)用程序:每個(gè)窗口把該應(yīng)用某個(gè)方面顯示給用戶。多個(gè)窗口對(duì)用戶可能是有用,可提供該應(yīng)用程序多方面視圖。比如,在圖4-2中,兩個(gè)窗口已分配給一個(gè)計(jì)劃系統(tǒng)。一個(gè)窗口顯示圖形,展示在一個(gè)項(xiàng)目標(biāo)各任務(wù)之間優(yōu)先關(guān)系。另一窗口顯示了每個(gè)任務(wù)完成百分比。用戶接收事件。當(dāng)一個(gè)進(jìn)程發(fā)覺用戶應(yīng)該知道一些非正常事件,該進(jìn)程通知窗口管理程序顯示一個(gè)描述該事件消息。用戶將注意到該消息出現(xiàn),并采取適當(dāng)動(dòng)作。用窗口管理程序能夠結(jié)構(gòu)復(fù)雜用戶接口。大多數(shù)窗口管理程序都有程序庫(kù),包含各種各樣、可重用交互對(duì)象,這些對(duì)象可用來結(jié)構(gòu)復(fù)雜用戶接口。終端獨(dú)立性。一些窗口管理程序工作在一大類終端和工作站上,而且對(duì)應(yīng)用程序隱藏了這些終端和工作站之間差異。終端獨(dú)立性增加了應(yīng)用程序?qū)Ω鞣N各樣終端和工作站可移植性。5.1互聯(lián)網(wǎng)世界上存在許多網(wǎng)絡(luò),經(jīng)慣用不一樣硬件和軟件。有一個(gè)網(wǎng)絡(luò)連接人經(jīng)常想要與另一個(gè)網(wǎng)絡(luò)人們相交流。這個(gè)欲望需要把不一樣,經(jīng)常是不可兼容網(wǎng)絡(luò)連接到一起,有時(shí)候需要使用名叫網(wǎng)關(guān)機(jī)器來連接,和提供需要翻譯,同時(shí)依據(jù)硬件和軟件。一個(gè)相互連接網(wǎng)絡(luò)集合被稱為互聯(lián)網(wǎng)絡(luò)或因特網(wǎng)。因特網(wǎng)一個(gè)普通形式石油廣域網(wǎng)連接局域網(wǎng)集合。因特網(wǎng)(標(biāo)識(shí)為大寫字母I)意味著一個(gè)特定世界范圍互聯(lián)網(wǎng),他是廣泛用于連接大學(xué)、政府機(jī)關(guān)、企業(yè)和私人個(gè)體。到1995年,有許多主干網(wǎng),數(shù)以百計(jì)中級(jí)網(wǎng)絡(luò),成千上萬局域網(wǎng),上百萬主機(jī),和上千萬用戶。這個(gè)大小每年大約會(huì)翻倍。大部分增加來自于網(wǎng)絡(luò)與因特網(wǎng)間存在連接。將因特網(wǎng)連接在一起粘合劑是TCP/IP參考模型和TCP/IP協(xié)議棧。TCP/IP是普遍服務(wù)成為可能,而且能夠與電話系統(tǒng)和19世紀(jì)鐵路采取標(biāo)準(zhǔn)軌距相比。因特網(wǎng)是現(xiàn)實(shí)世界中人們巨大全球性小區(qū)。在這個(gè)網(wǎng)上,人們?cè)诒姸嘀黝}上不停推出有價(jià)值資料是你一輩子也讀不完。假如你還沒有利用網(wǎng)絡(luò),這就是你所缺乏:電子郵件。讓你發(fā)信息到俄羅斯、日本等等。文件傳送協(xié)議(FTP)。從世界各地成千上萬電腦上無償下載。網(wǎng)絡(luò)論壇。其內(nèi)容比你從射箭術(shù)到股票行情所能讀到一切更有趣,更熱鬧和更多智慧。萬維網(wǎng)。一個(gè)快速發(fā)展圖形電子文檔全球網(wǎng),你能夠?yàn)g覽,與其交互,甚至能夠建立自己文檔。新科技。全球聊天,視頻會(huì)議,傳真,自由國(guó)際電話和更多。萬維網(wǎng)是一個(gè)訪問鏈接文檔體系結(jié)構(gòu)框架,它經(jīng)過因特網(wǎng)傳輸?shù)匠汕先f機(jī)器上。因?yàn)榫W(wǎng)絡(luò)基本上是一個(gè)客戶端—服務(wù)器系統(tǒng),我們同時(shí)討論客戶端(比如用戶)和服務(wù)器端。從使用者觀點(diǎn),網(wǎng)頁是世界性巨大文檔集成,通常簡(jiǎn)稱為頁。每個(gè)頁包含指向其余相關(guān)頁面連接(指針),在世界任何一個(gè)角落。使用者能夠跟隨連接,這個(gè)鏈接把用戶帶到所指向頁面。進(jìn)程能夠無限制重復(fù),在這個(gè)過程中可能經(jīng)過上百個(gè)鏈接頁面。指向其它頁面頁被說成是超文本。網(wǎng)頁能夠包含色彩桌面設(shè)計(jì),超文本鏈接,交互腳本,聲音,圖像,甚至虛擬現(xiàn)實(shí)。當(dāng)超文本頁面混合其余媒體,結(jié)果就成了超媒體。網(wǎng)頁以瀏覽器形式觀看。每個(gè)網(wǎng)站都有一個(gè)服務(wù)器進(jìn)程聽從TCP80端口連接客戶(通常是瀏覽器)。建立連接后,客戶發(fā)送一個(gè)請(qǐng)求,服務(wù)器發(fā)送一個(gè)回復(fù),然后這個(gè)連接被釋放。定義正當(dāng)請(qǐng)求和回復(fù)協(xié)議被稱為超文本傳輸協(xié)議。使用它一個(gè)簡(jiǎn)單例子可能會(huì)提供一個(gè)網(wǎng)絡(luò)服務(wù)器怎樣工作合理想法。舉個(gè)例子,我們能夠想象用戶剛點(diǎn)擊了某篇文本或者可能是一個(gè)指向頁面圖標(biāo),名字(統(tǒng)一資源定位器)是……。URL有三部分:協(xié)議名字,頁面所在機(jī)器名字,包含頁面文件名字。用戶點(diǎn)擊頁面和頁面被顯示之間發(fā)生步驟以下:瀏覽器決定體育統(tǒng)一資源定位器瀏覽器向DNS請(qǐng)求……IP地址。DNF回復(fù)……瀏覽器向80端口做傳輸控制協(xié)議……然后它發(fā)送一個(gè)……命令……服務(wù)器發(fā)送文件TCP連接被釋放瀏覽器顯示……全部文本瀏覽器獲取并顯示……里圖片網(wǎng)上沖浪當(dāng)你網(wǎng)頁瀏覽器打開,你被連接到互聯(lián)網(wǎng)時(shí),現(xiàn)在被指定為你瀏覽器開始頁或者主頁頁面將顯示在瀏覽器窗口。通常這一頁是你瀏覽器、學(xué)?;蚧ヂ?lián)網(wǎng)服務(wù)供給商網(wǎng)站主頁,不過通常它能夠變成使用你瀏覽器選項(xiàng)或優(yōu)先權(quán)對(duì)話框任何網(wǎng)頁。全部瀏覽器都有導(dǎo)航工具經(jīng)過你現(xiàn)在網(wǎng)頁訪問量來幫助你向前或向后,以及因特網(wǎng)會(huì)話菜單項(xiàng)選擇擇按鈕或打印網(wǎng)頁,如有需要。圖5-2說明了最常見微軟因特網(wǎng)瀏覽器和網(wǎng)景導(dǎo)航瀏覽器零件。使用統(tǒng)一資源定位器和超鏈接從開始網(wǎng)頁轉(zhuǎn)到新網(wǎng)頁,您能夠在瀏覽器地址欄或位置欄鍵入適當(dāng)統(tǒng)一資源定位器,然后按回車鍵。你能夠編輯現(xiàn)有統(tǒng)一資源定位器或刪除它并建立一個(gè)新類型。要確定準(zhǔn)確地匹配拼寫、大寫和標(biāo)點(diǎn)。假如你不知道何種統(tǒng)一資源定位器是適宜類型,你能夠搜索一個(gè)適宜網(wǎng)頁,作為簡(jiǎn)短討論。假如網(wǎng)頁上顯示了一個(gè)你想去超鏈接,簡(jiǎn)單點(diǎn)擊這個(gè)鏈接。記住,超鏈接能夠是文本或者基于圖片。假如你不確定網(wǎng)頁上某個(gè)東西是否是一個(gè)鏈接,把你鼠標(biāo)箭頭放在它上面一會(huì)兒。假如它是一個(gè)鏈接,這個(gè)箭頭就會(huì)改變來表明它是一個(gè)連接。新頁統(tǒng)一資源定位器也被顯示在瀏覽器狀態(tài)欄里。一旦你點(diǎn)擊這個(gè)超鏈接,適當(dāng)網(wǎng)頁會(huì)被顯示。要回到前一個(gè)網(wǎng)頁,就點(diǎn)擊瀏覽器工具欄上后退鍵。要打印當(dāng)前網(wǎng)頁,使用瀏覽器打印鍵或從瀏覽器文件菜單項(xiàng)選擇擇打印。你可能在網(wǎng)頁上碰到東西當(dāng)你搜索萬維網(wǎng)時(shí),你將會(huì)在網(wǎng)頁上遇見許多不一樣對(duì)象。盡管我們不能在各種可能網(wǎng)頁組件上進(jìn)入一個(gè)深入討論,不過熟悉最常見事物是有好處,這么你就會(huì)在碰到它們時(shí)候知道怎樣處理它們。你會(huì)碰到一些常見事物展示在圖5-3。5.2連接方式在前一章作為討論,有各式各樣有線和無線方式連接到因特網(wǎng)。幾乎全部設(shè)置,你計(jì)算機(jī)通常是連接到稱為地域性網(wǎng)絡(luò)大網(wǎng)絡(luò),在每個(gè)國(guó)家內(nèi)部連接到區(qū)域網(wǎng)絡(luò)主要高速網(wǎng)絡(luò)稱為骨干網(wǎng)絡(luò)。在一個(gè)國(guó)家內(nèi)骨干網(wǎng)絡(luò)和在其余國(guó)家骨干網(wǎng)絡(luò)連在一起形成因特網(wǎng)。下面章節(jié)討論最常見互聯(lián)網(wǎng)連接。1.撥號(hào)連接撥號(hào)連接通常工作在固定電話線路。連接到互聯(lián)網(wǎng)時(shí),你調(diào)制解調(diào)器(或其余適宜接口設(shè)備)撥撥號(hào)而且將一臺(tái)調(diào)制解調(diào)器連接到你ISP電腦。當(dāng)你連接上,你電腦被分配一個(gè)暫時(shí)IP地址為當(dāng)前狀態(tài)。在網(wǎng)絡(luò)會(huì)話結(jié)尾,你脫離你ISP電腦,方便另外一個(gè)使用戶連接回到自己位置。使用撥號(hào)上網(wǎng)一個(gè)好處是安全。因?yàn)槟悴皇遣煌_B接,它是不太可能經(jīng)過因特網(wǎng)取得對(duì)你計(jì)算機(jī)訪問權(quán)限,去取得信息或破壞你電腦中數(shù)據(jù)?;蛘吒鼮橥ǔ5赜媚撤N非法或不道德方式使用你計(jì)算機(jī)。這些類型黑客活動(dòng)都是以后進(jìn)行討論。電話撥號(hào)連接在上網(wǎng)時(shí)你電話線會(huì)被占用,除非你有其余電話線路。在你連接到因特網(wǎng)期間,當(dāng)有電話進(jìn)來時(shí),一些互聯(lián)網(wǎng)呼叫等候或呼叫轉(zhuǎn)接服務(wù)會(huì)通知你。他們通常是建立允許離開人短消息,一些新系統(tǒng)能夠一個(gè)較短時(shí)間離開一會(huì)兒網(wǎng)絡(luò),拿起電話,假如必要。更新?lián)芴?hào)調(diào)制解調(diào)器預(yù)計(jì)將促進(jìn)某種類型呼叫等候服務(wù)。標(biāo)準(zhǔn)撥號(hào)標(biāo)準(zhǔn)撥號(hào)上網(wǎng)服務(wù)所用傳統(tǒng)撥號(hào)調(diào)制解調(diào)器額定最大數(shù)據(jù)傳輸率56kbps。這些調(diào)制解調(diào)器慣用與個(gè)人計(jì)算機(jī)和互聯(lián)網(wǎng)裝置.便攜式設(shè)備也能夠使用傳統(tǒng)撥號(hào)調(diào)制解調(diào)器,假如真是這么話,他們需要連接標(biāo)準(zhǔn)電話插座上網(wǎng)。標(biāo)準(zhǔn)型撥號(hào)上網(wǎng)服務(wù)從無償?shù)矫總€(gè)月快要25美元。ISDN另一個(gè)撥號(hào)選項(xiàng)ISDN。ISDN(綜合服務(wù)數(shù)字網(wǎng)絡(luò))允許數(shù)字傳輸數(shù)據(jù)在普通電話線上。它需要一個(gè)特殊ISDN適配器或調(diào)制解調(diào)器和能傳輸數(shù)據(jù)了128kbps2.直接相連不像撥號(hào)連接,只有連接到你備用計(jì)算機(jī)時(shí),你需要上網(wǎng),直接連接讓你不停地連接到英特網(wǎng)。直接(always-on)連接,你電腦通常是公布了一個(gè)靜止(non-changing)IP地址被用來往返傳遞數(shù)據(jù)經(jīng)過互聯(lián)網(wǎng)與網(wǎng)絡(luò)連接.PCs總有一個(gè)互聯(lián)網(wǎng)連接提供---網(wǎng)絡(luò)訪問只需要開一個(gè)瀏覽器。直接連接類型包含經(jīng)過學(xué)?;蜣k公室里局域網(wǎng),以及數(shù)字用戶專線、電纜、衛(wèi)星、及固定無線連接。即使,在理論上,寬帶上網(wǎng)能夠100倍于使用撥號(hào)上網(wǎng)速度,實(shí)際現(xiàn)在則更像是25到50倍。對(duì)于數(shù)字用戶線路經(jīng)典下載速度大約150Mbps;衛(wèi)星及固定無線通常500Kbps到1Mbps。幾乎全部這些服務(wù)使用較慢上傳速度。最顯著特點(diǎn)是每一個(gè)類型寬帶上網(wǎng)都討論了下一個(gè)。學(xué)校或辦公室區(qū)域網(wǎng)絡(luò)大部份學(xué)?;蛘咿k公室局域網(wǎng),從電話企業(yè)或網(wǎng)上信息提供者租一條高速專線(如ISDN或T1專線)直接連接到互聯(lián)網(wǎng)。這種類型速度上網(wǎng)取決于學(xué)校、辦公室和他們互聯(lián)網(wǎng)提供商之間連接速度以及速度局域網(wǎng)本身。DSLDSL(數(shù)字用戶線路)現(xiàn)在只對(duì)那些較靠近電話交換站(3英里或更少)有能力處理DSL電話線用戶可用,而且常要等候長(zhǎng)時(shí)間安裝。不過,DSL是一項(xiàng)很受歡迎寬帶選擇。DSL有時(shí)提供不一樣速度來適應(yīng)不一樣需求和預(yù)算,比如個(gè)人選擇較慢較廉價(jià),商用則選擇更加快。標(biāo)準(zhǔn)DSL服務(wù)每個(gè)月花費(fèi)約50美元。電纜第三種類型直接互聯(lián)網(wǎng)連接--電纜--是現(xiàn)在應(yīng)用最廣泛家用寬帶選擇。接線連接都非???能夠和任何升級(jí)了系統(tǒng)接入網(wǎng)絡(luò)用戶相連?,F(xiàn)在幾乎全部電纜上網(wǎng)都是雙向(全雙工),電纜被用于數(shù)據(jù)雙向傳送。電纜一個(gè)缺點(diǎn)是,在鄰近地域全部用戶發(fā)生共享他們當(dāng)?shù)貛?。盡管這并不能證實(shí)是一個(gè)問題,在一天高峰時(shí)間——比如黃昏--你鄰居上網(wǎng)時(shí)網(wǎng)速顯著變慢。費(fèi)用是40美元/月,除了常規(guī)電纜費(fèi)用。衛(wèi)星在農(nóng)村地域衛(wèi)星互聯(lián)網(wǎng)接入通常是唯一寬帶選項(xiàng)。它需要人造衛(wèi)星調(diào)制解調(diào)器和安裝在室外無線電收發(fā)機(jī)。如今雙向衛(wèi)星服務(wù)是可實(shí)現(xiàn),如星帶,只是在強(qiáng)降雨天氣南方天空需要一個(gè)自由視野。經(jīng)典費(fèi)用約為70美元每個(gè)月。固定無線連接最終一個(gè)寬帶訪問是固定無線,這種訪問方式對(duì)消費(fèi)者是相當(dāng)新,但顯示出很大前途。這種類型服務(wù),比如直接短波,與衛(wèi)星服務(wù)相同,它需要一個(gè)調(diào)制解調(diào)器和外部安裝收發(fā)機(jī),但通常只有在大城市地域有。在收發(fā)器和提供商無線傳輸塔之間需要有一條無障礙視線通路,傳輸塔在用戶收發(fā)器和因特網(wǎng)間傳輸信息。服務(wù)成本約50美元每個(gè)月。不論使用什么類型連接,對(duì)全部直接上網(wǎng)用戶來說極為主要一點(diǎn)就是保護(hù)計(jì)算機(jī)不受到未經(jīng)授權(quán)訪問或黑客攻擊。即使大多數(shù)學(xué)校和辦公室有某種類型防火墻,許多家庭卻沒有。盡管不太可能會(huì)有些人以這么方式進(jìn)入你家庭個(gè)人電腦,伴隨家庭直接聯(lián)網(wǎng)變得越來越普遍這種可能性將會(huì)繼續(xù)增加。為了保護(hù)你自己,全部使用直接連接計(jì)算機(jī)應(yīng)該使用個(gè)人防火墻程序--尤其是允許文件共享家庭網(wǎng)絡(luò)。防火墻程序除了阻止其余電腦訪問到您個(gè)人電腦以外,還允許你指定你個(gè)人電腦里哪些程序能上網(wǎng)。一些防火墻軟件,如區(qū)域報(bào)警軟件,為家庭無償提供借閱。一些防火墻保護(hù)開始被納入其余程序,如WindowsXP。3.移動(dòng)無線連接不像衛(wèi)星和固定無線連接,它使用電纜線連接調(diào)制解調(diào)器接到某種類型固定收發(fā)器,移動(dòng)無線連接允許設(shè)備從一個(gè)地方移動(dòng)到另一個(gè)地方。因而,絕大多數(shù)手持電腦及其它移動(dòng)設(shè)備(如Web-enabled手機(jī))使用移動(dòng)無線連接訪問互聯(lián)網(wǎng)正如移動(dòng)電話和一些通訊設(shè)備一樣。現(xiàn)在大多數(shù)能訪問因特網(wǎng)移動(dòng)電話都處于無線因特網(wǎng)就緒狀態(tài)而且能直接用來檢索Web內(nèi)容,只要無線Web服務(wù)包含在該手機(jī)服務(wù)計(jì)劃中。許多手提電腦也有內(nèi)置互聯(lián)網(wǎng)連接;假如沒有,一個(gè)無線調(diào)制解調(diào)器能夠使用。另一個(gè)方式,一臺(tái)調(diào)制解調(diào)器或其余類型適配器能夠把設(shè)備連接到手機(jī)。個(gè)人筆記本電腦能連接到網(wǎng)絡(luò)或公共網(wǎng)絡(luò)使用是一個(gè)無線調(diào)制解調(diào)器或微型調(diào)制解調(diào)器。今天,一些筆記本電腦內(nèi)置無線聯(lián)網(wǎng)能力。6.1網(wǎng)絡(luò)通信兩種方法不論通信網(wǎng)絡(luò)提供是一臺(tái)計(jì)算機(jī)與另一臺(tái)計(jì)算機(jī)之間連接還是終端與計(jì)算機(jī)之間連接,通信網(wǎng)絡(luò)能夠分成兩種基本類型:電路交換(有時(shí)叫做面向連接)和分組交換(有時(shí)叫做無連接)。電路交換網(wǎng)絡(luò)運(yùn)行時(shí)在兩點(diǎn)之間形成一條專用連線(線路)。美國(guó)電話系統(tǒng)使用電路交換技術(shù),即一個(gè)電話呼叫建立一條線路,從發(fā)起呼叫電話機(jī)經(jīng)過當(dāng)?shù)亟粨Q局、穿過中繼線到一個(gè)遠(yuǎn)程交換局,最終抵達(dá)目標(biāo)電話機(jī)。在線路存在時(shí),電話設(shè)備對(duì)話筒輸出重復(fù)采樣,把采樣進(jìn)行數(shù)字編碼,并經(jīng)過線路把它們傳送到接收方。發(fā)話方確信采樣一定會(huì)被傳輸和重新生成,因?yàn)榫€路提供了一條被確保64kbps(千比特每秒)數(shù)據(jù)路徑,這個(gè)速率是發(fā)送數(shù)字化語音所必需。電路交換好處于于它容量有確保:一旦建立一條線路,沒有其它網(wǎng)絡(luò)活動(dòng)會(huì)降低這條線路容量。電路交換缺點(diǎn)是代價(jià)大:線路費(fèi)用是固定,與通信量無關(guān)。比如,一個(gè)人要為一個(gè)電話交付固定費(fèi)用,即使兩邊沒有交換。分組交換類型網(wǎng)絡(luò)通慣用于連接計(jì)算機(jī),它采取完全不用得方法。在一個(gè)分組交換網(wǎng)絡(luò)中,網(wǎng)絡(luò)上傳輸數(shù)據(jù)被分成一個(gè)個(gè)小片,叫做分組,分組被多路復(fù)用在大容量機(jī)器間連接上。一個(gè)分組,通常含有幾百個(gè)字節(jié)數(shù)據(jù),載有使網(wǎng)絡(luò)硬件知道怎樣把它發(fā)送到指定目標(biāo)地標(biāo)識(shí)信息。比如,一個(gè)要在兩臺(tái)機(jī)器間傳送大文件,必須被分成許多分組,在網(wǎng)絡(luò)上一個(gè)一個(gè)地傳送。網(wǎng)絡(luò)硬件把分組傳送到指定目標(biāo)地,在那里,軟件把它們重新組裝成一個(gè)文件。分組交換額主要優(yōu)點(diǎn)是計(jì)算機(jī)之間多路通信能夠并行進(jìn)行,機(jī)器間連接被正在通信各對(duì)機(jī)器所共享。當(dāng)然,它缺點(diǎn)是,伴隨網(wǎng)絡(luò)活動(dòng)增加,一對(duì)通信計(jì)算機(jī)所取得網(wǎng)絡(luò)容量就會(huì)降低。也就是說,每當(dāng)一個(gè)分組交換網(wǎng)絡(luò)超載,那么,使用這個(gè)網(wǎng)絡(luò)計(jì)算機(jī)在能夠繼續(xù)發(fā)送分組之前,必須等候。盡管分組交換網(wǎng)存在不能確保網(wǎng)絡(luò)容量潛在缺點(diǎn),分組交換網(wǎng)絡(luò)已成為非常流行。采取分組交換動(dòng)機(jī)是從成本和性能方面考慮。因?yàn)槎鄼C(jī)能夠共享網(wǎng)絡(luò)硬件,所以只要求較少幾個(gè)連接,費(fèi)用低;而且工程師們已經(jīng)能制造高速網(wǎng)絡(luò)硬件,容量通常不成為問題。所以,許多計(jì)算機(jī)互聯(lián)都使用分組交換,所以本書后面,術(shù)語“網(wǎng)絡(luò)(network)”將僅指分組交換網(wǎng)絡(luò)。7.1數(shù)據(jù)庫(kù)系統(tǒng)概述讓我們考慮航空企業(yè)這么企業(yè),它有大量數(shù)據(jù)長(zhǎng)時(shí)間保留在計(jì)算機(jī)中。這些數(shù)據(jù),比如,可能包含關(guān)于乘客、航班、飛機(jī)與乘務(wù)組人員信息。可能表示經(jīng)典關(guān)系包含訂票(哪些乘客在哪些航班上訂有座位?)、航班乘務(wù)組(在哪些航班上誰是駕駛員,誰是副駕駛員,等等),以及服務(wù)統(tǒng)計(jì)(每架飛機(jī)最終是何時(shí)由誰服務(wù)?)。我們把上述那樣不一樣程度地長(zhǎng)久存放在計(jì)算機(jī)中數(shù)據(jù)成為數(shù)據(jù)庫(kù)。使得一個(gè)人或許多人能使用和/或修改這些數(shù)據(jù)軟件是數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)。DBMS主要目標(biāo)是提供這么環(huán)境,在從數(shù)據(jù)庫(kù)中檢索信息和把信息存放在數(shù)據(jù)庫(kù)中時(shí)使用起來既方便,功效又高。數(shù)據(jù)抽象顯然,在處理二進(jìn)位計(jì)算機(jī)和處理像航班或把乘務(wù)組人員分配到飛機(jī)這么一些抽象最終用戶之間將存在很多層抽象。關(guān)于抽象層相當(dāng)標(biāo)準(zhǔn)觀點(diǎn)如圖7-1所表示。在那里我們看到3個(gè)不一樣抽象層單個(gè)數(shù)據(jù)庫(kù),它可能是使用同一個(gè)DBMS軟件很多個(gè)數(shù)據(jù)庫(kù)中一個(gè)數(shù)據(jù)庫(kù)。最底層,也即物理層,把數(shù)據(jù)存放在硬件設(shè)備上。用戶程序不能直接存取它們。它們必須經(jīng)過邏輯層存取數(shù)據(jù)。外部層按外部或用戶程序之需要定義數(shù)據(jù)庫(kù)不一樣試圖。一個(gè)用戶程序不可能需要數(shù)據(jù)庫(kù)中全部數(shù)據(jù),所以用戶/應(yīng)用程序僅觀察所需數(shù)據(jù)庫(kù)信息。這意味著取決于對(duì)數(shù)據(jù)需求,不一樣程序?qū)ν粋€(gè)數(shù)據(jù)庫(kù)將有不一樣視圖。這么一些視圖是數(shù)據(jù)庫(kù)外部,因而在外部層要求。不一樣視圖也無須須要包含完全不一樣數(shù)據(jù)。在不一樣視圖中會(huì)存在公共信息。概念層描述整個(gè)數(shù)據(jù)庫(kù),它是由數(shù)據(jù)庫(kù)管理人員使用,它們必須決定什么信息要被保留在數(shù)據(jù)庫(kù)中。數(shù)據(jù)模型數(shù)據(jù)模型是一組概念工具,用來描述數(shù)據(jù)、數(shù)據(jù)關(guān)系、數(shù)據(jù)語義和數(shù)據(jù)限制。數(shù)據(jù)模型分成三類,就是基于對(duì)象邏輯模型、基于統(tǒng)計(jì)邏輯模型和物理數(shù)據(jù)模型。基于對(duì)象邏輯模型用于描述概念層與視圖層數(shù)據(jù)。它們非常靠近于人邏輯。很多不一樣模型可用來描述基于對(duì)象邏輯模型,其中最主要是語義數(shù)據(jù)模型和實(shí)體關(guān)系模型。語義數(shù)據(jù)模型提供了表示數(shù)據(jù)庫(kù)中數(shù)據(jù)之意義設(shè)施。實(shí)體關(guān)系模型(E-R模型)是基于這么認(rèn)識(shí):現(xiàn)實(shí)世界是由一組稱為實(shí)體對(duì)象和這些對(duì)象之間關(guān)系組成。實(shí)體是對(duì)象,它能與其它對(duì)象唯一卻別開。比如,名稱、物理尺寸和每單位長(zhǎng)度重量唯一描述一段特定鋼材。相同類型全部實(shí)體之集合和相同類型各種關(guān)系分別稱作實(shí)體集合和關(guān)系集合。實(shí)體集合例子有:一座建筑物中全部房間在一個(gè)有限網(wǎng)絡(luò)中全部元素一臺(tái)機(jī)器中全部軸承實(shí)體和關(guān)系要被區(qū)分開,而且數(shù)據(jù)庫(kù)模型應(yīng)指明這怎樣能實(shí)現(xiàn)。這用主關(guān)鍵字概念來實(shí)現(xiàn)。實(shí)體關(guān)系模型能夠定義數(shù)據(jù)庫(kù)內(nèi)容必須恪守一些限制。一個(gè)主要限制是某個(gè)實(shí)體能經(jīng)由一個(gè)關(guān)系與其相關(guān)其它實(shí)體之個(gè)數(shù)。對(duì)于包括兩個(gè)實(shí)體集合關(guān)系,可能存在像一對(duì)一、一對(duì)多、多對(duì)一和多對(duì)多那樣關(guān)系,這些關(guān)系圖解表示如圖7-2所表示基于統(tǒng)計(jì)邏輯模型定義數(shù)據(jù)庫(kù)整個(gè)邏輯結(jié)構(gòu)以及其實(shí)現(xiàn)更高級(jí)描述。三種不一樣基于統(tǒng)計(jì)邏輯模型被廣泛使用。它們是:層次模型網(wǎng)絡(luò)模型關(guān)系模型物理數(shù)據(jù)模型用于描述最低層數(shù)據(jù)。只有極少幾個(gè)物理數(shù)據(jù)模型在使用。廣泛知道是:統(tǒng)一模型框架存放7.2SQL引言理想地,一個(gè)數(shù)據(jù)庫(kù)語言必須使我們能夠創(chuàng)建數(shù)據(jù)庫(kù)和表結(jié)構(gòu);它必須使我們能夠執(zhí)行一些基本日常數(shù)據(jù)管理工作(添加、刪除和修改數(shù)據(jù));而且它必須使我們能執(zhí)行設(shè)計(jì)來把原始數(shù)據(jù)變換成有用信息復(fù)雜查詢。另外,它必須讓用戶以最小努力來完成這么一些基本功效,而且它命令結(jié)構(gòu)和語法必須是易于學(xué)習(xí)。最終,它必須是可移植,亦即,它必須與某個(gè)基本標(biāo)準(zhǔn)一致,以致當(dāng)從一個(gè)RDBMS改變?yōu)榱硪粋€(gè)時(shí)無須要重頭開始學(xué)習(xí)。SQL很好地滿足這些理想化數(shù)據(jù)庫(kù)語言需求。首先,SQL覆蓋范圍歸入三個(gè)范圍:數(shù)據(jù)定義創(chuàng)建數(shù)據(jù)庫(kù)及其表結(jié)構(gòu)。數(shù)據(jù)管理使用一組命令來對(duì)數(shù)據(jù)庫(kù)表內(nèi)數(shù)據(jù)進(jìn)行鍵入、校正、刪除和更新。數(shù)據(jù)查詢使用一組命令來探索數(shù)據(jù)庫(kù)內(nèi)容并使得用戶能把原始數(shù)據(jù)轉(zhuǎn)換成有用信息。其次,SQL是相當(dāng)輕易學(xué):它經(jīng)過使用由大約30個(gè)命令組成基本詞匯表來執(zhí)行所需數(shù)據(jù)庫(kù)功效。還要好地,SQL是一個(gè)非過程式語言:你必須做僅僅是發(fā)出要做什么命令;無須操心它是怎樣做。最終,美國(guó)國(guó)家標(biāo)準(zhǔn)協(xié)會(huì)(ANSI)要求了一個(gè)標(biāo)準(zhǔn)SQL。毋須介意,ANSI標(biāo)準(zhǔn)是如此有限制,以致全部商用SQL產(chǎn)品都勝過它。實(shí)際上,一些廠商已經(jīng)符合要在1993年實(shí)施所提議ANSISQL2標(biāo)準(zhǔn),因而,極少可能不做一些改變便把某個(gè)基于SQL應(yīng)用程序從一個(gè)RDBMS換到另一個(gè)RDBMS。不過,不一樣SQL方言版本共享相同基本命令集和結(jié)構(gòu),所以使我們能得出這么結(jié)論:存在有一個(gè)可使用標(biāo)準(zhǔn)。我們將使用這標(biāo)準(zhǔn)作為我們之介紹基礎(chǔ)。然而,我們也將介紹幾個(gè)SQL增強(qiáng)特征,尤其是考慮到這些增強(qiáng)特征廣泛地為很多RDBMS供銷商所共有。不要因存在幾個(gè)SQL方言版本而泄氣。因?yàn)楦鞣NSQL方言版本之間差異是微小,適應(yīng)于你軟件需求幾乎沒有什么麻煩。不論你是使用XDB、ORACLE、dBASEⅣ、DB2、Dos下R:BASE、IBMOS/2數(shù)據(jù)庫(kù)管理程序,還是任何其余一致公認(rèn)RDBMS軟件,我們經(jīng)驗(yàn)是:假如你了解本章中介紹材料,對(duì)軟件手冊(cè)花上幾個(gè)小時(shí)將足以使你成功地使用SQL。簡(jiǎn)而言之,你在本章取得知識(shí)是可用于他處。關(guān)于學(xué)習(xí)SQL基礎(chǔ),有幾個(gè)很好理由:1.ANSI標(biāo)準(zhǔn)化努力已造成關(guān)系數(shù)據(jù)庫(kù)一個(gè)實(shí)際上查詢標(biāo)準(zhǔn)。實(shí)際上,很多關(guān)系數(shù)據(jù)庫(kù)教授傾向于主張:“假如不是SQL,便不是關(guān)系型”。2.SQL已成為現(xiàn)在和預(yù)期未來DBMS集成努力基礎(chǔ),使我們能把層次型、網(wǎng)絡(luò)型和關(guān)系型數(shù)據(jù)庫(kù)鏈接起來。SQL已成為開發(fā)分布式數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)客戶機(jī)/服務(wù)器體系結(jié)構(gòu)催化劑。8.4同時(shí) 先進(jìn)多媒體系統(tǒng)以獨(dú)立、時(shí)間關(guān)于和時(shí)間無關(guān)媒體集成、計(jì)算機(jī)控制產(chǎn)生、存放、通信、處理和演示為特征。提供集成關(guān)鍵問題是任何數(shù)據(jù)數(shù)字表示和各種種類媒體和數(shù)據(jù)同時(shí)。 單詞‘同時(shí)’指是時(shí)間。多媒體系統(tǒng)中同時(shí)指是多媒體系統(tǒng)中媒體對(duì)象之間時(shí)序關(guān)系。在更普遍更廣泛使用意義上,一些作者認(rèn)為多媒體系統(tǒng)中同時(shí)包含內(nèi)容、空間和媒體對(duì)象之間時(shí)序關(guān)系。我們區(qū)分時(shí)間關(guān)于和時(shí)間無關(guān)媒體對(duì)象。一個(gè)時(shí)間關(guān)于媒體對(duì)象被表示成媒體流。在媒體流連續(xù)單元之間存在時(shí)間關(guān)系。假如一個(gè)時(shí)間關(guān)于媒體對(duì)象全部單元演示時(shí)間都相同,則稱它為連續(xù)媒體對(duì)象。一個(gè)視頻由許多有序幀組成,其中每個(gè)幀有固定演示時(shí)間。一個(gè)時(shí)間無關(guān)媒體對(duì)象是任何一個(gè)傳統(tǒng)媒體,如正文和圖像。各個(gè)內(nèi)容語義與演示時(shí)間沒關(guān)于系。 媒體對(duì)象之間同時(shí)包含時(shí)間關(guān)于媒體對(duì)象和時(shí)間無關(guān)媒體對(duì)象之間關(guān)系。連續(xù)媒體之間同時(shí)一個(gè)日常例子是電視中視覺和聽覺信息之間同時(shí)。在多媒體系統(tǒng)中對(duì)音頻和移動(dòng)圖片也必須提供類似同時(shí)。時(shí)間關(guān)于媒體和時(shí)間無關(guān)媒體之間時(shí)序關(guān)系例子是放映幻燈片?;脽羝庞撑c解釋聲音流同時(shí)。為了在多媒體系統(tǒng)中實(shí)現(xiàn)放映幻燈片,圖展示必須與聲音流一些適當(dāng)單元同時(shí)。 許多系統(tǒng)成份,包含OS、通信系統(tǒng)、數(shù)據(jù)庫(kù)、文檔都致力和支持同時(shí),甚至應(yīng)用程序也經(jīng)常致力和支持同時(shí)。所以,在多媒體系統(tǒng)中必須在幾個(gè)層次上考慮同時(shí)。 OS和較低通信層處理單個(gè)媒體流,其目標(biāo)是防止在一個(gè)媒體流諸單元演示時(shí)抖動(dòng)。比如,假如一個(gè)音頻播放被短時(shí)停頓或在音頻剪輯播放中點(diǎn)擊引發(fā)短間隙,則用戶會(huì)討厭。 在這一層上面設(shè)置一層對(duì)多個(gè)媒體流同時(shí)運(yùn)行時(shí)間支持。這一層目標(biāo)是維護(hù)各媒體流之間時(shí)序關(guān)系。尤其是必須限制各媒體流之間偏離。比如,假如用戶發(fā)覺演講者嘴唇動(dòng)作不對(duì)應(yīng)說出來話,用戶會(huì)不舒適。 下一層是對(duì)時(shí)間關(guān)于和時(shí)間無關(guān)媒體,連同用戶交互處理之間同時(shí)運(yùn)行時(shí)間支持。其目標(biāo)是在一個(gè)可容忍時(shí)間區(qū)間內(nèi)開始和停頓時(shí)間無關(guān)媒體演示,假如時(shí)間關(guān)于媒體對(duì)象演示抵達(dá)一些先前定義演示點(diǎn)。假如幻燈片跟不上講解,則看幻燈節(jié)目標(biāo)觀眾是不滿意。講解開始后短暫延遲是可容忍,或者甚至是有用。 各媒體對(duì)象之間時(shí)序關(guān)系必須指明。這些關(guān)系能夠在捕捉媒體對(duì)象期間隱式地指明,假如一演示目標(biāo)是以原來媒體被捕捉時(shí)相同方式演示它們?cè)?。這是音頻/視頻攝制和播放情況。 在演示是由獨(dú)立捕捉或用其它方法(獨(dú)立)制作媒體對(duì)象所組成情況,這些時(shí)序關(guān)系也能夠顯式地指定。在放映幻燈片例子中,演示設(shè)計(jì)者選擇適當(dāng)幻燈片、創(chuàng)建音頻對(duì)象而且要求聲音播放流中那些必須播放幻燈片單元。一樣,用戶交互性也可能是播放部分,而且在媒體對(duì)象和用戶交互之間時(shí)間關(guān)系也必須指明。用來指明這種時(shí)間關(guān)系工具位于先前幾層上面。12.5地理信息系統(tǒng)(GIS):查看事物數(shù)據(jù)新方法地理信息系統(tǒng)是發(fā)展最快事物應(yīng)用軟件之一。這十年(指20世紀(jì)90年代)后期它會(huì)像處理軟件和電子表格應(yīng)用軟件一樣普及。GIS,如同美國(guó)國(guó)家基金會(huì)所定義,是用于捕捉、存放、檢索、分析和顯示空間(比如探測(cè)所確定)數(shù)據(jù)計(jì)算機(jī)化數(shù)據(jù)庫(kù)管理系統(tǒng)。一個(gè)GIS有以下三部分組成:——GIS軟件——硬件。運(yùn)行GIS所需硬件依賴于三個(gè)相相互關(guān)可變?cè)颍海?)作用范圍:用途數(shù)、應(yīng)用程序數(shù)與用戶數(shù);(2)數(shù)據(jù)規(guī)模:地圖越詳細(xì),所需硬件功效越要強(qiáng);(3)功效度:要對(duì)數(shù)據(jù)執(zhí)行功效或操作數(shù)目與各種功效復(fù)雜性。——數(shù)據(jù)庫(kù),內(nèi)部和外部二者。開發(fā)GIS系統(tǒng)關(guān)鍵是地理信息編碼法。地理信息編碼是把屬性數(shù)據(jù)連接到地圖過程。街道地址地理信息編碼是事物地理基礎(chǔ)技術(shù)。聽說,大約80%事物數(shù)據(jù)有某種類型地理成份。地理信息編碼看來簡(jiǎn)單,但要做好,確要復(fù)雜多。在目錄中查找地址概念上是輕易,但會(huì)因?yàn)檐浖?、地理信息編碼參考目錄或數(shù)據(jù)地址本身中一些缺點(diǎn)而失敗。GIS系統(tǒng)允許一系列地圖彼此覆蓋,經(jīng)過觀察諸計(jì)算機(jī)化地圖組合,零售商能立刻看到他銷售額是高還是低,而且他競(jìng)爭(zhēng)對(duì)手是強(qiáng)還是弱。GIS系統(tǒng)允許以各種各樣方式存取數(shù)據(jù)。大多數(shù)全功效GIS系統(tǒng)結(jié)合了三種基本類型功效:(1)表示映射,(2)使用地圖作為組織工具,(3)空間分析。GIS系統(tǒng)有利于其業(yè)務(wù)開張領(lǐng)域包含:(1)房地產(chǎn),(2)直銷,(3)保險(xiǎn),(4)金融,(5)服務(wù)行業(yè),(6)制造,(7)運(yùn)輸和銷售,(8)零售。分析人員說,GIS市場(chǎng)正由幾個(gè)原因所驅(qū)動(dòng):更廉價(jià)更加快硬件。PC價(jià)格正快速下跌,而臺(tái)式計(jì)算機(jī)正變得功效更強(qiáng)改進(jìn)GIS軟件。今天GIS軟件更對(duì)用戶友善,使得無使用GIS經(jīng)驗(yàn)用戶能快速學(xué)會(huì)這些系統(tǒng)。降低了軟件價(jià)格。抵擋GIS系統(tǒng)花幾千美元能夠買到,而只有有限數(shù)據(jù)分析功效簡(jiǎn)單桌面地圖繪制系統(tǒng)不到500美元便可買到。種類更多人口統(tǒng)計(jì)數(shù)據(jù)。GIS更廣泛地使用于商業(yè)。世界范圍內(nèi),估量大約有100個(gè)銷售商提供各種各樣GIS系統(tǒng),其中大約60個(gè)以北美為基地,而大約24個(gè)在歐洲設(shè)置總部。全部分析人員一致認(rèn)為:GIS市場(chǎng)份額居首位兩個(gè)企業(yè)是亞拉巴馬Intergraph企業(yè)和加利福尼亞環(huán)境系統(tǒng)研究所企業(yè)(ESRI)。在市場(chǎng)上存在兩類GIS應(yīng)用程序?!伴_放系統(tǒng)”使得能從電子表格或數(shù)據(jù)庫(kù)程序直接輸入數(shù)據(jù);“封閉系統(tǒng)”則不能。通常地,開放系統(tǒng)更為使用,不過它們使用上是更有爭(zhēng)論。準(zhǔn)備輸入GIS屬性數(shù)據(jù)責(zé)任落在了用戶肩上。封閉系統(tǒng)是更易于使用,屬性數(shù)據(jù)整齊地排列在你面前供你使用。GIS設(shè)計(jì)過程包括四個(gè)基本要素:地理數(shù)據(jù)、屬性數(shù)據(jù)(內(nèi)部與外部)、地圖繪制軟件,以及硬件。關(guān)于地理數(shù)據(jù),要問第一個(gè)問題是:“我對(duì)哪個(gè)地理區(qū)域感興趣?”屬性數(shù)據(jù)必須與GIS兼容,使得它能被輸入到GIS。地圖繪制軟件應(yīng)支持?jǐn)?shù)據(jù)錄入、數(shù)據(jù)分析、數(shù)據(jù)輸出和顯示,以及數(shù)據(jù)管理。至于硬件,GIS將很快超出GIS銷售商所推薦做小系統(tǒng)需求。努力獲取比你現(xiàn)在需要更多。非空間、內(nèi)部和外部屬性數(shù)據(jù)是開發(fā)GIS另一個(gè)主要成本。購(gòu)置諸如商業(yè)人口統(tǒng)計(jì)數(shù)據(jù)庫(kù)這么外部數(shù)據(jù)和開發(fā)內(nèi)部數(shù)據(jù)庫(kù)總共能占到GIS系統(tǒng)總成本80%之多。在設(shè)計(jì)GIS時(shí),主要關(guān)心是為作業(yè)選擇恰當(dāng)屬性數(shù)據(jù)。在美國(guó),很多商業(yè)數(shù)據(jù)庫(kù)是以美國(guó)人口統(tǒng)計(jì)局?jǐn)?shù)據(jù)為基礎(chǔ)。最主要商業(yè)人口統(tǒng)計(jì)數(shù)據(jù)庫(kù)銷售商們對(duì)于消費(fèi)者和商業(yè)數(shù)據(jù)二者都使用了復(fù)雜分段技術(shù),使基本、原始人口統(tǒng)計(jì)數(shù)據(jù)成為有價(jià)值數(shù)據(jù)。外部數(shù)據(jù)也能夠以較少成本,或者無成本,從政府代理、行業(yè)協(xié)會(huì)、大學(xué)、非盈利團(tuán)體和其余一些機(jī)構(gòu)處取得。GIS程序包,其范圍從基于PC、差不多僅僅顯示數(shù)據(jù)、因而往往成為桌面地圖繪制系統(tǒng)產(chǎn)品,一直到進(jìn)行復(fù)雜數(shù)據(jù)建模且能以逼真細(xì)節(jié)和3D質(zhì)量顯示地圖高級(jí)系統(tǒng)。GIS事務(wù)應(yīng)用軟件能分成三個(gè)范圍:經(jīng)營(yíng)(性):在這些應(yīng)用軟件中,GIS支持經(jīng)營(yíng)活動(dòng)和事務(wù)決定。策略(性):這類GIS應(yīng)用軟件包括由中層管理員進(jìn)行“半結(jié)構(gòu)式”決議。戰(zhàn)略(性):這些類型GIS應(yīng)用軟件是為上層管理而設(shè)計(jì),他們通常進(jìn)行“非結(jié)構(gòu)式?jīng)Q議”。13.2什么是“電子商務(wù)”?電子商務(wù)將創(chuàng)造改變類似于工業(yè)革命所引發(fā)那些。它會(huì)影響我們業(yè)務(wù)、社會(huì)和政府治理。電子商務(wù)是信息技術(shù)整合,尤其是互聯(lián)網(wǎng)進(jìn)入業(yè)務(wù)流程,改變組織和形成新組織。它尤其影響組織單位和單位之間界面。在過去30年,信息技術(shù)在使過程愈加有效和高效中飾演了主要角色,但它并沒有改變他們。電子商務(wù)改變他們。與IT是一個(gè)支持功效先前模型不一樣,在電子商務(wù)中,IT已嵌入到各種商務(wù)過程中。一個(gè)關(guān)鍵區(qū)分是假如IT系統(tǒng)無法正常工作,過程是否都根本無法運(yùn)轉(zhuǎn)。一個(gè)訂房部職員使用預(yù)訂系統(tǒng)使航空訂票不是電子商務(wù)一個(gè)例子。一個(gè)航空企業(yè)系統(tǒng),一名乘客,直接進(jìn)行了預(yù)定,獲取電子客票,在經(jīng)過視網(wǎng)膜掃描識(shí)別后上了飛機(jī)是電子商務(wù)一個(gè)例子。電子商務(wù)為一系列不一樣電子處理過程形成了一把雨傘,沿著從供給商到消費(fèi)者鏈,其中大部分都包含物理類似物。這些電子商務(wù)過程實(shí)際上將包含整個(gè)人類活動(dòng),從商業(yè)金融、從教育到娛樂和從政府到宗教(圖13-2):電子商務(wù)是企業(yè)對(duì)企業(yè)(BTB)買賣實(shí)際貨物(交易)。EDI商業(yè)是傳統(tǒng)、布線、預(yù)定貿(mào)易,常見于汽車、航空航天和初級(jí)產(chǎn)品大型零售商環(huá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. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權(quán)】 IEC 80000-13:2025 EN/FR Quantities and units - Part 13: Information science and technology
- 食堂委托服務(wù)合同
- 消防工程安裝外包合同
- 汽車租賃三方合同書
- 商鋪長(zhǎng)期租賃合同
- 重慶工程總承包合同
- 建筑工程合同管理法律法規(guī)
- 業(yè)務(wù)人員聘用合同
- 技術(shù)咨詢勞務(wù)合同
- 四川工程職業(yè)技術(shù)學(xué)院《口腔臨床醫(yī)學(xué)概論(口腔修復(fù)學(xué))》2023-2024學(xué)年第二學(xué)期期末試卷
- 高中主題班會(huì) 借哪吒精神燃開學(xué)斗志!課件-高一下學(xué)期開學(xué)第一課班會(huì)
- 2024年12月2025浙江湖州市長(zhǎng)興縣綜合行政執(zhí)法局公開招聘輔助執(zhí)法人員8人筆試歷年典型考題(歷年真題考點(diǎn))解題思路附帶答案詳解
- 濰坊2025年山東濰坊市產(chǎn)業(yè)技術(shù)研究院招聘7人筆試歷年參考題庫(kù)附帶答案詳解
- 《南非綜合簡(jiǎn)要介紹》課件
- 2023六年級(jí)數(shù)學(xué)下冊(cè) 第2單元 百分?jǐn)?shù)(二)綜合與實(shí)踐 生活與百分?jǐn)?shù)說課稿 新人教版
- 二零二五年度醫(yī)療援助派駐服務(wù)協(xié)議4篇
- 小學(xué)五年級(jí)體育教案全冊(cè)(人教版)
- 《教育向美而生-》讀書分享課件
- 2024年 江蘇鳳凰新華書店集團(tuán)有限公司招聘筆試參考題庫(kù)含答案解析
- 20以內(nèi)加減法口算題(10000道)(A4直接打印-每頁100題)
- 學(xué)生個(gè)人成長(zhǎng)檔案實(shí)用模板
評(píng)論
0/150
提交評(píng)論