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

出版時(shí)間:2009-2  出版社:電子工業(yè)出版社  作者:羅宇 等編著  頁數(shù):167  
Tag標(biāo)簽:無  

前言

操作系統(tǒng)是計(jì)算機(jī)系統(tǒng)必不可少的關(guān)鍵軟件。操作系統(tǒng)教學(xué)不但需要講授操作系統(tǒng)概念、原理與方法,還要讓學(xué)生動(dòng)手在實(shí)用操作系統(tǒng)上進(jìn)行編程實(shí)踐,只有這樣才能讓學(xué)生真正理解操作系統(tǒng)的概念、原理與方法。編寫本書的目的就是為了在學(xué)習(xí)完操作系統(tǒng)原理后,為操作系統(tǒng)實(shí)踐教學(xué)提供指導(dǎo)。Linux操作系統(tǒng)是源代碼公開的廣泛使用的操作系統(tǒng),利用Linux作為操作系統(tǒng)課程的實(shí)驗(yàn)平臺(tái),不但能幫助學(xué)生進(jìn)行以理解操作系統(tǒng)原理為目的的實(shí)驗(yàn),同時(shí)也可以看作是操作系統(tǒng)開發(fā)實(shí)戰(zhàn)的演練。由于Linux源代碼公開以及Linux的廣泛普及,我們認(rèn)為將Linux作為操作系統(tǒng)實(shí)驗(yàn)教學(xué)平臺(tái)還將為學(xué)生畢業(yè)后快速進(jìn)入實(shí)戰(zhàn)工作狀態(tài)打下良好的基礎(chǔ)。

內(nèi)容概要

本書是國(guó)防科技大學(xué)國(guó)家精品課程“操作系統(tǒng)”配套教材,系統(tǒng)地講解了Linux操作系統(tǒng)原理和基于Linux的各種編程,特別是Linux操作系統(tǒng)內(nèi)核編程。本書內(nèi)容分為三部分:第一部分介紹Linux操作系統(tǒng)原理;第二部分介紹10個(gè)基于Linux的實(shí)驗(yàn);第三部分附錄包含Linux環(huán)境下的操作及與編程有關(guān)的命令和函數(shù)列表。    本書適合作為高等學(xué)校計(jì)算機(jī)科學(xué)與技術(shù)、軟件工程、信息安全、信息與計(jì)算科學(xué)、信息管理與信息系統(tǒng)等專業(yè)操作系統(tǒng)實(shí)驗(yàn)和課程設(shè)計(jì)教材,也是Linux開發(fā)人員熟悉Linux環(huán)境下應(yīng)用及內(nèi)核編程的入門參考書。

作者簡(jiǎn)介

羅宇,國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院教授,主持建設(shè)的操作系統(tǒng)課程獲國(guó)家精品課程,是教育部專家?guī)鞂<摇?994年及1998年赴英國(guó)和美國(guó)學(xué)習(xí)和工作。參加了銀河-1、銀河-2、銀河-3等國(guó)家重點(diǎn)科技工程操作系統(tǒng)開發(fā)以及863、國(guó)家自然科學(xué)基金重點(diǎn)項(xiàng)目、探索重點(diǎn)項(xiàng)目研究,主持了國(guó)防預(yù)研基金、裝備預(yù)研基金、教育部骨干教師基金及企業(yè)聯(lián)合等各類項(xiàng)目研究與開發(fā),長(zhǎng)期叢中操作系統(tǒng)課程教學(xué),編寫專著及教材8部,發(fā)表論文40多篇,曾榮獲部委級(jí)科技進(jìn)步獎(jiǎng)4次。主要研究領(lǐng)域有:通用及嵌入式操作系統(tǒng)、集群與頒布式系統(tǒng)、網(wǎng)絡(luò)存儲(chǔ)、數(shù)據(jù)容災(zāi)及備份。

書籍目錄

第一部分  Linux操作系統(tǒng)基本原理 第1章  Linux操作系統(tǒng)簡(jiǎn)介  1.1   Linux的淵源和發(fā)展簡(jiǎn)史  1.2   Linux的基本特性  1.3   Linux內(nèi)核的開發(fā)模式與內(nèi)核版本號(hào)  1.4   Linux發(fā)行版介紹  1.5   Linux內(nèi)核源代碼組織結(jié)構(gòu)  1.6   學(xué)習(xí)Linux的輔助軟件介紹 第2章  Linux的進(jìn)程管理  2.1   進(jìn)程與進(jìn)程描述符  2.2   進(jìn)程狀態(tài)及切換時(shí)機(jī)   2.2.1  Linux的進(jìn)程狀態(tài)   2.2.2  進(jìn)程的切換時(shí)機(jī)  2.3   進(jìn)程的調(diào)度算法  2.4   進(jìn)程的創(chuàng)建與消亡 第3章  Linux的存儲(chǔ)器管理  3.1   物理內(nèi)存的管理   3.1.1  頁幀與區(qū)域   3.1.2  伙伴算法   3.1.3  slab分配器  3.2   進(jìn)程地址空間的管理   3.2.1  頁表機(jī)制   3.2.2  vm_area_struct結(jié)構(gòu)   3.2.3  進(jìn)程地址空間的相關(guān)系統(tǒng)調(diào)用   3.2.4  頁面異常的處理 第4章  Linux的文件系統(tǒng)  4.1   VFS   4.1.1  VFS的作用   4.1.2  進(jìn)程描述符中與文件系統(tǒng)相關(guān)的成員   4.1.3  VFS的文件模型   4.1.4  文件系統(tǒng)的注冊(cè)與安裝   4.1.5  各種對(duì)象的操作接口  4.2   EXT2文件系統(tǒng)   4.2.1  EXT2在磁盤上的物理布局   4.2.2  主要的數(shù)據(jù)結(jié)構(gòu)及其基本操作   4.2.3  磁盤塊的分配與釋放  4.3   主要文件系統(tǒng)的系統(tǒng)調(diào)用處理流程   4.3.1  文件的open操作   4.3.2  文件的read操作 第5章  Linux的設(shè)備管理  5.1   設(shè)備文件的概念  5.2   設(shè)備模型基礎(chǔ)  5.3   相關(guān)數(shù)據(jù)結(jié)構(gòu)   5.3.1  字符設(shè)備管理   5.3.2  塊設(shè)備管理   5.3.3  buffer   5.3.4  設(shè)備請(qǐng)求隊(duì)列和I/O調(diào)度算法  5.4   塊設(shè)備文件的open和read操作   5.4.1  塊設(shè)備驅(qū)動(dòng)程序組成   5.4.2  open函數(shù)   5.4.3  read函數(shù) 第6章  中斷、異常及系統(tǒng)調(diào)用  6.1   中斷和異常的基本知識(shí)  6.2   異常處理函數(shù)  6.3  系統(tǒng)調(diào)用  6.4   中斷的處理   6.4.1  中斷控制器   6.4.2  管理中斷的數(shù)據(jù)結(jié)構(gòu)   6.4.3  中斷的處理過程  6.5   軟中斷 第7章  Sys V進(jìn)程間通信  7.1   共有的特性  7.2   信號(hào)量  7.3   消息隊(duì)列  7.4   共享內(nèi)存第二部分  基于Linux操作系統(tǒng)的實(shí)驗(yàn) 第8章  用戶態(tài)編程實(shí)驗(yàn)  8.1   實(shí)驗(yàn)1——bash腳本編程   8.1.1  實(shí)驗(yàn)內(nèi)容   8.1.2  bash腳本編程簡(jiǎn)介    8.1.2.1  注釋和簡(jiǎn)單命令    8.1.2.2  環(huán)境變量    8.1.2.3  控制結(jié)構(gòu)    8.1.2.4  函數(shù)   8.1.3  實(shí)驗(yàn)指南  8.2   實(shí)驗(yàn)2——觀察Linux行為   8.2.1  實(shí)驗(yàn)內(nèi)容   8.2.2  proc文件系統(tǒng)簡(jiǎn)介   8.2.3  實(shí)驗(yàn)指南    8.2.3.1  Linux環(huán)境下C語言編程環(huán)境簡(jiǎn)介    8.2.3.2  實(shí)驗(yàn)程序框架  8.3  實(shí)驗(yàn)3——實(shí)現(xiàn)Linux命令解釋器   8.3.1  實(shí)驗(yàn)內(nèi)容   8.3.2  myshell的語法   8.3.3  myshell的程序框架   8.3.4  myshell命令行的語法分析   8.3.5  簡(jiǎn)單命令的執(zhí)行   8.3.6  myshell的Makefile   8.3.7  實(shí)驗(yàn)指南 第9章  內(nèi)核編程基礎(chǔ)實(shí)驗(yàn)  9.1   實(shí)驗(yàn)4——內(nèi)核模塊   9.1.1  實(shí)驗(yàn)內(nèi)容   9.1.2  Linux內(nèi)核模塊簡(jiǎn)介   9.1.3  內(nèi)核符號(hào)表   9.1.4  內(nèi)核模塊編程介紹    9.1.4.1  內(nèi)核模塊實(shí)例    9.1.4.2  模塊編程的基本知識(shí)    9.1.4.3  Makefile介紹   9.1.5  實(shí)驗(yàn)指南   9.1.6  測(cè)試  9.2   實(shí)驗(yàn)5——proc文件系統(tǒng)編程   9.2.1  實(shí)驗(yàn)內(nèi)容   9.2.2  proc文件系統(tǒng)編程簡(jiǎn)介    9.2.2.1  proc文件系統(tǒng)編程示例    9.2.2.2  proc文件系統(tǒng)的核心數(shù)據(jù)結(jié)構(gòu)    9.2.2.3  proc文件系統(tǒng)編程接口   9.2.3  實(shí)驗(yàn)指南  9.3  實(shí)驗(yàn)6——編譯內(nèi)核及增加Linux系統(tǒng)調(diào)用   9.3.1  實(shí)驗(yàn)內(nèi)容   9.3.2  Fedora下編譯內(nèi)核    9.3.2.1  第1步——下載內(nèi)核    9.3.2.2  第2步——生成內(nèi)核配置文件.config    9.3.2.3  第3步——編譯和安裝新的內(nèi)核   9.3.3  添加psta系統(tǒng)調(diào)用   9.3.4  測(cè)試新增系統(tǒng)調(diào)用psta   9.3.5  noexec系統(tǒng)調(diào)用的實(shí)現(xiàn) 第10章  內(nèi)核編程綜合實(shí)驗(yàn)  10.1   實(shí)驗(yàn)7——進(jìn)程隱藏   10.1.1  實(shí)驗(yàn)內(nèi)容   10.1.2  背景知識(shí)介紹   10.1.3  proc文件系統(tǒng)實(shí)現(xiàn)簡(jiǎn)介   10.1.4  實(shí)驗(yàn)指南    10.1.4.1  功能⑴的實(shí)現(xiàn)    10.1.4.2  功能(5)的實(shí)現(xiàn)    10.1.4.3  功能(7)的實(shí)現(xiàn)  10.2  實(shí)驗(yàn)8——字符設(shè)備驅(qū)動(dòng)開發(fā)   10.2.1  實(shí)驗(yàn)內(nèi)容   10.2.2  字符設(shè)備驅(qū)動(dòng)開發(fā)介紹    10.2.2.1  測(cè)試字符設(shè)備    10.2.2.2  描述設(shè)備的數(shù)據(jù)結(jié)構(gòu)    10.2.2.3  設(shè)備號(hào)的操作    10.2.2.4  字符設(shè)備的注冊(cè)與注銷    10.2.2.5  文件操作集    10.2.2.6  同步   10.2.3  字符設(shè)備chatdev的實(shí)現(xiàn)   10.2.4  聊天程序chat的實(shí)現(xiàn)  10.3  實(shí)驗(yàn)9——naive文件系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)   10.3.1  實(shí)驗(yàn)內(nèi)容   10.3.2  項(xiàng)目的準(zhǔn)備工作及建議   10.3.3  實(shí)驗(yàn)指南    10.3.3.1  第1步——?jiǎng)?chuàng)建設(shè)備    10.3.3.2  第2步——格式化分區(qū)    10.3.3.3  第3步——定義并注冊(cè)naive文件系統(tǒng)    10.3.3.4  第4步——安裝/卸載文件系統(tǒng)分區(qū)    10.3.3.5  第5步——顯示根目錄的內(nèi)容    10.3.3.6  第6步——在根目錄下創(chuàng)建內(nèi)容為空的文件    10.3.3.7  第7步——寫文件和讀文件    10.3.3.8  第8步——?jiǎng)h除文件    10.3.3.9  第9步——?jiǎng)?chuàng)建目錄    10.3.3.10  第10步——?jiǎng)h除目錄  10.4  實(shí)驗(yàn)10——塊設(shè)備驅(qū)動(dòng)開發(fā)   10.4.1  實(shí)驗(yàn)內(nèi)容   10.4.2  實(shí)驗(yàn)基礎(chǔ)和思路    10.4.2.1  參考驅(qū)動(dòng)程序1——塊設(shè)備驅(qū)動(dòng)程序sbull    10.4.2.2  參考驅(qū)動(dòng)程序2——USB字符設(shè)備驅(qū)動(dòng)程序usb-skeleton   10.4.3  U盤驅(qū)動(dòng)的幫助函數(shù)    10.4.3.1  函數(shù)原型及其使用    10.4.3.2  工作原理和過程   10.4.4  實(shí)驗(yàn)指南第三部分  Linux環(huán)境下的操作及常用命令和函數(shù) 附錄A  Linux常用命令  A.1  用戶終端命令  A.2  vi編輯器的用法 附錄B  Linux常用函數(shù)  B.1  進(jìn)程管理函數(shù)  B.2  文件管理函數(shù)  B.3  進(jìn)程間通信  B.4  多線程庫(kù) 附錄C  內(nèi)核配置文件的生成  C.1  配置文件初步生成  C.2  修改內(nèi)核配置文件  C.3  內(nèi)核編譯選項(xiàng)介紹參考文獻(xiàn)

章節(jié)摘錄

插圖:Linux內(nèi)核是單體的(monolithic),即編譯器把各個(gè)內(nèi)核組件鏈接生成一個(gè)大的可執(zhí)行文件。另一種內(nèi)核結(jié)構(gòu)是微內(nèi)核(microkernel),它只把一些最基本的功能,如進(jìn)程間通信、同步原語,做入內(nèi)核,其他(如文件系統(tǒng)、存儲(chǔ)器管理、設(shè)備驅(qū)動(dòng)等)都作為用戶態(tài)進(jìn)程出現(xiàn),相對(duì)普通的應(yīng)用程序來講,它們可以看成服務(wù)器進(jìn)程,為應(yīng)用程序提供服務(wù)。微內(nèi)核有許多理論上的優(yōu)勢(shì),如模塊化更好、易于移植、更加穩(wěn)定、不易崩潰等,但是在性能方面一直比不上單體內(nèi)核,因?yàn)槲?nèi)核體系導(dǎo)致的進(jìn)程問通信開銷非常大。Linux的內(nèi)核模塊(module)機(jī)制不僅可以彌補(bǔ)單體內(nèi)核相對(duì)微內(nèi)核的一些不足,而且對(duì)性能沒有影響。內(nèi)核模塊是一個(gè)目標(biāo)文件,可以動(dòng)態(tài)載入內(nèi)核,也可以動(dòng)態(tài)卸載。實(shí)際上,Linux中大多數(shù)設(shè)備驅(qū)動(dòng)程序或文件系統(tǒng)都以模塊方式實(shí)現(xiàn),因?yàn)樗鼈償?shù)目繁多,體積龐大,不適合直接編譯在內(nèi)核中。而通過模塊機(jī)制,在需要使用它們的時(shí)候再臨時(shí)加載,是最適合不過的。另外一個(gè)明顯的好處是,當(dāng)采用模塊技術(shù)進(jìn)行開發(fā)時(shí),用戶修改代碼后只需重新編譯加載模塊,而不必重新編譯內(nèi)核和引導(dǎo)系統(tǒng)。

編輯推薦

《Linux操作系統(tǒng)實(shí)驗(yàn)教程》在國(guó)家規(guī)劃教材的基礎(chǔ)上,進(jìn)行全面更新,以適應(yīng)高校課程與教堂改革的需要,并注意教材的可讀性和可用性,為任課教師提供各種教堂服務(wù)(包括教學(xué)電子課件、教學(xué)指導(dǎo)材料、習(xí)題解答和實(shí)驗(yàn)指導(dǎo)等)。

圖書封面

圖書標(biāo)簽Tags

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


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


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

 
 

  •   巨流河是買來送朋友的,自己之前已經(jīng)在kindle上看過了。。。Linux那本準(zhǔn)備開始看
  •   看起來還不錯(cuò),封面和商品的圖不一樣,比圖片好看
  •   ly老師的書必買啊
  •   主要是實(shí)驗(yàn)偏重適合作為練習(xí)的材料
  •   不是很詳細(xì),有的東西沒有解釋看不懂
  •   一般,真一般,沒什么好說的,
  •   這本Linux實(shí)驗(yàn)書還行,講的還蠻細(xì)的。
  •   內(nèi)容不是很深入,但是作為入門編程還是可以的
 

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

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