万圣节文件II

来源:互联网 发布:2016总决赛詹姆斯数据 编辑:程序博客网 时间:2024/05/09 01:11
{ 万圣节文件II -- 1.4}

Linux作业系统竞争力分析报告

下一个 Java VM?

 
{ 这份备忘录很清楚地是继"万圣节文件"(现在是Halloween I; 您应该要先看)後, 针对开放原始码团体计划所写的.  Halloween II是由前微软雇员在3 Nov 1998, 在我刊出Halloween I, 泄漏给我的,  并且直接由国家级报章所报导.

它比Halloween述及较少关於微软的企图与策略.  另一方面来说, 它对作业系统消费者来说, 关於一对一比较微软可信度及Linux制造商, 有效地评估的作用.
 
在本文, 该作者极端地正面评价Linux在伺服器的市场占有率, 效能, 可依赖性, 及生存力是很有趣地 -- 而且完全与微软对大众的轻视说法完全相反.

事实上, 读者可能会很难忍受这些正面评价比事实来的少很多; 这并不反应太多事实, 因为就算是在内部, 微软雇员能够承认的实在有限.

引述索引:

这里是本文中值得书写的部份, 直接连接到本文所在之处.  了解"OSS"是作者对"Open Source Software"是有帮助的.
 

* Linux表现出最有出息的UNIX, 即在重要任务应用, 及 - 由於是开放原始码 - 具有超过其它竞争作业系统的长期可信性.
* 大部份人需要的主要软体, 当他们移到Linux上时, 都已经可以免费取得.  包括了网站伺服器, POP, 邮件伺服器, 文字处理器等等.
* 一位对Win32 GUI熟悉的使用者仅需短期的学习变可在Linux下具有生产力.
* 我在之前有IE4/NT4在同样一台机器, 跟Linux/Navigator的组合相比, Linux/Navigator在处理简单的HTML及图形, 至少快30-40%.
* 长期来说, 我在上面的简单经验指出Linux在桌上市场有机会...
* 消费者爱死它了.
* Linux的超过Windows NT的优点(真正可意识到的)包涵: 可定制性 ... 可获取性/可信赖性 ... 可达成性/效能 ... 交互操作性 ...
* Linux在初期的小型伺服器市场中以关键性作业系统出头
* 以今日的伺服器需求, Linux是可信的替代品, 尤其是对大量的商业伺服器及应用软体来说.
* 专利及版权用以打击Linux的方式尚待调查.
* 注意, 不管如何, Compaq及Dell仅仅是暗示要采用Linux来推展较低的OEM OS价格.
在编辑这些引述时, 我把与Halloween I中重复的部份省略.

 如何读这些文件:

 注解是绿色的, 由括弧包起来, 是我所加上去的(Eric S. Raymond). 我将我认为是重要的部份变成红色. 我在这些重要部份加上注解; 您可以透过以下这些标记略
过这些注解.

 1 2 3 4 5 6 7 8 9

威胁评估:

这份备忘录反覆述说阴险的建议, 用来制止Linux, 像标准协定如果是``解效(反廉价的,de-commoditized)'' -- 意即, 利用不相容的外加功能来变态, 然後用来锁住消费者. 这项威胁我在Halloween I中广 地讨论过.

这份备忘录也建议Linux可用专利控诉来攻击.

 历史:

 1.1 -- Initial version, prepared 3-4 Nov 1998.

 1.2 -- Substantial commentary added, 5 Nov 1998.

 1.3 -- Minor corrections and additions, 6 Nov 1998.

 1.4 -- Minor corrections and additions, 15 Nov 1998.

 }

 

 

Vinod Valloppillil (VinodV)

Josh Cohen (JoshCo)

Aug 11, 1998 - v1.00

 

Microsoft Confidential

目录

目录 *

经营主题 *

Linux历史 *

什麽是Linux? *

历史 *

组织 *

Linux技术分析及作业系统结构 * Anatomy of a Distribution *

核心 - GPL *

系统函数库及应用软体 - GNU GPL *

开发工具 (GPL) *

图形使用者介面 / 使用者介面 *

商业Linux OS * 可执行档相容性 *

RedHat *

Caldera *

其它 *

商业的 Linux 整合系统制造商 *

市场占有率 *

安装率 *

伺服器 *

子机 *

发行商市场占有率 *

Linux品质评估 * 安装 *

使用者界面 *

网路 *

应用软体 *

可察觉的效能 *

结论 *

Linux竞争力议题 * 消费者爱死它了 *

Linux对NT *

Linux对Java *

Linux对SunOS/Solaris *

Linux在伺服器上 * 网路公共建设 *

ISP采用 *

小型伺服器 *

个案研究: Cisco Systems, Inc. *

Linux於子机上 * 应用软体 / 图形使用者介面乱象 *

Unix开发者 *

非PC装置 *

Linux的预测及未来 * 目前状况 / Linux未来 *

"同位成长" *

强处 *

弱点 *

最糟糕的局面 *

下一步及微软的反应 * 打击Linux *

处理弱点 *

历史回顾 *

 

 

Linux作业系统

下一个Java VM?

经营主题

Linux作业系统在OSS中是可高度曝光的产品. Linux表现出最有出息的UNIX, 即在重要任务应用, 及 - 由於是开放原始码 - 具有超过其它竞争作业系统的长期可信性.

Linux在短期呈现出对Windows NT伺服器的短期收入威胁, 尤其在廉价档案, 列印及网路服务企业.  Linux强调为玩家及UNIX服务, 减轻对中期潜在对Windows桌上系统的伤害.

在最糟糕的状况下, 提供了伺服器OEM厂商一种机制, 来提供整合, 指定任务的产品, 及完全使微软在上面的收入为零.

[本文假设读者已经读过"Open Source Software"一文. 许多的观点/论断, 在此都由上一文而来, 因此为了简洁, 与其相关者在此不再重复.]

Linux历史

什麽是Linux?

Linux(念成"LYNN-ucks", 译注: 这是美语念法, 正确为LINN-ux), 是开放原始码OS在市场占有率排名第一的作业系统. Linux起源於有至少25+年历史的老牌子UNIX作业系统.

        特色摘要:

    • 多使用者/多线多工(kernel & user)
    • 跨平台(x86, Alpha, MIPS, PowerPC, SPARC, etc.)
    • 32位元记忆体保护; 虚拟记忆体支援(64位元发展中)
    • 64-bit支援(平台相关)
    • 对称式多处理器支援(Intel & Sun CPU's)
    • 支援多种档案系统(FAT16, FAT32, NTFS, 各种UNIX)
    • 高效能网路
      • NFS/SMB/IPX/Appletalk网路
      • 在各种UNIX测试评比中速度最快
    • 磁碟管理
      • Striping, mirroring, RAID 0,1,5
    • Xfree86 GUI
 

历史

有个对Linux作业系统的详细描述的文章可在Wired Magazine找到, http://www.wired.com/wired/5.08/linux.html. 我将重点改写如下 .
{ 网址错了;  http://www.wired.com/wired/archive/5.08/linux.html. }

Linux是起源於Linus Torvalds的智慧结晶, 一位在Helsinki大学的大学生. 除了80386-based核心外, Linus写了键盘及萤幕的驱动程式, 并在1991年夏天, 以GNU的大众版权提供他的原始码在FTP站上.

在放到FTP站後, 他在夏天结束前, 在Minix USENET讨论群中发表Linux.  於1992年一月, 超过100位使用者/玩家已经下载Linux - 更重要地 - 已经规律地贡献/更新修正及驱动程式的原始码等等.

相较於FSF/GNU的工作, 该工作提供许多开放原始码, Linux团队生产完全开放的核心程式码. 同时, 越来越多的GNU user/shell工作被移殖到Linux上以为玩家来完成这个平台.

Forbes magazine的Linux故事有对Linux发展的历史做详尽的叙述 http://www.forbes.com/forbes/98/0810/6209094s1.htm:
{ 这网址坏了. 看 http://www.forbes.com/forbes/98/0810/6203094s1.htm.

 

  Date Users Version Size (LOC) 1991 1 0.01 10k 1992 1000 0.96 40k 1993 20,000 0.99 100k 1994 100,000 1.0 170k 1995 500,000 1.2 250k 1996 1.5M 2.0 400k 1997 3.5M 2.1 800k 1998 7.5M 2.1.110 1.5M   程式行数(LOC)是包含了Linux所有平台的移殖, 包含x86, PPC, SPARC, 等等.

Linux 1.0 - March 1994

Linux 1.0是第一个主要的释放版, 并且产生的"发行版". 在1.0之前, linux是一片一片的核心, 而且没有中心地点来放置整个作业系统.

主要特色:

    • 虚拟记忆体管理 / 记忆体对映 / 快取缓冲区
    • 任务控制
    • 对一般网路卡, 硬碟, CDROM的支援
    • Named Pipes, IPC
    • 用来取代Minixfs的原始EXTFS支援
    • 优先权式多工
管理结构

在1.0版释出後, Linux开发者采用一种管理结构, 以控制该加什麽到核心中, 偶数版本为稳定, 奇数版为开发者的版本.

每个核心的主要领域有专业的"负责人"来维护, Linus则有最後决定权.  到现在还是如此.

注意到这个管理结构是核心团队所用的, 不包含像GUI, 系统工具及伺服器, 系统函数库.
 

自1.0版, 以下的1.x版分支都还在:

1.1 3/95

1.2 8/95

1.3 6/96

 

1.3版演变成2.0版

 

Linux 2.0 - June 1996

Linux v2.0是第一个主要能与UNIX发行商竞争的版本. 核心, 系统函数库, GNU Unix工具, X11, 多项开放原始码伺服器应用软体如BIND及sendmail等等都被加入变成Linux的一部份.

而同时GNU/FSF同意, 不太甘愿地, 使Linux核心变成GNU作业系统的核心.
{ 不对, FSF没有同意. 他们依然在做自己的``HURD''核心. }

这些是新的函数库及工具:

    • 核心模组2.0.0 - 基本核心模组支援
    • PPP daemon 2.2.0f - Dialup networking
    • Dynamic linker (ld.so) 1.7.14 - Shared libraries
    • GNU CC 2.7.2 - C compiler, tools, and debugger
    • Binutils 2.6.0.14 - 支援许多种可执行档格式
    • Linux C Library Stable: 5.2.18,
    • Linux C++ Library 2.7.1.4
    • Termcap 2.0.8 - Console mode terminal drivers
    • Procps 1.01 - ProcFS file system maps kernel objects to the filesystem
    • SysVinit 2.64 - A system V boot system, SYSV compliant named pipes.
    • Net-tools 1.32-alpha- 基本网路工具如 telnet, finger, etc
    • Kbd 0.91 - Console mode keyboard/scrollback/ virtual screens support
  版本序列

目前2.0.x稳定版为2.0.34, 在May 1998公步. 2.0.33在Dec 1997. 开发版本为2.1.108 (July 14, 1998).

处理过程减缓

在核心成长的状况下, Linux释放的频率逐步减缓.  尤其是2.2版, 下一个"稳定"版, 大家都引颈期盼. 程式规模的量已经开始击溃Linus的能力了.  有许多的修补程式需要合并, 而Linus已经快窒息了.

目前, 2.0.x在两年间已经有34个版本了. 开发版2.1.x, 将最终变成2.2, 从9/96已经架起108个版本, 而且似乎遥遥无期.
{ 这倒是没错. 另一方面来说, 许多人使用2.1.x很多个月并没有问题, 平均的重开机率比起NT或Windows低的非常多.

 Linus可以在1998年春天放出2.2高品质稳定版. 不过他把标准提高很多, 所以延荡至今. }

即便如此, 主要的改变一直在整合加入核心中.  大部份合并看来都是基本的错误修正及挂跨平台问题.

 

 

组织 一个对OSS开发组织及过程分析/描述的文件, 在第二份文件标题为"Open Source Software"  这一节专门描述Linux独特之处.

Wired Magazine最近依时序撰写Linux的历史"The Greatest OS that (N)ever was" http://www.wired.com/wired/5.08/linux.html.

开发团队的成长可类比为有机的, 不能说是混沌, Linux的自我成长. Linus开始挑选并依赖早年Linux玩家Michael K. Johnson所说的"一些可信任的副官, 由他们来取得较大并可信的修补程式. 这些副官或多或少拥有相对较大的核心部份."

 

而其它的OSS计划, General Public License ("CopyLeft")及其它相关的工具用以产生Linux程式的动态行为:

 

在某层次上, GPL犹如Linux玩家部落的宪章. 该版权说, 可以用其他人的程式, 或进行批发 - 就如Linux所做的 - 甚至可用来赚钱(毕竟玩家也要吃). 但您不能违背玩家的软体基本法律: 原始码必须要令未来的玩家也可获取

 

 

Linux技术分析及作业系统结构

一个发行版的解析

"Linux"技术上来说只是个核心, 并非整个支援的作业系统. 要生产一个有用的产品, Linux "发行版" 是附了核心, 驱动程式, 软体及许多其他必要的元件, 用以做成完整的UNIX/GUI.

 

这些次系统都是以OSS的方式发展的, 例如Xfree86 GUI - 有远超过Linux核心的复杂程度.

 

这些外部的元件是由许多来源而来的, 并由发行制造商所集合. 经常会有争议发行商附上非GPL的程式.

 

部份列於下:

 

  Component  Codebase / Name Provider/Maintainer(s) Kernel Basic OS, Networking Stack Linux (http://www.kernel.org) File System(s) Msdos, ext2fs Linux Kernel Sys Libs Glibc, Lib5c GNU / FSF Drivers   Linux, Individual Contributors User Tools Gnu user tools GNU/FSF System Installation LISA Caldera App Install 

Management

RedHat Package Manager RedHat Development Tools GNU Development tools 

GCC

GNU/FSF Web Server APACHE The Apache Group 

http://www.apache.org/

Mail Server SendMail http://www.sendmail.org DNS Server BIND http://www.bind.org SMB Server SAMBA http://www.samba.org X Server Xffree86 / MetroX Xfree86 project / 

MetroX commercial

Window Manager FVWM GPL Widgets Motif X Consortium Desktop Tools X Contrib 

KDE 

Gnome

X Consortium 

http://www.kde.org 

http://www.gnome.org

Management  RPM Package Installed 

Roll own distribution specific

RedHat (free) 

Debian / Slackware

  部份较大的元件描述如下:

 

核心 - GPL Linux的核心是由Linus及其副官们所维护, 并以GPL来保护.

在Linux核心的功能包含:

    • 核心作业系统特色(scheduling, memory management, threads, Hardware Abstraction, 等等)
    • Network Stack
    • File system
Linux核心架构及元件的线上文件可在此找到: http://sunsite.unc.edu/linux/LDP/tlk/tlk.html. 注意萤幕卡驱动程式是不在核心支援内 - 核心仅支援文字显示.

驱动程式 -- GPL

大部份GPL, 有时候, NDA与硬体制造商需要取得规格来做驱动程式, 此时则非开放原始码.

 

Linux装置驱动程式通常是由使用者对其自身的特定设备所发展的. 这个方式产生了大量的Linux装置驱动程式:

    • 萤幕卡: http://sunsite.unc.edu/LDP/HOWTO/Hardware-HOWTO-6.html -- 接近400个驱动程式
    • 网路: http://sunsite.unc.edu/LDP/HOWTO/Hardware-HOWTO-11.html -- ~75网路卡支援
    • PCMCIA http://sunsite.unc.edu/LDP/HOWTO/Hardware-HOWTO-26.html -- ~150支援的卡
NatBro指出: 一个导致这麽多驱动程式的重要的特色是. 写Linux驱动程式极其简单, 及Linux上相对强力的除错工具. 找出并安装DDK, 然後试着挂上核心除错工具, 用各种使用者工具来除错, 不把NT系统撕掉就暗幸了, 这是很大的挑战 - 相对於Linux上的简单.  任何白痴可以在两天内用一本像"Linux Device Drivers"的书来写出一个驱动程式 -- 在NT下可没有这种两天制造的驱动程式. 最近, 小群的硬体制造商开始提供Linux驱动程式, 网路卡(3Com)及SCSI(Adaptec). 这些驱动程式被Library-GPL所保护, 因此可以是非开放原始码(Library-GPL稍後说明). 还需要观查这是否会开启Linux商业驱动程式的先河. 系统函数库及软体 - GNU GPL 系统函数库提供:
    • 基本POSIX api给系统服务
    • 基本API给命令列/shell的工具支援.
Linux系统函数库并非由Linus所维护. 因而, 有小部份的分歧 - glibc及lib5c 导致少量的不相容性.

使用者工具 (GPL, GNU FSF)

这些是基本的UNIX命令列工具及shell环境. 许多shell环境都存在, 几乎都是由FSF所提供的.

开发工具 (GPL)

系统的最大标记就是免费可取得的发展工具/编译器. GCC及PERL语言通常可免费取的.

这些工具都与UNIX长久作伴, 并广泛地在所有UNIX平台上可取得. 这些大量廉价的开发/除错工具是对共通技巧的一大贡献.

以初学者/中等开发者惯用於VB/VS/VC/VJ, 这些工具实在过於简陋.

(译注: 对高等的开发者来说, VB/VS/VC/VJ这些东西, 就像大乌龟一样, 又肥又胖, 跑起来又慢. 小乌龟生出来也是一副德性. 在UNIX上, 要学会如何写Makefile只要一个小时不到.  安装这些乌龟的时间就超过学习Makefile的时间.)

GUI / UI

X Server

X Server标准是由MIT所拥有, 并与X签有合约. X工会版权业务对OSS群众来说太严格, 因此便发起Xfree86计划来.

有趣的是, Xfree86发展团队是用BSD版权, 因为他们认为GPL太严格: http://www.redhat.com/linux-info/xfree86/developer.html.
(译注: 这是现实上的问题, Xfree86原始码实在太庞大,  附上原始码并不十分实际.)

规划XFree86在Linux上非常困难, 耗时耗力. Linux没有萤幕硬体抽象层, 大部份萤幕卡制造商也都没有提供驱动程式. 然而, XFree86还是提供了大量的萤幕卡及晶片支援. 正确规划XFree86需要使用者知道制造商, 型号, 及晶片. 有时, 使用者需要知道如何计算萤幕时序.

Widgets及Desktops

有许多的widget sets在现有系统中, 因此, 不同於Windows, X软体看起来不完全相同. Motif可说是Unix widget set中的不成文标准, 但它不完全免费发行, 与Linux模式相背.

 

因此, Linux发行商通常选择几项近似, 但不完全相容的Widget sets.

    • Motif
    • LessTif
    • Xaw3d (3d athena widgets that look like motif)
    • QT
  明显地, 这一团乱是起於widget sets的分歧.  在Linux的潮流中, 造成许多竞争的负担:
    • Gnome/全新
    • KDE
    • FreeQT/KDE
    • CDE/商业版
 

商业版Linux

执行码相容性

伺服器

几乎所有伺服器所需的元件都与Linus所维护的核心相关.  因此, 只要硬体没有问题, 几乎所有Linux伺服器软体都可以执行.  跨平台(例如, x86, PCC)几乎是重新编译即可.

可说系统软体原始码是100%相容.

Solaris / SCO x86 相容性

透过相容的函数库, Linux在x86上可执行大部份SCO UNIX及Solaris x86执行档. Oracle on SCO经常被用来做为例子(虽然Oracle未曾"正式"支援SCO执行档在Linux - Oracle最近宣布Oracle 8将会有Linux版本.)

子机

子机的发行版倒是很混乱, 因为X-windows / GUI for Linux实在大乱.

执行码相容性议题是起源於使用不同的函数库.

执行码不相容: Netscape Communicator

一个不相容的例子是Netscape Communicator for Linux. 现有版本Netscape Communicator for Linux是用libc5建立的, 而不是新的glibc. 不过RedHat倒是发行glibc的版本.

RedHat http://www.redhat.com

RedHat公司在1995成立, 由两位真诚的开发者所成立, 希望产生商业支持的"乾净"Linux.

该公司目前有约35雇员. 财务状况可在Infoworld的CEO访谈报导中获得 (http://www.infoworld.com/cgi-bin/displayArchive.pl?/98/23/e03-23.102.htm_:

Bob Young, Red Hat的总裁期许这个三年的公司今年能赚进一千万美金. 并发行约400,000的Linux, 价位由$50到$1000(支援版).

 

商业开发附加品

Red Hat最有趣的观点是积极地回馈Linux. 

 
Redha积极雇用几位Linux的关键开发者, 并付钱给一些全职玩家. 有些元件已经捐献回Linux团体, 包含:

 

    • RedHat Package Manager - RPM提供套件安装及维护.
    • Pluggable-Authentication Manager - PAM类似NT SSPI / SAM系统, 并允许可插入的授权功能(RedHat提供LDAP plugin). PAM原来是起源於Sun System.
  在大体上来说, 最大贡献是广泛使用的"Redhat Package Manager" 或 RPM.
 

Redhat目前开发计划是Linux新的GUI, 称为"Gnome".  Gnome是用来回应一些非GPL版本的X-windows使用者介面.

 

产品特色

在所有Linux发行版中, Redhat有黄金阵容. 在最高档, Redhat附上以下产品:

 

    • Apache Web Server
    • Corel WordPerfect
    • DBMaker DBMS by Casemaker
    • Xfree86 window server
{ 有点错了. Red Hat不将Corel WordPerfect附在内. }

 

Caldera

Caldera是Ray Noorda的最近一家公司, 着眼於作业系统市场. Caldera的财务及销售都未公布, 单相信他是第二号Linux制造商.

Caldera包含许多套件在其版本的Linux:

    • StarOffice 4.0 由德国的Star Corp.
    • Adabas SQL伺服器, 由Software AG
    • Netware client 及 Admin
    • Netscape fasttrack server 及 communicator
    • Xfree86 及 MetroX X-window systems
 

其它

其它Linux发行商似乎远远落後在RedHat及Caldera.  包含了SlackWare, SuSe, 及Debian. 发行商的一览表可在以下网址找到
http://www.linux.org.
{ 把SuSE写掉实在是无知. 他们是欧洲的Linux冠军, 而且会比在美国还早威胁到NT工作站. }
(译注: 作者对Linux发行商可说全然无知.  Slackware是老牌子Linux发行版, 老Linuxer都还是用Slackware.  Debian是玩家制作出来的版本, 因此销售量无法统计, 数量也是相当惊人的.  此外, 还漏掉了在日本的Turbo Linux, 也是数量庞大.)

商业Linux整合系统制造商

目前没有主要的系统整合制造商由Linux平台做为主要收入. 还算完整的商业软体可在此找到: http://www.uk.linux.org/LxCommercial.html.

理由如下:

    • 初始的Linux软体都是免费的大部份人们需要的主要软体, 在人们移到Linux时已经都在了, 而且都是免费的. 包含了网站伺服器, 收邮件软体, 邮件伺服器, 文字编辑器, 等等.
    • Linux市场尚不成熟 - 目前Linux市场正在发展, 目前Linux商业软
 
原创粉丝点击