ckmarkhsu 7 發表於 March 16, 2005 檢舉 Share 發表於 March 16, 2005 許多人都知道,Linux的最初發跡來自1991年5月14日,當時為0.0.1版,直至今日最新的2.6.x版,已經超過10年以上的時日。而從Linux的Kernel 1.0版在1994年發佈,最新最大躍進的Kernel 2.6雖在2003年底發佈,但後續的2.8.1、2.8.2則都在2004年發佈,因此可以說:從Linux 1.0到2.6,歷經10年過程。 同樣的,Linux緊咬的Windows NT族系,時至今日一樣也超過10年歲月,從1993年的Windows NT 3.1,到去(2003)年的Windows Server 2003。 兩個以x86(或說IA-32)為主硬體平台發展的作業系統,都經過10年的發展,但兩者在版本上卻有不同的思路與規則,Windows方面在版本稱呼上採行極度行銷的商業手法,而Linux卻為極度平實的技術路線。以下筆者將以簡要回顧的方式,來述說兩者的版本規則差異。 附註:雖然Windows NT一起頭希望是跨各種硬體系統,如Alpha、MIPS等,但之後回歸獨尊x86/i386/IA-32,而Linux發跡為x86/i386/IA-32,之後在各硬體平台上也多有支援版本,但主要仍運用在x86/i386/IA-32硬體中。 1993年,Windows NT 3.1 Advanced Server 很有趣的,Windows NT一起頭的版本號碼就是3.1,這是因為1992年Microsoft發表Windows 3.1,所以為了讓版本數字可以拉齊,以致於1993年發表第一套Windows NT時,版本數也是3.1。同樣的情形之後也不斷沿用,例如Microsoft Office 95推出前,Word為6.0、Excel為5.0,但Office 95推出後,統統改稱Word 95、Excel 95,版本數字上也統統改成Word 7.0、Excel 7.0。 同樣的,以最新的Windows Server 2003而言,其版本為Windows Server 5.2,而該版中所附的新改進之RDP(Remote Desktop Protocol)通訊協定亦有改版,因此版本數也改成RDP 5.2,與依附的作業系統為相同版本數。 Windows NT 3.1剛推出沒有版本之別,推出即訴求在伺服器領域,但後來為了希望也能在工作站領域發揮,因此多提出一個新稱呼:Windows 3.1 Advanced Server,以此版鎖定伺服器,而原稱版本鎖定工作站。 1994年,Windows NT Server 3.5 隔一年,NT 3.1立即跳號至3.5,可見改版幅度較大,並稱為Windows NT Server 3.5,而鎖定工作站的版本則稱為Windows NT Workstation 4.0。 1995年,Windows NT Server 3.51 從版本數即可知,這是一次小改版,不過除了原來NT 3.1、3.5所支援的Alpha、MIPS、i386外,又多出一個Power PC,不過這可不是支援Apple Power Mac,而是以Power PC處理器為基礎,但另有一套硬體設計標準的電腦才能支援執行,如IBM RS/6000工作站、RS/6000伺服器等。 1996年,Windows NT Server 4.0 到了4.0,Microsoft取消對MIPS、Power PC的支援,只推出Alpha及i386版,甚至透露未來不會有Alpha版,這之後也成為事實。 不過,NT 4.0還有兩套衍生版本,即1997年的Enterprise Edition(企業版),以及1998年的Terminal Server Edition(終端機伺服器版)。企業版主要是加入Cluster Services(叢集服務),提供2個節點(Node)的叢集備援,同時CPU從2顆支援到4顆(當時須特別申請才提供)以增加效能。 至於終端機伺服器版方面,主要是加入Terminal Services(終端機服務),但仍要搭配Citrix公司的MetaFrame軟體,才能實現視窗終端機(Windows Base Terminal, WBT)的集中運算架構,由於1996∼98年間,Oracle用NC大力挑戰Windows PC,所以Microsoft這一階段對Windows Terminal也較為積極。同為1998年,Microsoft也宣佈接替Windows NT 4.0的後續版本,稱呼上將不用大家所預先猜測的Windows NT 5.0,之後快發表時才正式揭露:稱為Windows 2000。 2000年,Windows 2000 Server 雖然表面上不講這是Windows NT 5.0,叫做Windows 2000,但從許多操作上都可以看到「5.0」的版本編號數。 撇開工作站用的Windows 2000 Professional Edition(專業版)不談,Server伺服器版方面,2000年2月Microsoft先發表Windows 2000 Server、Windows 2000 Advanced Server,然後8月再補發表更高階的Windows 2000 Datacenter Server(只隨高階伺服器一同出貨,沒有採行盒裝販售)。 到了2002年,Microsoft為了支援Intel推出的Itanium 2處理器之伺服器,臨時自原有Windows 2000 Advanced Server進行修改、重新編譯來支援,推出Windows 2002 Advanced Server Limited Edition(限定版)。另外為了因應Linux在NAS、Web Hosting等領域的持續走強,也推出所謂的Windows SAK(SAK=Server Appliance Kit)供硬體開發商使用。 2003年,Windows Server 2003 老實說,Microsoft似乎一直在名稱上搖擺,過去1993年用過Advanced Server這個詞,1997年廢用、2000年再次使用,2003年再廢除。而1997年有Enterprise Edition這個詞,2000年廢除,2003年再度啟用,筆者推敲這不是Microsoft內部有兩批行銷人馬在拉鋸,就是行銷上的用詞政策搖擺不定。 言歸正傳,2003年Microsoft發表Windows Server 2003,名詞與年份也與前一個版本的Windows 2000 Server是對調的,再度暴露行銷用詞與系列命名的搖擺。而Windows Server 2003有4套版本:Web Edition、Standard Edition、Enterprise Edition、Datacenter Edition,其中Enterprise Edition及Datacenter Edition亦有IA-64版,等於接替原先的Windows 2002 Advanced Server Limited Edition,而Web Edition則部分接替Windows 2000 SAK,另有一部份由Windows 2003 Storage Server接替。而整體而言,Windows Server 2003的版本為5.2,等於是5.0(Windows 2000 Server)的小幅改進,如同Windows 95升級成Windows 98,或Windows 3.0升級成Windows 3.1,都是相隔三年的小改進。 當然!很快就會有Windows Server 2003 Extended System出現,這是為支援AMD64或Intel EM64T架構所推。 Linux版本編號規則與意義 關於Linux,許多刊物及書籍都有簡要介紹過它的核心版本編號及其意義,但在此還是簡單重申。 Linux核心版本的編號格式為a.b.c,「a」目前只有0、1、2,在0的階段即是在未正式的草版階段,而1、2則都是正式版本。不過,由於Linux到2.0版出現後才逐漸受人重視,幾乎很少有人談及0.x、1.x時代的情形。 至於「b」的數字有奇偶性質之分,奇數表示是非穩定的摸索、嘗試版本,偶數則為測試良善後的穩定功能版本。舉例來說,2.0是穩定版,2.1即是試驗版,2.2是穩定版,2.3即是試驗版。 而「c」呢?「.c」則意味著小功能、小幅度改版的次數,此數字只有一直累積,沒有穩定與測試之別,且各版的累積數字不一。例如1.2版最多到1.2.13,而1.3版最多卻到1.3.100,小幅修改可達100次,甚至更多。 Linux版本演進 只是說明版本編碼方式與編號含意仍是不夠的,現在我們正式來回顧Linux Kernel的版本數字演進。 前面已述,最初的一版為0.0.1,於1991年5月14日於網路上發表。接著都是0.x的草創階段,一直到1994年3月13日,Linux Kernel 1.0才正式出現,而且1.0版就已經內含XFree86,提供了X Window的圖像使用者介面。 接著,有1.1的嘗試版、1.2的穩定版、1.3的嘗試版,但是在1.3之後,突然跳至2.0,2.0版於1996年6月11日發表,這可能是功能大幅躍進之故,中間若依據正常演化的話,應當會有1.4、1.5、一直到1.9等,但實際上都跳過而不存在。 Linux Kernel 2.x世代 雖然跳過1.4∼1.9,直接從1.3跳到2.0,但是2.0開始又採取穩健的循序編碼了,其中2.0、2.1、2.2、2.3、2.4、2.5、2.6的連續編碼一個都沒跳過。當然!每當穩定版本推出時,就格外受媒體、刊物的矚目報導,即2.2、2.4、2.6這三個版本。反之2.1、2.3、2.5等實驗版,只有較小幅、少量的報導。 不過,實驗就是「大膽」,所以改版數字也會較多,筆者仔細觀察及比較一下過去Linux Kernel各小幅改版的數字編號,發現只要是實驗版,編號都會超多(約在100次上下),反之正式版卻多只有30次之內的改版。例如1.1版就有95次改版,即1.1.0∼1.1.95,反之穩定的1.2則只有1.2.0∼1.2.13,同樣的規則在2.x版之後也是相同,實驗性的2.1版多達132次改版,但穩定的2.2版卻只有26次,2.4也只有27次,即最高到2.4.27。 此外稍補充一下,Linux Kernel的a.b.c格式,其中「c」是從1.1版之後才開始實施,更早的0.0時代也有使用,但唯獨1.0時代未用上,Linux Kernel 1.0僅有9次的Patch(修正、補強),沒有「c」格式的編號,若要硬說或許可稱為1.0.0∼1.0.9,但其實不是這樣的編號型態。 到了今日,Linux Kernel的版本格式似乎又有新變化,在2.6版推出後,已經經過8次小幅改版,即2.6.0∼2.6.8,而今(2004)年8月14日卻有一個新版,寫法為「2.6.8.1」,似乎又多出一個版本位數,成為a.b.c.d的版本格式,這會否成為未來Linux Kernel更細膩、詳盡的版本演進編碼法,可能還有待進一步的觀察。 最後,筆者簡要列出Linux Kernel各版本的出現時間及「格式c」的改版次數,以供各位參考比較。(見表1) Linux版本之對應日期及小幅改版次數(製表:顏國偉) 日期 版本數 簡說 1991年05月14日 0.0.1 第一個版本 1994年03月13日 1.0 補強9次 1994年04月05日 1.1.c c=0~95(c=小幅改版位數) 1995年03月06日 1.2.c c=0~13 1995年06月11日 1.3.c c=0~100 1996年06月11日 2.0.c c=0~40 1996年09月30日 2.1.c c=0~132 1999年01月25日 2.2.c c=0~26 1999年05月11日 2.3.c c=0~99 2001年01月04日 2.4.c c=0~27 2001年11月22日 2.5.c c=0~75 2003年12月17日 2.6.c c=0~8 2004年08月14日 2.6.8.1 最新版本 但是,各位除了緊盯Linux Kernel版本外,另一個該注意的是LSB(Linux Standard Base)及UnitedLinux(共同的發行版本),畢竟現在少人直接使用Linux Kernel,多半是從Distribution(發行版本)來啟用,而LSB則有助於Linux應用程式、工具程式、驅動程式可以平順交換、相容,如今Sun的Solaris 10之所以可以直接執行Linux應用程式,正是因為執行環境相容LSB的緣故,而IBM的AIX 5L也是標榜能盡可能平順轉移或直接執行Linux應用程式,且LSB不僅有IA-32標準,就連其他硬體平台(如大型主機、IA-64、AMD64等)的標準也都已經底定、完備,因此建議各位除了隨時瞭解Linux Kernel版本外,LSB及UnitedLinux的版本發展也該有所留意。 相關網址 http://www.kernel.org/ http://www.microsoft.com/windows/WinHistoryDesktop.mspx http://www.microsoft.com/windows/WinHistoryServer.mspx 鏈接文章 分享到其他網站
Recommended Posts
請登入後來留意見
在登入之後,您才能留意見
立即登入