2008年2月18日星期一

网址导航


上网导航:

Google

百度

上网导航

5566

工具网页:

爱词霸

星际译王Online

时光倒流



文件格式查询


Linux资讯:

Distrowatch

Linux伊甸园

Linux公社

LinuxSir


IBM Linux专区

Linux.com

Gstreamer.cn

手册中心


LUPA社区

LinuxGame

PolishLinux

LinuxToday


LinuxToy

Phoronix

LinuxHardware


Linux内核:
内核周报
内核追踪 内核新手 内核邮件存档

Linux-mm


Linux发行版:

Gentoo

Fedora Core

OpenSuSe

Ubuntu


Gentoo-Wiki

曼得拉草



Linux标准组织:

Linux 内核

Linux 基金会




FreeDestkopOpenCompositing

Linux软件:

GNOMEfiles

LinuxSoft

Gentoo-Portage

RPMfind


开源镜像

开源软件下载



LinuxArt:

Gnome-Look Art4Linux

窗口管理器:

XwinManagers

GNOME

Xfce

Enlightenment

项目:

Sourceforge

GTK+

GIMP



Mozilla

Adobe Open Src

Mesa-3d



Eclipse

Helix



开源其他:

FreeBSDChina

OpenSolaris

OpenSPARC


电子资源:
O'REILLY


硬件:

驱动之家

中关村在线

中关村在线DIY



中关村在线报价

AnandTech



软件:

太平洋软件站

多特软件站

华军软件站

天空软件站


霏凡软件站




动漫:

贪婪大陆BT

藏漫阁

漫联



APTX4869AnimePaper
动漫基地论坛

贪婪大陆新闻风之动漫

播客:

土豆网

YouTube

163888.net


体育:
TOM棋圣道场


在线影视:

南太湖新一站

南太湖影院

中国音乐在线


杀毒软件:

卡巴斯基

日月光华

毒霸在线杀毒


2007年2月12日星期一

dbscgvd

fgdsagfag



powered by performancing firefox

2006年12月21日星期四

Imaging:The Future Linux(2)Kernel

Kernel:

Linux-2.6.20准备引入虚拟机模块--KVM。这是一家以色列公司开发的,由于用到了Linux的现有的代码资源(客户机运行在qemu修改过来的代码上,和内核模块通信),所以结构简单,便于整合入内核。与Xen虚拟机制不同的是不支持泛虚拟化,这意味着需要CPU硬件上支持,比如IntelVT技术,并且性能应该不敌Xen的泛虚拟化工作模式。

从稳定性来看,虽然XenHypervisor的代码精炼了虚拟必要的进程调度,内存管理(最底层的,Linux的内核等相应机制运行于之上,而KVM直接使用了内核机制,所以它仅仅是内核的一个模块!!!),容易确保代码的质量,但是Xen的其他虚拟机的运行依赖于特权的管理域的内核,当这个内核崩溃时,整个虚拟系统也就崩溃了。KVM的虚拟己相当于一个普通进程,这样比较来看,这两套虚拟解决的稳定性是相同的。

Imaging:未来Linux的虚拟方案应该是多级虚拟的,比如,如果一台服务器上同时运行的多个Linux OS,可以采用泛虚拟化来提高性能,运行其他的OS可以利用硬件支持全虚拟化,实现不需要修改第三方OS代码就能运行的第三方的OSXenHypervisor的特点是把虚拟系统运行的必要最少代码提炼,并且运行于最高权限.缺点是不能利用内核相关的已有代码,存在切换的冗余,而KVM则不。考虑两者的的结合:Linux的调度、内存管理的最少必要代码独立出来,形成一个Hypervisor,(当然就要修改各组件的通信)。这个结构非常类似微内核的结构了。从现有网上消息来看,如果要开发一个新的Linux2.7的分叉,分布式和虚拟化的支持是这样作的主要动力。事实上微内核在分布式领域的有着自身的优势。

另外一个问题也就是CPU与将来出现的xPU(或者说协处理器)的内核支持。目前的来看,CPU将发展为一个负责全局统筹的器件(也就是说操作系统的核心代码只能运行在CPU上),而其他的xPU则负责计算。这也许也是推动微内核化的一个动力。xPU将由模块驱动在user space)

总结:如果分叉2.7内核,期待内核结构的变化。

UI:

人机界面的进化。什么样的人机界面才算是优秀的。现在业界的答案是3D化的。诚然,3D2D的界面比起来,表现的空间更大了,理论上有一定的优势。事实上,这仅仅是表象上的。可以观察一下,电影大作中,特别是科幻电影大作中,计算机的人机界面大部分是字符界面为主的。从实际使用来看,字符界面非常干净,(在这个各种表现元素混杂的GUI年代,一个干净的UI非常亲切),并且非常酷(比如终端下使用mplayer播放媒体,看到播放数据的输出,比那些视觉化的特效有趣的多了)

这里并不是倒GUI的苦水。而是说明当前UI发展的一个误区--只注重表现,而不注重各个UI元素的内在逻辑(包括人体工程学方面的逻辑)结构。计算机编程中,文件的作用就是抽象了各个设备的差异,提供了统一的操作接口。现在UI同样需要这样一个接口:定义UI元素的逻辑作用,自动处理内在的逻辑关系,并且映射到具体的UI控件上(widget),不管是3D,2D的还是字符的,只要存在这个映射就行了。从程序员的角度,代码中将能在各种映射的UI中使用,并且独立于具体的UI的实现部分(这样,比如当UI实现的库升级为3D了,只要存在相应映射,程序的代码不经修改也呈现的3D的效果)。当然,由于现实UI的复杂性,UI的接口也将有继承,形成一些类别。目前AdobeASL库似乎做了这方面一些有趣的工作。

另外一点,表现形式上被忽视的一点:动态表现。目前GTK的控件似乎没有动态行为。在firefox以及eclipse新版均出现提示动态出现。动态表现的好处是能够吸引使用者的眼球,可以表现当前的紧急信息。将来可以考虑增加一个动态特效实现的库,就像现在的cairo被加入一样,甚至可以考虑GEGL的并入。

总结:一个逻辑的UI接口

开发环境:

从某种意义上来说,对于入门使用某些开源库开发而言,还是比较辛苦的。事实上,有的程序库是潜在形成了自己的语言。这里所谓语言的,指的是文法。文法是定式的固化。这里偏指了GObject,C语言实现了面对对象的库。当定义类时,很多代码是定式,逻辑上可以等同于C++中的几小句。当使用特定文法时,代码精简,含义清晰。当然已经有宏语言(GOB2)实现了这个过程。使用时通过GOB的预处理,替代为C语言。更为方便的工具--如可视化操作控件实现则还没有实用的。

Imaging:库带上可视化的开发使用环境。这个意义上来说类似UML

总结:每个足够复杂的库,创建一个可视化的开发使用工具(以及作这种工作的自动化工具?)

其他当前的消息:

IBM developerworks上提到m17n库,在国际化处理方面的优势。目前m17n官方想进一步整合到Linux下常用的各个库中(比如GTKpango,还有更底层的X库以及还要更底层的库),似乎人手不足,并且其他项目(比如GTK)也没有给予关注。开发者希望中国政府能够出面给予推广(开发者是日本的程序员,由于中日韩三国有开源软件的合作计划,大概是这么一回事...)

EGL方面也没有新的消息,不过值得高兴的是在OpenGL2.0发布两年以后,Mesa3D2.0的支持终于基本完成了,现在需要内测。

开发中的GCC4.2版将增加OpenMP的处理过程,对程序实现编译器的多线程自动优化。GCC4.3版的增加了对酷睿2的优化。当前GCC的工作重心似乎集中在了编译的中到后端的转化上。前端变化不带,笔者希望能够各个端独立出库来,方便更多应用。

Firefox3.0alpha版,将重拾2.0发布时丢弃的功能。其中一点:使用cairo库矢量图形输出。