華中科技大學(xué)計算機操作系統(tǒng)實驗報告_第1頁
華中科技大學(xué)計算機操作系統(tǒng)實驗報告_第2頁
華中科技大學(xué)計算機操作系統(tǒng)實驗報告_第3頁
華中科技大學(xué)計算機操作系統(tǒng)實驗報告_第4頁
華中科技大學(xué)計算機操作系統(tǒng)實驗報告_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、華中科技大學(xué)計算機操作系統(tǒng)實驗報告篇一:華中科技大學(xué)計算機操作系統(tǒng)實驗報告實驗?zāi)康恼莆誏inux操作系統(tǒng)的使用方法;了解Linux系統(tǒng)內(nèi)核代碼結(jié)構(gòu);掌握實例操作系統(tǒng)的實現(xiàn)方法。一、實驗要求1、掌握Linux操作系統(tǒng)的使用方法,包括鍵盤命令、系統(tǒng)調(diào)用;掌握在Linux下的編程環(huán)境。編一個C程序,其內(nèi)容為實現(xiàn)文件拷貝的功能;編一個C程序,其內(nèi)容為分窗口同時顯示三個并發(fā)進程的運行結(jié)果。要求用到Linux下的圖形庫。2、掌握系統(tǒng)調(diào)用的實現(xiàn)過程,通過編譯內(nèi)核方法,增加一個新的系統(tǒng)調(diào)用。另編寫一個應(yīng)用程序,調(diào)用新增加的系統(tǒng)調(diào)用。實現(xiàn)的功能是:文件拷貝;3、掌握增加設(shè)備驅(qū)動程序的方法。通過模塊方法,增加一個

2、新的設(shè)備驅(qū)動程序,其功能可以簡單。實現(xiàn)字符設(shè)備的驅(qū)動;4、了解和掌握/proc文件系統(tǒng)的特點和使用方法了解/proc文件的特點和使用方法監(jiān)控系統(tǒng)狀態(tài),顯示系統(tǒng)中若干部件使用情況用圖形界面實現(xiàn)系統(tǒng)監(jiān)控狀態(tài)。5、設(shè)計并實現(xiàn)一個模擬的文件系統(tǒng)(選作)二、實驗一1、編一個C程序,其內(nèi)容為實現(xiàn)文件拷貝的功能要實現(xiàn)文件拷貝功能,主要用到的函數(shù)是fopen、fputc、fgetc。主要用到的頭文件:#include#include設(shè)計思路:由scanf函數(shù)獲取2個文件名,根據(jù)其文件名和路徑分別打開該2個文件,設(shè)置一個循環(huán),從源文件復(fù)制1個字節(jié)到目的文件,直到源文件指針到文件尾,最后關(guān)閉2個文件。在可能出錯的

3、地方需要加上相應(yīng)的'報錯代碼,并輸出錯誤信息,以方便調(diào)試。理清楚設(shè)計思路后,首先搭建linux下編程環(huán)境。安裝gcc: sudo apt-get install build-essential安裝codeblocks: sudo apt-get install codeblocks在集成開發(fā)環(huán)境Code:Blocks IDE下根據(jù)需求寫出相應(yīng)的源代碼copy.c ,將程序編譯并生成exe可執(zhí)行文件。然后手動創(chuàng)建一個測試文件test.txt ,運行copy.exe文件,并輸入篇二:華中科技大學(xué)計算機操作系統(tǒng)實驗報告實驗?zāi)康恼莆誏inux操作系統(tǒng)的使用方法;了解Linux系統(tǒng)內(nèi)核代碼結(jié)構(gòu);

4、掌握實例操作系統(tǒng)的實現(xiàn)方法。一、 實驗要求1、 掌握Linux操作系統(tǒng)的使用方法,包括鍵盤命令、系統(tǒng)調(diào)用;掌握在Linux下的編程環(huán)境。編一個C程序,其內(nèi)容為實現(xiàn)文件拷貝的功能;編一個C程序,其內(nèi)容為分窗口同時顯示三個并發(fā)進程的運行結(jié)果。要求用到Linux下的圖形庫。2、 掌握系統(tǒng)調(diào)用的實現(xiàn)過程,通過編譯內(nèi)核方法,增加一個新的系統(tǒng)調(diào)用。另編寫一個應(yīng)用程序,調(diào)用新增加的系統(tǒng)調(diào)用。實現(xiàn)的功能是:文件拷貝;3、 掌握增加設(shè)備驅(qū)動程序的方法。通過模塊方法,增加一個新的設(shè)備驅(qū)動程序,其功能可以簡單。實現(xiàn)字符設(shè)備的驅(qū)動;4、 了解和掌握/proc文件系統(tǒng)的特點和使用方法了解/proc文件的特點和使用方法監(jiān)

5、控系統(tǒng)狀態(tài),顯示系統(tǒng)中若干部件使用情況用圖形界面實現(xiàn)系統(tǒng)監(jiān)控狀態(tài)。5、 設(shè)計并實現(xiàn)一個模擬的文件系統(tǒng)(選作)二、 實驗一1、 編一個C程序,其內(nèi)容為實現(xiàn)文件拷貝的功能要實現(xiàn)文件拷貝功能,主要用到的函數(shù)是fopen、fputc、fgetc。主要用到的頭文件:#include#include設(shè)計思路:由scanf函數(shù)獲取2個文件名,根據(jù)其文件名和路徑分別打開該2個文件,設(shè)置一個循環(huán),從源文件復(fù)制1個字節(jié)到目的文件,直到源文件指針到文件尾,最后關(guān)閉2個文件。在可能出錯的地方需要加上相應(yīng)的報錯代碼,并輸出錯誤信息,以方便調(diào)試。理清楚設(shè)計思路后,首先搭建linux下編程環(huán)境。安裝gcc: sudo ap

6、t-get install build-essential安裝codeblocks: sudo apt-get install codeblocks在集成開發(fā)環(huán)境Code:Blocks IDE下根據(jù)需求寫出相應(yīng)的源代碼copy.c ,將程序編譯并生成exe可執(zhí)行文件。然后手動創(chuàng)建一個測試文件test.txt ,運行copy.exe文件,并輸入text.txt與target.txt。這樣就能將源文件test.txt復(fù)制到目標(biāo)文件target.txt程序源代碼 copy.c:#include#includeint main()char a20,b20;scanf("%s",a)

7、;get);scanf("%s",b);FILE *p=NULL,*q=NULL;p=fopen(a,"rb");if(p=NULL)printf("%s default",a);return 0;q=fopen(b,"wb+");char c;while(c=fgetc(p)!=EOF)fputc(c,q);printf("copy success");return 0;2、 編一個C程序,其內(nèi)容為分窗口同時顯示三個并發(fā)進程的運行結(jié)果。要求用到Linux下的圖形庫。 安裝Linux下的GTK+

8、: sudo apt-get install build-essential這將安裝gcc/g+/gdb/make 等基本編程工具sudo apt-get install gnome-core-devel這將安裝 libgtk2.0-dev libglib2.0-dev 等開發(fā)相關(guān)的庫文件 sudo apt-get install pkg-config用于在編譯GTK程序時自動找出頭文件及庫文件位置sudo apt-get install devhelp這將安裝 devhelp GTK文檔查看程序sudo apt-get install libglib2.0-doc libgtk2.0-doc

9、這將安裝 gtk/glib 的API參考手冊及其它幫助文檔sudo apt-get install glade libglade2-dev這將安裝基于GTK的界面GTK是開發(fā)Gnome窗口的c/c+語言圖形庫sudo apt-get install libgtk2.0*, gtk+2.0所需的所有文件統(tǒng)通下載安裝完畢編寫一個GTK+程序的基本步驟如下: 初始化Gtk 建立控件 登記消息與消息處理函數(shù) 執(zhí)行消息循環(huán)函數(shù)gtk_main()題名初始化主要使用的函數(shù)有 gtk_init(&argc,&argv);/啟動GTK gtk_window_new(GTK_WINDOW_TOP

10、LEVEL); /創(chuàng)建窗口 gtk_window_set_title(GTK_WINDOW(window),"標(biāo)題名"); /設(shè)置窗口標(biāo)gtk_widget_set_usize(window, 200, 200); /設(shè)置窗口大小 gtk_widget_show(window); /顯示窗口建立控件的一般流程/*創(chuàng)建表格準(zhǔn)備封裝*/ gtk_table_new ( /創(chuàng)建多少列g(shù)int rows,gint columns,gint homogeneous);/創(chuàng)建多少欄 /用來決定表格如何來定大小 /*這個函數(shù)是將表格table,結(jié)合到窗口window里*/ gtk_con

11、tainer_add(GTK_CONTAINER(window),table);gtk_widget_show(table); / 顯示該表格/*要把物件放進box中,可用以下函數(shù)*/void gtk_table_attach_defaults (GtkTable*table, /參數(shù)("table")是選定某表格GtkWidget*widget, /("child")是想放進去的物件gintleft_attach, /以下參數(shù)是指定把物件放在哪里, 及用多少個boxesgintright_attach,ginttop_attach,gintbottom_attach);在Code:Blocks IDE創(chuàng)建GTK+工程如下流程:首先在codeblocks選中File,然后選擇New,最后Project。出現(xiàn)如上圖所示界面。在該界面中選中GTK+Project然后Go進入下一步。繼續(xù)Next,直到如下圖輸入工程名稱與路徑。然后Next->Finish這樣,就創(chuàng)建了一個GTK+工程。直接運行剛才創(chuàng)建的GTK+工程中的默認(rèn)程序,得到一個包含2個按鈕

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論