[华中科技大学计算机操作系统实验报告]华中科技大学计算机操作系统实验报告两篇

更新时间:2019-01-19 来源:总结报告 点击:

【www.0477edu.com--总结报告】

  篇一:华中科技大学计算机操作系统实验报告

  实验目的

  掌握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文件,并输入

  篇二:华中科技大学计算机操作系统实验报告

  实验目的

  掌握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文件,并输入

  text.txt与target.txt。

  这样就能将源文件test.txt复制到目标文件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、 编一个C程序,其内容为分窗口同时显示三个并发进程的运行结果。要

  求用到Linux下的图形库。 安装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 等开发相关的库文件 sudo apt-get install pkg-config

  用于在编译GTK程序时自动找出头文件及库文件位置

  sudo apt-get install devhelp

  这将安装 devhelp GTK文档查看程序

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

  这将安装 gtk/glib 的API参考手册及其它帮助文档

  sudo apt-get install glade libglade2-dev

  这将安装基于GTK的界面GTK是开发Gnome窗口的c/c++语言图形库

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

  所需的所有文件统通下载安装完毕

  编写一个GTK+程序的基本步骤如下: 初始化Gtk 建立控件 登记消息与消息处理函数 执行消息循环函数gtk_main()

  题名

  初始化主要使用的函数有 gtk_init(&argc,&argv);//启动GTK gtk_window_new(GTK_WINDOW_TOPLEVEL); //创建窗口 gtk_window_set_title(GTK_WINDOW(window),"标题名"); //设置窗口标gtk_widget_set_usize(window, 200, 200); //设置窗口大小 gtk_widget_show(window); //显示窗口建立控件的一般流程

  /*创建表格准备封装*/ gtk_table_new ( //创建多少列

  gint rows,

  gint columns,

  gint homogeneous);

  //创建多少栏 //用来决定表格如何来定大小 /*这个函数是将表格table,结合到窗口window里*/ gtk_container_add(GTK_CONTAINER(window),table);

  gtk_widget_show(table); // 显示该表格

  /*要把物件放进box中,可用以下函数*/

  void gtk_table_attach_defaults (

  GtkTable*table, //参数("table")是选定某表格

  GtkWidget*widget, //("child")是想放进去的物件

  gintleft_attach, //以下参数是指定把物件放在哪里, 及用多少个boxes

  gintright_attach,

  ginttop_attach,

  gintbottom_attach);

  在Code::Blocks IDE创建GTK+工程如下流程:

  首先在codeblocks选中File,然后选择New,最后Project。出现如上图所示界面。

  在该界面中选中GTK+Project然后Go进入下一步。

  继续Next,直到如下图输入工程名称与路径。

  然后Next->Finish

  这样,就创建了一个GTK+工程。

  直接运行刚才创建的GTK+工程中的默认程序,得到一个包含2个按钮的窗口界面应用,如下图所示:

  此时,可以按此模板修改源代码,也可以删除重写。

  并发进程:

  创建3个如上GTK+工程,生成3个不同的exe文件。

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

  {

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

  }

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

  {

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

  }

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

本文来源:http://www.0477edu.com/wendang/43659/

为您推荐

开一家水果店市场前景分析报告|开一家水果店市场前景分析

现在市场上开水果店的人越来越多,在开水果店之前需要做好市场的前景分析。下面烟花美文网小编为你整理水果店的市场前景分析,希望对你有所帮助!开水果店的市场前景分析现在水果生意利润毛利大约20%。我们在进货时要特别的注意。在进芦柑时,只靠品尝是没什么用的,识货的人能看出芦柑水分足不足,甜不甜,里面的核多不

2019-01-16 04:19:40   开一家水果店流程  

饰品店销售总结|小饰品店经营的销售渠道有哪些

市场上选择小饰品店经营创业的人数在不断增多的,因此也要掌握一定的销售渠道才能更好的创业。下面就让烟花美文网小编给大家分享一下小饰品店的知识吧,希望能对你有帮助!小饰品店经营的销售渠道主要是因为市场上选择小饰品店经营创业的人数在不断增多的!那么创业者在经营小饰品店经营的时候,针对于店铺需要掌握的空白商

2019-01-14 11:19:40   小龙虾销售渠道  

[天然乳胶床垫优缺点]乳胶床垫的优缺点详细解读

乳胶床垫是近几年才开始兴起的。有很多的乳胶床垫广告一直在夸大乳胶床垫的优点,对于乳胶床垫的缺点却很少提到。以下是烟花美文网小编为你整理的乳胶床垫优缺点分析,希望能帮到你。乳胶床垫优缺点分析优点:1 防螨防菌,据医学报告指出,枕头、被褥、床褥是细菌和尘螨滋生的温床,而枕头用上三年便含有10%的霉菌、螨

2018-10-10 16:19:40   天然乳胶床垫  

电风扇和空调扇哪个好_空调扇和电风扇的区别有哪些

夏天已经到了,降温已经成为人们日常生活中很重要的一件事情。空调天天开电费贵,因而有更多的人会选择空调扇和电风扇。下面是小编给大家整理的空调扇和电风扇的区别有哪些,希望对大家有所帮助!空调扇和电风扇的区别首先,二者都不是本身制冷,这一点也是它们比空调价格低的原因。具体二者的不同总结如下:1 外观不同,

2018-09-30 19:19:40   电风扇改装空调扇  

[幼儿园教师个人总结]幼儿园六一亲子游戏最好玩

亲子游戏可以加强亲子之间的情感联系,趁着儿童节到阿里,不妨和自己的孩子玩亲子游戏吧。小编为大家力荐了幼儿园六一最好玩亲子游戏,给大家作为参考,欢迎阅读!幼儿园六一创意亲子游戏骑马练平衡力适合年龄:2岁以上用具:枕头两个玩法:家长只要将两个枕头叠起,放在床上,然后让小朋友如骑马般坐在枕头上,不停摇动身

2018-09-01 10:19:40   幼儿园六一亲子游戏