Linux操作系統(tǒng)實驗教程

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

前言

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

內(nèi)容概要

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

作者簡介

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

書籍目錄

第一部分  Linux操作系統(tǒng)基本原理 第1章  Linux操作系統(tǒng)簡介  1.1   Linux的淵源和發(fā)展簡史  1.2   Linux的基本特性  1.3   Linux內(nèi)核的開發(fā)模式與內(nèi)核版本號  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)及切換時機(jī)   2.2.1  Linux的進(jìn)程狀態(tài)   2.2.2  進(jìn)程的切換時機(jī)  2.3   進(jìn)程的調(diào)度算法  2.4   進(jìn)程的創(chuàng)建與消亡 第3章  Linux的存儲器管理  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)的注冊與安裝   4.1.5  各種對象的操作接口  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è)備請求隊列和I/O調(diào)度算法  5.4   塊設(shè)備文件的open和read操作   5.4.1  塊設(shè)備驅(qū)動程序組成   5.4.2  open函數(shù)   5.4.3  read函數(shù) 第6章  中斷、異常及系統(tǒng)調(diào)用  6.1   中斷和異常的基本知識  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   信號量  7.3   消息隊列  7.4   共享內(nèi)存第二部分  基于Linux操作系統(tǒng)的實驗 第8章  用戶態(tài)編程實驗  8.1   實驗1——bash腳本編程   8.1.1  實驗內(nèi)容   8.1.2  bash腳本編程簡介    8.1.2.1  注釋和簡單命令    8.1.2.2  環(huán)境變量    8.1.2.3  控制結(jié)構(gòu)    8.1.2.4  函數(shù)   8.1.3  實驗指南  8.2   實驗2——觀察Linux行為   8.2.1  實驗內(nèi)容   8.2.2  proc文件系統(tǒng)簡介   8.2.3  實驗指南    8.2.3.1  Linux環(huán)境下C語言編程環(huán)境簡介    8.2.3.2  實驗程序框架  8.3  實驗3——實現(xiàn)Linux命令解釋器   8.3.1  實驗內(nèi)容   8.3.2  myshell的語法   8.3.3  myshell的程序框架   8.3.4  myshell命令行的語法分析   8.3.5  簡單命令的執(zhí)行   8.3.6  myshell的Makefile   8.3.7  實驗指南 第9章  內(nèi)核編程基礎(chǔ)實驗  9.1   實驗4——內(nèi)核模塊   9.1.1  實驗內(nèi)容   9.1.2  Linux內(nèi)核模塊簡介   9.1.3  內(nèi)核符號表   9.1.4  內(nèi)核模塊編程介紹    9.1.4.1  內(nèi)核模塊實例    9.1.4.2  模塊編程的基本知識    9.1.4.3  Makefile介紹   9.1.5  實驗指南   9.1.6  測試  9.2   實驗5——proc文件系統(tǒng)編程   9.2.1  實驗內(nèi)容   9.2.2  proc文件系統(tǒng)編程簡介    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  實驗指南  9.3  實驗6——編譯內(nèi)核及增加Linux系統(tǒng)調(diào)用   9.3.1  實驗內(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  測試新增系統(tǒng)調(diào)用psta   9.3.5  noexec系統(tǒng)調(diào)用的實現(xiàn) 第10章  內(nèi)核編程綜合實驗  10.1   實驗7——進(jìn)程隱藏   10.1.1  實驗內(nèi)容   10.1.2  背景知識介紹   10.1.3  proc文件系統(tǒng)實現(xiàn)簡介   10.1.4  實驗指南    10.1.4.1  功能⑴的實現(xiàn)    10.1.4.2  功能(5)的實現(xiàn)    10.1.4.3  功能(7)的實現(xiàn)  10.2  實驗8——字符設(shè)備驅(qū)動開發(fā)   10.2.1  實驗內(nèi)容   10.2.2  字符設(shè)備驅(qū)動開發(fā)介紹    10.2.2.1  測試字符設(shè)備    10.2.2.2  描述設(shè)備的數(shù)據(jù)結(jié)構(gòu)    10.2.2.3  設(shè)備號的操作    10.2.2.4  字符設(shè)備的注冊與注銷    10.2.2.5  文件操作集    10.2.2.6  同步   10.2.3  字符設(shè)備chatdev的實現(xiàn)   10.2.4  聊天程序chat的實現(xiàn)  10.3  實驗9——naive文件系統(tǒng)的設(shè)計與實現(xiàn)   10.3.1  實驗內(nèi)容   10.3.2  項目的準(zhǔn)備工作及建議   10.3.3  實驗指南    10.3.3.1  第1步——創(chuàng)建設(shè)備    10.3.3.2  第2步——格式化分區(qū)    10.3.3.3  第3步——定義并注冊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步——刪除文件    10.3.3.9  第9步——創(chuàng)建目錄    10.3.3.10  第10步——刪除目錄  10.4  實驗10——塊設(shè)備驅(qū)動開發(fā)   10.4.1  實驗內(nèi)容   10.4.2  實驗基礎(chǔ)和思路    10.4.2.1  參考驅(qū)動程序1——塊設(shè)備驅(qū)動程序sbull    10.4.2.2  參考驅(qū)動程序2——USB字符設(shè)備驅(qū)動程序usb-skeleton   10.4.3  U盤驅(qū)動的幫助函數(shù)    10.4.3.1  函數(shù)原型及其使用    10.4.3.2  工作原理和過程   10.4.4  實驗指南第三部分  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  多線程庫 附錄C  內(nèi)核配置文件的生成  C.1  配置文件初步生成  C.2  修改內(nèi)核配置文件  C.3  內(nèi)核編譯選項介紹參考文獻(xiàn)

章節(jié)摘錄

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

編輯推薦

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

圖書封面

圖書標(biāo)簽Tags

評論、評分、閱讀與下載


    Linux操作系統(tǒng)實驗教程 PDF格式下載


用戶評論 (總計8條)

 
 

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

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

京ICP備13047387號-7