网络操作系统课程设计推荐.doc

  1. 1、本文档共21页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
网络操作系统课程设计推荐

??? 一共有4个部分,但最后一个代码量过大,没有写出来,不过我上传到了csdn上,叫“ubuntu下用gtk实现仿windows资源管理器”比较有借鉴意义的可能就是后3个吧。 一、目的 1、掌握Linux操作系统的使用方法; 2、了解Linux系统内核代码结构; 3、掌握实例操作系统的实现方法。 ? 二、实验内容 1、掌握Linux操作系统的使用方法,包括键盘命令、系统调用;掌握在Linux下的编程环境。 编一个C程序,其内容为实现文件拷贝的功能; 编一个C程序,其内容为分窗口同时显示三个并发进程的运行结果。要求用到Linux下的图形库。 ? 2、掌握系统调用的实现过程,通过编译内核方法,增加一个新的系统调用。另编写一个应用程序,调用新增加的系统调用。 实现的功能是:文件拷贝; ? 3、掌握增加设备驱动程序的方法。通过模块方法,增加一个新的设备驱动程序,其功能可以简单。 实现字符设备的驱动 ? 4、了解和掌握/proc文件系统的特点和使用方法 了解/proc文件的特点和使用方法 监控系统状态,显示系统中若干部件使用情况 用图形界面实现系统监控状态。 ? 5、文件系统(选作) ? 三、系统环境 1、硬件环境: ?????????处理器:Intel(R)??Core(TM)2??Duo??CPU??T7250??@2.00GHz??2.00GHz ?????????内存(RAM):1526MB 2、软件环境: ?????????操作系统:ubuntu9.10 ?????????内核版本:linux2.6.32.10 ? 四、设计与实现 ?????????1.1、文件拷贝 ?????????文件拷贝函数本身并不是很难,主要是用到了一些现有的函数如fprintf等。在最开始写这个函数的时候,我只写了打开、创建和拷贝的那一部分,代码量很少,没有过多的去考虑当出现了错误时的情况。后来我在网上接触到了一些比较优秀的拷贝代码,意识到了对于拷贝失败时的情况要输出错误信息,就增加了比较多的条件判断和错误信息输出,才有了这个最终的版本。 编译时使用的命令:gcc??-o??test1_1??test1_1.c 运行时使用的命令:./test1_1 ? 源代码 #include unistd.h #include fcntl.h #include stdio.h #include sys/types.h #include sys/stat.h #include errno.h #include string.h #define BUFFER_SIZE 1024???//缓冲区大小 int main(int argc,char **argv) { ?????????int from_fd,to_fd; ?????????int bytes_read,bytes_write; ?????????char buffer[BUFFER_SIZE];???//设定一个缓冲区 ?????????char *ptr; ?????????if(argc!=3)????//三个参数 ?????????{ ???????????????????fprintf(stderr,Usage:%s fromfile tofile\n\a,argv[0]); ???????????????????return(-1); ?????????} ?????????/*?打开源文件?*/ ?????????if((from_fd=open(argv[1],O_RDONLY))==-1) ?????????{ ???????????????????fprintf(stderr,Open %s Error:%s\n,argv[1],strerror(errno)); ???????????????????return(-1); ?????????} ?????????/*?创建目的文件?*/ ?????????if((to_fd=open(argv[2],O_WRONLY|O_CREAT,S_IRUSR|S_IWUSR))==-1) ?????????{ ???????????????????fprintf(stderr,Open %s Error:%s\n,argv[2],strerror(errno)); ???????????????????return(-1); ?????????} ? ?????????while(bytes_read=read(from_fd,buffer,BUFFER_SIZE)) ?????????{ ???????????????????/*?一个致命的错误发生了?*/ ???????????????????if((bytes_read==-1)(e

文档评论(0)

bodkd + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档