Linux操作系統(tǒng)實(shí)驗(yàn)教程

出版時(shí)間:2009-4  出版社:李敏、葉保留、 費(fèi)翔林 高等教育出版社 (2009-04出版)  作者:費(fèi)翔林 著  頁(yè)數(shù):467  
Tag標(biāo)簽:無(wú)  

前言

  操作系統(tǒng)是計(jì)算機(jī)系統(tǒng)的核心和靈魂,是計(jì)算機(jī)系統(tǒng)必不可少的組成部分,也是計(jì)算機(jī)專業(yè)教學(xué)的重要內(nèi)容。該課程概念眾多、內(nèi)容抽象、靈活性與綜合性強(qiáng),不但需要講授操作系統(tǒng)的概念和原理,還需要加強(qiáng)操作系統(tǒng)實(shí)驗(yàn),上機(jī)進(jìn)行編程實(shí)踐,這樣才能讓學(xué)生更好地掌握操作系統(tǒng)的精髓,真正做到深刻理解和融會(huì)貫通。人們已充分認(rèn)識(shí)實(shí)踐環(huán)節(jié)在學(xué)好操作系統(tǒng)過(guò)程中的重要性。實(shí)踐是操作系統(tǒng)課程教學(xué)活動(dòng)的重要環(huán)節(jié),但實(shí)驗(yàn)教學(xué)難度大,由于實(shí)用操作系統(tǒng)的應(yīng)用環(huán)境約束性強(qiáng),實(shí)驗(yàn)環(huán)節(jié)的可操作性差,而且模塊眾多、盤(pán)根錯(cuò)節(jié)、技術(shù)細(xì)節(jié)剖析困難,動(dòng)手及實(shí)踐能力很難培養(yǎng)。編寫(xiě)本實(shí)驗(yàn)教程是為了在學(xué)習(xí)操作系統(tǒng)基本原理的同時(shí),強(qiáng)調(diào)理論聯(lián)系實(shí)際,為操作系統(tǒng)實(shí)驗(yàn)教學(xué)提供一定的指導(dǎo)和幫助。  操作系統(tǒng)實(shí)驗(yàn)教學(xué)的基本目的和要求: ?。?)學(xué)生應(yīng)該通過(guò)實(shí)驗(yàn)加深理解和更好地掌握操作系統(tǒng)的基本概念、原理、技術(shù)和方法,鞏固所學(xué)知識(shí),激發(fā)實(shí)驗(yàn)興趣,掌握實(shí)驗(yàn)要領(lǐng),培養(yǎng)對(duì)操作系統(tǒng)課程所學(xué)知識(shí)融會(huì)貫通和綜合運(yùn)用的能力。 ?。?)學(xué)生應(yīng)該通過(guò)實(shí)驗(yàn)提高自己剖析和設(shè)計(jì)操作系統(tǒng)的能力,加強(qiáng)分析問(wèn)題、解決問(wèn)題能力的培養(yǎng),加強(qiáng)創(chuàng)新意識(shí)與探索精神、科學(xué)作風(fēng)與綜合素質(zhì)的培養(yǎng)?! 。?)學(xué)生應(yīng)該通過(guò)實(shí)驗(yàn)深入了解和熟練掌握一種操作系統(tǒng)的組成、特點(diǎn)、源碼構(gòu)成、內(nèi)部結(jié)構(gòu)、替換模塊、擴(kuò)充功能,以及編譯、調(diào)試、運(yùn)行的方法,達(dá)到拓寬編程思路、把握操作系統(tǒng)整體的目的?! 。?)學(xué)生應(yīng)該通過(guò)實(shí)驗(yàn)養(yǎng)成良好的理論聯(lián)系實(shí)際、自己動(dòng)手操作的習(xí)慣,以獲得項(xiàng)目管理和團(tuán)隊(duì)協(xié)作的實(shí)際訓(xùn)練和具體經(jīng)驗(yàn)?! 【帉?xiě)操作系統(tǒng)實(shí)驗(yàn)教程,首先要選擇實(shí)驗(yàn)環(huán)境和平臺(tái),其次要精選上機(jī)實(shí)驗(yàn)內(nèi)容,這對(duì)提高實(shí)驗(yàn)課程的教學(xué)質(zhì)量十分重要,Linux是開(kāi)放源碼操作系統(tǒng),也是當(dāng)今最流行和廣為使用的主流操作系統(tǒng)之一。本書(shū)選用Linux內(nèi)核版本V2.6作為操作系統(tǒng)實(shí)驗(yàn)和實(shí)習(xí)環(huán)境,通過(guò)在實(shí)用操作系統(tǒng)環(huán)境下的實(shí)際鍛煉,不但讓學(xué)生對(duì)操作系統(tǒng)的基本原理有更深入的理解,學(xué)生的動(dòng)手實(shí)踐能力更上一個(gè)臺(tái)階,而且能進(jìn)一步掌握Linux操作系統(tǒng)的系統(tǒng)結(jié)構(gòu)、設(shè)計(jì)和實(shí)現(xiàn)的基本思路和原理,也能更好地適應(yīng)社會(huì)信息化對(duì)計(jì)算機(jī)專業(yè)人才的需求。  作者根據(jù)多年來(lái)操作系統(tǒng)研究和教學(xué)的經(jīng)驗(yàn),參考國(guó)內(nèi)外出版的操作系統(tǒng)實(shí)驗(yàn)教材,精心設(shè)計(jì)系列實(shí)驗(yàn)供實(shí)驗(yàn)教學(xué)選擇使用,本書(shū)中的實(shí)驗(yàn)題目和示例都已經(jīng)在V2.6.22內(nèi)核版本上通過(guò)調(diào)試,并能正確運(yùn)行。  本實(shí)驗(yàn)教程的內(nèi)容分3個(gè)部分。第一部分(第1章~第11章)為L(zhǎng)inux APl使用與操作系統(tǒng)算法實(shí)驗(yàn)。

內(nèi)容概要

  學(xué)習(xí)操作系統(tǒng)的最好途徑是理論和實(shí)踐相結(jié)合,《Linux操作系統(tǒng)實(shí)驗(yàn)教程》是操作系統(tǒng)實(shí)驗(yàn)課程教材,以Linux 2.6內(nèi)核版本為平臺(tái),精心設(shè)計(jì)系列實(shí)驗(yàn)題目,每個(gè)(組)實(shí)驗(yàn)題目包括:實(shí)驗(yàn)?zāi)康摹⒈尘爸R(shí)和實(shí)驗(yàn)內(nèi)容,在每個(gè)具體的實(shí)驗(yàn)內(nèi)容中又包括實(shí)驗(yàn)說(shuō)明、解決方案和程序框架,為操作系統(tǒng)實(shí)踐教學(xué)提供指導(dǎo)?!  禠inux操作系統(tǒng)實(shí)驗(yàn)教程》內(nèi)容豐富、覆蓋面廣,由淺入深、循序漸進(jìn),可與高等教育出版社出版的《操作系統(tǒng)教程(第4版)》教材配套使用,也可作為操作系統(tǒng)課程的實(shí)驗(yàn)教材單獨(dú)使用,既可以作為高等學(xué)校計(jì)算機(jī)相關(guān)專業(yè)實(shí)驗(yàn)課用書(shū),也可作為L(zhǎng)inux應(yīng)用和內(nèi)核編程參考資料。

書(shū)籍目錄

第1章 Linux的安裝和編譯 1.1 實(shí)驗(yàn)?zāi)康?1.2 背景知識(shí) 1.2.1 Linux簡(jiǎn)史 1.2.2 Linux內(nèi)核的功能和結(jié)構(gòu) 1.2.3 Linux內(nèi)核的版本和發(fā)行版本 1.2.4 Linux內(nèi)核的目錄結(jié)構(gòu) 1.3 實(shí)驗(yàn)內(nèi)容 1.3.1 實(shí)驗(yàn)1安裝Ubuntu 8.0.4 1.3.2 實(shí)驗(yàn)2編譯Linux內(nèi)核 1.3.3 實(shí)驗(yàn)3 Linux下C語(yǔ)言程序開(kāi)發(fā)過(guò)程 第2章 進(jìn)程與線程 2.1 實(shí)驗(yàn)?zāi)康?2.2 背景知識(shí) 2.2.1 進(jìn)程與線程的概念 2.2.2 多進(jìn)程編程 2.2.3 多線程編程 2.3 實(shí)驗(yàn)內(nèi)容 2.3.1 實(shí)驗(yàn)1 創(chuàng)建進(jìn)程 2.3.2 實(shí)驗(yàn)2 線程共享進(jìn)程中的數(shù)據(jù) 2.3.3 實(shí)驗(yàn)3 多線程實(shí)現(xiàn)單詞統(tǒng)計(jì)工具 第3章 傳統(tǒng)的進(jìn)程間通信 3.1 實(shí)驗(yàn)?zāi)康?3.2 背景知識(shí) 3.2.1 進(jìn)程間通信的方式 3.2.2 信號(hào)通信 3.2.3 管道通信 3.3 實(shí)驗(yàn)內(nèi)容 3.3.1 實(shí)驗(yàn)1 信號(hào)通信 3.3.2 實(shí)驗(yàn)2 匿名管道通信 3.3.3 實(shí)驗(yàn)3 命名管道通信 3.3.4 實(shí)驗(yàn)4 使用命名管道建立客戶/服務(wù)器關(guān)聯(lián)程序 第4章 SystemV的進(jìn)程間通信 4.1 實(shí)驗(yàn)?zāi)康?4.2 背景知識(shí) 4.2.1 SystemV的進(jìn)程間通信機(jī)制 4.2.2 消息隊(duì)列 4.2.3 信號(hào)量 4.2.4 共享主存 4.3 實(shí)驗(yàn)內(nèi)容 4.3.1 實(shí)驗(yàn)1 消息隊(duì)列實(shí)現(xiàn)進(jìn)程間通信 4.3.2 實(shí)驗(yàn)2 信號(hào)量實(shí)現(xiàn)進(jìn)程同步 4.3.3 實(shí)驗(yàn)3 基于信號(hào)量采用多線程技術(shù)實(shí)現(xiàn)進(jìn)程同步 4.3.4 實(shí)驗(yàn)4 共享主存實(shí)現(xiàn)進(jìn)程間通信 第5章 Shell程序設(shè)計(jì) 5.1 實(shí)驗(yàn)?zāi)康?5.2 背景知識(shí) 5.2.1 Shell簡(jiǎn)介 5.2.2 Shell的主要功能 5.2.3 Shell主要功能的實(shí)現(xiàn) 5.2.4 Shell編程 5.3 實(shí)驗(yàn)內(nèi)容 5.3.1 實(shí)驗(yàn)1 編寫(xiě)一個(gè)簡(jiǎn)單的Shell程序——MyShell 5.3.2 實(shí)驗(yàn)2 基于Shell的網(wǎng)絡(luò)管理 第6章 頁(yè)面替換算法 6.1 實(shí)驗(yàn)?zāi)康?6.2 背景知識(shí) 6.2.1 存儲(chǔ)管理的目的和功能 6.2.2 存儲(chǔ)管理涉及的基本概念 6.2.3 實(shí)存管理的原理和實(shí)現(xiàn)技術(shù) 6.2.4 虛存管理的原理和實(shí)現(xiàn)技術(shù) 6.3 實(shí)驗(yàn)內(nèi)容 6.3.1 實(shí)驗(yàn)1 模擬實(shí)現(xiàn)動(dòng)態(tài)分區(qū)存儲(chǔ)管理 6.3.2 實(shí)驗(yàn)2 模擬實(shí)現(xiàn)請(qǐng)求分頁(yè)虛存頁(yè)面替換算法 第7章 文件系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 7.1 實(shí)驗(yàn)?zāi)康?7.2 背景知識(shí) 7.2.1 文件系統(tǒng)的基本概念 7.2.2 文件管理的數(shù)據(jù)結(jié)構(gòu) 7.2.3 Ext2文件系統(tǒng) 7.3 實(shí)驗(yàn)?zāi)M實(shí)現(xiàn)一個(gè)Linux文件系統(tǒng) 7.3.1 實(shí)驗(yàn)說(shuō)明 7.3.2 解決方案 7.3.3 主要功能模塊設(shè)計(jì) 7.3.4 程序框架 第8章 時(shí)鐘與定時(shí)器 8.1 實(shí)驗(yàn)?zāi)康?8.2 背景知識(shí) 8.2.1 定時(shí)器機(jī)制的概念 8.2.2 時(shí)間維護(hù) 8.2.3 定時(shí)器 8.3 實(shí)驗(yàn)內(nèi)容 8.3.1 實(shí)驗(yàn)1統(tǒng)計(jì)進(jìn)程時(shí)間 8.3.2 實(shí)驗(yàn)2通過(guò)alarm( )實(shí)現(xiàn)sleep( )函數(shù)功能 8.3.3 實(shí)驗(yàn)3基于單定時(shí)器實(shí)現(xiàn)任意數(shù)目的邏輯定時(shí)器 第9章 網(wǎng)絡(luò)通信編程 9.1 實(shí)驗(yàn)?zāi)康?9.2 背景知識(shí) 9.2.1 網(wǎng)間進(jìn)程通信概念 9.2.2 網(wǎng)間進(jìn)程通信協(xié)議 9.2.3 套接字編程 9.3 實(shí)驗(yàn)內(nèi)容 9.3.1 實(shí)驗(yàn)1 UDP通信 9.3.2 實(shí)驗(yàn)2 基于TCP的客戶/服務(wù)器程序 第10章 事件驅(qū)動(dòng)編程 10.1 實(shí)驗(yàn)?zāi)康?10.2 背景知識(shí) 10.2.1 視頻游戲的概念 10.2.2 curses庫(kù)的歷史 10.2.3 使用curses庫(kù) 10.3 實(shí)驗(yàn)內(nèi)容 10.3.1 實(shí)驗(yàn)1 利用curses庫(kù)實(shí)現(xiàn)彈球游戲 10.3.2 實(shí)驗(yàn)2 利用多線程實(shí)現(xiàn)彈球游戲 第11章 綜合實(shí)驗(yàn):一個(gè)小型遠(yuǎn)程訪問(wèn)FTP服務(wù)系統(tǒng) 11.1 實(shí)驗(yàn)?zāi)康?11.2 背景知識(shí) 11.2.1 客戶/服務(wù)器計(jì)算模型 11.2.2 中間件 11.2.3 FTP技術(shù)簡(jiǎn)介 11.3 綜合實(shí)驗(yàn)功能設(shè)計(jì) 11.4 綜合實(shí)驗(yàn)解決方案 11.4.1 服務(wù)器端接收客戶請(qǐng)求的套接字結(jié)構(gòu) 11.4.2 客戶端發(fā)送套接字連接請(qǐng)求的核心代碼 11.4.3 與線程處理相關(guān)的核心函數(shù) 11.4.4 接收客戶請(qǐng)求與實(shí)現(xiàn)客戶會(huì)話的線程 11.4.5 文件管理 11.4.6 套接字通信 11.5 綜合實(shí)驗(yàn)程序框架 11.5.1 客戶端代碼框架 11.5.2 服務(wù)端代碼框架 第12章 內(nèi)核模塊 12.1 實(shí)驗(yàn)?zāi)康?12.2 背景知識(shí) 12.2.1 內(nèi)核模塊概述 12.2.2 內(nèi)核模塊編程 12.2.3 內(nèi)核模塊機(jī)制的實(shí)現(xiàn) 12.3 實(shí)驗(yàn)內(nèi)容 第13章 中斷與系統(tǒng)調(diào)用 13.1 實(shí)驗(yàn)?zāi)康?13.2 背景知識(shí) 13.2.1 中斷機(jī)制 13.2.2 系統(tǒng)調(diào)用的概念 13.2.3 系統(tǒng)調(diào)用的執(zhí)行流程 13.2.4 新系統(tǒng)調(diào)用機(jī)制sysenter/sysexit 13.3 實(shí)驗(yàn)內(nèi)容 第14章 同步機(jī)制 14.1 實(shí)驗(yàn)?zāi)康?14.2 背景知識(shí) 14.2.1 進(jìn)程同步和同步機(jī)制 14.2.2 Linux內(nèi)核的并發(fā)性和同步機(jī)制 14.3 實(shí)驗(yàn)內(nèi)容 第15章 進(jìn)程調(diào)度 15.1 實(shí)驗(yàn)?zāi)康?15.2 背景知識(shí) 15.2.1 調(diào)度策略和調(diào)度機(jī)制 15.2.2 Linux 2.4的調(diào)度算法及其不足 15.2.3 Linux 2.6調(diào)度算法的設(shè)計(jì)與實(shí)現(xiàn) 15.3 實(shí)驗(yàn)內(nèi)容 第16章 存儲(chǔ)管理 16.1 實(shí)驗(yàn)?zāi)康?16.2 背景知識(shí) 16.2.1 x86的分段機(jī)制 16.2.2 物理存儲(chǔ)管理 16.2.3 進(jìn)程虛擬存儲(chǔ)管理 16.2.4 slab分配器 16.3 實(shí)驗(yàn)內(nèi)容 第17章 虛擬文件系統(tǒng) 17.1 實(shí)驗(yàn)?zāi)康?17.2 背景知識(shí) 17.2.1 虛擬文件系統(tǒng)的基本概念和原理 17.2.2 文件系統(tǒng)的安裝和掛載 17.2.3 虛擬文件系統(tǒng)的結(jié)構(gòu)和通用文件模型 17.3 實(shí)驗(yàn)內(nèi)容 第18章 proc文件系統(tǒng) 18.1 實(shí)驗(yàn)?zāi)康?18.2 背景知識(shí) 18.2.1 proc文件系統(tǒng)簡(jiǎn)介 18.2.2 proc文件系統(tǒng)數(shù)據(jù)結(jié)構(gòu) 18.3 實(shí)驗(yàn)內(nèi)容 18.3.1 實(shí)驗(yàn)1 向proc文件系統(tǒng)中添加可讀寫(xiě)文件 18.3.2 實(shí)驗(yàn)2 通過(guò)proc文件系統(tǒng)查看進(jìn)程信息 第19章 設(shè)備驅(qū)動(dòng)程序 19.1 實(shí)驗(yàn)?zāi)康?19.2 背景知識(shí) 19.2.1 基礎(chǔ)知識(shí) 19.2.2 字符設(shè)備 19.2.3 塊設(shè)備 19.2.4 磁盤(pán)I/O調(diào)度程序 19.3 實(shí)驗(yàn)內(nèi)容 附錄 附錄A vi編輯器 附錄B emacs編輯器 附錄C Linux常用命令 附錄D Linux函數(shù) 附錄E 操作系統(tǒng)實(shí)驗(yàn)報(bào)告內(nèi)容 參考文獻(xiàn)

章節(jié)摘錄

版權(quán)頁(yè):   插圖:   6.2.4 虛存管理的原理和實(shí)現(xiàn)技術(shù) 6.2.4.1 虛擬存儲(chǔ)器 在具有層次結(jié)構(gòu)存儲(chǔ)器的計(jì)算機(jī)系統(tǒng)中,利用大容量輔存(磁盤(pán))來(lái)擴(kuò)充主存,采用由系統(tǒng)自動(dòng)實(shí)現(xiàn)“部分裝入”和“部分替換”功能,能從邏輯上為用戶提供一個(gè)比物理主存容量大得多的,可尋址的一種“主存儲(chǔ)器”,稱虛擬存儲(chǔ)器(virtual memory)或虛擬主存,簡(jiǎn)稱虛存。虛存允許用戶程序以邏輯地址尋址,而不必考慮物理主存的大小,實(shí)際上虛存管理對(duì)用戶隱蔽可用物理存儲(chǔ)器的容量和操作細(xì)節(jié),主存可看作是虛存的緩沖區(qū),這種將物理空間和輔存空間分開(kāi)編址但又統(tǒng)一使用的技術(shù),既為用戶編程提供了極大方便,又進(jìn)一步提高了主存利用率和系統(tǒng)吞吐量。 6.2.4.2 虛存的基本概念 1.程序局部性原理 一個(gè)進(jìn)程的程序和數(shù)據(jù)的訪問(wèn)都有聚集成群的傾向。某存儲(chǔ)單元被使用,其相鄰存儲(chǔ)單元很快也被使用,稱空間局部性(Spatial Locality),或者最近訪問(wèn)過(guò)的程序代碼和數(shù)據(jù),很快又被訪問(wèn),稱時(shí)間局部性(Temporal Locality)?;谶@個(gè)原理,在任何時(shí)刻,只有進(jìn)程的幾個(gè)片段在主存中,因此主存中可以裝入更多進(jìn)程,甚至進(jìn)程的程序總量比主存還要大;同樣原理,也可預(yù)測(cè)在較短時(shí)間的將來(lái)會(huì)用到進(jìn)程的哪些片段或不再使用哪些片段,以便作出調(diào)度。 2.顛簸 顛簸是指CPU把大部分時(shí)間花在調(diào)入調(diào)出進(jìn)程的片段上,而不是執(zhí)行用戶指令和訪問(wèn)數(shù)據(jù)。

編輯推薦

《高等學(xué)校計(jì)算機(jī)實(shí)踐教學(xué)系列教材:Linux操作系統(tǒng)實(shí)驗(yàn)教程》內(nèi)容豐富、覆蓋面廣,由淺入深、循序漸進(jìn),可與高等教育出版社出版的《操作系統(tǒng)教程(第4版)》教材配套使用,也可作為操作系統(tǒng)課程的實(shí)驗(yàn)教材單獨(dú)使用,既可以作為高等學(xué)校計(jì)算機(jī)相關(guān)專業(yè)實(shí)驗(yàn)課用書(shū),也可作為L(zhǎng)inux應(yīng)用和內(nèi)核編程參考資料。

圖書(shū)封面

圖書(shū)標(biāo)簽Tags

無(wú)

評(píng)論、評(píng)分、閱讀與下載


    Linux操作系統(tǒng)實(shí)驗(yàn)教程 PDF格式下載


用戶評(píng)論 (總計(jì)0條)

 
 

 

250萬(wàn)本中文圖書(shū)簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書(shū)網(wǎng) 手機(jī)版

京ICP備13047387號(hào)-7