2、在开机自检的过程中,BIOS将检测扩展的芯片,也就是网卡上增加的用于以太网启动的启动芯片(bootrom),BIOS可以 |
检测到网卡上的启动芯片。 |
3、一旦开机自检完成,执行步骤将到以太启动代码。 |
4、以太启动代码检测网卡类型,当检测正确时,初始化网卡。 |
5、以太启动代码将在本地网段中发申请DHCP的广播,网卡的MAC地址将包括在该广播中。 |
6、服务器端的DHCPD守护进程将收到来自客户端的广播申请,检查配置文件中与接受到客户端MAC地址相匹配的参数。 |
7、DHCPD守护进程发送回复的数据包,该数据包中包括:该客户端的IP地址,本网段的子网掩码,下载内核的 |
路径,需要装载的根文件系统的路径,传递内核命令行执行的参数。 |
8、以太启动代码将从服务器接受这些数据,随后开始按照提供的数据配置网卡的TCP/IP设置。 |
9、使用TFTP(Trivial File Transfer Protocol直接文件传输协议),以太启动代码可以从服务器上下载内核。 |
10、一旦内核下载到客户端完成,以太启动代码将把内核放到内存正确的位置。 |
11、完成必要步骤之后,控制权交到内核控制,内核将开始初始化整个系统和全部的可识别外围设备。 |
12、下面才是真正的开始。因为内核是文件系统的镜像,需要象调入内存的虚拟盘中,并作为根文件系统临时装载到系统中。 |
用内核命令行表示root=/dev/ram0引导内核镜像作为根文件系统装载。 |
13、正常情况下,内核完成启动过程后,将启动init进程。需要指明内核如何调入shell脚本,用init=/linuxrc命令行表示。 |
14、/linuxrc脚本将扫描PCI总线,搜索网卡等。每种类型的PCI驱动都会在/etc/niclist中寻找匹配的参数。一旦发现匹配的, |
该网卡类型的模块将返回给内核用来加载。对于ISA接口的卡,驱动模块必须被内核以命令行方式加载,并且需要特别指定 |
中断和占用的地址。 |
15、一旦网卡被识别,/linuxrc脚本将加载前面返回的内核模块。 |
16、随后运行的dhclient将从DHCP服务器来的确认请求。这里需要特别区分确认的类型,从以太启动得到的确认将被内核取消, |
内核将忽略任何曾经特殊指定过根路径的NFS(网络文件系统)服务器。如果你的NFS服务器和TFTP服务器不是同一台时, |
这一点非常重要。也就是说这是系统不再依赖TFTP服务器而是开始使用NFS服务器来装载文件系统了。 |
17、当dhclient从服务器得到回应,将开始运行/etc/dhclient-script文件,它将重新收集系统信息,配置eth0网卡。 |
18、从上面的几点,根文件系统实际是在内存虚拟盘里的。现在/linuxrc脚本将通过NFS装载新的根文件系统,这个目录就是 |
在服务器上共享的/opt/ltsp/i386目录。它将被装载成新的根文件系统。首先它要被装载到/mnt目录下,随后将作一次根 |
对称 (pivot_root),也就是把当前的根文件系统和新文件系统交换,一旦完成,NFS文件系统将装载到根,而旧的根文件 |
系统将会装载到/oldroot目录下。 |
19、当装载和根对称完成,也就完成了/linuxrc脚本,这时才真正的开始init进程。 |
20、init将读取 /etc/inittab文件开始设定客户端环境。 |
21、init提供了运行级别(runlevel),客户端不同的服务进程运行在不同的运行级别上,LTSP客户端的运行级别就是2,这是 |
系统缺省的运行级别。 |
22、列在inittab中头一项的就是rc.local文件,该命令是运行于客户端的系统初始化状态(sysinit)。 |
23、rc.local脚本将创建1MB的内存虚拟盘,其中有在整个过程中随时需要写和修改的任何文件。 |
24、内存虚拟盘将被装载到/tmp目录下。任何需要写的文件都会真实的存在/tmp目录下,然后创建相应的符号连接到正确的 |
目录下。 |
25、随后是/proc文件系统被装载。 |
26、如果客户端配置为通过NFS作交换区(swap),/var/opt/ltsp/swapfiles目录将会被装载到 |
/tmp/swapfiles下。反之,如果没有设置,交换区将被自动创建。交换区的大小设置在lts.conf文件中 |
配置。 |
27、交换文件通过swapon命令激活。自循环(loopback)网卡将被配置,设定IP地址为127.0.0.1。 |
28、本地应用模式激活,随后/home目录将被装载,随后的应用将以用户的家目录起始访问。 |
29、一系列的目录在/tmp文件系统下创建,用来提供给系统运行作临时过渡文件。这些目录包括: |
/tmp/compiled |
/tmp/var |
/tmp/var/run |
/tmp/var/log |
/tmp/var/lock |
/tmp/var/lock/subsys |
30、配置X Windows系统,在lts.conf文件中,参数(XSERVER)是不可缺少的,一般设定为auto自动,这意味着尝试自动检测。 |
如果是PCI的设备,将尝试获取驱动厂商和驱动设备标识,并从/etc/vidlist文件中寻找匹配项。 |
31、如果该卡支持Xfree86 4.x版本,PCI扫描程序将返回驱动模块的名称,如果仅支持Xfree86
3.3.6版本,PCI扫描程序将 |
返回将要使用的X服务器的名称。rc.local脚本可以选择不同的版本使用,因为旧的3.3.6服务器是使用XF86_开头的。 |
如果是Xfree86 4.x版本,/etc/rc.setupx脚本将创建XF86Config配置文件给4.x版本。反之,XFree86
3.3.6将由 |
/etc/rc.setupx3脚本创建XF86Config配置文件。 |
32、XF86Config配置文件是基于/etc/lts.conf文件的,当rc.setupx脚本完成后,将返回给rc.local脚本,创建/tmp/start_ws |
脚本,该脚本是用来启动X服务器的。 |
33、随后创建/tmp/syslog.conf文件。该文件将告知syslogd守护进程发送关于系统的日志信息到指定的日志机接收。日志主机 |
定义在lts.conf文件中。事实上/etc/syslog.conf是/tmp/syslog.conf的符号连接。 |
34、启动syslogd守护进程,配置文件在上一步骤已经创建。 |
35、返回控制权给init进程,该进程将寻找初始缺省的运行级别。缺省的LTSP核心运行级别定义是2。 |
36、缺省的运行级别是2将导致init设定运行级别set_runlevel脚本,该脚本将读取lts.conf文件并定义客户端实际运行的运行 |
级别。客户端LTSP运行级别一般是3,4和5: |
3 - 将启动shell,常使用在排错模式,本文中也是定义为3。 |
4 - 将会在字符模式启动一个或更多的telnet进程,这将有力的替换旧的串行终端。 |
5 - 图形用户界面,这是X Windows,并且发送XDMCP申请给服务器,随着登录对话框的出现,你就可以登录到服务器了。 |
这种情况下,服务器需要启动显示管理器,例如XDM,GDM,或KDM。 |
相关连接:www.ltsp.org |
·MOSIX和openMosix |
MOSIX是指Multicomputer Operating System for UnIX,最早原自FEHAL,直到第6个原型还是为BSD/OS,第7个DATE_FEHAL |
原型开始为GNU/Linux平台开发。正如其他开放源码的程序一样,评估一个最有发展潜质的系统为未来的开发方向是个必然。 |
Barak教授是原始MOSIX项目的领导者。MOSIX原理是利用给内核增加补丁的办法全面兼容Intel架构的32位处理器,支持内核 |
级的负载均衡,可以将负载准确迁移到集群成员,系统会自动或手动的将负载优化的分担给各节点。这种准确的进程迁移使 |
集群类似一个巨大的SMP系统,多个节点就象多个处理器,进而提供了一种不同于NFS的缓冲连接,时间标记连接,稳固连接 |
的强大应用高性能计算组合。 |
MOSIX是用户端透明的(应用程序不需要因为集群而修改源代码)Linux集群系统解决方案,openMosix是MOSIX的新公开分支, |
出现该版本的原因是2001年底,MOISX项目决定不再遵循以前的GPL许可,转而到非GPL许可中。事实上,新版本的MOSIX代码 |
已经排除了不限制许可的代码,并加入了所有版权保留(All rights reserved) 的限制。由于这个突然的变化,MOSIX新的 |
发布版本不再是免费的版本,而且尚不清楚目前使用者的权限有什么变化。实际上,未来没有什么能阻挡MOSIX的作者对使用 |
MOSIX的用户收取费用。鉴于这个明显的原因,许可的变化使很多正在使用MOSIX的用户开始关注这个问题,这一切从MOSIX的 |
邮件列表存档和代码从主页上删除开始,情况越来越恶化。非常幸运的是,有一些人并不仅仅象大众一样关注这种变化。 |
Moshe Bar,MOSIX项目的核心经理,商业MOSIX公司的普通经理,他不同意改变原来的GPL许可,对变化的第一反应就是Moshe |
本人开始openMosix项目,并保MOSIX免费版本继续为公众服务。OpenMosix是遵循完整的GPL2许可。 |
在openMosix项目刚开始,至少350人的MOSIX用户切换到openMosix,openMosix建立在Amnon
Bark的2002旧MOSIX版权基础上, |
未来的代码版权属于Moshe Bar,另外Moshe因为新颖更多的开放式研发风格提高了openMosix的研发速度,虽然受他所尊敬的 |
Barak教授经过再三考虑没有加入openMosix,继续留在当时具有1000全球用户的Qlusters公司(即MOSIX转向商业后的公司), |
但是现在有14个人为openMosix项目研发,而MOSIX仅仅有4个人。在这种情况下,openMosix代码的很多问题被修复,性能 |
得到提高。而且在增加很多新的特性的基础上,更广泛的,高性能的特性也在研发中,比如自动配置,新的用户端工具,节点 |
探测。目前为适应标准化,将会把/proc/mosix文件修改为/proc/hpc,/etc/mosix.map修改为/etc/hpc.map。而且新版本 |
Mosixview也开始支持openMosix。/etc/hpc.map是节点自探测的重要部分。OpenMosix项目的主页连接是 |
www.openMosix.org,项目文件连接是http://openMosix.sourceforge.net。 |
|