LINUX的发展:内核与开发
毛毛
1.内核的发展
linux 2.4是现在的最新版本的linux,它与以前版本有许多不同之处。Linux 2.2及以前版本包含一个基本的资源管理系统,它随意地分配及跟踪I/O端口、IRQ线路及其它的计算机结构。但在某些地方它不能满足现代桌面操作系统的需要。Linux 2.4包含一个较普通的实现,允许资源嵌套,并将从属物转移到预定义的资源类型上,因此驱动器开发者所需要的大部分任务都能较容易地实现。
VFS(Virtual filesystem layer)对以前版本也有很大的改变。Linux 2.2版本中的许多限制在2.4版中得到了及时的修正。在2.2版本中有两个缓冲区用做cache:一个用来读,一个用来输出,这使得它们两个的同步很复杂。Linux 2.4将所有的工作放入一个单一的page caching层,这个变化提高了linux 2.4的效率,开发者也更容易读懂新的代码。
linux 2.2存在的普遍问题是进程限制,它允许最多有1024个进程或线程同时运行。由于高端系统有上万个用户,因此这很快就会成为一个问题。Linux 2.4 解决了这个遗留问题,并执行一个可升级的限制。进程或线程的总数限制可以由用户在运行时进行配置,它仅受系统内存的限制。对于一个拥有512MB RAM的高端服务器而言,它能支持16,000个进程同时运行。这对于linux走向企业市场无疑有很大好处。
linux 2.4提供了更强的兼容性,它提供了对POSIX的时钟和定时器的支持,允许non-rtc设备用做内部时钟。
2.基于linux的开发
2.1嵌入式系统
linux的稳定性及其优良的性能使它成为嵌入式系统的好选择,但是裁剪却不是很容易的事。
Caldera生产的瘦客户机使用了叫做Embedix的嵌入式linux系统,这个系统是基于Caldera的Openlinux系统的。
Cygnus写出了另一个叫做eCOS的嵌入式系统。
2.2透明的防火墙
当处理防火墙问题时,最棘手的就是我们至少要把网络分为两个子网:一个在网络的外部,一个在网络的内部。这使得网络中的所有机器都必须重新进行配置。
而这种透明的防火墙不需要将网络分为若干各子网,或者在网络的内部或外部重新配置网络上的任何机器。
2.3 窗口管理器
sawmill是一个 由John Harper开发的新的窗口管理器。它需要GTK 1.2,并且可以支持Gnome。对于那些使用Gnome和需要一个快速的、可编程的窗口编程者而言,sawmill具有很大的吸引力。sawmill的一些特点是
·策略很少。它并没有提供滑动窗口,但是它支持Gnome面板。
·基于X和ICCCM。sawmill是完全可编程的。它的内部实现机制与Emacs很相似,大多数的窗口管理器是用LISP编写的。
·支持许多主题,且用户可以定制sawmill主题。它包含的一些主题允许用户选择定制的颜色,倾斜方向以及图像文件。sawmill主题也包含许多LISP代码。
2.4 KDE开发
2.4.1 Kanossa
Kanossa是新一代的Openparts解决方法,它使用共享库而不是CORBA。这个框架比以前的版本迅速和稳定。
这个方法使得在KDE中嵌入元素变得很简单。例如,将整个konqueror browser嵌入到应用程序中只需几行代码,最后生成的嵌入式代码的运行速度也是很快的,而且它有效的存储管理使它赢得了开发者和用户的喜爱。
2.4.2 DCOP
Matthias Ettrich 和 Preston Brown为KDE开发了一种基于信号的IPC/RPC机制,它叫做Desktop Communication Protocol (DCOP) ,它基于X11R6标准库LibICE。
它的目标是:
1、在分布式对象之间提供快速的、简单的通讯。
2、简单的实现。
3、认证。
4、联合现存的KDE 1.X IPC 协议和黑客们使用的xatoms 及pid文件。
2.4.3 Java
新的基于DOM 和HTML库现在对Java程序提供了支持。任意的KDE 应用程序现在可以仅用几行代码嵌入一个Java程序。这意味着KDE 2.0将拥有一个具有所有Java功能的web浏览器。
2.4.4 aRts
aRts是下一代网络多媒体框架。aRts使用一个CORBA元素的模块系统来实现功能丰富的多媒体播放及控制。KDE 2.0将使用优化的aRts子集来解决声音的播放问题。未来的KDE将使用更高性能的 Video和 Audio/Video控制功能。
2.4.5 Sycoca
Waldo Bastian从事一个新的系统配置存储机制的研究,它叫做 System Configuration Cache (Sycoca)。它是一个为寻找静态系统信息而设计的轻量级数据库。它允许多个用户并发读,查找非常迅速。Sycoca只用于静态系统。
2.5 Samba
SMB(服务器信息块)是由microsoft 开发出的文件共享协议。Samba是 Unix/Linux版的 SMB,与microsoft的执行完全兼容。你可以在linux上执行samba并与其它的计算机进行交互。它包含服务器、smbd 和 nmbd工具,以及访问其它计算机文件和打印机的工具,如 smbclient和 smbmount。
3.关于linux发展的讨论
3.1关于KDE和GNOME
KDE与GNOME实际上是非常相似的,它们都是通过窗口/图标/鼠标控制的,它们都按用户期望的形式工作,并使用标准键盘快捷键。虽然KDE与GNOME有很多的不同,但是在某一抽象层上他们是非常相似的。
在linux New Development Showcase中,小组成员们一致认为KDE和GNOME的市场前景很好,而且这两种桌面系统可以互相学习,相互推动。Bernie Thompson预言KDE、GNOME在将来会融为一体。
还有一种截然相反的观点:KDE 和GNOMEd的分离是一件好事。至今为止,推进用户界面的一致性对用户、消费者来说并不是什么好事。符合桌面环境的可用性是桌面市场的关键。
如果有一种力量使KDE 和GNOME都符合单一界面标准,将有两个缺陷:
1、消灭了竞争、革新及创造。市场上多种风格的界面使用户可以选用他们喜欢的界面。KDE和GNOME正在互相汲取优点,不断地试验改革,并且提出革新性的创造性的想法。这对于linux界面的发展是很有好处的。
2、使用户的安全及秘密容易被攻击。如果操作系统的所有界面及应用程序都按同样的良好方式工作,这就使售卖商很容易跟踪用户的每一个行动。
3.2关于碎片问题
碎片问题是linux及开发源代码的一个重要问题。在linux New Development Showcase中,每一个组员都认为一定数量的碎片是不可避免的,而这不一定是坏事。
对于Linux,极少人怀疑它有没有前途:Linux 是当前普及率第二的服务器操作系统,已赢得 IBM 的鼎力支持,且被微软CEO Steve Ballmer视为“头号威胁”,又得到众多自愿参与改良运动的程序设计师热情的合作与支持,相信Linux的发展前景一片光明。
发布人:netbull 来自:之江Linux