本書是操作系統(tǒng)軟件發(fā)展史上的一個里程碑,將介紹一種強大而又完全開放的操作系統(tǒng),并采用獨特視角分析了將其內核移植到一個嶄新的CPU架構上的內核設計師們的設計思路。本書適用于學習操作系統(tǒng)編程的學生,也能教給經驗豐富的內核程序員一兩個竅門。本書從技術角度深入地介紹了現代CPU及其指令集和架構,以及Linux內核;并展示了現代微處理器的設計師們如何從效率和可伸縮性的角度來構建微處理器:另外還介紹了在與硬件無關的層次上內核的設計目標,以及介于與硬件無關的部分和IA-64架構之間的特定實現。本書涵蓋了內核設計師在把Linux移植到IA-64的過程中所做出的全部決策,這展示了他們如何將硬件和軟件整合為一個能正常運轉的系統(tǒng)。本書的作者之一躋身于能接替LinusTorvalds領導Linux內核開發(fā)的最后候選人之列。兩位作者均受聘于HP的研究實驗室,HP公司創(chuàng)造了IA-64的直系祖先及其架構,后來與Intel合作開發(fā)IA-64架構。兩位作者領導了Linux內核向IA-64處理器的移植,因此他們是講述這一主題的最佳人選。如果想從系統(tǒng)程序員的角度理解IA-64架構,或者想更深刻地理解Linux內核,或是面臨著以下任務:改進軟件對處理器的利用,把某個操作系統(tǒng)移植到一種新型的處理器上,乃至設計一種新型的CPU,本書都將很適合你。本書為學習操作系統(tǒng)的學生提供了理論聯(lián)系實際的重要橋梁。這面臨著一個嚴峻的考驗:保持架構整潔和可移植的抽象目標面臨著必須在實際的CPU上高效且可靠運行的挑戰(zhàn)。但最具革命意義的一點是對于所有讀者來說,本書實際上是完全可用的。僅僅幾年前,本書的內容和相關源代碼很可能還屬于商業(yè)秘密,而擁有這些資料的公司估計它們具有數千萬美元的價值。就算只是想看看IA-64內核源代碼,就必須先在HP的少數幾個部門之中找到一份工作。只是好奇的人或者學生是沒有這樣的機會的。實際上,在20世紀90年代初,AT&T估計其UNIX系統(tǒng)的知識產權價值為2.5億美元。資金雄厚的大學有時候會購買允許研究生使用UNIX源代碼的授權,但是一旦如此,那些研究員便加入了一份令人反感的非公開協(xié)定。時代已經改變了:現在你已被授權使用該操作系統(tǒng)內核的全部源代碼,甚至可以隨意把它復制給你的朋友!是什么使這一改變成為可能呢?原因就是LinusTorvalds和數百名合作者以源代碼的形式公開了Linux內核,而最重要的是有了革命性的GNU通用公共許可(GNU GPL)。GPL的自由軟件(FreeSoftware)模型允許對該系統(tǒng)及其源代碼的自由使用和分發(fā),允許任何人參加該系統(tǒng)的開發(fā),使獨立的開發(fā)人員和商業(yè)界結成伙伴,但同時限制了合作的任何一方不公平地利用另一方。歡迎你加入其中。要理解GPL對Linux的重要性,必須要考慮20世紀80年代末到90年代初,UNIX所面臨的走向衰落的困境。商業(yè)人士深信Microsoft NT很快將一統(tǒng)天下。在那個時期,甚至連Apple和NeXT的創(chuàng)立者SteveJobs都讓步了,在其Pixar的臺式機上安裝了Windows系統(tǒng),而不是他自己的產品。但下面兩個因素拯救了UNIX:Microsoft承諾發(fā)布企業(yè)級NT,但該計劃延誤了5年多的時間:而GNU/Linux系統(tǒng)復興了UNIX的革命。GNU和Linux重新點燃了UNIX世界的希望,這完全是因為它們具有開放、共享的特性,并將其統(tǒng)一為一個能在所有廠商的硬件平臺上運行的通用操作系統(tǒng)。UNIX曾飽受過度分化的痛苦:為了緊緊抓住客戶,每個廠商都對系統(tǒng)進行了修改,而廠商非??释麙昊財盗肯喈敶蟮难邪l(fā)費用,以至于他們按用戶數量對UNIX客戶收費,并限制其系統(tǒng)只允許客戶授權已付費的用戶登錄。而遵循GPL的Linux則不易受到強制分化和知識產權保護問題的困擾:GPL的條款要求對軟件的改進必須與所有人共享,而且規(guī)定擁有軟件的任何人都能對其進行修改。一旦能修改軟件,你就能去除對系統(tǒng)的任何限制。GPL對于共享和類似于共享的規(guī)定趨向于涵蓋操作系統(tǒng)和底層硬件。這侵犯了廠商的利潤,但完全符合客戶的利益。實際效果是廠商開始把操作系統(tǒng)看作支持軟件,而不是利潤的直接來源。做到這一點是可能的,因為自由軟件的協(xié)作特性意味著任何個人或公司都不需要過多地負擔開發(fā)和服務的費用。公司可以與其直接的競爭對手共享這種五分化軟件的開發(fā),有些公司已經這樣做了。例如,IBM和HP雖然為Linux的市場份額而競爭,但它們都熱衷于在許多自由軟件項目上進行合作。通過這種方式,這兩家公司可以共同完成無法獨立靠各自的預算來進行的工作。這就是自由軟件革命的合理結果:你現在可以研究和修改那些幾年前還是私有的成果,取得這些成果的人也不再保護其技術只限于其雇員使用,而會毫無保留地告訴你他們是如何取得這一成果的。本書從技術上深入地介紹了IA-64架構及其相應版本的Linux內核。因為你可以隨心所欲地探索Linux系統(tǒng),所以本書對你沒有絲毫的隱瞞。通過這些課程,你能學會把Linux內核移植到另一種處理器上,向內核添加新的特性,乃至為IA-64編寫一個全新的操作系統(tǒng)。你也可以選擇只是更加深入地了解應用程序如何獲得操作系統(tǒng)提供的服務,以及它們?yōu)楹尾扇‖F有的運行方式。如何使用這些信息完全取決于你的選擇。它們不再是實驗室里的秘密,相關的知識產權保護問題也已不復存在,操作系統(tǒng)的大門被猛然地推開。革命已經到來:進來探索其中的奧秘吧?!狟rucePerenS