實驗目的
掌握Linux操作系統的使用方法;
了解Linux系統內核代碼結構;
掌握實例操作系統的實現方法。
一、實驗要求
1、掌握Linux操作系統的使用方法,包括鍵盤命令、系統調用;掌握在Linux
下的編程環境。
●編一個C程序,其內容為實現文件拷貝的功能;
●編一個C程序,其內容為分窗口同時顯示三個并發進程的運行結
果。要求用到Linux下的圖形庫。
2、掌握系統調用的實現過程,通過編譯內核方法,增加一個新的系統調用。
另編寫一個應用程序,調用新增加的系統調用。
實現的功能是:文件拷貝;
3、掌握增加設備驅動程序的方法。通過模塊方法,增加一個新的設備驅動
程序,其功能可以簡單。
實現字符設備的驅動;
4、了解和掌握/proc文件系統的特點和使用方法
●了解/proc文件的特點和使用方法
●監控系統狀態,顯示系統中若干部件使用情況
●用圖形界面實現系統監控狀態。
5、設計并實現一個模擬的文件系統(選作)
二、實驗一
1、編一個C程序,其內容為實現文件拷貝的功能
要實現文件拷貝功能,主要用到的函數是fopen、fputc、fgetc。
主要用到的頭文件:
#include
#include
設計思路:由scanf函數獲取2個文件名,根據其文件名和路徑分別打開該2個文件,設置一個循環,從源文件復制1個字節到目
的文件,直到源文件指針到文件尾,最后關閉2個文件。
在可能出錯的地方需要加上相應的報錯代碼,并輸出錯誤信息,以方便調試。
理清楚設計思路后,首先搭建linux下編程環境。
安裝gcc:sudo apt-get install build-essential
安裝codeblocks:sudo apt-get install codeblocks
在集成開發環境Code::Blocks IDE下根據需求寫出相應的源代碼copy.c,將程序編譯并生成exe可執行文件。
然后手動創建一個測試文件test.txt ,運行copy.exe文件,并輸入