Linux 版 (精华区)
发信人: tcpip (高级草包), 信区: Linux
标 题: 公报11-的 LINUX
发信站: 紫 丁 香 (Wed May 3 09:24:36 2000) WWW-POST
课堂里的 LINUX
作者:Alan Ward 译者:Hao Xia
------------------------------------------------------------------------------
--
目前状况:
我在一所中学里管理计算机机房,机房里共有14台奔腾机运行Windows 98通过以太网联网
,用于Windows、Works、Office和编程基础的教学。
这个学期我打算向高年级的学生(17到18岁)介绍UNIX,具体的说就是Linux。除了通常
用户的工作外,我还希望让他们初步接触一下X环境下的编程,例如画正弦曲线。此外,
我还希望他们能够学习使用UNIX上的数学软件,Gnoplot和Octave。
但是,奔腾机上还是应该继续跑Windows--因为低年级的学生(16,17岁)和一般工作
人员不熟悉Linux,短期之内也不可能熟悉。
于是,我从各种途径搞到了这样一些机器:一台486 DX2(即将成为我们的服务器)、几
台386 和486,都是更有年头了。最后,我还有希望弄到一台主频中等的奔腾机。这些机
器最多只有16M内存。
背景情况:学校当局里还有人不习惯免费或者自由计算机系统的概念,那似乎违背了多年
来的“传统”。这倒是Linux进入课堂所面临的最大挑战。
------------------------------------------------------------------------------
--
解决方法:
我从两方面人手:
在Linux下把退役的386和486配置成X终端,因为X图形显示协议是网络透明的。远地运行
的应用程序(X client客户程序)可以显示在本地的显示程序(X server,服务器)上。
在奔腾机上安装Windows的X服务器。因为不能删Windows,硬盘空间紧张,而且坦率地说
,重新分区也太麻烦了。
386和486做X终端
尽管这些老机器的配置各不相同,但最“好”的配置大致就是下面这样了:
486 DX 33MHz CPU
4M内存
40M硬盘
1M VGA显卡
14寸显示器(有彩色也有黑白)
总而言之,硬件是80年代的MS-DOS水平,因此我们的软件配置必须尽量紧凑。
为了节省空间,我选择了1.2.13版本的老内核,这样既省硬盘空间又省内存,而且没有模
块,启动也快一些。安装使用的是老的Slackware,只选装了A和X系列(基本操作系统和
基本X系统)。Slackware做这种项目是最方便不过了,选择安装什么东西特别简单,而且
如果你不能使用NFS安装的话,只有它能从软盘安装。
硬盘分区是这样的:34M划给操作系统,6M划给盘交换区(SWAP)。我格式化硬盘时使用
了1024字节的inode,这也许是犯了一个错误。df报告硬盘使用了31K inode中的28K,34M
的硬盘已经用掉了98%!。内存在一般状况下的使用量为7M,3.5M物理内存,3.5盘交换
区。
通常一个学生在这样一台机器上运行的X程序如下(大多数通过脚本自动执行):
startx (.login中指定,我们使用tcsh而不是bash)
xterm (在.xinitrc中指定)
xhost 服务器IP (授权允许服务器上的X客户程序连接本地显示)
rsh 服务器IP (远程登录到服务器)
xterm -display "本机IP":0.0 (服务器上启动一个X终端到本地显示)
exit (退出到服务器的rlogin)
...
Windows上运行的X服务器软件
我使用的是来自Microimages(http://www.microimages.com/)的MIXserver 5.6。这是一
个比较典型的Windows X服务器软件,自带一个最简单的Windows Manager (类似twm),
可以从网站直接下载,我是从SUSE的CDROM中得到这个软件的。在640x480 256色和
800x600 真彩色(24bit)下它工作的很不错,绝大多数的字符和线条显示正常,位图可
能会稍有一些问题。我试过的软件包括Netscape和Xmahjong。
一个学生的典型X会话如下:
开始MIX
使用Windows标准的telnet访问服务器
执行xterm -display "客户机 IP":0.0
exit,离开telnet
...
在MIX中不需要xhost,因为它接受任意地址的X请求。
------------------------------------------------------------------------------
--
我希望能在网站上发表这些孩子们在1999到2000学年上的一些作品,其中有许多非常漂亮
的图片。
------------------------------------------------------------------------------
--
译注:
我个人对Linux利用旧的386、486跑X进行课堂教学一直很感兴趣,有兴趣的网友可以
emailaxisx@poboxes.com 和我联系,请先用英文。当然我不是老师啦,只是曾经用8M内
存的486跑Linux 2.0.18作为X终端,效果还不错:
1、8M内存跑X,分辨率不能太高,800x600x16比特(64k)比较合适,否则每个色彩比特也
都是要内存的。我当时是log on到一台16M内存的奔腾服务器上跑KDE pre1(比现在的
KDE 1.x小多了)但如果Netscape窗口开得太多,则X server内存占用量明显上升,机器
SWAP(3M以上),显示的反应降低。
2、由上可见,系统响应速度的快慢关键是保证内存够用,无须利用硬盘虚拟--两者的
速度差几个数量级。一般的方法是:
a. 减小内核?
如本文介绍的使用1.2.13内核。1.2.13是Linux比较早的一个最稳定版本,我的一个同学
的网站去年被人黑了,才不得不从1.2.13升级:?
如果由于网卡驱动的关系,必须使用2.0甚至2.2的内核,那么尽量减少编译进内核的功能
模块,而且选择不支持模块(节省module的hook和kerneld)
b. 使用早一些的系统。
Linux可执行程序的格式发展历经了aout, ELF/libc5, ELF/glibc2 , ELF/glibc2.1的阶
段。简而言之,aout是静态链接的,如果同样的程序同时运行多个,必然有可以共享的代
码无法共享,ELF是动态链接的,libc5,glibc2,glibc2.1功能一个比一个强,多线程和国
际化支持一个比一个,也一个比一个大。本文作者谈到的Slackware,多半就是用aout的
。
c. 减少系统启动后的进程
反正是终端,daemon守护进程绝对是多余的,只要进单用户模式,初始化网络,然后 X
-query 服务器IP 即可,比本文作者的做法更省。你可以参考Redhat或者Slackware的安
装盘做法,写自己的linuxrc,我还曾经用同样的方式,做过自己的网络Ghost(把一个安
装的比较好的Win95压缩备份到网络NFS服务器上,需要恢复时用特制的Linux启动盘启动
,然后敲一下y!? 这方面还可以参考mini HOWOT中的small memory howto。
d. 减少X服务器本身的内存使用量。可以从X的linkkit略去不需要的驱动模块(特别是
SVGA server)和功能模块(XIM,mitshm,如果内存真的很成问题,可以把double
buffer和 save under两个通常会耗费内存加速响应时间的选项也去掉)。而且可以把X编
译成静态链接的,速度会快一些,内存占用量也小一些(不过事先要设好XF86Config)
3、X和网络
X是网络透明,但事实上还是一个网络传输量比较大的协议,我读到过有人在大学里用
Pentium Pro的服务器(好象是200M内存左右,当时是算很大内存了)拖30个Linux X终端
进行教学,但我相信,如果30个人都在用Quake II 或者DOOM的时候,网络上一定够瞧的
...当然,本文的主题是课堂上的Linux,Quake开课应该是下一个千年的事情啦。
--
"这一千多年没写诗了?"
"写了, 不过只写了两句."
"千年得两句, 一定是万古丽句了. 念来听听."
"好吧, 我现丑了" 太白星清了清嗓子, 浑厚的男中音在天庭响起:
大海啊, 都是水;
骏马啊, 四条腿;
※ 来源:·紫 丁 香 bbs.hit.edu.cn·[FROM: freesrc.hit.edu]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.802毫秒