Linux操作系統(tǒng)分析與實踐

出版時間:2008-11  出版社:清華大學  作者:Linux系列教材編寫組  頁數(shù):343  
Tag標簽:無  

前言

  誕生于1991年,今年“寂寞十七歲”的Linux一點也不寂寞。從微型嵌入式系統(tǒng)到超級計算機,處處都可看到Linux多彩的光環(huán)。十七年來一步一個腳印,Linux正存成為操作系統(tǒng)的另一主流?! inux也是開放式創(chuàng)新的好見證。開源社區(qū)集結全球精英,為共同的需求一起創(chuàng)新。通過熱烈的討論與相互的腦力激蕩,開源項目的開發(fā)過程也就是一個寶貴的學習過程。  《Linux操作系統(tǒng)分析與實踐》的出版為莘莘學子及業(yè)界人士提供了一本完整的Linux教材,理論概念介紹與實驗指導緊密結合,結構清晰、內(nèi)容順暢易懂。除Linux之外,這本教材很有系統(tǒng)地講述了操作系統(tǒng)的主要模塊,因此它也將是一般操作系統(tǒng)課程的好教材;并且更能為未來虛擬化、實時性及安全性系統(tǒng)的教材打下扎實的基礎?! ∮⑻貭柟径嗄陙聿粩嗯c高等學校合作,并積極參與Linux開源項目的開發(fā),此次能夠為長年合作的教授們開發(fā)本教材提供支持,英特爾公司深感欣喜,也祝賀他們?yōu)橹袊叩葘W校計算機專業(yè)教學水平的提高做出新的貢獻。

內(nèi)容概要

  《Linux操作系統(tǒng)分析與實踐》簡要介紹操作系統(tǒng)的定義、功能、特性,以及發(fā)展歷史、分類、內(nèi)核結構,闡述計算機硬件系統(tǒng)對操作系統(tǒng)的支持與要求,以Linux 2.6版本為例詳細分析Linux操作系統(tǒng)的進程管理、內(nèi)存管理、文件管理和設備管理的工作原理和設計。然后詳細介紹字符設備、塊設備和網(wǎng)絡設備的Linux驅動程序設計與實現(xiàn)方法。除此以外,還給出了Linux系統(tǒng)管理、內(nèi)核同步機制、進程間通信、內(nèi)存管理、Proc文件創(chuàng)建、設備驅動程序、內(nèi)核裁減等實驗內(nèi)容及有關參考代碼?!  禠inux操作系統(tǒng)分析與實踐》通過詳細的例子引導瀆者系統(tǒng)地學習Linux操作系統(tǒng)的工作原理與設計,并通過Linux設備驅動程序設計實踐強化對Linux操作系統(tǒng)的理解和應用?!禠inux操作系統(tǒng)分析與實踐》適于作為計算機相關專業(yè)方向的高年級學生或研究生的教材,也適合有志于從事Linux操作系統(tǒng)研究和開發(fā)的工程師閱讀。

書籍目錄

第1章 操作系統(tǒng)概述1.1 操作系統(tǒng)在計算機系統(tǒng)中的地位1.2 操作系統(tǒng)的定義、功能和特性1.2.1 操作系統(tǒng)的定義1.2.2 操作系統(tǒng)的特征1.2.3 操作系統(tǒng)的功能1.3 操作系統(tǒng)的發(fā)展歷史及分類1.3.1 操作系統(tǒng)的發(fā)展過程1.3.2 操作系統(tǒng)分類1.4 操作系統(tǒng)的內(nèi)核體系結構模型1.5 Linux的特點及發(fā)展簡史1.5.1 什么是Linux1.5.2 Linux的發(fā)展歷程1.5.3 Linux的特性1.5.4 Linux內(nèi)核的版本演化介紹1.6 Linux內(nèi)核的結構及主要組成部分1.6.1 Linux內(nèi)核系統(tǒng)體系結構1.6.2 Linux內(nèi)核的源碼組織結構1.7 本章小結思考題進一步閱讀第2章 計算機系統(tǒng)硬件基礎2.1 計算機硬件的組成結構2.2 處理器的工作模式2.3 80x86的保護模式2.3.1 80x86系統(tǒng)寄存器2.3.2 存儲管理機制2.3.3 分段機制2.3.4 分頁機制2.3.5 保護機制2.4 中斷陷入與異常處理2.4.1 中斷與異常2.4.2 中斷系統(tǒng)2.4.3 中斷處理過程2.4.4 時鐘中斷2.5 任務切換2.6 SMP及多核技術2.7 Linux系統(tǒng)引導過程概述2.7.1 BIOS引導2.7.2 LILO/GRUB引導2.7.3 Kernel Boot2.7.4 Init引導2.8 本章小結思考題進一步閱讀第3章 進程管理3.1 進程的原理和實現(xiàn)3.1.1 進程控制塊3.1.2 進程狀態(tài)3.1.3 進程的標識3.1.4 進程描述符在內(nèi)存里的組織形式3.1.5 進程的睡眠和喚醒3.2 線程的原理與實現(xiàn)3.3 Linux進程創(chuàng)建和結束3.3.1 進程的創(chuàng)建3.3.2 進程的結束3.4 進程調(diào)度3.4.1 進程的切換3.4.2 進程的調(diào)度策略3.4.3 進程調(diào)度的觸發(fā)和進程切換的時機3.4.4 運行隊列3.4.5 調(diào)度域3.4.6 搶占3.4.7 調(diào)度的時間復雜度3.4.8 函數(shù)schedule的實現(xiàn)3.4.9 函數(shù)load balance的實現(xiàn)3.5 并發(fā)控制原理3.5.1 同步原語簡介3.5.2 死鎖3.5.3 同步原語3.6 Linux下的同步機制3.6.1 處理器數(shù)據(jù)3.6.2 可搶占內(nèi)核3.6.3 開關中斷3.6.4 原子操作3.6.5 柵欄3.6.6 自旋鎖和讀寫鎖3.6.7 Fast User Space Mutex3.6.8 信號量3.7 Linux下進程間通信3.7.1 管道3.7.2 命名管道3.7.3 消息隊列3.7.4 共享內(nèi)存3.7.5 套接口3.8 本章小結思考題進一步閱讀第4章 內(nèi)存管理4.1 內(nèi)存管理概述4.1.1 內(nèi)存管理的目的和功能4.1.2 內(nèi)存分配的方式4.1.3 重定位4.2 內(nèi)存管理的基本技術4.2.1 分區(qū)法4.2.2 可重定位分區(qū)法4.2.3 覆蓋技術4.2.4 交換技術4.3 分頁技術4.3.1 分頁內(nèi)存管理的基本原理4.3.2 分頁技術中的地址映射4.3.3 頁面保護方式4.4 分段技術4.4.1 分段技術的基本原理4.4.2 分段的地址轉換4.4.3 段的共享和保護4.5 段頁式技術4.5.1 段頁式技術的基本原理4.5.2 地址轉換過程4.6 虛擬存儲器技術4.6.1 程序的局部性原理4.6.2 虛擬存儲器的概念4.6.3 虛擬存儲管理需要考慮的問題4.6.4 虛擬分頁技術的基本原理4.6.5 請求頁式管理中的置換算法4.6.6 抖動問題4.6.7 性能分析4.7 Linux的內(nèi)存管理4.7.1 進程的虛存空間及其劃分4.7.2 進程空間的描述4.7.3 物理內(nèi)存的管理4.7.4 基于Slab的緩存管理4.7.5 頁面換出或丟棄4.7.6 交換Cache4.7.7 頁面的換人4.8本章小結思考題第5章 文件系統(tǒng)第6章 設備管理第7章 Linux驅動程度編寫基礎第8章 字符設備和塊設備驅動程度第9章 網(wǎng)絡設備驅動程度實驗1 Linux系統(tǒng)管理實驗2 剪裁內(nèi)核實驗3 內(nèi)核同步機制實驗4 進程間通信(內(nèi)存映射、共享內(nèi)存、信號量、管道和信號等)實驗5 proc文件系統(tǒng)實驗6 虛擬內(nèi)存的管理實驗7 字符、塊設備和網(wǎng)卡驅動參考文獻

章節(jié)摘錄

  第1章 操作系統(tǒng)概述  1.5 Linux的特點及發(fā)展簡史  1.5.1 什么是Linux  Linux是由Linus Torvalds和許多自由軟件開發(fā)者,通過Internet共同努力而形成的一種能運行于多種硬件平臺(Intel、Alpha、PowerPC和Sun SPARC)之上,源代碼公開,功能強大,運行穩(wěn)定高效,遵守POSIX標準,與UNIX兼容的免費操作系統(tǒng)。  1.5.2 Linux的發(fā)展歷程  Linux的歷史可以上溯到20世紀60年代末,美國貝爾實驗室發(fā)明了UNIX,一個多用戶多任務的操作系統(tǒng)。那個年代,計算機程序的源碼都是公開的,盡管它們很多時候只能被專業(yè)前沿的程序員們看懂。到了20世紀70年代,操作系統(tǒng)開始商業(yè)化,出于利益最大化等的考慮,源代碼開始向用戶封閉,這給許多傳統(tǒng)的程序員黑客帶來了不便,他們能夠發(fā)現(xiàn)程序中的漏洞并有解決的能力,但是提供程序的商業(yè)公司卻拒絕讓用戶直接修改。對傳統(tǒng)黑客來說,這對計算機軟件的發(fā)展是一個相當大的限制?! ?984年,黑客Richard M Stallman成立了自由軟件基金會(Free Software Foundation,F(xiàn)SF)和開源項目計劃GNU,并提出了著名的開源協(xié)議標準GPL。GNU的意思就是GNUs Not UNIX,以一個遞歸式的定義描述了自己和UNIX有關又不同于UNIX的特點。其計劃是開發(fā)出一套完整的免費、公開源代碼的UNIX操作系統(tǒng)和及其應用軟件。  到20世紀80年代末,GNU計劃的很多工作已經(jīng)完工,包括了C語言的編譯器GCC,文本編輯軟件emacs等,但是操作系統(tǒng)計劃Hurd卻遲遲沒有推出。這時芬蘭大學生Linus Tovalds于1991年10月在學校的ftp上發(fā)布了自己所編寫的類UNIX操作系統(tǒng)——Linux 0.02版的源代碼,并宣布它遵守GPL協(xié)議,而且符合UNIX的操作系統(tǒng)P()SIX標準,源代碼可以在UNIX主機上用9cc編譯生成可執(zhí)行的二進制代碼,可以在個人計算機平臺(Intel 80386)上運行。這些純粹是源于他的業(yè)余愛好。Linus在上大學時,操作系統(tǒng)課程中講述的是Minix,一種用于教學的小型的類UNIX操作系統(tǒng)。他覺得Minix不太好,決定自己寫一個保護模式下的操作系統(tǒng)。1991年8月,Linus完成了Linux的0.01版,當然它很不完善,甚至沒有軟盤驅動程序。

編輯推薦

  近十年來,Linux在促進信息產(chǎn)業(yè)發(fā)展的同時,也為設計各種新型操作系統(tǒng)提供了難得的案例。應該說Linux為操作系統(tǒng)研究者提供了新理論、新方法、新技術的實踐和驗證平臺,同時反過來促進了操作系統(tǒng)的不斷發(fā)展。Linux由于源代碼公開,特別適合于高等學校計算機專業(yè)本科生操作系統(tǒng)課程的教學?!  禠inux操作系統(tǒng)分析與實踐》注重學生對Linux操作系統(tǒng)分析和設計能力的培養(yǎng),系統(tǒng)地介紹了操作系統(tǒng)的定義、功能等基本知識,并以Intel X86為例介紹了計算機硬件子系統(tǒng)對操作系統(tǒng)的支持與要求,進程管理以及在Linux內(nèi)核里的實現(xiàn)方法,內(nèi)存管理的基本原理、技術;以Ext2,Proc為例詳細介紹了Linux文件系統(tǒng),設備管理的基本原理以及Linux設備管理的特點,Linux字符設備和塊設備驅動程序設計的方法及實例等等。

圖書封面

圖書標簽Tags

評論、評分、閱讀與下載


    Linux操作系統(tǒng)分析與實踐 PDF格式下載


用戶評論 (總計0條)

 
 

 

250萬本中文圖書簡介、評論、評分,PDF格式免費下載。 第一圖書網(wǎng) 手機版

京ICP備13047387號-7