华中科技大学计算机操作系统实验报告_第1页
华中科技大学计算机操作系统实验报告_第2页
华中科技大学计算机操作系统实验报告_第3页
华中科技大学计算机操作系统实验报告_第4页
华中科技大学计算机操作系统实验报告_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、华中科技大学计算机操作系统实验报告篇一:华中科技大学计算机操作系统实验报告实验目的掌握Linux操作系统的使用方法;了解Linux系统内核代码结构;掌握实例操作系统的实现方法。一、实验要求1、掌握Linux操作系统的使用方法,包括键盘命令、系统调用;掌握在Linux下的编程环境。编一个C程序,其内容为实现文件拷贝的功能;编一个C程序,其内容为分窗口同时显示三个并发进程的运行结果。要求用到Linux下的图形库。2、掌握系统调用的实现过程,通过编译内核方法,增加一个新的系统调用。另编写一个应用程序,调用新增加的系统调用。实现的功能是:文件拷贝;3、掌握增加设备驱动程序的方法。通过模块方法,增加一个

2、新的设备驱动程序,其功能可以简单。实现字符设备的驱动;4、了解和掌握/proc文件系统的特点和使用方法了解/proc文件的特点和使用方法监控系统状态,显示系统中若干部件使用情况用图形界面实现系统监控状态。5、设计并实现一个模拟的文件系统(选作)二、实验一1、编一个C程序,其内容为实现文件拷贝的功能要实现文件拷贝功能,主要用到的函数是fopen、fputc、fgetc。主要用到的头文件:#include#include设计思路:由scanf函数获取2个文件名,根据其文件名和路径分别打开该2个文件,设置一个循环,从源文件复制1个字节到目的文件,直到源文件指针到文件尾,最后关闭2个文件。在可能出错的

3、地方需要加上相应的'报错代码,并输出错误信息,以方便调试。理清楚设计思路后,首先搭建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系统内核代码结构;

4、掌握实例操作系统的实现方法。一、 实验要求1、 掌握Linux操作系统的使用方法,包括键盘命令、系统调用;掌握在Linux下的编程环境。编一个C程序,其内容为实现文件拷贝的功能;编一个C程序,其内容为分窗口同时显示三个并发进程的运行结果。要求用到Linux下的图形库。2、 掌握系统调用的实现过程,通过编译内核方法,增加一个新的系统调用。另编写一个应用程序,调用新增加的系统调用。实现的功能是:文件拷贝;3、 掌握增加设备驱动程序的方法。通过模块方法,增加一个新的设备驱动程序,其功能可以简单。实现字符设备的驱动;4、 了解和掌握/proc文件系统的特点和使用方法了解/proc文件的特点和使用方法监

5、控系统状态,显示系统中若干部件使用情况用图形界面实现系统监控状态。5、 设计并实现一个模拟的文件系统(选作)二、 实验一1、 编一个C程序,其内容为实现文件拷贝的功能要实现文件拷贝功能,主要用到的函数是fopen、fputc、fgetc。主要用到的头文件:#include#include设计思路:由scanf函数获取2个文件名,根据其文件名和路径分别打开该2个文件,设置一个循环,从源文件复制1个字节到目的文件,直到源文件指针到文件尾,最后关闭2个文件。在可能出错的地方需要加上相应的报错代码,并输出错误信息,以方便调试。理清楚设计思路后,首先搭建linux下编程环境。安装gcc: sudo ap

6、t-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#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程序,其内容为分窗口同时显示三个并发进程的运行结果。要求用到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 等开发相关的库文件 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是开发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_TOP

10、LEVEL); /创建窗口 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_con

11、tainer_add(GTK_CONTAINER(window),table);gtk_widget_show(table); / 显示该表格/*要把物件放进box中,可用以下函数*/void gtk_table_attach_defaults (GtkTable*table, /参数("table")是选定某表格GtkWidget*widget, /("child")是想放进去的物件gintleft_attach, /以下参数是指定把物件放在哪里, 及用多少个boxesgintright_attach,ginttop_attach,gintbottom_attach);在Code:Blocks IDE创建GTK+工程如下流程:首先在codeblocks选中File,然后选择New,最后Project。出现如上图所示界面。在该界面中选中GTK+Project然后Go进入下一步。继续Next,直到如下图输入工程名称与路径。然后Next->Finish这样,就创建了一个GTK+工程。直接运行刚才创建的GTK+工程中的默认程序,得到一个包含2个按钮

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论