如果你使用計算機,那么也會使用計算機操作系統來利用計算機的能力。對計算機的操作系統知道得越多,就越能夠享受計算機的各種各樣的功能。本書打開了一扇理解計算機的操作系統的大門。此外,本書還使你能夠了解多種類型的操作系統,因此你可以為個人和專業應用比較每種操作系統的優點。
在本書中,你將學習目前使用的*流行的操作系統:
* Windows XP。
* Windows Vista。
* Windows 7。
* Windows Server 2003和Windows Server 2003 R2。
* Windows Server 2008和Windows Server 2008 R2。
* UNIX/Linux,包括Fedora Linux。
* Mac OS X Leopard和Snow Leopard。
你可以使用本書學習一種、兩種或者所有的操作系統。本書從基本的級別開始,逐步增加難度,循序漸進地介紹每一章的知識,使你走上正確的軌道,成為每種操作系統的熟練用戶。
本書以清晰的語言通過動手操作的、實用的方法講解操作系統。研究多個操作系統的優點是:你可以在學習時把每種操作系統的功能放在一塊進行比較。如果你正在參加一個入門性的操作系統課程或者操作系統概論課程,本書為掌握操作系統提供了堅實的基礎。此外,如果你正在為一個或多個計算機認證(例如硬件系統、網絡、編程或安全)做準備,將發現本書為你的準備工作提供了一個至關重要的背景。本書尤其適合于作為CompTIA A+認證的背景。如果你對計算機比較陌生,本書將從基礎開始幫助你建立信心。如果你在計算機方面有更多的經驗,將會發現許多有用的信息,它們可以進一步幫助你建立知識和經驗庫。
本書讀者對象
本書是用簡單、直觀的語言編寫的,適合任何使用計算機并且想要學習更多知識的人閱讀。無需任何先前的計算機經驗,盡管具有一些以前使用計算機的基本經驗是有幫助的。本書中的“動手項目”使用了多種操作系統。如果你能夠訪問書中介紹的一種操作系統或它們的組合,就可以學習一些概念?晒┠闶褂玫牟僮飨到y越多,比較它們特性的機會也就越好。一般來講,這些項目可以在教室、計算機實驗室或者家里執行。
本版本的新增內容
本版本進行了廣泛的更新,包含了*近的操作系統和操作系統特性。其中包括對Windows 7、Windows Server 2008、Windows Server 2008 R2、帶有GNOME桌面的Fedora Linux以及Mac OS X Leopard和Snow Leopard的全新介紹,而大幅縮減了對遺留操作系統(例如Windows 3.x、Windows 95、Windows 98、Windows 2000以及Mac OS X Panther和Tiger)的介紹,在書中提及它們主要是為了提供一種歷史觀點。同時還保留了對Windows XP、Windows Vista、Windows Server 2003和Windows Server 2003 R2的介紹,因為這些操作系統仍然在許多地方使用。
本書還包括針對新硬件以及新的操作系統安裝和管理活動的廣泛更新。新硬件介紹包括了*新的CPU和外圍設備。操作系統與新的存儲設備之間的交互也進行了顯著的更新,新的聯網能力也是如此,包括無線聯網的發展和云計算。
截屏圖、圖形和表格實質上都是全新的。“動手項目”也針對新的操作系統進行了全面更新或者就是全新的。其他的章末復習和學習材料也進行了重大更新,以幫助讀者使他們的知識保持*新。
各章描述
本書對各章涵蓋的內容進行了平衡,從而提供關于每個主題的完整信息。下面總結了你將在每一章中所學的知識。除了通過各章的正文提供的指導之外,還可以使用各章末尾的“動手項目”“案例項目”“關鍵術語”和“復習題”增長知識,以及對自己在每一章中所取得的進步進行評價。
* 第1章“操作系統理論”:對操作系統進行了基本的介紹,包括操作系統的類型以及它們是如何工作的。你還可以學習有關操作系統的歷史。
* 第2章“流行的操作系統”:深入描述了Windows XP、Windows Vista、Windows Server 2003/Server 2003 R2、Windows Server 2008/Server 2008 R2、Linux和UNIX,以及Mac OS X Leopard和Snow Leopard。你將簡要學習早期的Microsoft操作系統。本章將給你提供一個起點,可以通過它比較操作系統的特性以及了解*新版本中的 發展。
* 第3章“操作系統的硬件組件”:使你能夠理解處理器是如何工作的以及現代處理器的必要特征。本章*后概述了流行的現代處理器。
* 第4章“文件系統”:解釋了所有文件系統的公共功能,然后描述了由不同操作系統使用的特定文件系統,包括FAT的簡要介紹和NTFS、ufs/ext、HFS、HFS+的深入介紹。
* 第5章“安裝和升級操作系統”:展示了如何為安裝操作系統做準備,然后說明了如何安裝在本書中討論的每一種操作系統。你將從頭開始學習安裝操作系統以及如何升級操作系統。
* 第6章“配置輸入和輸出設備”:解釋了像顯示器、鍵盤、鼠標、磁盤驅動器、網卡這樣的設備以及其他設備怎樣與操作系統對接。你將學習用于現代操作系統和計算機的*新的輸入和輸出技術。
* 第7章“使用和配置存儲設備”:描述了流行的存儲設備,包括硬盤驅動器、可移動驅動器、RAID、CD和DVD技術,閃存和固態驅動器存儲、網絡存儲、USB設備以及*新出現的技術。本書介紹了操作系統的存儲設備配置,你將學習如何為Windows、UNIX/Linux以及Mac OS X操作系統執行備份。
* 第8章“調制解調器和其他通信設備”:使你準備好通過廣域網技術與外界通信。你將學習相對低速的調制解調器通信乃至通過有線電視、DSL、衛星、無線及其他方式實現的高速通信,還將學習為Internet上的通信配置操作系統。
* 第9章“網絡連通性”:介紹了網絡是如何工作的,包括網絡拓撲和協議。你將學習如何在每種操作系統中配置協議,并將學習局域網和廣域網的基本結構,還將學習操作系統如何對接到網絡。
* 第10章“網絡上的資源共享”:顯示了通過網絡共享資源的各種方式,例如共享磁盤、文件夾和打印機。本章除了介紹如何共享資源之外,還討論了如何通過賬戶、組和訪問特權保障它們的安全。
* 第11章“標準操作和維護程序”:展示了許多維護系統的技術,例如清理未使用的文件、磁盤碎片整理、執行文件系統修復、虛擬內存調優以及尋址問題。本章還討論了備份計劃以及如何進行系統調優,以獲得*佳的性能。
* 附錄A“操作系統的命令行命令”:說明了如何訪問每種操作系統中的命令行,并且展示了一些表格,它們總結了一般的命令和網絡命令。這個附錄使你能夠快速查找或復習操作系統命令。
* 附錄B“結合使用本書與Fedora”:討論了Linux的Fedora 13 Live Media分發版。這個附錄中說明了如何直接從光盤運行Fedora,以及如何在硬盤驅動器上安裝Fedora。
本書特點
為了幫助你充分理解操作系統的概念,本書中設計了許多特色內容,旨在提升本書的教學價值。
* 本章目標。本書每一章的開始處都提供了在該章中要掌握的概念的詳細列表,這個列表提供了對該章內容的概覽,同時也是一種有用的學習幫助。
* 插圖與表格。大量的操作系統屏幕和概念的插圖通過可視化地展示常見的安裝步驟、理論和概念,從而給你提供幫助。此外,許多表格還提供了實用與理論信息的細節和對照。
* “經驗之談”故事與示例。每一章都包含一些排成特殊字體的文本以及來自作者的廣泛經驗的示例,它們通過介紹現實的情況給本書增色。
* 本章小結。每一章的正文后面都對該章介紹的概念做了小結。這些小結提供了一種有益的方式,用于概述和重溫每一章中介紹的思想。
* 關鍵術語。在每一章末尾都列出了那一整章中介紹的術語清單以及它們的定義。
* 復習題。章末評估以一組復習題開始,它們強化了每一章中所介紹的思想。
* 動手項目。本書的目標是給你提供實用的知識和技能,以便安裝和管理桌面以及服務器操作系統,從而把它們用于個人和商業目的。為此,除了理論解釋之外,每一章還提供了大量的“動手項目”,旨在給你提供真實的實施體驗。
* 案例項目。每一章末尾都提供了一個由多部分組成的案例項目。這些廣泛的案例允許通過真實的操作系統支持和管理方案實施在各章中學到的技能和知識。
特殊欄目說明
在本書很多適當的位置以欄目的形式添加了額外的信息與活動,以幫助你更好地理解相關章節所討論的內容。全書中的欄目可以提醒你關注額外的材料。本教材中使用的欄目如下:
“注意”用于介紹與所描述的主題相關的額外的有用材料。
“提示”來自作者的經驗,用以提供關于如何配置操作系統、應用概念或者解決問題的額外信息。
“警告”用于幫助你預先考慮潛在的問題或錯誤,使你可以阻止它們發生。
“動手項目”是實踐練習。
“案例項目”是更復雜、基于場景的作業。在案例項目中,將要求你運用所學的知識。
教師的材料
當在課堂環境中使用本書時,可以使用下面的補充材料。所有補充材料都可以通過本教材的Web站點在線獲取。
教師的電子手冊——包括額外的教學材料,用于幫助進行課前準備,其中包括有關課堂活動、討論主題以及額外活動的建議。
解決方案--教師的資源包含所有章末材料,包括“復習題”“動手項目”和“案例項目”的解決方案。
ExamView——本教材帶有配套的ExamView,它是一個功能強大的測試軟件包,允許教師創建和管理書面、計算機(基于LAN)和Internet考試。ExamView包括與本書中介紹的主題相對應的數百個問題,使學生能夠生成詳細的學習指導,包括頁碼索引,以便進一步復習;谟嬎銠C的測試和Internet測試組件允許學生在他們的計算機上參加考試,并通過自動給每次考試評分來節省教師的時間。
PowerPoint演示文稿——本書帶有針對每一章的Microsoft PowerPoint幻燈片。在課堂演示中包括了它們,作為一種輔助教學工具,使學生可以在網絡上復習各章內容,或者把它們打印出來在課堂上發放。教師可以自由地添加要在課堂上介紹的額外主題的幻燈片。
圖形文件——本書中的所有圖形和表格都以位圖格式作為教師的資源。與PowerPoint演示文稿類似,在課堂演示中也包括了它們,作為一種輔助教學工具,可供學生在復習時使用,或者把它們打印出來,在課堂上分發。
請訪問login.cengage.com并且登錄,以訪問提供給教師的資源。
要訪問額外的課程材料,可以訪問www.CengageBrain.com。在CengageBrain.com主頁上,使用頁面頂部的搜索框搜索圖書的ISBN(在圖書的封底可以找到它)。這將把你帶到本書的頁面,可以在其中找到這些資源。
系統與實驗室需求
無須任何硬件,就能夠學習本書中的操作系統概念。截屏圖及其他插圖有助于支持這里展示的討論。不過,為了*大限度地獲取本書中的知識,你應該逐步完成“動手項目”。為此,將需要訪問至少一臺計算機和一種操作系統。要像本書中展示的那樣完整、廣泛地學習操作系統,將需要多臺計算機和多種操作系統,也可以使用服務器或者提供了虛擬服務器或桌面環境的臺式機,其中將運行不同的操作系統。
下面給出了針對本書中介紹的每一種操作系統的建議:
Windows XP
Windows XP是對Windows 98/Windows Me操作系統的重大升級,其中Home(家庭)版本適用于休閑娛樂的用戶,而Professional(專業)版本則適用于辦公以及網絡環境。對于Home版本,建議使用500MHz或更快的處理器、256MB的RAM、1.0GB的硬盤驅動器以及一個DVD/CD-ROM驅動器;對于Professional版本,則建議使用900MHz或更快的處理器以及512MB的RAM。
Windows Vista
Windows Vista是對Windows XP的重要升級,對于視頻能力則尤其如此。建議使用1GHz或更快的CPU、1GB以上的RAM、40GB或更大的硬盤驅動器、一個DVD/CD-ROM驅動器,以及一個與Windows Display Driver Model兼容的圖形處理器。
Windows 7
Windows 7 是2009年推出的Windows桌面操作系統,許多讀者都在他們的臺式機或筆記本計算機上安裝了它。建議使用1GHz或更快的CPU、1GB以上的RAM、50GB或更大的硬盤驅動器、一個DVD/CD-ROM驅動器,以及一個與Windows Display Driver Model兼容的圖形處理器。
Windows Server 2003和Windows Server 2003 R2
對于這些服務器操作系統,建議至少使用550MHz的處理器,但是如果使用更快的處理器(例如900MHz或更快),則將獲得更好的響應。還建議使用至少512MB的RAM、40GB或者更大的硬盤驅動器以及一個DVD/CD-ROM驅動器。
Windows Server 2008和Windows Server 2008 R2
這些服務器操作系統代表服務器能力方面的重要提升。對于這些服務器操作系統,建議使用1GHz或更快的處理器;并且注意Windows Server 2008 R2只能運行在64位的處理器上。還建議使用至少2GB的RAM、50GB或更大的硬盤驅動器以及一個DVD/CD-ROM驅動器。為了獲得將加載多個操作系統(例如通過Microsoft Hyper-V)的虛擬服務器能力,還需要一個支持Intel-VT或AMD-V的處理器。
Mac OS X Leopard和Snow Leopard
盡管Mac OS X Leopard不需要Intel處理器,但是Mac OS X Snow Leopard需要。為了在學習本書時獲得*佳的效果,建議Macintosh計算機使用Intel處理器、1~2GB的RAM、超過10GB的磁盤空間以及一個DVD/CD-ROM驅動器。
UNIX/Linux
為了使用Fedora 13 Live Media DVD,建議計算機使用400MHz或更快的處理器、512GB以上的RAM以及一個DVD/CD-ROM驅動器(硬盤空間對于運行Live Media分發版不是一個問題,除非執行了需要10GB或更多磁盤空間的硬盤安裝)。
致謝
第4版的修訂是一種非常有價值的經歷,這部分是由于我們有機會與許多才華橫溢的人共事。我們想要感謝組稿編輯Nick Lombardi對本書的興趣與支持,也非常感謝高級產品經理Michelle Ruelos Cannistrici組建了我們的團隊并自始至終支持我們的工作。我們要特別向開發編輯Deb Kaufmann致敬,他令人難以置信地通過清晰的語言、準確性、匯集評論以及總是提出合理的建議,在各個方面確保本書可以獲得一個高質量的結果。我們還要感謝PreMediaGlobal的生產階段的項目經理Sumathy Kumaran所做的工作,對文字編輯Marcia Youngman也一并表示感謝。Cengage Learning的高級內容項目經理Kara A. Dicaterino在生產階段的末尾也發揮了重要的作用。
John Bosco在Green Pen Quality Assurance的優秀工作人員徹底地測試了書中每一處的概念、按鍵和鼠標點擊。我們還想感謝本書的評審者對每一章的各個方面都提供了必要的反饋,他們是西部州長大學的Gwendolyn Britton、常春藤技術社區學院的Alan Bunning、皮特社區學院的Emily Harrington、瓦倫西亞社區學院的Heith Hennel、埃奇庫姆社區學院的Wes Hill以及奧沙克技術社區學院的David Pope。
獻辭
Michael Palmer——我要把本書再次獻給Deb Kaufmann,他代表了開發編輯的黃金 標準。
Michael Walters——我要把本書獻給我的岳母Dorothy Oliver,她在我們共處的時光里給了我那么多的快樂和決心。
第1章 操作系統理論 1
1.1 操作系統簡介 1
1.2 操作系統簡史 3
1.3 了解操作系統的工作原理 9
1.3.1 內核 9
1.3.2 資源管理器 10
1.3.3 設備驅動程序和操作系統 11
1.3.4 應用軟件的作用 12
1.3.5 BIOS的作用 13
1.3.6 操作系統元素小結 15
1.4 操作系統的類型 16
1.4.1 分時系統 18
1.4.2 實時系統 19
1.4.3 多用戶系統 19
1.5 單任務與多任務 21
1.6 單用戶與多用戶操作系統 24
1.7 當前的操作系統 25
1.8 本章小結 26
1.9 關鍵術語 26
1.10 復習題 29
1.11 動手項目 31
1.11.1 動手項目1-1 32
1.11.2 動手項目1-2 33
1.11.3 動手項目1-3 34
1.11.4 動手項目1-4 35
1.11.5 動手項目1-5 35
1.11.6 動手項目1-6 37
1.11.7 動手項目1-7 38
1.11.8 動手項目1-8 39
1.11.9 動手項目1-9 40
1.11.10 動手項目1-10 41
1.11.11 動手項目1-11 42
1.11.12 動手項目1-12 43
1.11.13 動手項目1-13 44
1.11.14 動手項目1-14 45
1.12 案例項目 46
1.12.1 案例項目1-1:基本的操作系統功能 46
1.12.2 案例項目1-2:設備驅動程序 46
1.12.3 案例項目1-3:選擇新的服務器 46
1.12.4 案例項目1-4:選擇新的桌面系統 46
1.12.5 案例項目1-5:新發布的操作系統的問題 46
第2章 流行的操作系統 47
2.1 早期的Microsoft操作系統 47
2.1.1 MS-DOS和PC DOS 47
2.1.2 Windows 3.x 47
2.1.3 Windows 95 48
2.1.4 Windows 98/Windows Me 49
2.1.5 Windows NT 51
2.1.6 Windows 2000 51
2.1.7 Windows 2000 Server和Windows 2000 Professional 53
2.1.8 Windows 2000 Server、Windows 2000 Advanced Server和
Windows 2000 Datacenter Server 53
2.2 當前的桌面和服務器操作系統 54
2.2.1 Windows XP 54
2.2.2 Windows Server 2003 58
2.2.3 Windows Server 2003 R2 58
2.2.4 Windows Vista 67
2.2.5 Windows Server 2008 77
2.2.6 Windows Server 2008 R2 79
2.2.7 Windows 7 82
2.2.8 UNIX System Release 4 86
2.2.9 Mac OS 90
2.3 本章小結 94
2.4 關鍵術語 94
2.5 復習題 97
2.6 動手項目 99
2.6.1 動手項目2-1 99
2.6.2 動手項目2-2 102
2.6.3 動手項目2-3 103
2.6.4 動手項目2-4 104
2.6.5 動手項目2-5 105
2.6.6 動手項目2-6 105
2.6.7 動手項目2-7 106
2.6.8 動手項目2-8 108
2.6.9 動手項目2-9 109
2.7 案例項目 110
2.7.1 案例項目2-1:會計部升級 110
2.7.2 案例項目2-2:遺留的開賬單系統 110
2.7.3 案例項目2-3:用于市場部的新計算機 111
2.7.4 案例項目2-4:總裁的問題 111
2.7.5 案例項目2-5:首席財務官的考慮 111
2.7.6 案例項目2-6:服務器升級 111
第3章 操作系統的硬件組件 112
3.1 理解CPU 112
3.1.1 設計類型 113
3.1.2 速度 116
3.1.3 緩存 116
3.1.4 地址總線 117
3.1.5 數據總線 117
3.1.6 控制總線 118
3.1.7 CPU調度 118
3.2 流行的PC處理器 118
3.2.1 Intel處理器 118
3.2.2 AMD處理器 121
3.2.3 其他處理器 122
3.3 本章小結 123
3.4 關鍵術語 123
3.5 復習題 125
3.6 動手項目 127
3.6.1 動手項目3-1 127
3.6.2 動手項目3-2 127
3.6.3 動手項目3-3 130
3.6.4 動手項目3-4 131
3.6.5 動手項目3-5 131
3.6.6 動手項目3-6 132
3.7 案例項目 134
3.7.1 案例項目3-1:服務器升級 134
3.7.2 案例項目3-2:桌面計算 134
3.7.3 案例項目3-3:硬件過熱 134
第4章 文件系統 135
4.1 了解文件系統的功能 135
4.1.1 設計目錄結構 137
4.1.2 磁盤存儲的基礎知識 141
4.1.3 塊分配 141
4.1.4 分區 142
4.1.5 格式化 145
4.2 Windows文件系統 148
4.2.1 FAT16和擴展FAT16 148
4.2.2 FAT32 149
4.2.3 FAT64 150
4.2.4 NTFS 151
4.2.5 CDFS和UDF 157
4.3 UNIX文件系統 158
4.4 Macintosh文件系統 165
4.5 本章小結 170
4.6 關鍵術語 171
4.7 復習題 175
4.8 動手項目 178
第3章 操作系統的硬件組件
在閱讀完本章內容并且完成了練習之后,你將能夠:
* 解釋操作系統的硬件組件,包括設計類型、速度、緩存、地址總線、數據總線、控制總線和CPU調度。
* 描述流行的PC處理器的基本特性和系統體系結構。
* 理解硬件組件怎樣與操作系統交互。
操作系統和硬件協作,使計算機可用于商業、教育、個人、網絡和云計算應用程序。用于特定應用程序的操作系統的特性依賴于硬件的能力。在許多情況下,現代操作系統不支持較舊的硬件。當升級一個操作系統時,可能也需要升級硬件,以匹配新操作系統的 能力。
本章將介紹硬件的基礎知識,包括CPU的設計、時鐘速度和計算機總線的類型。此外,還將介紹CPU以及特定的操作系統如何使用CPU。
3.1 理解CPU
正如在第1章中所學到的,操作系統的主要功能之一是在計算機上運行的多種應用程序與其內的硬件之間提供接口。理解硬件的核心在于計算機的系統體系結構,它構建在CPU或處理器的基礎之上。系統體系結構(system architecture)包括硬件中的CPU的數量和類型以及CPU與其他硬件組件(比如內存和磁盤存儲器)之間的通信路由,稱為總線(bus)。
CPU是執行實際的計算和邏輯工作的芯片。大多數的現代PC都具有這樣一個芯片,稱為單處理器計算機(single-processor computer)。實際上,為了具有完整的功能,CPU將需要多個支持芯片,比如幫助管理與設備和設備驅動程序之間的通信的芯片。
隨著多核處理器的出現,芯片技術也在繼續發展。處理器是CPU的一部分,用于讀取和執行非;镜闹噶,比如從內存中讀取數據或者把數據發送到屏幕。處理器*初被創建成只有一個核心,因此一次只執行一條指令。核心(core)是實際地讀取和執行指令的處理器區域。多核處理器具有兩個或更多的核心,比如雙核處理器和4核處理器,前者包含兩個核心,后者則具有4個核心。
也有一些計算機具有多個CPU。許多計算機具有兩個CPU,一些計算機則具有多達128個以上的CPU。這些計算機一般稱為多處理器計算機(multiprocessor computer)。在本章后面將更詳細地探討單處理器、多處理器和多核計算機。
可以按多個硬件元素對CPU進行分類,以下是其中*重要的元素:
* 設計類型。
* 速度。
* 緩存。
* 地址總線。
* 數據總線。
* 控制總線。
* CPU調度。
在下面幾節中將逐一介紹所有這些元素。
3.1.1 設計類型
在今天的計算機中使用兩種常規的CPU設計:CISC(Complex Instruction Set Computing,復雜指令集計算)和RISC(Reduced Instruction Set Computing,精簡指令集計算)。二者的主要區別是芯片可以處理的不同指令數。當在計算機上執行一個程序時,CPU將從程序中一條接一條地讀取指令,以執行程序希望完成的任務。當CPU讀取到這樣一條指令時,它將執行與之關聯的操作。CPU在低端每秒可以處理多達2000萬個復雜的操作,在高端則可以處理數十億個操作。時鐘速度和CPU設計是確定可以多快地執行操作的因素。顯然,可以使用許多指令來執行不同的操作對于程序員來說是很方便的。
例如,假定程序員希望把兩個數字相乘?梢院芊奖愕亟oCPU提供這兩個數字,然后告訴它把它們相乘起來,并顯示結果。由于不同類型的數字(比如整數和實數)必須以不同的方式處理,如果具有對各種數字類型執行這種乘法的功能,那將非常美妙。可以看到,當我們需要CPU執行越來越多的功能時,指令數也可能會快速增長。當程序執行更多的功能時,CPU可以理解并執行的指令集(instruction set)或命令列表可能變得相當復雜。像這樣工作的處理器就稱為CISC CPU。當CISC CPU獲取一條命令時,它將給芯片的不同部分分配特定的指令。當一條命令完成并且CPU獲取下一條命令時,它通常會使用在執行這條命令之前使用的芯片的相同部分。基于CISC的芯片通?梢宰R別200多條不同的指令,Intel x86計算機家族就基于CISC CPU。
CISC CPU既有優點,也有缺點。一個重大的優點是:只需通用硬件即可執行命令,而不需要為特定目的設計的硬件。如果以后想要給芯片的新版本添加新的命令,就可能利用相同的通用硬件完成。另一個重大的優點是:芯片主要由軟件驅動,它的制作費用比硬件更便宜。CISC設計的主要缺點包括:執行許多功能所需的硬件比較復雜,并且芯片上使硬件做正確事情所需的軟件也比較復雜。具有諷刺意味的是,它的一個更重大的缺點是:需要持續不斷地對芯片上的硬件重新編程。前面使用了芯片上的某個部分執行乘法運算,如果要使用芯片的相同部分來加一個數字——兩種功能顯然是相關的,但是稍有區別——就必須在乘法運算與加法運算之間重新配置硬件。這種配置將把CPU從乘法改為加法,需要花一點時間,這是CISC芯片可能比RISC芯片慢一點的一個原因。
此外,當使用通用硬件執行特定的功能時,這些功能不會始終以*高效的方式執行,這可能會減慢程序代碼的CPU執行速度。這個問題的一種解決方案是為特定的功能自定義硬件。例如,可以添加一個模塊,將其優化成執行所有的計算功能(數學協處理器,math coprocessor)。添加這樣的模塊可以提升CPU的性能,但它也會提高價格,硬件的速度越快,價錢越昂貴。
注意?早期的系統體系結構具有一個處理器和一個可選的插槽,用于安裝數學協處理器。數學協處理器用于執行復雜的數學計算,比如電子數據表中所需要的那些計算。現代系統體系結構中的CPU具有內置的數學協處理器。
考慮CISC CPU設計的缺點,很容易理解另一種主要的CPU設計(即RISC CPU)背后的思想。CISC CPU執行的復雜操作會降低它的速度,因為必須配置芯片上的各類硬件以執行特定的功能。另一方面,對于特定的任務,RISC CPU只需要非常少的配置,因為它的芯片上的硬件是專門設計的,并且優化成執行特定的功能。這種方法的缺點是:需要許多硬件來執行指令,這將使芯片更昂貴,因為它將更復雜。這是RISC CPU具有如此少的指令的主要原因;它所執行的大多數指令都是由芯片上的硬件執行的,它們專用于只執行某種功能。由于RISC CPU上的大多數硬件都不共享許多指令,RISC CPU通常使用一種稱為流水線(pipelining)的技術,它允許處理器在操作一條指令的同時,從操作系統或應用程序中獲取一條或多條后續的指令。全世界大約有95%的移動電話都使用ARM(Advanced RISC Machine,高級RISC機器)芯片。
注意?今天,還在繼續生產CISC CPU和RISC CPU。人們用和稀泥的方式化解了關于它們二者誰更好的爭論,即在RISC CPU中吸收CISC的特性,反之亦然。Intel處理器仍被認為是CISC CPU。
圖3-1中的示例解釋了RISC方法與CISC方法之間的區別,它顯示了每種CPU設計在一定數量的時鐘周期或時鐘脈沖內如何執行5個乘法運算。
圖3-1 CISC與RISC處理方式的對比
執行乘法運算的一般步驟如下:
。1)從內存中讀取*個數字。
(2)從內存中讀取第二個數字。
。3)把兩個數字相乘。
(4)把結果寫回內存。
。5)為其余的4個乘法運算依次重復執行步驟(1)~(4)。
在簡單的CISC CPU上,首先將把CPU配置成獲。ㄗx取)數字,然后它就會讀取數字。接下來,將CPU配置成把數字相乘,然后它就會把數字相乘。再接下來,將CPU配置成把結果寫回內存,然后它就會把數字寫到內存中。如果你希望以這種方式把5組數字相乘,就必須把整個過程重復5次。
在簡單的RISC CPU上,這個過程看上去稍有不同。CPU的一個部分專用于讀取*個數字。當這個操作完成時,CPU的另一個部分將讀取第二個數字。當后面這個操作完成時,CPU還有一個部分用于把結果寫到內存。如果這個操作必須接連發生5次,那么在獲得用于*個操作的第二個數字時,RISC硬件中專用于從內存中獲得*個數字的那個部分將獲得用于第二個操作的*個數字。并且當把前兩個數字相乘時,將從內存中獲取用于第二個操作的第二個數字,同時獲得用于第三個操作的*個數字。當把*個結果寫回內存時,就執行第二個乘法運算,同時從內存中讀取用于第三個操作的第二個數字,并且從內存中讀取用于第四個操作的*個數字,依此類推?梢钥吹,當必須執行許多操作時,RISC CPU的流水線技術將比CISC CPU高效得多。Intel、Motorola和AMD是這種CPU的3家*受歡迎的制造商。
RISC處理器設計演變成一個名為EPIC(Explicitly Parallel Instruction Computing,顯式并行指令計算)的概念,它是由Intel和HP(Hewlett-Packard)聯合創建的。EPIC通過實現大存儲區域以及執行并行指令集,使處理器能夠同時處理大量的操作。EPIC技術使單個處理器一次能夠執行多達20個操作。
EPIC使芯片能夠預計和推測將來哪些操作是可能發生的。例如,如果已經請求了許多數學運算以獲得某些數據并把它們相乘,EPIC就預計在將來會發生額外類型的操作。通過預計和推測,芯片實際上會在請求某些操作之前先執行它們。對于其他的操作,它會建立內存區域和工作區域,使得用于類似操作的工具已經存在,并且會一個接一個地處理那些操作。EPIC可以支持*多256個64位的寄存器,這比CISC和傳統的RISC處理器要多得多。通過使用更多的寄存器,EPIC減少或消除了處理器上的瓶頸,這使處理器能夠工作得更快。
基于RISC的EPIC處理器的另一個優點是:它可以把3條指令構建到一個“字”中。字(word)就像是與處理器之間的單獨一條通信,在CISC和傳統的RISC處理器中每個字使用一條指令。EPIC通過每個字使用3條指令,使處理器的工作速度要快得多。此外,還可以把EPIC指令結合進指令組中,從而組成多個字,如果可能,它將嘗試同時執行一個組中的所有指令。一個指令組中的指令數量理論上是無限的。
通過執行并行操作,EPIC處理器可以同時做幾件事情。例如,回到圖3-1上來,CISC處理器花費20個時鐘周期來執行5個乘法運算,RISC處理器則只需要花費8個時鐘周 期。基于RISC的EPIC處理器(比如Intel Itanium處理器)在1個時鐘周期內就可以執行 5個乘法運算,同時它還可以預計額外的任務,或者為不同的軟件應用程序完成其他的 任務。
……