欧美日韩不卡一区二区三区,www.蜜臀.com,高清国产一区二区三区四区五区,欧美日韩三级视频,欧美性综合,精品国产91久久久久久,99a精品视频在线观看

操作系統(tǒng)

華中科技大學(xué)計(jì)算機(jī)操作系統(tǒng)實(shí)驗(yàn)報(bào)告

時(shí)間:2025-04-21 06:15:51 操作系統(tǒng) 我要投稿
  • 相關(guān)推薦

華中科技大學(xué)計(jì)算機(jī)操作系統(tǒng)實(shí)驗(yàn)報(bào)告兩篇

  篇一:華中科技大學(xué)計(jì)算機(jī)操作系統(tǒng)實(shí)驗(yàn)報(bào)告

華中科技大學(xué)計(jì)算機(jī)操作系統(tǒng)實(shí)驗(yàn)報(bào)告兩篇

  實(shí)驗(yàn)?zāi)康?/p>

  掌握Linux操作系統(tǒng)的使用方法;

  了解Linux系統(tǒng)內(nèi)核代碼結(jié)構(gòu);

  掌握實(shí)例操作系統(tǒng)的實(shí)現(xiàn)方法。

  一、實(shí)驗(yàn)要求

  1、掌握Linux操作系統(tǒng)的使用方法,包括鍵盤(pán)命令、系統(tǒng)調(diào)用;掌握在Linux

  下的編程環(huán)境。

  編一個(gè)C程序,其內(nèi)容為實(shí)現(xiàn)文件拷貝的功能;

  編一個(gè)C程序,其內(nèi)容為分窗口同時(shí)顯示三個(gè)并發(fā)進(jìn)程的運(yùn)行結(jié)

  果。要求用到Linux下的圖形庫(kù)。

  2、掌握系統(tǒng)調(diào)用的實(shí)現(xiàn)過(guò)程,通過(guò)編譯內(nèi)核方法,增加一個(gè)新的系統(tǒng)調(diào)用。

  另編寫(xiě)一個(gè)應(yīng)用程序,調(diào)用新增加的系統(tǒng)調(diào)用。

  實(shí)現(xiàn)的功能是:文件拷貝;

  3、掌握增加設(shè)備驅(qū)動(dòng)程序的方法。通過(guò)模塊方法,增加一個(gè)新的設(shè)備驅(qū)動(dòng)

  程序,其功能可以簡(jiǎn)單。

  實(shí)現(xiàn)字符設(shè)備的驅(qū)動(dòng);

  4、了解和掌握/proc文件系統(tǒng)的特點(diǎn)和使用方法

  了解/proc文件的特點(diǎn)和使用方法

  監(jiān)控系統(tǒng)狀態(tài),顯示系統(tǒng)中若干部件使用情況

  用圖形界面實(shí)現(xiàn)系統(tǒng)監(jiān)控狀態(tài)。

  5、設(shè)計(jì)并實(shí)現(xiàn)一個(gè)模擬的文件系統(tǒng)(選作)

  二、實(shí)驗(yàn)一

  1、編一個(gè)C程序,其內(nèi)容為實(shí)現(xiàn)文件拷貝的功能

  要實(shí)現(xiàn)文件拷貝功能,主要用到的函數(shù)是fopen、fputc、fgetc。

  主要用到的頭文件:

  #include

  #include

  設(shè)計(jì)思路:由scanf函數(shù)獲取2個(gè)文件名,根據(jù)其文件名和路徑分別打開(kāi)該2個(gè)文件,設(shè)置一個(gè)循環(huán),從源文件復(fù)制1個(gè)字節(jié)到目的文件,直到源文件指針到文件尾,最后關(guān)閉2個(gè)文件。

  在可能出錯(cuò)的地方需要加上相應(yīng)的報(bào)錯(cuò)代碼,并輸出錯(cuò)誤信息,以方便調(diào)試。

  理清楚設(shè)計(jì)思路后,首先搭建linux下編程環(huán)境。

  安裝gcc: sudo apt-get install build-essential

  安裝codeblocks: sudo apt-get install codeblocks

  在集成開(kāi)發(fā)環(huán)境Code::Blocks IDE下根據(jù)需求寫(xiě)出相應(yīng)的源代碼copy.c ,將程序編譯并生成exe可執(zhí)行文件。

  然后手動(dòng)創(chuàng)建一個(gè)測(cè)試文件test.txt ,運(yùn)行copy.exe文件,并輸入

  篇二:華中科技大學(xué)計(jì)算機(jī)操作系統(tǒng)實(shí)驗(yàn)報(bào)告

  實(shí)驗(yàn)?zāi)康?/p>

  掌握Linux操作系統(tǒng)的使用方法;

  了解Linux系統(tǒng)內(nèi)核代碼結(jié)構(gòu);

  掌握實(shí)例操作系統(tǒng)的實(shí)現(xiàn)方法。

  一、 實(shí)驗(yàn)要求

  1、 掌握Linux操作系統(tǒng)的使用方法,包括鍵盤(pán)命令、系統(tǒng)調(diào)用;掌握在Linux

  下的編程環(huán)境。

  編一個(gè)C程序,其內(nèi)容為實(shí)現(xiàn)文件拷貝的功能;

  編一個(gè)C程序,其內(nèi)容為分窗口同時(shí)顯示三個(gè)并發(fā)進(jìn)程的運(yùn)行結(jié)

  果。要求用到Linux下的圖形庫(kù)。

  2、 掌握系統(tǒng)調(diào)用的實(shí)現(xiàn)過(guò)程,通過(guò)編譯內(nèi)核方法,增加一個(gè)新的系統(tǒng)調(diào)用。

  另編寫(xiě)一個(gè)應(yīng)用程序,調(diào)用新增加的系統(tǒng)調(diào)用。

  實(shí)現(xiàn)的功能是:文件拷貝;

  3、 掌握增加設(shè)備驅(qū)動(dòng)程序的方法。通過(guò)模塊方法,增加一個(gè)新的設(shè)備驅(qū)動(dòng)

  程序,其功能可以簡(jiǎn)單。

  實(shí)現(xiàn)字符設(shè)備的驅(qū)動(dòng);

  4、 了解和掌握/proc文件系統(tǒng)的特點(diǎn)和使用方法

  了解/proc文件的特點(diǎn)和使用方法

  監(jiān)控系統(tǒng)狀態(tài),顯示系統(tǒng)中若干部件使用情況

  用圖形界面實(shí)現(xiàn)系統(tǒng)監(jiān)控狀態(tài)。

  5、 設(shè)計(jì)并實(shí)現(xiàn)一個(gè)模擬的文件系統(tǒng)(選作)

  二、 實(shí)驗(yàn)一

  1、 編一個(gè)C程序,其內(nèi)容為實(shí)現(xiàn)文件拷貝的功能

  要實(shí)現(xiàn)文件拷貝功能,主要用到的函數(shù)是fopen、fputc、fgetc。

  主要用到的頭文件:

  #include

  #include

  設(shè)計(jì)思路:由scanf函數(shù)獲取2個(gè)文件名,根據(jù)其文件名和路徑分別打開(kāi)該2個(gè)文件,設(shè)置一個(gè)循環(huán),從源文件復(fù)制1個(gè)字節(jié)到目的文件,直到源文件指針到文件尾,最后關(guān)閉2個(gè)文件。

  在可能出錯(cuò)的地方需要加上相應(yīng)的報(bào)錯(cuò)代碼,并輸出錯(cuò)誤信息,以方便調(diào)試。

  理清楚設(shè)計(jì)思路后,首先搭建linux下編程環(huán)境。

  安裝gcc: sudo apt-get install build-essential

  安裝codeblocks: sudo apt-get install codeblocks

  在集成開(kāi)發(fā)環(huán)境Code::Blocks IDE下根據(jù)需求寫(xiě)出相應(yīng)的源代碼copy.c ,將程序編譯并生成exe可執(zhí)行文件。

  然后手動(dòng)創(chuàng)建一個(gè)測(cè)試文件test.txt ,運(yùn)行copy.exe文件,并輸入

  text.txt與target.txt。

  這樣就能將源文件test.txt復(fù)制到目標(biāo)文件target.txt

  程序源代碼 copy.c:

  #include

  #include

  int main()

  {

  char a[20],b[20];

  scanf("%s",a);

  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、 編一個(gè)C程序,其內(nèi)容為分窗口同時(shí)顯示三個(gè)并發(fā)進(jìn)程的運(yùn)行結(jié)果。要

  求用到Linux下的圖形庫(kù)。 安裝Linux下的GTK+: sudo apt-get install build-essential

  這將安裝gcc/g++/gdb/make 等基本編程工具

  sudo apt-get install gnome-core-devel

  這將安裝 libgtk2.0-dev libglib2.0-dev 等開(kāi)發(fā)相關(guān)的庫(kù)文件 sudo apt-get install pkg-config

  用于在編譯GTK程序時(shí)自動(dòng)找出頭文件及庫(kù)文件位置

  sudo apt-get install devhelp

  這將安裝 devhelp GTK文檔查看程序

  sudo apt-get install libglib2.0-doc libgtk2.0-doc

  這將安裝 gtk/glib 的API參考手冊(cè)及其它幫助文檔

  sudo apt-get install glade libglade2-dev

  這將安裝基于GTK的界面GTK是開(kāi)發(fā)Gnome窗口的c/c++語(yǔ)言圖形庫(kù)

  sudo apt-get install libgtk2.0*, gtk+2.0

  所需的所有文件統(tǒng)通下載安裝完畢

  編寫(xiě)一個(gè)GTK+程序的基本步驟如下: 初始化Gtk 建立控件 登記消息與消息處理函數(shù) 執(zhí)行消息循環(huán)函數(shù)gtk_main()

  題名

  初始化主要使用的函數(shù)有 gtk_init(&argc,&argv);//啟動(dòng)GTK gtk_window_new(GTK_WINDOW_TOPLEVEL); //創(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)建多少列

  gint rows,

  gint columns,

  gint homogeneous);

  //創(chuàng)建多少欄 //用來(lái)決定表格如何來(lái)定大小 /*這個(gè)函數(shù)是將表格table,結(jié)合到窗口window里*/ gtk_container_add(GTK_CONTAINER(window),table);

  gtk_widget_show(table); // 顯示該表格

  /*要把物件放進(jìn)box中,可用以下函數(shù)*/

  void gtk_table_attach_defaults (

  GtkTable*table, //參數(shù)("table")是選定某表格

  GtkWidget*widget, //("child")是想放進(jìn)去的物件

  gintleft_attach, //以下參數(shù)是指定把物件放在哪里, 及用多少個(gè)boxes

  gintright_attach,

  ginttop_attach,

  gintbottom_attach);

  在Code::Blocks IDE創(chuàng)建GTK+工程如下流程:

  首先在codeblocks選中File,然后選擇New,最后Project。出現(xiàn)如上圖所示界面。

  在該界面中選中GTK+Project然后Go進(jìn)入下一步。

  繼續(xù)Next,直到如下圖輸入工程名稱與路徑。

  然后Next->Finish

  這樣,就創(chuàng)建了一個(gè)GTK+工程。

  直接運(yùn)行剛才創(chuàng)建的GTK+工程中的默認(rèn)程序,得到一個(gè)包含2個(gè)按鈕的窗口界面應(yīng)用,如下圖所示:

  此時(shí),可以按此模板修改源代碼,也可以刪除重寫(xiě)。

  并發(fā)進(jìn)程:

  創(chuàng)建3個(gè)如上GTK+工程,生成3個(gè)不同的exe文件。

  if ((p1=fork()) == 0)

  {

  execv("../1",NULL);

  }

  else if ((p2=fork())==0)

  {

  execv("../2",NULL);

  }

  else if ((p3=fork()==0))

【華中科技大學(xué)計(jì)算機(jī)操作系統(tǒng)實(shí)驗(yàn)報(bào)告】相關(guān)文章:

華中科技大學(xué)碩士專業(yè)解析08-06

2017華中科技大學(xué)全國(guó)排名10-05

2015最新的華中科技大學(xué)專業(yè)排名11-04

華中科技大學(xué)語(yǔ)文試題及答案參考09-28

2015華中科技大學(xué)各專業(yè)在全國(guó)排名08-09

2017年華中科技大學(xué)專業(yè)排名09-17

2015華中科技大學(xué)各專業(yè)在全國(guó)排名08-30

2014年華中科技大學(xué)排名08-26

2014年華中科技大學(xué)招生計(jì)劃11-11