編輯推薦
《係統編程:分布式應用的設計與開發/計算機科學叢書》特色
·四個視角,一套體係。從“進程、通信、資源、體係結構”四個視角建立全局觀,以係統思維打破學科界限,將計算機網絡、操作係統、分布式係統、軟件工程等單一專業的知識集成起來.從底層基礎到頂層架構,透徹講解分布式應用的開發方法,培養係統設計能力。
·教學右方,實踐有道。主案例井字棋遊戲貫穿所有視角,最後兩個綜閤案例融會全書知識,深度探索應用開發的全生命周期,特彆強調係統的“透明性”。每個視角都包含精心設計的實踐活動,操作方法、仿真工具、結果分析皆細緻清晰,全方位提升實踐教學質量。
·免費教輔,自主進階。Workberlch軟件專為《係統編程:分布式應用的設計與開發/計算機科學叢書》打造,可進行調度算法、TCP協議和死鎖等仿真實驗,動態呈現係統的復雜特性。其配置靈活且無需編寫底層代碼的特點,適閤不同層次的讀者定製個性化學習進度,此外,還提供C++、Java、C#三種語言的示例代碼。
內容簡介
《係統編程:分布式應用的設計與開發/計算機科學叢書》用係統思維講解分布式應用的設計與開發,以“進程、通信、資源、體係結構”四個視角為核心,跨越不同學科的界限,強調係統透明性。《係統編程:分布式應用的設計與開發/計算機科學叢書》在實踐教學方麵尤為獨到:既有貫穿各章的大型遊戲案例,又有探究不同係統特性的課內仿真實驗;不僅提供步驟詳盡的方法指導,而且免費提供專為《係統編程:分布式應用的設計與開發/計算機科學叢書》開發的Workbench仿真工具和源代碼。
《係統編程:分布式應用的設計與開發/計算機科學叢書》自成體係的風格和配置靈活的實驗工具可滿足不同層次的教學需求,適閤作為麵嚮實踐的分布式係統課程的教材,也適閤從事分布式應用開發的技術人員自學。
作者簡介
理查德·約翰·安東尼(Richard John Anthony)博士,畢業於英國約剋大學計算機專業,擁有20多年的教育教學和技術研發經驗。現任教於格林威治大學計算與信息係統係。還曾作為技術顧問和係統開發人員從事商業項目的研發和管理工作。
張常有博士,畢業於北京理工大學計算機專業。現任中國科學院軟件研究所研究員,主要研究方嚮為並行與分布式係統、智能信息網絡等。
內頁插圖
目錄
齣版者的話
譯者序
前言
第1章 緒論
1.1 基本原理
1.1.1 計算機科學的傳統講授方法
1.1.2 本書采用的係統方法
1.2 網絡和分布式係統在現代計算中的重要性——簡明曆史迴顧
1.3 分布式係統簡介
1.3.1 分布式係統的優勢和挑戰
1.3.2 分布的本質
1.3.3 分布式應用程序的軟件體係結構
1.3.4 分布式係統與應用的質量度量指標
1.3.5 透明性簡介
1.4 案例研究簡介
1.4.1 主案例研究(分布式遊戲)
1.4.2 附加案例研究
1.5 教輔材料和練習簡介
1.6 交互式教學工具Workbench套件
1.7 示例代碼和相關練習
第2章 進程視角
2.1 基本原理和概述
2.2 進程
2.2.1 基本概念
2.2.2 創建進程
2.3 進程調度
2.4 實時係統調度
2.5 在現代操作係統中使用的特定調度算法及其變體
2.6 進程間通信
2.7 綫程:導論
2.7.1 一般概念
2.7.2 綫程實現
2.7.3 綫程調度方法
2.7.4 同步(順序的)與異步(並發的)綫程操作
2.7.5 綫程帶來的額外復雜性
2.7.6 多綫程IPC舉例
2.8 操作係統的其他角色
2.9 程序中使用定時器
2.10 進程視角的透明性
2.11 進程視角的案例研究
2.11.1 調度要求
2.11.2 定時器的使用
2.11.3 多綫程需求
2.11.4 IPC、端口和套接字
2.12 章末練習
2.12.1 問題
2.12.2 基於Workbench的練習
2.12.3 編程練習
2.12.4 章末問題答案
2.12.5 本章活動列錶
2.12.6 配套資源列錶
第3章 通信視角
3.1 基本原理和概述
3.2 通信視角
3.3 通信技術
3.3.1 單嚮通信
3.3.2 請求-應答通信
3.3.3 雙嚮數據傳輸
3.3.4 尋址方法
3.3.5 遠程過程調用
3.3.6 遠程方法調用
3.4 通信的分層模型
……
第4章 資源視角
第5章 體係結構視角
第6章 分布式係統
第7章 案例研究:融會貫通
索引
前言/序言
本書全麵講解分布式應用程序的設計和開發,主要強調多組件係統的通信特性,以及係統設計與底層操作係統、網絡、協議等行為的相互影響方式。
當前,商業乃至全社會對分布式係統和應用日益依賴。對於有能力設計優質解決方案的訓練有素的工程師而言,其需求也在同步增長。這需要高超的設計技能和優秀的實現技術。同樣,工程師們更願意讓應用程序以全局方式使用係統資源,並受控於宿主係統的整體配置和行為錶現。
本書采用綜閤的方法,講解瞭多門傳統的計算機科學學科,包括操作係統、網絡、分布式係統、編程等,並將需要的背景和理論以多種運行案例形式置入應用程序和係統環境中。這本書是多維的,它具有問題剖析的風格,並通過分布式應用程序用例的開發,實現瞭理論基礎與實戰之間的平衡。
通過穿插的實踐活動,讀者在閱讀中真正體驗瞭書本內容、實驗操作和模擬執行。在這些實踐環節中,係統的動態特性以生動的方式呈現,可以傳達更多信息,讓係統的復雜特性變得容易理解。大多數配套實驗和模擬是用戶可配置的,以支持“假設”探究,留給讀者深入理解的機會。實踐性編程的挑戰涵蓋係統的諸多方麵,包括構建完整的分布式應用程序。本書提供瞭文檔齊全的示例源代碼以及清晰的任務指南,通過擴展示例代碼來添加功能並構建係統,使這些挑戰變得易於教學。初衷和目標
分布式應用程序的設計與開發是計算機科學領域中的交叉課題。從根本上說,它基於的概念和機製抽取自幾門傳統的核心學科方嚮,包括計算機網絡、操作係統、分布式係統(理論而非開發)以及軟件工程。目前,絕大多數高質量教材隻關注單一學科方嚮,有傳統意義上劃定的清晰範圍邊界。它們多數在風格和方法上以理論為主。
編寫本書初期,我已講授瞭多年分布式應用這門麵嚮實踐的課程,很清楚沒有一本教材能以實踐為中心,全麵講解分布式應用程序的設計和開發這一主題。實際上,我當時想要的是一本指導書,既用作我自己課程的主教材,也能為其他喜歡的人所使用。我也曾想有一本能被我的學生讀懂的書。學生是多樣性群體,他們的學習經驗不同,自信心也有強有弱。我曾想,用一本書來鼓勵那些在軟件工程方麵剛剛起步的人,同時,也能滿足那些期望更高挑戰的、較有經驗的學習者的需要。我的課程強調理論與實踐相結閤,教學工作開展13年來,效果良好,並深受學生喜愛。有時,在討論課程配套教材缺乏可用性時,學生們建議我自己直接在這門課程的基礎上編寫一本。
本書內容填補瞭一項清晰定義的空白。它是一本綜閤性教程,以“自成體係”方式講述瞭多種底層概念,以便讀者能在領會跨係統全局的同時,理解關鍵基礎理論,並能在支撐實踐活動中進行探索。這全部源自“自成體係”。就這一點而論,本書區彆於其他主流教材。傳統教材傾嚮於專注單一的傳統主題領域,更側重理論性基礎教學。
本書專門用於講授以“理論與實踐相結閤”為重點的分布式應用程序設計課程。本書主要聚焦於應用程序開發,以及為確保高質量教學效果而必需的支撐知識。這種組織方式使得本書能自然地連接計算機科學的相關領域。它沒有嘗試像傳統方式一樣組織教材(例如,僅關注網絡或者操作係統),也沒有試圖囊括該領域盡可能寬廣的內容(傳統教材往往如此)。相反,它提供瞭橫跨這些學科的非常重要的集成。本書的主要設計專注於易於教學,基於示例程序來闡述分布式係統和應用的關鍵特性,同時基於案例研究、互動教學工具和實踐活動來展開細節討論。主要目的是便於讀者理解基於套接字應用的實際示例程序,進而起步開發他們自己的應用程序,並以此作為與書本閱讀同步的指導性環節。
本書的理論方麵和大部分實踐方麵具備跨語言的可移植性,但其實現方麵有語義上的語言依賴性。為盡可能易於學習,部分示例代碼采用瞭3種流行的編程語言:C++、Java和C≠}。
附加資源代碼庫內容豐富,包括各種課內實例的示例程序代碼和章末編程任務的示例方案,以及全部三個案例研究的完整源代碼。
附加資源還包括作者搭建的教學工具Workbench套裝的特定版本。這個工具可用於課內活動,也可用於不同主題的獨立研究或導師指導下的科學探索,或者用於給課堂教學或實驗項目注人活力。Workbench的靈感源自對以逼真且易理解的方式錶現係統動態特性方麵的需求,曾經嘗試用一係列靜態圖錶講授調度(一個包含更多動態特性的例子)的教師,一定能體會到靜態方法的局限性。靜態方法在錶達動態行為所能展現的真正含義方麵存在睏難。Workbench專門為剋服係統動態性和復雜性教學方麵的局限性而設計,支持用戶自行配置具體實驗和模擬,涵蓋瞭網絡、分布式係統和操作係統領域的很多不同內容。每章都包含相應的實踐活動,引導讀者在實踐學習和基礎理論概念之間建立聯係。
本書非常強調針對核心理論的有指導的實踐探索,使其既適閤用作自學教程,又適閤用作課程的輔助教材。
係統編程:分布式應用的設計與開發/計算機科學叢書 [Systems Programming: Designing and Developing Distributed Applications] 下載 mobi epub pdf txt 電子書 格式
係統編程:分布式應用的設計與開發/計算機科學叢書 [Systems Programming: Designing and Developing Distributed Applications] 下載 mobi pdf epub txt 電子書 格式 2024
係統編程:分布式應用的設計與開發/計算機科學叢書 [Systems Programming: Designing and Developing Distributed Applications] 下載 mobi epub pdf 電子書
係統編程:分布式應用的設計與開發/計算機科學叢書 [Systems Programming: Designing and Developing Distributed Applications] mobi epub pdf txt 電子書 格式下載 2024