前 言
Linux是近一两年来受人们比较关注的新生事物。它从一个大学生的课程设计变成了一个强大的操作系统,人们无不对它刮目相看。计算机产业的发展越来越快,现在正向着网络化高速地发展。Linux作为Internet的产物,更是代表着这一历史的潮流。对Linux进行学习、研究及其应用开发已经势在必行。
Linux不仅仅是代表着一个操作系统,而是代表着一个强大的有效的集成系统。在上面,我们不仅可以从事操作系统的研究,而且可以进行网络的应用;同时由于它也附带了许多免费的开发系统,在上面开发自己的应用程序也是非常方便的和高效的。这一切的一切使我选择了Linux,并且较早的投入到Linux的应用和开发上。
本实验系统是基于Linux的网络实验系统。在这个实验系统设计中,由于是使用Linux,故一些配置比较烦琐(在NT上只要几下鼠标就能解决的事也不例外)。但是正是这样对一个又一个的文本配置文件的操作,我对一些服务器设置的原理有了较低层的理解(对NT上为什么要那么做有更进一步的理解);同时由于Linux的程序的批处理能力很强,它上面的开发语言也十分强大,因而在实验程序的开发上相对要容易的很多(这一点体现了Linux的强大功能),一些在NT上实现的比较困难的事反而在Linux却很好的实现了。
本实验系统实际上是设计了一个小的Intranet,在上面可以模拟Intenet的操作,同时也可以进行真实的Internet的操作。同时,由于它在Linux上实现,
对以后再开设其他相关的网络、操作系统、软件工程、数据库开发等实验也是有很大用处的。
第一章 实验的整体认识和设计
第一节 Linux简介
Linux是一个类Unix的操作系统,它是由芬兰赫尔辛基大学的学生Linus Torvalds于1991年创建并无私的在因特网上发布,任何人只要遵守GPL版权,都可以免费使用和修改Linux。实际上,GPL要求的是完全的软件共享,你可从中获利,但你不能占为己有。经过因特网上的千千万万的志愿者对其的不断修改,八年后的今天,Linux已经变得强大无比!特别是去年下半年以来,IBM、Intel、Oracle、Sysbase、Borland,HP,SUN,Corel等商业软件厂商纷纷表示对Linux进行商业开发和技术支持,更使得Linux的商业价值越来越高。同时从今年起,Linux将在两个方向发展,即微型设备的嵌入式操作系统和桌面操作系统。IDC预测在2003年,Linux将成为Windows NT后的第二大操作系统。国内的一些公司(华胜、中软、四通等)也从事Linux的中文的扩展和应用开发,同时他们也感觉到国内Linux教育的必要性和紧迫性,迫切需要大量的中国Linux开发人员。
作为一个操作系统,Linux具有如下的优点:
1、它具有Unix的全部特点,Unix丰富的软件资源及C语言的平台可移植性使得其上的软件非常丰富。而且,由于Linux的流行,倒是其他的Unix平台移植Linux的应用程序。
2、Linux内置网络支持,其应用标准的TCP/IP协议,通过一个Ethernet网卡或Modem把自己和其他系统相连,就可访问Internet。其网络性能极其优秀,据统计美国130多万个web站点中,一半以上是运行着Apache的Linux系统。
3、它具有完美的多任务,能同时运行多个任务和访问多个设备。
4、Linux拥有性能优越的内存机制:在只有32兆的P133上,带动几十台工作站上网,你几乎感觉不到硬盘的交换活动。对工作站用户而言,感觉和专用服务器没什么两样,甚至比专用服务器快。
5、同IEEE POSIX.1标准兼容。
6、GNU软件支持:Linux能广泛的运行GNU计划的免费可用软件。
7、软件版本更新速度非常的快,每隔几天你就可看到新的内核版本。
8、拥有良好的性能之外,Linux最大优点就是其源代码公开和免费特性,用极低的费用任何人均可获得它并可任意修改它。
9、对国内用户而言,Linux上的中文应用软件也层出不穷,同时我们也见到了Linux中文版(XteamLinux及Turbo Linux中文版)的出台。
10、对高校用户来说,Linux上丰富的网络支持及其易于开发性,应用于网络教学具有较好的的必备的条件和较高的性价比。
可见,对Linux的研究和应用,并应用于教学中,对网络课程的学习有很好的帮助;同时对于其他课程的教研工作也是有很大的作用。
第二节 Linux在此课题中的作用
在本课题中,我把Linux作为实验服务器软件使用。之所以没有在客户机上也使用Linux,一方面考虑Linux在应用软件上的缺陷(不是没有相应软件,只是由于操作较繁琐,界面也不友好),一方面也考虑到实验室的条件和实验的易于管理性。
以下是对这个课题的整体框架图:
说明:
在对实验系统有相当的认识后,结合TCP/IP和Linux的相关知识进行系统的设计和实现。 对系统进行网络服务程序的设置,以使它们能较好的提供实验服务。 对实验进行控制,由相应的程序完成。 学生上机时,必须通过帐号申请程序申请实验帐号,并要填写必要的学生信息;实验时管理老师可通过程序查看系统中用户的情况。 每次学生实验完成后,管理老师可通过管理程序删除实验用户帐号及其数据,为下一次实验做准备。 第三节 实验系统的整体规划
实验系统采用Client/Server模式设计,充分体现了Linux的网络功能及突出实验的性质。所有的实验的服务程序均运行在Linux服务器上,客户端程序都基于界面较好的Windwos系统。客户端通过相应的客户程序使用TCP/IP相关协议和服务器通信。可以说,整个系统就是一个Internet的模型。
实验系统图示如图一:
主要技术说明:
整个系统不对已有的硬件系统进行任何改动,只要求在客户计算机上进行相应的设置的改动。 实验所有的服务器端软件都运行在Linux上。 Linux服务器提供DNS服务,每台计算机都把DNS指向Linux服务器。 客户端通过TCP/IP相关协议和服务器通信,客户机安装相应的软件进行实验。 客户端程序为界面较好的Windows程序,有利于实验者进行实验。
图一
实验者必须通过申请实验帐号,进行必要的注册信息的输入方能进行实验。这个功能通过CGI在web上实现,同时这个程序把相应的用户信息保存在文件中;通过另外的一个CGI,管理员可以得到实验用户的信息。 实验的管理由一个管理脚本实现,主要功能为:删除用户的实验数据,清除一些日志文件,清理一些服务器软件的缓存数据。 每个用户都只有一定的磁盘空间,超过一定数量,系统将拒绝用户再进行数据的上载,同时删除一些用户的数据。