华科操作系统实验报告 篇一:华中科技大学计算机操作系统实验报告 实验目的 掌握 Linux 操作系统的使用方法; 了解 Linux 系统内核代码结构; 掌握实例操作系统的实现方法。 一、 实验要求 1、 掌握 Linux 操作系统的使用方法,包括键盘命令、系统调用;掌握在 Linux 下的编程环境。 ? 编一个 C 程序,其内容为实现文件拷贝的功能; ? 编一个 C 程序,其内容为分窗口同时显示三个并发进程的运行结 果。要求用到 Linux 下的图形库。 2、 掌握系统调用的实现过程,通过编译内核方法,增加一个新的系统调用。 另编写一个应用程序,调用新增加的系统调用。 实现的功能是:文件拷贝; 3、 掌握增加设备驱动程序的方法。通过模块方法,增加一个新的设备驱动 程序,其功能可以简单。 实现字符设备的驱动; 4、 了解和掌握/proc 文件系统的特点和使用方法 ? 了解/proc 文件的特点和使用方法 ? 监控系统状态,显示系统中若干部件使用情况 ? 用图形界面实现系统监控状态。 5、 设计并实现一个模拟的文件系统(选作) 二、 实验一 1、 编一个 C 程序,其内容为实现文件拷贝的功能 要 实 现 文 件 拷 贝 功 能 , 主 要 用 到 的 函 数 是fopen、fputc、fgetc。 主要用到的头文件: #include stdio.h #include stdlib.h 设计思路:由 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 stdio.h #include stdlib.h int main() { char a[20],b[20]; scanf( %s ,a); getchar(); scanf( %s ,b); FILE *p=NULL,*q=NULL; p=fopen(a, rb if(p==NULL){printf( %s default...