《信號與系統(tǒng)》第三篇實驗開始——精通Linux_第1頁
《信號與系統(tǒng)》第三篇實驗開始——精通Linux_第2頁
《信號與系統(tǒng)》第三篇實驗開始——精通Linux_第3頁
《信號與系統(tǒng)》第三篇實驗開始——精通Linux_第4頁
《信號與系統(tǒng)》第三篇實驗開始——精通Linux_第5頁
已閱讀5頁,還剩25頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、信號與系統(tǒng)信號與系統(tǒng)第三篇第三篇實驗開始實驗開始精通精通LinuxLinux一. Linux的基本使用與管理o 實驗一 Linux的安裝及配置o 實驗二 Linux基本環(huán)境與使用o 實驗三 Linux文件處理o 實驗四 vi編輯器的使用實驗一. Linux的安裝與配置o 實驗?zāi)康膐 熟悉Linux操作系統(tǒng)的基本安裝和配置o 了解Linux操作系統(tǒng)的啟動過程和桌面環(huán)境1. 掌握VMWare虛擬機的使用實驗一. Linux的安裝與配置o 實驗內(nèi)容o 從網(wǎng)上下載VMware軟件和兩個不同的Linux發(fā)行版鏡像文件o 安裝VMWare虛擬機軟件o 在VMWare中利用第一個鏡像文件完成第一個Linux

2、的安裝,期間完成網(wǎng)絡(luò)信息、用戶信息、文件系統(tǒng)及硬盤分區(qū)等的配置1. 在VMWare中利用第二個鏡像文件完成第二個Linux的安裝,并通過LILO或GRUB解決兩個操作系統(tǒng)選擇啟動的問題實驗二. Linux基本環(huán)境與使用o 實驗?zāi)康膎 了解Linux的命令格式,掌握Linux中的操作命令n 學會使用各種Shell命令操作Linux,對Linux有一個感性認識n 學會如何得到幫助信息實驗二. Linux基本環(huán)境與使用o 實驗內(nèi)容n使用man命令獲得ls、uname、date、cal、mkdir、cp等Linux命令的幫助手冊,了解這些命令的具體使用方法。同時,也可以通過執(zhí)行“命令名 -help”來

3、顯示該命令的幫助信息,如“l(fā)s -help”,試用這些命令。n通過uname命令的執(zhí)行,查看并給出相關(guān)系統(tǒng)信息:操作系統(tǒng)的名稱、系統(tǒng)域名、系統(tǒng)CPU名稱等。n用date命令顯示當前的時間,用cal命令顯示2008、2013年的日歷,給出執(zhí)行的命令和顯示的結(jié)果。1. 在主目錄下創(chuàng)建一個名為myetc的子目錄,并將/etc目錄下與網(wǎng)絡(luò)相關(guān)的文件和子目錄拷貝到該目錄下,并將文件的執(zhí)行權(quán)限設(shè)置為可執(zhí)行。實驗三. Linux文件處理 o 實驗?zāi)康膎 熟悉Linux文件系統(tǒng)的文件和目錄結(jié)構(gòu),掌握Linux文件系統(tǒng)的基本特征n 掌握命令行方式下文件操作命令和程序中文件操作函數(shù)的使用方法n 掌握Linux文件

4、系統(tǒng)的加載和卸載方法實驗三. Linux文件處理 o 實驗內(nèi)容1. 在用戶主目錄下創(chuàng)建如右圖所示的目錄樹,列出完成該過程的所有命令。 實驗三. Linux文件處理 o 實驗內(nèi)容n 在/usr/bin目錄下有多少個普通文件、目錄文件和鏈接文件?如何得到這些信息?n 顯示用戶主目錄下的所有隱藏文件的文件名。列出執(zhí)行的命令及輸出結(jié)果。n 實現(xiàn)對光盤、移動硬盤的加載和訪問,然后卸載設(shè)備。2. 讓系統(tǒng)開機時自動加載Windows文件系統(tǒng),實現(xiàn)對Windows數(shù)據(jù)的訪問和共享。實驗四.vi編輯器的使用 o 實驗?zāi)康膎 了解用vi編輯器編輯文本文件的基本使用方法n 熟練運用vi編輯器進行快速文檔編輯實驗四.

5、vi編輯器的使用 o 實驗內(nèi)容n在當前用戶目錄下建立vitest子目錄,將/etc/inittab文件拷貝到vitest子目錄中;n用vi編輯器打開該文件,執(zhí)行下述操作,并詳細說明操作過程及方法:nA刪除第5,15和25行指令;B將文本中所有的“etc”字符串替換成“config”;C復(fù)制第1120行的內(nèi)容,并且貼到文件最后一行后;D將每行開頭的第一個字符#刪除;E刪除包含有字符串“conf”的那幾行;F在第一行新增一行,輸入你的姓名和學號;G將文件另存為new-inittab.conf。二. 操作系統(tǒng)原理實踐o 實驗一 系統(tǒng)初始化引導(dǎo)o 實驗二 系統(tǒng)用戶界面o 實驗三 增加系統(tǒng)調(diào)用o 實驗四

6、 進程控制o 實驗五 進程間通信o 實驗六 虛擬內(nèi)存管理o 實驗七 添加設(shè)備驅(qū)動o 實驗八 設(shè)計文件系統(tǒng)實驗一.系統(tǒng)初始引導(dǎo) o 實驗?zāi)康膎 理解和掌握Linux系統(tǒng)管理命令和管理文件n 了解Linux系統(tǒng)的引導(dǎo)啟動過程n 掌握Linux開機服務(wù)啟動流程與方法實驗一.系統(tǒng)初始引導(dǎo) o實驗內(nèi)容n分析Linux初始化程序執(zhí)行腳本文件/etc/inittab,了解該程序的執(zhí)行流程,畫出流程圖。n分析Linux 系統(tǒng)中/etc/rc.d目錄下的系統(tǒng)初始化啟動命令和init.d 目錄下的啟動守護進程的命令,說明在該啟動過程中系統(tǒng)執(zhí)行了哪些操作。n編制一個Shell程序,并讓該程序在用戶登錄時自動執(zhí)行,顯

7、示提示信息“Welcome!Have a nice day!”,并在命令提示符中包含系統(tǒng)名稱、內(nèi)核版本、當前目錄、當前用戶名等基本信息。1.編寫一個daemon進程,該進程每隔10秒執(zhí)行ps命令,并將當前時間和命令的輸出寫至文件ps.log尾部。實驗二. 系統(tǒng)用戶界面o 實驗?zāi)康膎 理解、使用和掌握文件系統(tǒng)調(diào)用與文件標準子例程的區(qū)別和編程方法n 掌握Linux下終端圖形編程方法,能編寫基于文本的圖形界面n 掌握Linux下圖形界面編程工具,能用GTK或QT進行圖形界面的開發(fā)實驗二. 系統(tǒng)用戶界面o 實驗內(nèi)容n分別利用文件的系統(tǒng)調(diào)用read、write和文件的庫函數(shù)fread、fwrite實現(xiàn)文

8、件復(fù)制功能,比較在每次讀取一個字節(jié)和1024字節(jié)時兩個程序的執(zhí)行效率,并分析原因。n編寫一個C程序,使用Linux下基于文本的終端圖形編程庫curses,分窗口實時監(jiān)測(即周期性刷新顯示)CPU、內(nèi)存和網(wǎng)絡(luò)的詳細使用情況和它們的利用率。1. 通過讀取proc文件系統(tǒng),獲取系統(tǒng)各種信息(如主機名、系統(tǒng)啟動時間、運行時間、版本號、所有進程信息、CPU使用率、內(nèi)存使用率等),并以比較容易理解的方式顯示出來。要求參照Windows的任務(wù)管理器,利用GTK/QT實現(xiàn)圖形界面編程。實驗三. 增加系統(tǒng)調(diào)用o 實驗?zāi)康膎 理解Linux系統(tǒng)處理系統(tǒng)調(diào)用的流程n 掌握增加與調(diào)用系統(tǒng)調(diào)用的方法n 理解Linux的

9、內(nèi)核模塊和編譯方法實驗三. 增加系統(tǒng)調(diào)用o 實驗內(nèi)容n 向現(xiàn)有 Linux 內(nèi)核加入一個新的系統(tǒng)調(diào)用,實現(xiàn)一個新的內(nèi)核函數(shù)mycall( ),此函數(shù)通過引用參數(shù)的調(diào)用返回當前系統(tǒng)時間,功能上基本與gettimeofday( )相同。n 用編譯內(nèi)核的方法,將其加入內(nèi)核源碼并編譯、使用新的內(nèi)核。1. 編寫測試程序測試該系統(tǒng)調(diào)用。實驗四. 進程控制o 實驗?zāi)康膎 加深對進程概念的理解,進一步認識并發(fā)執(zhí)行的實質(zhì)n 掌握Linux操作系統(tǒng)的進程創(chuàng)建和終止操作n 利用Linux操作系統(tǒng)提供的信號量工具實現(xiàn)進程間的同步n 掌握對共享內(nèi)存的相關(guān)操作實驗四. 進程控制o 實驗內(nèi)容1. 編寫一段源程序,使系統(tǒng)調(diào)用

10、fork()創(chuàng)建兩個子進程,當此程序運行時,在系統(tǒng)中有一個父進程和兩個子進程活動。讓每一個進程在屏幕上顯示一個字符:父進程顯示字符“a”;子進程分別顯示字符“b”和字符“c”。試觀察紀錄屏幕上的顯示結(jié)果,并分析原因。 實驗四. 進程控制o實驗內(nèi)容n編寫一段程序,實現(xiàn)進程的軟中斷通信。 要求:使用系統(tǒng)調(diào)用fork()創(chuàng)建兩個子進程,再用系統(tǒng)調(diào)用signal()讓父進程捕捉鍵盤上來的中斷信號(即按DEL鍵);當捕捉到中斷信號后,父進程用系統(tǒng)調(diào)用Kill()向兩個子進程發(fā)出信號,子進程捕捉到信號后分別輸出下列信息后終止: Child Processll is Killed by Parent! Ch

11、ild Processl2 is Killed by Parent! 父進程等待兩個子進程終止后,輸出如下的信息后終止 Parent Process is Killed! 在上面的程序中增加語句signal (SIGNAL, SIG-IGN) 和signal (SIGQUIT, SIG-IGN), 觀察執(zhí)行結(jié)果,并分析原因。 實驗四. 進程控制o實驗內(nèi)容n求100000個浮點數(shù)(精確小數(shù)點右4位)的平均值(和、最大值、最小值)。要求:n 隨機生成100000個浮點數(shù)(父進程);n 創(chuàng)建4個子進程,分別求25000個浮點數(shù)之和;n 父進程完成100000個浮點數(shù)之和并打印結(jié)果;3. 統(tǒng)計順序計算

12、的時間和多個進程采用多道程序設(shè)計完成計算的時間。 實驗五. 進程間通信o 實驗?zāi)康膎 理解Linux關(guān)于進程間通信的概念n 掌握幾種進程間通信的方法n 鞏固進程同步概念和實現(xiàn)進程同步的方法實驗五. 進程間通信o 實驗內(nèi)容n編寫server和client兩個程序,利用命名管道實現(xiàn)兩個進程間的消息互通。n編寫程序,讓父子兩個進程通過消息隊列相互聊天、發(fā)送消息(1024字節(jié))。n使用共享內(nèi)存解決讀者/協(xié)助問題:writer從用戶處獲得輸入,然后將其寫入共享內(nèi)存,reader從共享內(nèi)存獲取信息,然后再在屏幕上打印出來。1. 使用多線程和信號量解決生產(chǎn)者/消費者問題:有一個長度為N的緩沖池被生產(chǎn)者和消費

13、者共同使用。只要緩沖池未滿,生產(chǎn)者就可以將消息送入緩沖池;只要緩沖池不空,消費者便可從緩沖池中取走一個消息。生產(chǎn)者向緩沖池放入消息的同時,消費者不能操作緩沖池,反之亦然。實驗六. 虛擬內(nèi)存管理o 實驗?zāi)康膎 掌握Linux虛擬內(nèi)存管理的原理和技術(shù)n 理解Linux的按需調(diào)頁機制n 掌握Linux動態(tài)內(nèi)存操作函數(shù)/命令的使用實驗六. 虛擬內(nèi)存管理o 實驗內(nèi)容n編寫程序,統(tǒng)計從當前時刻起,一段時間內(nèi)操作系統(tǒng)發(fā)生的缺頁次數(shù)。n利用系統(tǒng)提供的內(nèi)存操作函數(shù)進行內(nèi)存的申請、使用與釋放。n分析系統(tǒng)調(diào)用do_page_fault()、brk()、mmap()的調(diào)用流程,涉及到的主要數(shù)據(jù)結(jié)構(gòu),畫出流程圖來表示相

14、關(guān)函數(shù)之間的相互調(diào)用關(guān)系。1. 利用free和vmstat命令觀察主存分配結(jié)果及使用情況。實驗七. 添加設(shè)備驅(qū)動o 實驗?zāi)康膎 了解Linux設(shè)備驅(qū)動的管理方式n 了解Linux設(shè)備驅(qū)動程序的組織結(jié)構(gòu)和設(shè)備管理機制n 掌握Linux設(shè)備驅(qū)動程序的編寫方法和過程n 掌握Linux設(shè)備驅(qū)動程序的加載方法實驗七. 添加設(shè)備驅(qū)動o 實驗內(nèi)容n編寫字符設(shè)備驅(qū)動程序,要求能對該字符設(shè)備執(zhí)行打開、讀、寫、I/O控制和關(guān)閉五個基本操作。n編寫塊設(shè)備驅(qū)動程序,要求能對該字符設(shè)備執(zhí)行打開、讀、寫、I/O控制和關(guān)閉五個基本操作。n編寫一個應(yīng)用程序,測試添加的字符設(shè)備和塊設(shè)備驅(qū)動程序的正確性。n分析字符設(shè)備和塊設(shè)備驅(qū)動程序,指出它們在實現(xiàn)過程中的異同點。1. 簡要描述Linux內(nèi)核模塊的加載過程。實驗八. 設(shè)計文件系統(tǒng)o 實驗?zāi)康膎 掌握文件系統(tǒng)的工作原理n 理解文件系統(tǒng)的主要數(shù)據(jù)結(jié)構(gòu)n 加深理解文件系統(tǒng)的內(nèi)部功能和實現(xiàn)方法實驗八. 設(shè)計文件系統(tǒng)o實驗內(nèi)容n設(shè)計并實現(xiàn)一個一級(單用戶)文件系統(tǒng)程序,要求提供以下操作:nA文

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論