网络操作系统课程设计

网络操作系统课程设计

ID:860601

大小:995.53 KB

页数:21页

时间:2017-09-21

网络操作系统课程设计_第1页
网络操作系统课程设计_第2页
网络操作系统课程设计_第3页
网络操作系统课程设计_第4页
网络操作系统课程设计_第5页
资源描述:

《网络操作系统课程设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、一共有4个部分,但最后一个代码量过大,没有写出来,不过我上传到了csdn上,叫“ubuntu下用gtk实现仿windows资源管理器”比较有借鉴意义的可能就是后3个吧。一、目的1、掌握Linux操作系统的使用方法;2、了解Linux系统内核代码结构;3、掌握实例操作系统的实现方法。 二、实验内容1、掌握Linux操作系统的使用方法,包括键盘命令、系统调用;掌握在Linux下的编程环境。编一个C程序,其内容为实现文件拷贝的功能;编一个C程序,其内容为分窗口同时显示三个并发进程的运行结果。要求用到Linux下的图形库。 2、掌握系统调用的实现过程,通过编

2、译内核方法,增加一个新的系统调用。另编写一个应用程序,调用新增加的系统调用。实现的功能是:文件拷贝; 3、掌握增加设备驱动程序的方法。通过模块方法,增加一个新的设备驱动程序,其功能可以简单。实现字符设备的驱动 4、了解和掌握/proc文件系统的特点和使用方法了解/proc文件的特点和使用方法监控系统状态,显示系统中若干部件使用情况用图形界面实现系统监控状态。 5、文件系统(选作) 三、系统环境1、硬件环境:         处理器:Intel(R)  Core(TM)2  Duo  CPU  T7250  @2.00GHz  2.00GHz     

3、    内存(RAM):1526MB2、软件环境:         操作系统:ubuntu9.10         内核版本:linux2.6.32.10 四、设计与实现         1.1、文件拷贝         文件拷贝函数本身并不是很难,主要是用到了一些现有的函数如fprintf等。在最开始写这个函数的时候,我只写了打开、创建和拷贝的那一部分,代码量很少,没有过多的去考虑当出现了错误时的情况。后来我在网上接触到了一些比较优秀的拷贝代码,意识到了对于拷贝失败时的情况要输出错误信息,就增加了比较多的条件判断和错误信息输出,才有了这个最终的版本

4、。编译时使用的命令:gcc  -o  test1_1  test1_1.c运行时使用的命令:./test1_1 源代码#include#include#include#include#include#include#include#defineBUFFER_SIZE1024   //缓冲区大小intmain(intargc,char**argv){         intfrom_fd,to_fd;     

5、    intbytes_read,bytes_write;         charbuffer[BUFFER_SIZE];   //设定一个缓冲区         char*ptr;         if(argc!=3)    //三个参数         {                   fprintf(stderr,"Usage:%sfromfiletofilea",argv[0]);                   return(-1);         }         /* 打开源文件 */         if((

6、from_fd=open(argv[1],O_RDONLY))==-1)         {                   fprintf(stderr,"Open%sError:%s",argv[1],strerror(errno));                   return(-1);         }         /* 创建目的文件 */         if((to_fd=open(argv[2],O_WRONLY

7、O_CREAT,S_IRUSR

8、S_IWUSR))==-1)         {            

9、       fprintf(stderr,"Open%sError:%s",argv[2],strerror(errno));                   return(-1);         }          while(bytes_read=read(from_fd,buffer,BUFFER_SIZE))         {                   /* 一个致命的错误发生了 */                   if((bytes_read==-1)&&(errno!=EINTR))break;      

10、             elseif(bytes_read>0)                   { 

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。