搜索标题
最新留言
最新评论
统计信息
- 访问量: 102904
- 日志数: 480
- 图片数: 1
- 文件数: 19
- 建立时间: 2006-07-04
- 更新时间: 2008-05-16
我的最新日志
-
Fedora 9 发布摘要:引领潮流
2008-5-16
美国东部时间5月13日,Fedora社区正式发布了代号”硫磺”的发行版 Fedora 9 (Sulphur) 。
Fedora 9代号”硫磺”,是因为硫磺在神话中可以用来驱逐狼人,而”狼人”恰好就是 Fedora 8的代号。
该版本有如下更新:
* PackageKit : PackageKit 是一个跨发行版的包管理系统,目前拥有完整的 yum 后端。该软件的目标是统一所有发行版上的图形化包管理系统,所以采用了一些最新的技术如 PolicyKit 和 D-Bus。
* GNOME 2.22:GNOME 2.22带来了诸多升级。其中之一是由 Fedora 的开发者AlexanderLarsson 完成的GVFS 和 GIO,它们被用来取代了陈旧的GNOME VFS。 GVFS 提供了性能上提升,队列式多文件传输,并协同 PolicyKit 提高了安全性。PolicyKit同样由 Fedora 开发者 DavidZeuthen 开发并维护,并首先于Fedora 8 中引入。GNOME 2.22 还带来了样式新颖的世界时钟桌面小程序,可以同时显示不同时区的时间和天气情况。另一个在该版本 GNOME 引入的变化是新设计的 GNOME 登陆管理器(GDM)。新功能包括对登陆屏幕的电源管理支持,动态显示支持,以及对 PolicyKit 的整合.
* KDE Desktop 4.0.3:KDE Desktop 4.0.3 将全部 KDE 核心组件升级到了 Qt4 接口上,从而引入了一系列全新的框架:多媒体API Phonon;硬件整合框架 Solid; 全新的桌面及面板 Plasma;整合式桌面搜索;KWin 的混合特效和一个全新的视觉主题 Oxygen。在 Fedora 9 的生命周期里, KDE 将会持续得到来自上游项目的补丁升级,最终 Fedora 9 将包括今年7月发布的 KDE 4.1。
* NetworkManager :Fedora 开发者 Dan Williams 使 NetworkManager 变得比以前更加好用。新功能包括:多个设备的同时激活;方便与周围无限设备建立网络的 Ad-hoc 支持;支持通过 GSM/CDMA 手机卡的 PPP 拨号以及 PolicyKit 的管理方式的支持。
* Firefox 3 Beta 5: Firefox 3 Beta 5 带来了与当前桌面环境相一致的本地化视觉体验。其他改进包括整合了历史和收藏夹功能的地址栏,改进的收藏夹管理器。同时,浏览器引擎 XULRunner 也与用户界面分拆来,为其他有网页渲染需求的应用程序提供了一个独立于浏览器稳定接口。
* SELinux : SELinux 现在可以将浏览器插件置于安全限定区域内执行,从而避免了由于不安全的浏览器插件导致的安全问题。Fedora SELinux 开发者 DanielWalsh 在他的 blog post 对此有详细描述。
* Java: OpenJDK6 这一由 Sun 在开放源代码协议下发行的 Sun Java SDK 将成为默认的 Java 开发环境。极少的OpenJDK 私有产权代码被来自 IcedTea 项目的代码取代。现在,更多的 Java 程序无需任何额外设置就可以运行了。
* Xorg 升级:X 的启动和关闭现在只需要大约一秒钟!同时还有更方便的显示配置,以及热拔插支持。
* 统一化辞典:现在,OpenOffice.org,Firefox,Thunderbird,GNOME 和 KDE 将共享同一个拼写检查辞典,这项改进将大幅度减少资源及内存消耗。
* 蓝牙功能强化:用蓝牙发送、接受文件,以及通过ODBX访问周边蓝牙设备将更加简单。
* Anaconda 安装器:Fedora 系统安装器,Anaconda,得到不少强化,其中包括:支持安装时调整 ext2,ext3 和 NTFS 分区大小;支持创建和安装加密文件系统; 对 ext4 文件系统的安装时支持(需要添加 ext4 引导选项来启动该功能);支持 GRUB 在 EFI x86_64 设备上的原生安装;引入支持网络安装和系统恢复功能的安装小镜像 netinst.iso 。
* 无缝升级:如果你已经安装了 Fedora 7或 Fedora 8,现在可以通过图形化的 PreUpgrade 工具安全、方便的升级到Fedora 9。
* 永久性USB Live支持: 全新的 LivdCD 工具包支持将 LiveCD 镜像转化为自启动U盘 Live 系统,并且不会丢失原先U盘上的数据。而且对U盘中 Live 系统的改变可以永久储存在预先定义的空间内。现在,你可以将 Fedora 系统与文档随身携带,还可以对 Live 系统进行升级。同时,通过 liveusb-creator 也可以在 Windows 系统下制作Fedora Live U盘了。
* Jigdo 下载支持:Fedora 9 的镜像可以通过 jigdo 或者 jigsaw下载。如果你所处地区有站点镜像或者你自己还保存有先前版本的光盘镜像,使用该方法将大大节省下载光盘镜像所需流量。
* FreeIPA: FreeIPA 提供了对 Fedora Directory Server,FreeRADIUS,MIT Kerberos,NTP 和 DNS 服务的集中式的 Web 及命令行界面配置,它可以使网络管理员快速、方便的进行认证、确认、策略处理等工作。
* Upstart 进程管理:Fedora 9 使用 Upstart 进程管理取代了System V 进程管理。这个变化帮助 Fedora 大幅度提升启动和关闭进程的速度。
* 系统级应用程序升级:包括GCC升级到4.3,Perl升级到5.10,Kernel升级到2.6.25-rc5,以及用TeXLive取代了Tex。
* 中文相关:默认中文字体包中增加了文泉驿正黑,默认包括了scim-python,并用scim-python-pinyin取代了原先的scim-pinyin。默认的中文输入法启动按键为Ctrl+Space。
英文正式发布摘要见这里。英文正式发布说明见这里。
-
Linux 2.6 内核的嵌入式系统应用
2008-5-15
随着多媒体技术与通讯技术相结合的信息技术的快速发展和互联网的广泛应用,PC 时代也过渡到了后PC时代。在数字信息技术和网络
技术高速发展的后PC时代,嵌入式技术越来越与人们的生活紧密结合。
操作系统为 用户使用计算机及其外部设备提供最基本的接口程序,管理计算机上的资源。随着应用领域的扩大,为了适应不同的应用场合,考虑到系统的灵活性、可伸缩性以及 可裁剪性,一种以应用为中心、以计算机技术为基础、软硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗要求严格的专用计算机系统——嵌入式操作 系统随之延生。Linux 操作系统是一种性能优良、源码公开且被广泛应用的免费操作系统,由于其体积小、可裁减、运行速度高、良好的网络性能等优点,可以作为嵌入式操作系统。随着 2.6内核的发布,Linux向现有主流的RTOS提供商在嵌入式系统市场提出了巨大挑战,例如VxWorks和WinCE,具有许多新特性,将成为更优 秀的嵌入式操作系统。
Linux的低成本和开放性,为其在嵌入式系统领域的应用营造了肥沃的土壤。本文着重介绍Linux 2.6内核的新特性及其嵌入式应用中的优势,并将其移植到嵌入式平台中,成功支持H.264编解码多媒体系统。
1 Linux 2.6内核针对嵌入式开发显著特点
实时可靠性是嵌入式应用较为普遍的要求,尽管Linux 2.6 并不是一个真正的实时操作系统,但其改进的特性能够满足响应需求。Linux 2.6 已经在内核主体中加入了提高中断性能和调度响应时间的改进,其中有三个最显著的改进:采用可抢占内核、更加有效的调度算法以及同步性的提高[4]。在企业服务器以 及嵌入式系统应用领域,Linux 2.6 都是一个巨大的进步。在嵌入式领域,Linux 2.6 除了提高其实时性能,系统的移植更加方便,同时添加了新的体系结构和处理器类型——包括对没有硬件控制内存管理方案的 MMU-less系统的支持,可以支持大容量内存模型、微控制器,同时还改善了I/O子系统,增添更多的多媒体应用功能[4]。
1.1 可抢占内核
在先前的内核版本中(包括2.4内核)不允许抢占以核心态运行的任务(包括通过系统调用进入内核模式的用户任务),只能等待它们自己主动释放CPU。这样必然导致一些重要任务延时以等待系统调用结束。
一个内核任务可以被抢占,为的是让重要的用户应用程序可以继续运行。这样做最主要的优势是极大地增强系统的用户交互性。
2.6内核并不是真正的RTOS(Real Time Operation System),其在内核代码中插入了抢占点,允许调度程序中止当前进程而调用更高优先级的进程,通过对抢占点的测试避免不合理的系统调用延时。2.6内 核在一定程度上是可抢占的,比2.4内核具备更好的响应性。但也不是所有的内核代码段都可以被抢占,可以锁定内核代码的关键部分,确保CPU的数据结构和 状态始终受到保护而不被抢占。
软件需要满足最终时间限制与虚拟内存请求页面调度之间是相互矛盾的。慢速的页错误处理将会破坏系统的实时响应性,而2.6内核可以编译无虚拟内存系统避免这个问题,这是解决问题的关键,但要求软件设计者有足够的内存来保证任务的执行。
1.2 有效的调度程序
2.6版本的 Linux内核使用了由 Ingo Molnar开发的新的调度器算法,称为O(1)算法,如图1所示。它在高负载情况下执行得极其出色,并且当有很多处理器并行时也可以很好地扩展[2]。 过去的调度程序需要查找整个ready task队列,并且计算它们的重要性以决定下一步调用的task,需要的时间随task数量而改变。O(1)算法则不再每次扫描所有的任务,当task就 绪时被放入一个活动队列中,调度程序每次从中调度适合的task,因而每次调度都是一个固定的时间。任务运行时分配一个时间片,当时间片结束,该任务将放 弃处理器并根据其优先级转到过期队列中。活动队列中任务全部调度结束后,两个队列指针互换,过期队列成为当前队列,调度程序继续以简单的算法调度当前队列 中的任务。这在多处理器的情况更能提高SMP的效率,平衡处理器的负载,避免进程在处理器间的跳跃。
图1 O(1)调度算法
1.3 同步原型与共享内存
多进程应用程序需要共享内存和外设资源,为避免竞争采用了互斥的方法保证资源在同一时刻只被一个任务访问。Linux内核用一个系统调 用来决定一个线程阻塞或是继续执行来实现互斥,在线程继续执行时,这个费时的系统调用就没有必要了。Linux2.6所支持的Fast User-Space Mutexes 可以从用户空间检测是不是需要阻塞线程,只在需要时执行系统调用终止线程。它同样采用调度优先级来确定将要执行的进程[4]。多处理器嵌入式系统各处理器 之间需要共享内存,对称多处理技术对内存访问采用同等优先级,在很大程度上限制了系统的可量测性和处理效率。Linux2.6 则提供了新的管理方法——NUMA(Non Uniform Memory Access)。NUMA根据处理器和内存的拓扑布局,在发生内存竞争时,给予不同处理器不同级别权限以解决内存抢占瓶颈,提高吞吐量。
1.4 POSIX线程及NPTL
新的线程模型基于一个1:1的线程模型(一个内核线程对应一个用户线程),包括内核对新的 NPTL(Native POSIX Threading Library)的支持,这是对以前内核线程方法的明显改进。2.6内核同时还提供POSIX signals和POSIX high-resolution timers。POSIX signals不会丢失,并且可以携带线程间或处理器间的通信信息。嵌入式系统要求系统按时间表执行任务,POSIX timer可以提供1kHz的触发器使这一切变得简单,从而可以有效地控制进度。
1.5 微控制器的支持
Linux2.6内核加入了多种微控制器的支持。无MMU的处理器以前只能利用一些改进的分支版本,如uClinux,而2.6内核已 经将其整合进了新的内核中,开始支持多种流行的无MMU微控制器,如Dragonball、ColdFire、Hitachi H8/300。Linux在无MMU控制器上仍旧支持多任务处理,但没有内存保护功能。同时也加入了许多流行的控制器的支持,如S3C2410等。
1.6 面向应用
嵌入式应用有用户定制的特点,硬件设计都针对特定应用开发,这给系统带来对非标准化设计支持的问题(如IRQ的管理)。为了更好地实 现,可以采用部件化的操作系统。Linux2.6采用的子系统架构将功能模块化,可以定制而对其他部分影响最小。同时Linux2.6提供了多种新技术的 支持以实现各种应用开发,如Advanced Linux Sound Architecture(ALSA)和Video4Linux等,对多媒体信息处理更加方便;对USB2.0的支持,提供更高速的传输,增加蓝牙无线接口、音频数据链接和面向链接的数据传输L2CAP,满足短距离的无线连接的需要;而且在2.6内核中还可以配置成无输入和显示的纯粹无用户接口系统。
2 应用研究
在S3C2410开发板上移植嵌入式Linux 2.6.11.7内核系统,应用于构建H.264多媒体系统。
2.1 建立交叉编译环境
在RedHat9的主机上进行内核移植开发,首先需要建立交叉编译环境。由于2.6内核中采用了一些新的特性和指令,需要采用较新的工 具集, 采用binutils-2.15、gcc-3.4.2、glibc-2.2.5、linux-2.6.8、glibc-linuxthreads- 2.2.5来建立交叉编译工具链,建立之后将工具链路径加入系统路径$PATH中。
2.2 内核修改
Linux 2.6.11.7内核加入了对S3C2410芯片的支持,不再需要任何补丁文件。修改内核源码中Makefile的交叉编译选项ARCH=arm, CROSS_COMPILE=arm-linux-。针对硬件配置,需要在arch/arm/mach-s3c2410/devs.c或者 smdk2410.c中添加FLASH的分区信息s3c_nand_info,如表1。
表1 NAND FLASH分区表 分区名 起始地址 大 小 Vivi 0x00000000 0x00020000 Param 0x00020000 0x00010000 Kernel 0x00030000 0x001c0000 Root 0x00200000 0x00200000 Usr 0x00400000 0x03c00000 然后在s3c_device_nand中增加.dev={.platform_data= &s3c_nand_info},在arch/arm/mach-s3c2410/mach-smdk2410.c中的__initdata部分 增加&s3c_device_nand,使内核在启动时初始化NAND FLASH信息。
2.3 内核编译加载
对内核进行适当的配置是一个量体裁衣的过程。由于2.6内核会根据本地系统配置进行初始设置,可以导入内核源码默认s3c2410的配 置文件,方便加载内核基本配置,然后再选择所需选项。对MTD配置选择支持MTD设备驱动以及NAND FLASH驱动;选择支持要用到的各类文件系统(DEVFS、TMPFS、CRAMFS、YAFFS、EXT2、NFS)以及网络设备和协议,本系统加载 了网络芯片CS8900以及USB支持;在H.264多媒体系统中还需要加载Frame buffer以支持LCD显示功能。使用交叉编译工具编译内核源码后, 会在arch/arm/boot/下生成名为zImage的内核映像,在Boot loader的命令提示模式下使用下载命令完成内核加载到开发板的存储设备FLASH中。编译过程(相对以前版本的编译过程,2.6内核编译有所简化):
make mrproper
make menuconfig(字符界面,或者用make xconfig图形界面,但需要Qt库的支持,而make gconfig则需要GTK库的支持)
make
make bzImage
2.4 文件系统
Linux采用文件系统组织系统中的文件和设备,为设备和用户程序提供统一接口。Linux 支持多种文件系统,本系统使用CRAMFS格式的只读根文件系统,而将FLASH中的USER区使用支持可读写的YA FFS文件系统格式,方便添加自己的应用程序。
在根文件系统中,为保护系统的基本设置不被更改,采用CRAMFS格式。采用DEVFS来实现基本设备的建立挂载,同时使用 BusyBox也是一个缩小根文件系统的办法,提供了系统的基本指令;还需要建立一些必备的目录,添加所需配置文件,如fstab、inittab等;还 有一个重要的工作就是添加系统应用必备的动态函数库。使用生成工具mkcramfs 将整个根文件目录里的内容制作成映像文件。
mkcramfs rootfs rootfs.ramfs
YAFFS文件系统格式的支持需要将驱动加入到内核代码树下fs/yaffs/,修改内核配置文件,就可以在内核编译中加载对该文件系 统的支持。使用mkyaffs工具将NAND FLASH分区格式化为YAFFS分区,将mkyaffsimage生成的应用程序镜像烧写进YAFFS分区,在启动时通过写入fstab自动加载 YAFFS分区即可。
2.5 网络设备驱动
系统中采用CS8900A的10M网络芯片,它使用S3C2410的nGCS3和IRQ_EINT9,相应修改 linux/arch/arm/mach-s3c2410/irq.c,并在mach-smdk2410.c的smdk2410_iodesc[]中增加 {SMDK2410_ETH_IO,S3C2410_CS2, SZ_1M, MT_DEVICE},内核源码中加入芯片的驱动程序drivers/net/arm/cs8900.h和cs8900.c,并且配置网络设备驱动的 Makefile和Kconfig文件,加入CS8900A的配置选项,这样可以在内核编译时加载网络设备的驱动。
在Linux2.6应用的同时,也要看到其与以前版本内核比较存在的一些问题。在内核的编译时间、内核镜像大小、内核占用RAM空 间大小、系统启动时间相对Linux2.4而言都存在不同程度的不足,但在硬件条件日益进步的现今可以接受,而且一部分也是由于功能加强必然带来的。虽然 Linux并非一个真正的实时操作系统,但2.6内核的改进能够满足大部分的应用需求,所以Linux2.6内核将会在嵌入式系统领域大展身手。
参考文献
1 Alessandro Rubini,Jonathan Corbet著,魏永明,骆刚,姜 君译.Linux设备驱动[M].
北京:中国电力出版社,2004
2 Anand K Santhanam. 走向Linux2.6[EB/OL]. Dec. 2003.
http://www-128.ibm.com/deve loperworks/cn/linux/ l-inside/index.html
3 S3C2410X 32-Bit RISC Microprocessor User´s Manual[Z]. SAMSUNG Electronics. Revision 1.2
4 Brandon White. Linux 2.6: A Breakthrough for Embedded
Systems[EB/OL].http://linuxdevices.com/articles/AT7751365763.html Sep.9,2003
5 Karim Yaghmour. Building Embedded Linux Systems[M]. O’Reilly. April, 2003
来自:IT168
-
开源软件企业如何作好无本生意
2008-5-15
开源软件就意味着免费吗?其实不然。若开源企业没有利润的话,那也不有这么多的软件企业,去搞开源项目了。其实,开源软件项目的话,还是很有“钱途”的,有很多可以赚钱的点。下面我以COMPIERE项目为例。谈谈如何做好开源项目这个无本生意。
一、靠翻译赚钱。
我们知道,现在国内基本没有人搞开源项目。现在市场上的开源软件基本上都是国外的产物。所以,国内企业要使用国外的开源软件项目的话,第一个要突破的难关就是语言关。也就是说,要把英文的语言环境或者其他的外文语言环境翻译成中文。国内的用户,只要把这个中文的语言包导入到COMPIERE系统中取,就可以完成汉化的目的。
所以,开源软件的第一个赚点的地方就是卖这个中文包,这也是最好赚的。因为若企业自己去翻译的话,那一个人估计半年都翻译不好,而且,企业还不一定有这方面的专业人才。即使有这方面的人才,那养他的成本的话,购买这个中文语言包就绰绰有余了。所以说,卖这个中文语言包的话,市场潜力还是很大的。据我所知,很多人把这个语言包买过去的话,还会再次转手卖出去,进行贩卖,从中牟利。
所以,开源企业在开源软件项目中,挖掘的第一桶金就是这个中文包。不过,说实话,现在市场上的中文包很多都是根据英文直译过来的,而没有转换为跟中国国情相适应的专业名词。这主要是因为翻译的人基本上都没做过企业管理实务。所以翻译的内容可能会跟中国的实际管理环境脱节。虽然如此,中文包还是很手用户欢迎。因为这是国内企业实施开源项目的基础。
二、靠实施资料赚钱。
语言的问题解决之后,企业面临的另外一个问题,就是系统的实施文档了。但是,跟中文语言包一样,很少有中文的开源软件实施文档。为什么呢?这大概是中国人的劣根性了。一是很少人乐于分享。现在国内使用COMPIERE项目的企业已经不在少数,而且,我们也提供了完整的实施文档资料。但是,你网上找找看,很难找到有关这个项目的中文实施资料。为什么呢?其实我从事这行这么久,给我的感觉就是国内的人没有国外人那种资源共享的心态。虽然我们的实施文档资料有版权控制,但是,通过这个资料编制出一些实用的实施文档,还是很容易的,可是,就是没有人去做这方面的控制。二是国内的人太强调一种回报。做什么事都强调回报,所以,对于开源这些他们认为没有多少“钱途”的项目来说,他们就不会花心思去研究。他们宁愿去研究SAP、ORACLE这种大型管理软件。基于以上种种原因,关于COMPIERE这些开源项目的中文实施文档少的可怜。我们公司在写COMPIERE的中文实施文档的时候,也主要是借鉴国外的英文资料,加上自己对于系统测试而得出来的。不过,反过来说,也可以说国人版权意识比较强。若每个人都有这么无私的共享精神,那么我们这些开源企业也就没有生存的余地了。
所以,开源企业的第二块赚钱的蛋糕就是实施资料。
三、靠开发文档赚钱。
众所周知,开源软件有一个很大的缺陷,就是功能上没有商业软件那么强大,漏洞相对来说也比较多。但是,其也有一个其他商业软件无法比拟的优点,就是其源代码是公开的,企业可以根据自己的需求,进行定制开发。但是,其有一个前期条件,就必须要先了解系统的内部结构、数据库结构、程序接口等等技术性资料。
而因为像COMPIERE这些比较复杂的信息化管理系统,其代码是非常复杂的,其各个模块之间的关联关系也让人眼花缭乱。所以说,要是没有开发技术资料的话,那你想做好开发的话,那难度是可想而知的。所以,我们公司就编写了开发文档,出来卖钱。我们公司的开发文档包括了COMPIERE系统开发需要用到的大部分内容。如系统的架构设计,可以帮助用户了解COMPIERE系统的大致开发框架,让用户先从整体上对于COMPIERE系统的开发平台有所了解;如应用字典介绍,应用字典是COMPIERE系统的一个自定义平台,利用这个平台,可以不用通过编写代码就实现相关的自定义功能,如字段的添加等等;如数据库模型资料,这个资料可以帮助开发人员迅速理清后台数据库中表与表之间的关联,方便用户进行导入导出工具的开发及报表的创建等等;再如接口的详细实现,如此,可以开发人员可以通过这些接口顺利的跟外部程序进行集成;再这份资料中,还提供了一些常见功能的开发案例,开发人员按部就班的根据这些案例进行开发,可以最快的了解系统的开发流程。
所以,用户有了开发文档后,就可以省取自己研究系统代码的麻烦,缩短程序开发的周期。现在这些开发技术文档资料,已经是我们公司赚钱的第三大法宝。
四、靠合作伙伴赚钱。
除了卖资料外,我们还会在全国各地招收合作伙伴,让他们给我们赚钱。我们除了给合作伙伴提供资料外,还会对他们进行系统的培训等等,让他们具备独立实施COMPIERE项目的能力。我们现在合作伙伴的招募速度还是很快的,平均每个月的话,大概有3-5个合作伙伴。所以,从这里也可以看出,开源软件项目,在国内还是比较有前途的,因为用户群正在逐渐扩大。
而且,因为我们COMPIERE项目主要是针对中小企业,项目周期一般在三个月。所以,项目投资回抱比较快,很受软件公司、企业的欢迎。故,大部分企业对这个项目的前景看好。所以,我们现阶段的目标就是不断的扩大招呼合作伙伴,让他们给我们去赚钱。
五、靠实施、个案定制赚钱。
我们除了招募合作伙伴外,我们自己还做软件实施、提供个案定制服务。这也是我们公司发展的一个非常重要的资金来源。不过为了不给合作伙伴的利益产生冲突,我们的客户主要在于海外,如香港、台湾、澳门等等。对于国内的企业,我一般只招募合作伙伴,而不接受直接的实施定制服务。
现在提供定制服务的收费是很高的。如有的企业,费用高达500元每小时每人。其实,我们定义这么高的开发费用,除了开发人员本身成本高以外,还有另外一个目的,就是限制用户对系统进行过多的二次开发。不然的话,有个非常大的问题,就是后续维护的话,很麻烦。因为没有进行二次开发的系统,我们任何一个技术人员,都非常的清楚;而若进行了过多的二次开发,就比较麻烦了,因为我们还需要去额外的了解二次开发的内容。这对于我们提供服务了说,是一大挑战。所以,很多公司在进行二次开发的时候,价格定义的都比较高。
除了个案开发以外,其实,提供项目的实施服务也是蛮赚钱的。我们可以根据用户的不同需求、采用模块的多少等因素,向客户收取不菲的实施费用。不过,总的来说,因为开源软件企业不需要软件的授权版本,所以总的项目实施成本跟商业软件来说,是还有一定差距的。故,在跟商业软件竞争的时候,比较具有价格优势。就凭着这价格优势,及源代码开放,用户可以根据自己的需要进行软件二次开发,所以,才能够跟商业软件抗衡,在管理软件市场上,获得一席之地。
来自:硅谷动力 作者:东明
-
全球10大软件盗版国 亚美尼亚居首美国最低
2008-5-15
据美国商业软件联盟(BSA)周三公布的报告显示,2007年全球盗版软件所带来的损失高达480亿美元.
报告显示,2007年全球软件盗版率为38%,增长了3个百分点.在所调查的108个国家中,67个国家的盗版率出现下滑,但仍有不少国家软件盗版率居高不下.
例如,亚美尼亚以93%的盗版率高居全球榜首,而孟加拉国以92%紧随其后.相比之下,美国的软件盗版率只有20%,为全球盗版率最低的国家.以下分别为2007年软件盗版率最高和最低的10个国家:
软件盗版率最高的10个国家:
1. 亚美尼亚
2. 孟加拉
3. 阿塞拜疆
4. 摩尔多瓦
5. 津巴布韦
6. 斯里兰卡
7. 也门
8. (空缺)
9. 利比亚
10. 委内瑞拉
软件盗版率最低的10个国家:
1. 美国
2. 卢森堡
3. 新西兰
4. 日本
5. 奥地利
6. 比利时
7. 丹麦
8. 芬兰
9. 瑞典
10. 瑞士 -
云计算:构建基于互联网的应用
2008-5-12
什么是云计算
IBM公司于2007年年底宣布云计算计划,云计算的概念仿佛在一夜间就出现在大众的面前,对于云计算的各方解读也众说纷纭。
在展开对云计算的具体实现技术的讨论之前,先让我们看一下云计算的一些基本概念。首先需要回答什么是云计算。
在IBM的技术白皮书“Cloud Computing”中,我们可以看到如下的定义: “云计算”一词同时用来描述一个系统平台或者一种类型的应用程序。一个云计算的平台可按需进行动态的供给(provision)、配置(configuration)、重新配置(reconfigure)以及取消服务(deprovision)等。在云计算平台中的服务器可以是物理的服务器或者虚拟的服务器。高级的计算云通常包含一些其他的计算资源,例如存储区域网络(SANs)、网络设备、防火墙以及其他的安全设备等。
云计算的本质
在应用方面,云计算描述了一种可以通过互联网进行访问的可扩展的应用程序。“云应用”使用大规模的数据中心以及功能强劲的服务器来运行网络应用程序与网络服务。任何一个用户通过合适的互联网接入设备以及一个标准的浏览器都能够访问一个云计算应用程序。
从IBM的定义中我们看到,云计算的含义有两个方面。它一方面描述了一种方便的基础设施,用来构造应用程序,其地位相当于PC机上的操作系统; 另外一方面则描述了建立在这种基础设施之上的云计算应用。一个计算云是虚拟化的计算资源池,用来容纳各种不同的工作模式,并且这些工作模式可以通过快速部署的方式部署到物理设施上。由于使用了分布式的计算技术,云计算能够将计算扩展到更多的计算资源,以及使用冗余的资源进行容错处理。
在IBM的白皮书中我们还可以看到,云计算能够通过快速提供物理以及虚拟服务器来支持网格应用的运行。网格程序能够将一个大的任务分解成很多小的任务并行地运行在不同的集群以及服务器上。我们可以把云计算看做是一个具有更广泛含义的计算平台,除了能够支持网格的应用之外,云计算还能够支持非网格的应用,例如在网络服务程序中的网络服务器、应用服务器和数据库服务器三层应用程序架构模式。特别值得注意的是云计算模型支持当前Web 2.0模式的网络应用程序。云计算是能够提供动态资源池、虚拟化和高可用性的下一代计算平台。
几种典型云计算平台
当前,工业界已经有很多公司聚集在云计算这样一个新型计算概念下面,分别提出了自己针对云计算的理解,用不同的技术来实现上述目标,主要包括下面重要的云计算实现系统。
亚马逊的弹性计算云。事实上,网络零售商亚马逊公司是最早也是一个非常重要的云计算实践者之一。亚马逊公司在构建自身零售平台的时候,也使用了云计算的方法,将自己的购物平台构建在其基础之上。亚马逊公司将自己的云计算平台开放给外部开发人员使用,建立了弹性计算云(Elastic Compute Cloud,EC2),使得独立的开发人员也能够使用亚马逊公司内部的计算资源来建立自己的网络应用程序。
Google的云计算平台及其云计算网络应用程序。主要包括Google针对云计算提出的大规模分布式计算的基础架构以及Google在此基础之上构造的云计算应用服务程序。Google将自己的整个基础计算平台以及相应的应用称为云计算,并且成为云计算最大的实践者。
IBM公司在与Google的合作过程中,提出了自己对于云计算的理解以及相应的技术解决方案。IBM公司于 2007年11月15日在上海宣布了蓝云“Blue Cloud”计划,使得公司内部的数据中心能够按照互联网应用服务程序的形式进行组织,将计算能力分配到分布式全局可以访问的资源组织中,而不是局限于本地的一些服务节点或者固定远端的服务器机群中。IBM在云计算的白皮书中也提出了蓝云计划的基础设施结构,这些基础设施结构构建在IBM本身的x服务器之上。在蓝云中采用了Xen的系统级虚拟化方法,同时提供虚拟化的服务器以及物理服务器的计算资源。在IBM的云计算架构中也采用了类似于Google进行大规模数据处理的基础设施,在其蓝云计算环境中部署了Goolge File System 以及MapReduce用以实现Hadoop。Hadoop是Apache旗下的一款有关大规模数据的开源软件,Yahoo在其中做出了不少贡献。
未来展望
当前已经有很多公司参与到云计算的研究与发展当中。
Yahoo公司就参与了云计算平台Hadoop的开发,雇佣了Hadoop软件的创始人员,并且为此软件贡献了很多代码。同时为了测试与部署Hadoop系统,在Yahoo公司内部也使用了Hadoop软件,建立了世界上最大的Hadoop集群系统,这个集群系统包含了1万个Linux节点,规模还是很大的。现在,Yahoo公司的很多应用程序都构建在云计算平台之上。而上述的最大Hadoop平台则用来计算网络搜索的页面连接图,处理海量的数据。
微软自然也不甘落后,与Google类似,微软重构了自己的搜索引擎平台。除此之外,微软也构建了自己的云计算平台,并在此平台之上推出了云计算的应用。与 Google类似,微软的云计算平台只是为自己的网络应用程序服务,现在还没有看到相应的云计算软件模块公开出来以帮助其他开发商构建云计算平台。微软的网络平台服务Windows Live就可以看成是云计算应用的一个典型,它是一个Web 2.0应用程序形式的云计算用户平台。用户在这个应用平台上可以进行照片的共享,文件的存储以及运行其他的应用程序。这些应用都建立在新型的云计算平台之上,也是微软针对网络实施的重大战略之一。在Live平台上,用户可以访问自己的电子邮件,可以使用SkyDrive来存储数据以及构建自己的网络发布平台等。
另外,硬件公司Dell提供了DCS(Dell Cloud Computing Solution)解决方案,帮助用户构建云计算平台,该解决方案能够降低数据中心的运维成本,提升计算速度、简化数据中心管理,具有良好的可扩展性。软件公司RedHat则与亚马逊公司合作,在亚马逊公司的弹性计算云中部署了RedHat Enterprise Linux,并通过虚拟化的方式部署整个弹性计算云平台。
在云计算研究方面,在Google与IBM的支持下,美国的多所大学参与到云计算中来,包括6所非常著名的大学: 卡内基·梅隆大学、麻省理工学院、斯坦福大学、加州大学伯克利分校、马里兰大学和华盛顿大学。
Google在去年年底之前投入了一个小的计算中心,计算中心的地点未知,但在规模上会超过1600颗处理器。同时,IBM公司也将为这一项创新计划配置一个数据中心。这些中心将运行Google数据中心软件的开源版本,IBM也会提供开源的软件来帮助学生编写互联网应用程序以及相关的数据中心管理软件。虽然说这些数据中心的规模相对于Google内部的集群来说还是非常小的,但是已经开始做一些互联网规模的研究了。两家公司将在前未来年共同投入3000万美元来促进相关的研究工作。
随着越来越多的参与者加入到云计算的研究与发展中,云计算会出现一些新的结构模式,为开发者提供优秀的开发平台,建立下一代的网络应用程序,同时也为用户提供更加优秀的网络应用。 -
PHP开发框架的现状和展望
2008-5-09
Ruby on Rails催生变革
在RoR流行之前,PHP领域也有不少开发框架,例如Mojavi、WACT、PHPMvc和Seagull等。这些框架虽然也采用了MVC模式、数据库抽象层等技术。但由于当时PHP本身不像现在这样流行,所以这些框架都没有得到大量应用,最终归于沉寂。
而在感受到RoR提供的快速开发能力后,PHP社区像被注入了兴奋剂。各种应用技术和开发框架层出不穷。
新一代框架的诞生
PHP社区在被RoR震晕后,没有陷入过多的争论。而是立即行动起来,开始了新一代框架的设计。首先出现的第一批框架几乎都是RoR的克隆。例 如PHP on Trax(连名字都借鉴Ruby on Rails)和TaniPHP、Akelos等。这些框架最大的特点就是力求100%克隆RoR,不管是采用的架构、设计模式,还是使用方法。
这几个框架一开始确实吸引了开发者的注意,但随着开发者的深入了解,这些框架头上的光环逐步褪色。晦涩难懂的架构、糟糕的性能,以及太多的限制,让这些框架难以在实际项目中运用。
此时,许多PHP开发者认为可以借鉴RoR的设计思想,但不应照搬RoR的结构和实现。为此,一些同样推崇快速开发的框架开始在PHP社区出现。这些框架中,CakePHP和Symfony可谓佼佼者。
CakePHP(http://www.cakephp.org/)
CakePHP充满了RoR的影子,从ActiveRecord模式到视图的布局管理都和RoR非常相似。而且CakePHP一开始也尝试实现与 RoR一样的许多东西。但CakePHP的开发团队后来发现PHP语言和Ruby语言存在巨大区别,因此RoR中的许多设计即便能够在PHP中实现,也是缺乏实用价值的。
CakePHP在发展中逐步走出了RoR的阴影,开始探索更能发挥PHP语言本身优势的架构和实现。因此有一段时间CakePHP的API发生了剧烈的变化,以致其他开发者纷纷停下脚步处于观望状态。
但由于前期一些架构的不合理和对RoR太多的模仿,导致CakePHP的核心部分越来越难以理解,运行性能也不尽人意。而且CakePHP将一个庞大的数据库操作对象作为所有业务对象的基础。这虽然利于快速开发,但却导致对业务逻辑对象的测试非常困难。
对于较小型的项目,CakePHP非常理想。出色的快速开发能力、丰富的API和详尽的文档都可以帮助开发者很快完成工作。但随着项目规模的增加,CakePHP的局限性也变得突出。
Symfony(http://www.symfony-project.com/)
Symfony是一个非常成熟的框架,大量利用了已有的开源项目。Symfony使用Mojavi的核心代码实现了框架的MVC模式,利用 Propel作为数据库抽象层。Symfony不仅功能强大,而且对Ajax有全面的支持。加上官方网站提供的大量文档和教程,并拥有一个活跃的社区,因 此受到许多开发者的欢迎。
但是,Symfony最大的问题也在于使用了太多风格迥异的开源项目来组合成框架。由于Mojavi和Propel本身都相当复杂,因此Symfony的结构非常复杂,难以理解和学习。
不过对于希望选择一个框架作为企业内部系统基础架构的企业来说,Symfony的成熟度、丰富的文档和活跃的社区都是值得考虑的。毕竟企业内部系统更为看重的是稳定性和长期的支持。
商业利益与大道至简
看到PHP开发框架的潜在商业价值后,Zend.com联合IBM宣布将要推出一个真正能够发挥PHP优势的开发框架。一时间,这个消息在整个PHP社区引起了地震。大家都开始期盼这个具有“官方”背景的开发框架能够为PHP开发者指出一条正确的道路。
不过世事难测,就在Zend Framework团队公布几个代码片断后,立即就有开发者指出这些代码片段是不可能实现的。事实证明这些代码片段不过是美好的理想。限于PHP语言本身的能力,Zend Framework最终没有实现当初承诺提供的类似RoR中ActiveRecord模式的实现品。
Zend Framework(http://framework.zend.com/)
Zend Framework大量应用了PHP5中面向对象的新特征:接口、异常、抽象类、SPL等等。这些东西的应用让Zend Framework具有高度的模块化和灵活性。同时,因为严格遵循“针对接口编程”和“单一对象职责”等原则,让Zend Framework很有希望成为一个出色的企业应用开发框架。
但不幸的是Zend Framework直到今天,也没有做出更多的突破。在使用Zend Framework开发时,框架对应用程序自身最重要的领域逻辑分离没有提供任何帮助。如果希望开发出真正健壮的企业应用,仍然需要开发者做出相当的努 力,并且在Zend Framework之上建造自己的基础设施。
针对这点,批评者指出Zend Framework虽然大量应用PHP5的新特征,但却没有将这些相对于PHP4的优势转化为能够为开发者提供帮助的东西。
对于简单和小型的项目来说,Zend Framework不但不能提高开发效率。反而因为在框架中应用了大量面向对象设计和PHP5的新特征,对开发者提出了更高的要求,间接增加了项目的开发成本。而对于较大的项目和企业应用,Zend Framework倒是一个不错的基础。但要创建一个成功的应用,仍然需要付出不小的努力。并且要时刻注意Zend Framewok的性能问题。
Code Igniter(http://www.codeigniter.com/)
Code Igniter可以说是一匹黑马。Code Igniter出现之时正是Symfony和CakePHP大行其道、Zend Framework万众期待的时刻。可凭借着独特的设计思想,Code Igniter吸引了大批开发者。这点从其火爆的官方论坛就可得到证实。
Code Igniter推崇“简单就是美”这一原则。没有花哨的设计模式、没有华丽的对象结构,一切都是那么简单。几行代码就能开始运行,再加几行代码就可以进行输出。大部分日常开发中用到的东西都可以立即找到,并且可以很容易的使用。Code Igniter可谓是“大道至简”的典范。
但是,Code Igniter本身的实现不太理想。内部结构过于混乱,虽然简单易用,但缺乏扩展能力。因此在发展到1.5系列版本时,作者不得不通过增加各种hooks来为框架提供扩展能力。
国内PHP开发框架
国内虽然过去也曾有开发者发布过一些框架,但这些框架要么太过简单,要么和某一类型的应用紧密耦合,缺乏通用性。直到进入2006年,随着PHP在国内的大量应用和追捧,真正的国产PHP开发框架才陆续发布。
FCS(http://fcs.org.cn/)
FCS是从Java的Struts 结构移植过来的中文PHP开发框架,使用面向对象的开发结构和MVC模式,并且模拟实现了Struts的标签库,借鉴了国外一些不错的思想,尤其是Java框架方面,因此熟悉Java的开发人员相对比较容易上手,其模版引擎、缓存机制、认证机制和扩展性方面均表现不凡。
在借鉴国外优秀思想的同时,FCS也更多地考虑了国内的应用开发需要。PHP4兼容、完全支持UTF-8,以及PATHINFO支持等,更加有利于国内的主机环境和开发需要。秉着易用和易扩展的原则,FCS采用容易理解的项目、模块和操作机制加上内置的一些自动化操作方法,让应用开发变得更加简单,其功能可以通过基类库以及各种插件的形式灵活扩展,从而满足日益增长的业务需求。正是因为具备良好的开发结构,使得FCS在开发大型应用的时候并不会显得有很多障碍,基于构件的方式,以及配合框架的项目管理机制同样可以让你在处理大型应用的时候一展所长。
FCS力求精简的代码和全中文化的文档、注释,有利于国内PHP开发人员学习和掌握,不过根据目前的情况来看,官方的文档和社区支持目前还比较缺乏,而且对Ajax的支持还不够全面,因此国内的应用成熟度还不够。
FleaPHP(http://www.fleaphp.org/)
FleaPHP从发展上看,是一个具有一定历史的框架。在过去三年中,FleaPHP是作者发布了从PFC1到PFC3系列和flea1试验框架后,推出的第一个真正成熟、稳定的开发框架。
与许多其他框架不同,FleaPHP设计之初,就是围绕快速开发和充分利用PHP自身优势两个重点展开的。因此FleaPHP最大的特点就是极高的模块化程度和扩展能力。
FleaPHP框架的核心非常小,但通过灵活的配置,可以组合出各种类型的基础架构。对于简单的脚本页面,FleaPHP不需要载入MVC模式,只需要为应用程序提供业务逻辑和数据库服务。而对于复杂的应用程序,FleaPHP可以完成从MVC模式调用、访问控制、数据验证到文件上传、图片处理等各种各样的任务。
正是因为这种出色的定制和扩展能力,FleaPHP真正接近了“满足从简单应用到企业开发的各种需求”这个目标。而且与许多其他框架不同, FleaPHP是一个完全在实际开发中精炼出来的框架。因此伴随着FleaPHP的发展,各种各样的实际应用也相继出现。在FleaPHP官方网站上,可以看到各种各样的实际应用。从最简单的企业宣传网站,到复杂的社区网站、企业内部系统等等,不一而足。
FleaPHP作为一个完全国产的框架,具有完全中文化的文档、代码注释,并且在扩展功能上也注重考虑国内开发者的实际需求。因此相对于国外的各种框架,FleaPHP更容易被国内开发者所接受。
但是,也正因为处在国内,FleaPHP面临比国外同行多得多的困难。缺乏足够的贡献者、无礼的责难,以及充满怀疑的眼光,这些都让 FleaPHP的开发团队成员需要更多的奉献精神。而且由于缺乏足够的贡献者,FleaPHP框架目前在文档和扩展功能方面,与其他成熟框架相比还有不小的差距。
并且与其他所有的PHP开发框架一样,FleaPHP也没有找到帮助开发者分离应用程序领域逻辑的途径。虽然有指导文档,但对于初级开发者来说,一个可以拿来就用的领域逻辑基础会显得很实用。
反思与进取
RoR带来的冲击波还远为平息,但PHP开发者们已经在开始反思一味追随RoR的脚步是否真的能够为PHP开发带来质变?
RoR之所以能够取得如此巨大的成功,除了RoR本身的设计思想外,还有一个重要原因就是RoR充分利用了Ruby这种语言的特长。将Ruby 动态语言的优势发挥得淋漓尽致。而在PHP中如果只是单纯照搬RoR中设计,则要处处遇到PHP语言本身的限制。为了绕开这些限制,开发者不得不用一些难以理解的技巧来解决问题。但这样一来通常会导致框架的结构变得晦涩难懂、性能受到损害。
在这种反思中,Code Igniter、FleaPHP等框架就是对这个问题的最好回答。只有充分利用PHP语言本身的优势,才能真正让PHP开发变得更简单、更有趣。
发展到今天,各种PHP开发框架虽然具有各自的特色,但几乎都是为了提高开发效率而努力。但是,虽然其中部分框架注意到了提高应用程序可维护性的问题,但都没有为领域逻辑分离这个至关重要的问题提出解决方案。而这正是这些框架在未来的发展目标。
对于简单的Web应用和复杂的企业应用,两者之间的差别就注定了采用一种固定的架构是无法满足需求的。因此像FleaPHP这样能够提供自定义架构能力的框架,可以让开发者尝试用一个框架的不同组合来解决从简单到复杂的不同程度的需求。
未来,PHP将成为Web开发领域中越来越重要的平台。因此我们相信会出现更多更好的开发框架。虽然作为开发者来说,并不一定需要采用某一个框架来解决问题。但正是因为这些不断出现的框架,我们对使用PHP开发Web应用的理解和把握得到了一次次的推动。 -
Google CEO Eric Schmidt 访谈录续
2008-5-08
新闻来源:翻译自CNBC 作者:35公里
这是 Google CEO Eric Schmidt 接受 CNBC 记者 Bartiromo 专访的第三部分,谈到了 Google 的福利,Google 广告业务的优势,谈到了创新,最后再次谈到微软对Yahoo!的收购。
Bartiromo:
长期以来,人们说,看,Google 有那么令人难以置信的园区,舍得花钱,舍得给员工提供福利,确保人人都快乐。你是否开始对员工的增长以及开销有新的管理办法,或者比以前更甚。
Schmidt:
每天我四处看看,都能看到我们为员工提供的新福利,这是 Google 文化的一部分,我们乐于这样做。当然,我们的毛利率也允许我们这样做。出于几个原因,我们已经放慢新员工的招募速度,最大原因是我们目前想不出让他们做什么。但今年我们仍然会雇佣一千人左右。
Bartiromo:
让我们再回过头谈谈 DoubleClick 的收购,你的广告客户有没有对此有抗拒心理?他们可能说,看,我们已经在 Google 的搜索广告中花了这么多钱,为什么还要在搜索之外的地方再投入?你是什么让他们在搜索之外的其它广告媒介上花更多钱?
Schmidt:
因为他们能挣得回来,也能看到效果。我们从不要客户花看不到效益的钱,也不是好生意。所以,当我们进入这些市场,我希望说,我们有一些工具,可以向你证明,如果你将钱放在那里,你确实会获得销售收入。所以,我们的创新模式在各种广告领域,非独文字广告,都可以带来真实的销售收入,我们能做到,如果我们能做到,就是好生意,如果做不到,就不该做这样的生意。
Bartiromo:
因为能看到效果,所以,即使在现在的经济衰退中你仍然没有看到广告业务的萎缩。
Schmidt:
...
Bartiromo:
你同意吗?
Schmidt:
那时我们的希望。我们的希望是,即使在衰退中,人们也说,我们会把钱放在那些值得花的地方。现在,我看不出我们在衰退。
Bartiromo:
你以前说过,增长速度需要放缓,那什么是合适的幅度?
Schmidt:
我不知道,但很显然,我们不会设定一个增长幅度,我们会设定一个创新幅度。我们的观念是,持续投资新的事物,让它尽可能成长,而我们也有能力将这些新产品交给消费者。当然,他们必须学习如何使用,我们会和他们交谈,这里面牵扯到很多市场营销的事情,它们不会自己去做。有了新主意,人们必须感到满意,一旦他们感到满意了,我们发现增长就会...
Bartiromo:
作为一个从事技术的人,创新就是你终身的事业。你能告诉我最创新的事是什么吗?从你的角度看,下一个巨大创新会是什么?
Schmidt:
我一直觉得理解知识,语言翻译是最大的创新。如果我不知道一些东西,看着电脑,读读英文,分析一下那是什么,把它翻译成另外一种语言,说那种语言的人看了,说,啊,真难以相信。对我来说,这很神奇,但实际上不是,这只是好的计算机科技,我们现在就出在这个水平。而真正让我折服的东西是,计算机做一些人不不能做的事,同时将事情翻译成00种语言,帮我做出总结,为我找到一些我不知道但感兴趣的东西,我们目前还达不到这个程度。
Bartiromo:
Eric,你的股票在很短的时间内从750美元跌到450美元,你认为这是什么引起的?
Schmidt:
我不知道。我们不会盯着短期内的股票价格。我们说过,因为公司已经上市,我们走上漫漫征途,我们需要股东和我们在一起。短期的波动不是我们所关心的,我们也不谈论它。我们关心我们前面的巨大机会,那是个数万亿美元的广告市场,我们不会全部吃下,但我们会得到其中非常可观的一部分。我们的目标是将这些变成持久的东西,这就是这个领域中最大的技术创新。
Bartiromo:
所以,你们当前的首要任务仍然是继续追逐那个巨大的广告市场,还有别的吗?
Schmidt:
我们第一位任务是最终用户满意。比如,人们对 Google 搜索结果满意吗,每天我们都推出新的改进,更多的分类,更多内容,这些是使 Google 成为伟大公司的基础。这是我们的首要任务,甚至比广告还重要。
我们的下一个大动作是进入应用领域,在这个领域,人们每天都花大量时间在信息上,我们可以帮助他们,比如,Email,还有很多别的,如,他们的个人数据,他们的电子表格,日历,我们可以帮他们搜索,帮他们生活在数字时代,如果我们做得好,也可以在移动设备上实现这一切。
Bartiromo:
对消费者来说这很精彩,它们免费,他们已经可以使用这些,不必付钱,但...
Schmidt:
这是非常好的模式。
Bartiromo: Yeah.
Schmidt:
工作得很好。
Bartiromo:
但那些企业用户怎么样?我知道现在正进行一些测试,你们从企业用户听到了什么?
Schmidt:
我们正在企业网络的内部做一些我们已经在消费用户中做过的事情。企业用户和消费用户不同,他们对可靠性有更高的需求,所以我们签署了一些协议保证一定层级的服务质量,然后我们向企业收费,在这些情形,用户会付钱得到一些免费用户得不到的东西。他们还有其它需求,他们需要更高的安全,他们需要同他们已有的系统进行集成,这是一个漫长的过程,但很有价值,这些用户会花费20,30或40年进入我们的模式,我们喜欢这个模式,这是企业市场,是我涉足已久的市场,一个最终会对 Google 非常有利的领域。
Bartiromo:
你是否曾回首看一下 Google 成长历程,我的意思是,长期以来,Google 是最受艳羡的公司之一,然后变成一个庞然大物,接着当 Google 越来越大,人们就会感到害怕,就象当初微软一样。你是否害怕这种感觉?
Schmidt:
我们确实害怕这种感觉,因为我们要保证自己的这种感觉和我们所做的一致。Google 有一套准则,每个公司都如此,我们的准则是不做恶,这个准则为最终用户服务。我们的创始人之一,Larry Page,曾写过一篇关于如何做一个大公司的文章,比如,他写到,我们永远不会窃取用户的数据,如果你对我们不满意,你可以很容易投奔我们的对手,很多公司做不到这一条。我们会在公司的结构,可预知性以及我们的真正使命间达到平衡。如果我们拿你当最终用户提供服务,而你对我们不满,我们就对你做手脚,那是不对的,我们不是这样,我们会让你选择别人。
Bartiromo:
最后一个问题,Eric,我们不得不面对这样的现实,微软需要Yahoo!,如果它们走到了一起,你认为 Google 会处于什么样的不利境地?
Schmidt:
很多人为此争论,我们内部也有很多争论。一方面,有人说,我走我的阳关道,他们走他们的独木桥;另一方面,也有人想到前车之鉴,我前面提过,还有这种合并的可能性。所以,我不知道,我们一直为此争论。
Bartiromo:
Eric,你还有补充的吗?
Schmidt:
没有,我很好。谢谢。
Bartiromo:
谢谢你接受我们采访。 -
Linux手机研发要过五大难关
2008-5-08
Linux手机的前途似乎很少有人怀疑过。曾经做过的,现在正在做的,即将打算做的,在国内估计不下数十家公司。大家都想从中淘一桶金,不过大多是乘兴而来败兴而归,少则损失几百万,多则数千万,有的甚至整个公司因此一厥不振。在真正意义把Linux手机做成功的,在国内可以说曲指可数。本来以为可以靠开源软件与国外大公司站在同一起跑线上的,结果还是起了大早赶了晚集。
Linux手机研发是一项浩大的工程,据说国外一般的估计是,Linux手机平台的研发至少要耗资2000万美元,历时3-5年时间才可能取得成功。当我们开始broncho项目时,有个Trolltech公司的老外发邮件给我们说,不要把你们的时间和资金浪费在GTK上了,MOTO和XXX(忘记了)公司耗资几亿美金,结果还是买了QT才搞成功的。
有那么多开源软件可以免费使用,看似只需要做下简单的集成就行了,为什么还会那样难呢?据笔者的经验来看,国内Linux手机研发要过五大难关:
人才关:人无疑是软件开发中最重要的因素,而国内Linux开发方面的人才稀缺,真正参与到开源项目中的人更是凤毛麟角。据这几年的面试经验来看,很多在简历上号称有N年工作经验,精通N多技术,面试之前让我都诚惶诚恐的牛人,面试之后才发现其水平实在让人难以恭维。后来听人说高手是不会出来找工作的(都是工作机会找上门的),我才死心了,静下心来做人才培养和团队建议。即使有机会把一些高手聚集一起,以国内的企业文件和高手的特质来说,让他们溶合为一个团队不是不可能,至少也是要花相当的时间才行。另外一方面就是团队成员的稳定性,Linux手机研发相对门槛比较高,换人代价相对比较大,如果团队没有凝聚力,那就别想把它做成功了。在前一家公司,我见过一个日程模块换了四个人,代码乱七八糟,膨胀到3W多行,维护两年后达到数百个BUG,整个模块无人敢碰。
时间关:软件工程里关于时间比喻,用得最多的莫过了女人怀孩子了,一个女人十月怀胎可以生一个BABY,但十个女人不可能一个月把BABY生下来。软件项目一样,时间是必不可少的因素,人多只能在一定范围内缩短时间。在国内,无论是个人还是公司,心浮气躁的居多,半年以上的研发时间都是不可接受的,很多水货手机正常项目周期是45天,要做3到5年时间,恐怕没有老板愿意去投资。结果大家都把计划订得相当短,我见过一些搞笑的计划,我私下里说,他们能厉害到能在这么短时间内搞定,我可能只有转行了。计划时间短了,老板同意立项了,接下来以进度为维一的目标,拼命赶工,计划还是一再延期,老板给的压力越来越大,所谓欲速则不达,结果可想而知。我见过一个名片模块,从设计到提交测试只花了两周时间,结果调试了两年多时间,其中发现600多个BUG。(我非常庆幸broncho有老魏这样高瞻远瞩的领导者,我们才能始终坚持质量第一进度第二的原则,每走一步都是真正前进了一步。)
稳定性:有位大师说过,要评估增加一个新特征需要多少时间相对容易,但很难评估将充满BUG的代码修改成最终发布的产品需要多少时间。实际几乎所有Linux手机都把功能做出来了,多半是以牺牲质量为代价的,东西是出来了,但到出产品的时间没有人可以估计。听说几个公司把Linux手机做出来了,小批量生产之后,再也不敢生产了,原因就在于稳定性太差了。把这么大项目通过调试和测试变稳定,可以说比推倒重来代价更大。有次和一个芯片厂家的销售总监聊天,他见多识广,开门见山就问我们项目的稳定性如何,他说现在大家做智能手机,面临最大的问题是稳定性,特别是Linux智能手机,如果不能解决这个问题,什么都白做了。前期我们在设计和编码投入的大量精力没有白费,经过这两周的压力测试,修改一些BUG之后,稳定性已经达到不错的程度了。
扩展性:我的上司老魏有句口头禅,做一款产品不容易吗,闭着眼睛也可以搞定,做一个平台,在平台上建立一个产品线那才叫有挑战。这话也是源自于前一家公司的一个项目,老魏是那个项目的事实上的负责人,历时两年多把那个项目做完了,到产品化时,几个最基本的手法,调整屏幕大小,横屏和国际化,居然都非常困难,原因是在设计时根本就没有考虑到产品化的问题。后来我写过一篇<建立手机平台的产品线>的BLOG, 没有引起什么反响,甚至连评论都没有一条。不过让我非常高兴的是,收到了台湾著名的开源软件高手黄敬群老师的来信,说想在他的报告中引用那篇BLOG。国内关于这方面的考虑实在太少了,部分原因可能是很多Linux手机的开发人员都是传统嵌入时开发(动则就是几W行汇编)转过来的,还没有意识到Linux智能手机与传统嵌入式开发的不同吧。
特色关:现在水货手机大部分都用MTK和展讯的方案,除了手机外观之外,里面的东西基本上都是一样一模的,最多换一下铃音和图片而已。没有特色就意味着软件失去价值,只能拼硬件,从PC的经验的来看,硬件的利润是透明的,除了上游的芯片厂家外,下游的集成商只能赚点蝇头小利。所以大家除了拼了价格之外还是拼价格,已经进入微利时代了,有什么办法呢,没有研发实力,最终只能沦为代工厂。如果没有特色,Linux手机的研发成本将无法消化,根本不可能与MTK的水货机和Windows mobile等智能手机去竞争。
作者联系方式:李先静 <xianjimli at hotmail dot com>
-
Google CEO Eric Schmidt 访谈录
2008-5-05
来自:solidot 作者:35公里
CNBC 的 Maria Bartiromo 周二在洛山矶的 Milken Conference 上对 Google CEO Eric Schmidt 博士做了一次访谈,谈到 Google 的成长,美国经济的衰退,微软对 Yahoo! 的收购,在线广告等话题。
Maria Bartiromo:
Eric, 谢谢接受我们的访谈。
Eric Schmidt:
谢谢再次采访我。
Bartiromo:
华尔街正在酝酿一场关于 Google 增长率的争论,Google 第三季度增长46%,第四季度增长40%,接着是30%,以后每个季度的增长率会有1.5%的下滑,在目前经济衰退的大环境下,你认为 Google 能独善其身吗?
Schmidt:
你刚才提到的是 Google 在美国的增长数字,在全球来讲,我们有很好的增长率,而且,美国的数字要考虑以下因素,一年前,我们有一个非常强劲的季度增长率,所以我们在美国的真实增长率是不错的。虽然总体增长在减慢,但将就我们的规模,我们的业务仍旧是很好的。
Bartiromo:
当你们到达一定规模,已经拥有70%的市场份额,再争取更多份额就不是那么容易了。
Schmidt:
但我们保持增长的渠道有多种,现在有更多的人使用 Internet,更多人使用电子商务,更多人点击广告,而我们的广告技术也越来越好,这些因素中任何一种都可以让我们保持增长。我们对宏观经济环境不是那么敏感,至少现在是这样。我们对经济倒退也不是非常敏感,但我们对新产品的改进是很敏感的。
Bartiromo:
comScore 的数据让所有人的预测都不容乐观,人们也争论这些数据是否准确。你如何保证你们的增长,在人人都捂紧钱袋的时候,你们的广告客户也许会减少预算,我的意思是,2004年到2007年的增长已经不再了。
Schmidt:
我说过,如果你拿5,6或7年做一个考量点,那增长是趋缓的,所以我不觉得那是多么大的变换,你知道,很多事情今天是一个样,明天是另一个样。就我们而言,我关注质量,而且我们的业务模式非常简单。如果我们少投放一些广告,那那些广告被关注的就会多,那些广告的价值就更高,所以,我们目前处于这样一种奇妙的境地,我们投放的广告少反而更砖钱,因为我们的广告的质量高,这是 Google 的一个秘密。
Bartiromo:
是的,Mary Meeker 也这样说,她曾经说,你们其实是从经济衰退中受益,因为这样你们可以把广告做得更好。
Schmidt:
你知道,如果你经营一个公司,你需要非常谨慎地支配你的市场营销开支,我们认为,你应当把这些开支放在一些你可以测算效果的地方,这样你才会知道自己的广告是否有效,我们所做的就是这个。
Bartiromo:
我们来说说 DoubleClick,你们收购了这个公司,目前合并工作进展得怎么样?
Schmidt:
工作才刚开始。大约3周前我们才着手做这些事,我们正在将他们的产品和我们的产品进行融合,让用户得到更好的工具,广告客户可以部署更多广告,出版者可以有更多地方可以投放他们的信息,这是我们长期以来一直等待的一种融合,现在正在进行,大约要6个月的时间才能将所有这一切集成到一起。
Bartiromo:
你认为融合过程要6个月,是吗?
Schmidt:
我们是这样要求的,当然,在 Google 任何事都是一种尝试,我们尝试这个,尝试那个,前期的一些迹象表明我们很有可能在这个时间内完成这些工作。
Bartiromo:
Google 拥有搜索广告,这不是秘密,但,那些视觉广告的情形是怎么样?我们可以说那个市场还有待争夺吗?你们得到了 DoubleClick,微软有 aQuantis,你们会争夺那个市场吗?
Schmidt:
可以说,Google 在视觉广告领域不是领先者,但我们的客户需要同时购买文字广告,视觉广告以及其他的广告模式,我们正在开发的一系列工具,加上 DoubleClick 会让我们为这样的客户提供一套简单的方案,这将加强我们在视觉广告上的竞争力。我认为我们的技术更好,我们现在需要做的只是赢得客户的尊重与认知。
Bartiromo:
你怎样保证那是一项正确的收购,而不是让它自行其事,或你们自己来做。
Schmidt:
我们自己尝试过。但客户很喜欢 DoubleClick。我们的观察也表明,有时候,其它公司可以做出更好的产品,DoubleClick 就是这样的产品,这是我们进行这项收购的原因。
Bartiromo:
就测试而言,你们在 Yahoo! 那边做了些什么?你上次说,你们正在 Yahoo! 那里部署广告,进展得怎么样?
Schmidt:
我们做了两个星期的测试,现在已经结束,Yahoo!将他们的一小部分广告换成我们的,这是我们商业对话的一小部分,很显然,我无法进入,但我相信这是目前 Yahoo! 正在考虑的一个战略选项。
Bartiromo:
事情过去之后,我猜想司法部认为那是一次询价,你听说过司法部关于此事的说法吗?
Schmidt:
任何人可以对任何交易进行评论,如果收购 Yahoo!,司法部也会做出评论,反托拉斯法允许政府对商业交易和收购都进行观察。
Bartiromo:
你和 Yahoo! 有什么可以融合的,你希望看到一种什么样的伙伴关系。
Schmidt:
我们喜欢和 Yahoo! 一起共事,我们之间也有竞争,他们是一家运行良好,令人印象深刻的公司。我们非常关注微软对 Yahoo! 的收购,鉴于微软的历史,鉴于 Yahoo! 资产的价值,我们担心这样的优秀资产进入一个错误的买家手中,会步入歧途。
Bartiromo:
你说微软的历史,你的意思是?
Schmidt:
我想人们知道10年前的反托拉斯案,微软在这方面是有前科的。
Bartiromo:
关于微软和Yahoo!我们知道什么?我们正在等待消息,也许是个不怀好意的消息,我们不知道接下来会发生什么,但微软同Yahoo!的组合对 Google 将是一个什么样的挑战?
Schmidt:
目前而言,我们还不知道会发生什么,我们从新闻中看到一些讨论。如果最终的合并顺利实现,对微软而言,将是一些产品的合并,同时也消除了用户的选择,尤其是电子邮件,即时消息,以及那些他们已经拥有80%到90%市场的东西,微软乐于看到用户失去选择。
Bartiromo:
Google 也有这些杀手级的应用,不管是 Gmail 还是地图,或者电子表格,最终的游戏将是你们直接和微软竞争?
Schmidt:
Google 其实是一个创新者,我们一直重视竞争。我们发现,如果我们可以开发一种简单的全新产品,解决一些让你头疼的问题,我们就可以得到你的生意,得到你的关注,得到你的流量。我们正在尝试一种叫做云计算的技术,这是一个强大的Web服务,可以做一些常规的任务,如电子邮件,字处理,而数据却是保存在“云”里,被别的地方的其他专业人员保存,管理。你不必关心将信息放在哪里,我们非常喜欢这个模式,对其它公司,这是一个技术威胁,是一种技术突破。
Bartiromo:
如果微软恶意收购,你会任何反应?
Schmidt:
那要看他们的战略最终是否成功。简单讲,我们已经指出了坏结果的可能性,但那确实要看发生了那些恶意行为。
Bartiromo:
你知道事情会如何进展吗?我的意思是他们可以到公开的股票市场,购买 Yahoo! 的股票,接着开始一场股东代理权争夺战。
Schmidt:
我所知道的和媒体所说的一样,实质上就是你取代董事会,然后强迫交易。
Bartiromo:
让我们谈谈 YouTube 和 MySpace。YouTube 的发展非常快,你觉得是什么推动了它。
Schmidt:
视频是很强大的东西,也很令人着迷。你知道,我们一开始是做滑稽视频,但现在,因为人们有那么多数码相机,他们可以上载任何东西。将来,我们会在 YouTube 上看到一些专业视频,人们在使用这个平台,因为它有非常大的受众,他们在学习如何接近这些受众,我们目前还没有在赢利方面获得突破。虽然我们有很大的流量,我们有很多有趣,有创意的人,以及争议,我们在一些国际被封杀,我还没有找出一个完美的赢利模式,我们在做,这是今年头等重要的事。
Bartiromo:
很多人觉得这是你们的一个绝佳机会,那么让 YouTube 赢利会花多长时间,会是1年,还是5年,你有没有一个时间框架?
Schmidt:
我相信今年就会出现最好的产品,它们是新产品,我们尚未宣布,它们不仅仅将广告放到人们正在用的那些内容中,我们还有很多,当然,Google 是个创新的地方(Schmidt 讲话从来都是语无伦次 - 译者)。Yahoo! 团队正在尝试各种不同的广告形式,一些更容易参与其中,更有创意,更有趣的形式。Google 相信广告有其自身的价值,对客户受众也有价值,不仅仅是广告发布者,还包括受众。
Bartiromo:
人们就是想看。
Schmidt:
当人们看到自己想要的广告,看到他们关心的事情。
Bartiromo:
但是,你知道,这让我想起 MySpace,我想知道,入股 MySpace 包含着收入方面的期许,那会影响未来两年的利润吗?
Schmidt:
我们已经指出,我这里再重复一遍,整个的社会网络空间对我们来说,要在其中实现赢利,比起其他我们已经涉足的领域要难。这与人们的出发点有关,当你在社会网络中,你在看人们的照片,你在想你的朋友在哪里,你可能不会想着要买辆新车,买件衣服或书。所以,在这里开发广告,比我们想的更难,但我们在做,并且充满希望。
Bartiromo: 你们现在有120亿现金,是吗?
Schmidt: 还稍多一点。
Bartiromo:
这些钱你计划怎么花?很多人说,看这个公司经营良好,增长依然强劲,尤其是全球增长,为什么不派发红利,为什么不回购股票?
Schmidt:
我们喜欢看着那些钱躺在银行里。
Bartiromo:
所以你可以干脆地排除派发红利的可能?
Schmidt:
首先,我们从来没有排除任何事情。但现在,我们很高兴看到我们的现金在积攒,现金代表未来的战略可能,你知道,我们甚至可以参与无线频谱的竞拍,虽然我们失败了,但我们的财务资源允许我们参与一场46.5亿美金的竞拍,如果没有现金,这是不可想象。
Bartiromo: 你从中获得了什么?
Schmidt:
从一个公司的角度讲,我们参与了一项重要的活动。从消费者的角度看,我们知道,我们的参与证明了网络仍然是公开的,消费者仍然有选择的权利,还有比这更好的吗?
Bartiromo:
是,FCC 也为此高兴。关于移动,我记得你曾在一次会议中称移动是一个公司头等重要的事,你对此的预想是什么?
Schmidt:
我所认识的任何人,你所认识的所有人都有手机,在每个国家都这样。
Bartiromo:
我平时并不带着自己的电脑出门。
Schmidt:
在发达国家,手机的覆盖率几乎是100%,所以这是一个很庞大的人群,在未来三五年,将有另外的超过10亿的新手机用户出现,最终世界上将有50到60亿手机用户,这种规模是空前的。所以,这是一个我们可以利用的平台,我们的手机应用,不管是搜索还广告都发展迅猛,我觉得人们会利用手机做越来越多的有趣的事,我指的是所有小手机,大手机,大屏幕手机,那些不象手机的东西,那些可以移动的设备。
将来,通讯业我帮助我们活得更好,因为他们把数以十亿的钱用来在各地建设网络,不管我去哪里,打开 iPhone 或BlackBerry,都可以立刻进入我自己的世界,即使我去的是一个完全陌生的国家,这是了不起的成就。
Bartiromo:
你刚才说的那个世界,我们怎么才能进入?换句话说,我们需要他们提供不同屏幕吗?我的意思是,你是否需要一个更大一点的屏幕来访问那些数据?我们怎样才能实现?
Schmidt:
其中一个问题是我们还不知道如何改变指尖的大小。
Bartiromo: 对。
Schmidt: 这个是没有什么方案可以解决的。
Bartiromo: 对。
Schmidt:
我们需要一定尺寸的屏幕。但有另外的技术,比如,手机的处理器变得更快,电池持续的时间更久,屏幕变得更亮,整个设备遍得更轻,在我们谈论这些的时候,这些事正在发生,我们知道现在已经有这样的设备,因为我们知道地图的使用在剧增,Google Maps 获得巨大成功。这些手机带 GPS,所以如果我要找一家星巴客,我只要输入星巴客,就会告诉我那边有一家。在我看来,这是非常巨大的进步,而且这些服务在几乎全世界都可以得到。
Bartiromo:
真的很神奇。全球变成 Google 的一个热点,请告诉我你是如何保持这些东西继续发展,对 Google 而言,美国之外的最大机会是什么?
Dr. Schmidt:
首先,Internet 在美国之外的国家发展得比美国都快,另外,美国之外在线广告的增长率也高于美国,我们现在实行弱势美元策略,因为美元变得很弱,这对我们也有帮助,基于所有这些因素,美国之外的收入在显著增长。
就我们而言,美国市场和美国之外的市场最大的区别,其实是唯一的区别,是语言。除此之外,很简单,任何人的需要都是一样的,他们需要时装,信息,需要产品,需要电子商务,他们现在就要,他们需要乐趣,要使用信用卡或借记卡。所以我们努力工作以在全球实现这些。我想,如果美国绝大多数大型公司都这样做好自己的全球年定位,都可以实现这样的成长。
Bartiromo:
你环目四望,什么是最重要的,是那些最富裕的地区吗?
Schmidt:
对我们来说,当然欧洲是最重要的,而我们的欧洲市场非常好,我们在那里有相对更高的市场占有率。那里有非常老练的消费者,有非常成熟的广告使用率。如果你放眼全球广告市场,美国,日本,中国,英国,法国,欧洲,它们是最大的5个或6个市场。当然,我们在欧洲做得非常好,在日本做得非常好,而我们也一直在进入中国市场,我们在那里的成长也不错。
Bartiromo:
那里是怎么了?你们在所有市场都是第一名,除了亚洲的一些国家。你们怎么打破这个局面并站稳脚跟?
Schmidt:
不同情况不同对待,在中国,当然,那里有制度和审查,我们没有及时进入,现在,我们在那里不是第一名,在其它一些国家,我们存在一些语言方面的问题,亚洲语言在断句上很莫名其妙,比如,在泰语中,所有单词都放在一个长长的句子中,他们没有断句,所以,开发针对这种语言的搜索和索引技术对我们来说需要稍微长一点的时间。
Bartiromo:
那你现在遇到的最大的挑战是什么?
Schmidt:
是 Goole 内部的事,我们管理创新过程的能力,管理一个这样大公司,进人而言,什么人该做什么事。我们全球有50个开发中心,人们位于不同时区,你在做这个吗,你在做那个吗,我在和你一起工作吗,我如何提交代码,诸如此类的事情。 -
高效使用Linux的七个习惯
2008-5-04
刚开始使用Linux时你也许会感到不习惯,许多高手也都有这样的经历。毕竟,曾经他们也都是新手。但是现在Linux团体已经在为新用户提供有关指南,手册和基本的技术文档来使他们尽快上手方面做的相当出色。三年前我首次接触Linux,很多人通过论坛,在线聊天和电子邮件等帮助我,这些“企鹅”们真是相当热心。
对此,我深感应该为无私帮助我的团体做一些力所能及的贡献,我应该给刚使用Linux的朋友写点什么。这里我编译了七个当我刚入门时别人告诉我的七个习惯。我相信如果你运用了这七个习惯,在你使用Linux时你会感觉更安全,便利,学到很多实用的东西,最终你会发现使用Linux也是那样的愉悦。
1-不要以根用户登录
这是你首先应该注意和遵守的。以前我们可能已经习惯了Windows,我们一直以为权限越高越好,所以我们喜欢以管理员帐户登录。但是这也许是Windows经常被病毒骚扰和不安全的重要原因,现在太多人都在用根用户登录。
权限越高责任越大,拥有管理员权限你需要谨慎对待你所做的任何事情,但是错误还是不可避免。我记得我最先使用的是Suse Linux,有很多事项需要管理但是没有图像用户界面我不知道如何做,于是我天真的注销并登录到了根用户的图形界面。根用户图形界面的默认壁纸是一排排的高亮地雷。这些符号在我脑海里盘旋,我很小心没有终于没有做错什么。
那么以根用户登录有那些危险那?
1.你可以想象你在没有保护网的情况下打秋千,会不会感到害怕?这和你以根用户登录的道理是一样的,你会不经意间毁掉你的系统。
2.你可能会不小心运行恶意软件。通常在根用户模式下任何程序的启动都默认给予所有权限的。
3.如果你的系统有安全漏洞没有修补,你就可能被别人完全控制。
4.这是使用Unix的惯例,除非必须那么不要轻易在根用户下运行任何东西。如果一个不是自己触发的程序请求根用户权限,那么你就要小心了。
通常,我们不必登录根用户界面,下面是几条技巧:
*使用“sudo”或“su”命令,并在你完成管理时退出
*如果你不知道如何使用命令行完成这些,你可以使用“gksu”或“kdesu”。比如,按 Alt+F2并打出“gksu nautilus”,并在你完成时马上结束程序。
2-合理的命名你的文件
Linux环境下,你可以按照你的意愿命名文件,但是以下两点是不允许的:1)“/”是根目录专用的;2)不要使用无效字符。其它的在技术上都是可以的,但是为了避免以后的麻烦这里有几点经验你可以遵守:
*经验上,只使用字母、数字、连接符(-)和下划线(_)
*避免使用美元符($),括弧和百分号(%)等特殊字符,这些字符对于shell有着特殊意义,可能会引起冲突
*避免使用空格,在终端上处理含有空格的文件是很愚蠢的。你可以用连接符或下划线来代替空格。
这些已经基本上成为我的习惯,并且我在使用Windows和MAC时也不自觉的遵守这些准则。
3-将你的home目录放在一个独立的分区上
这样做会给你很大的灵活性。将home目录放在一个独立的分区上,可以在你重装系统甚至升级你的整个版本而不会丢失你的数据和个人设置。你可以在根目录下重新设置你所需要的而保留home分区。现在你可以将你需要的随意分类而不必担心的数据和个人设置,你可以随时使用它们。
如果碰巧在你安装系统之后才懂得这一点,不要失望。你可以按照Carthik在ubantu Blog上的一片名为“Move /home to it’s own partition”的指导道一步步的完成。
4-合理的灾难管理
Linux是比较强大和稳定的,但是任何系统都会崩溃。在你CTRL-ALT-DEL,重启之前,你应该学会如何处理你遇到的事故。你需要知道如何在不重启的情况下轻松恢复你的系统。我个人认为这种情况分为几个不同的层次,如果前一步不奏效的话请转向下一步:
1.我将“强制关闭”程序放在我的任务栏上,如果哪个程序出现问题可以单击“强制关闭”图标并结束该程序
2.如果上一步不奏效,调用终端,用“ps -A”,记下那个出问题程序的进程号,结束它
3.使用“killall”命令,比如“killall firefox-bin”
4.如果整个图形界面都冻结,你已经不可能调用终端,按CTRL-ALT-F1,这样可以转到另一个终端,这样你就可以使用步骤2和3来结束出问题的程序。
5.还不行的话,你可以使用CTRL-ALT-Backspace组合重启你的图形界面,但是要注意的是,这样会结束你正在运行的GUI程序。
6.调用CTRL-ALT-F1再使用CTRL+ALT+DEL这样不会立即重启你的系统,只是按照正常模式重启,所以是安全的(假定你想要重启并且CTRL-ALT-F1可用)。
7.如果这一切都不管用,也不用记着按强制重启按钮,尝试Raise a Skinny Elephant 。
5-主动尝试
你可能对朋友给你设置设计的当前版本和配置很满意,这适合你。这很好,但是可能会有比这更好的。为什么不尝试下Linux和开源的灵活性和丰富性呢?不要害怕尝试不同的程序,图形管理和桌面。实验直到你找到最适合你的。你可以这样想,你现在居住在世界上最好的地方,但是环球旅行也不会有什么坏处的?或许说不定你还可以找到一个更好的居住地,就算不能,你旅行的时间也值得好好品味,你对其它国家,它们的人和风俗,思考方式了解的更多,最终说不定你会喜欢上这样的尝试。你尝试的任何新事物都会增加你的学识,一年左右的时间你将会对Linux和开源世界有一个很好的把握。
我个人曾尝试过至少10种分配方式,4种桌面和五种桌面管理。我最近的文章《 Etymology of A Distro》使我对更多的分配感兴趣,象Zenwalk, Foresight和 Sabayon等。朋友,主动尝试,这对你有好处。
在你尝试之前,你可以参考以下几点:
*设置好你感觉最舒服的系统,因为你需要一个时刻工作的系统。这样你就可以按照下面的几点进行尝试
*你可以利用虚拟机来完成。安装一个Vmware或Virtualbox,用它们来做测试
*如果你不知道如何运用虚拟机,你可以设置一个独立分区来尝试
*最好的,你可以用一个设置好的PC,再有一个当作测试用。这样你就可以随心所欲的进行尝试
6-熟悉使用你的命令行
虽然我不提倡你一定要学习命令行,有太多的文章一直强调学习命令行的重要性。这里我假设你已经知道他的重要性并且已经知道怎样用它处理一些简单的管理任务。你可以按照指导书和手册做相应的配置。但是不要一味的复制和粘贴。就是说,不止不加思考的执行命令许多有自由天性的人劝诫你要尽量深刻的理解每条命令行的含义,它能做什么。为什么手册上这样做的,而不是那样做?理解你所做步骤的基本原理。
过了一段时间你就会感觉你已经能很好的运用它了。最后你会发现它仅仅是种伪装的语言。每条命令可能只是一些词语的首字母,或一个单词的缩写。你希望你的狗理解“Spike fetch ball”这样的长句,为什么不尝试理解下“sudo mv /file1 /file2”那?
7-为你的用武之地做些准备
我有过很多这样的经历,当有个朋友请求我在他的电脑上做些东西,但是由于他所选择的操作系统会出现糗事。有时候我有急事但是仅有的电脑有很挫的操作系统。不必痛苦,随身戴上你的linux系统,不管是存储在 U盘或CD上。有相当多的linux版本很方便的,象Knoppix, DSL和 Puppy Linux等。很惭愧,事实上我自己还没用上这个习惯,我想我也需要言行一致。









