2008年12月30日 星期二

期末讀書心得


Linux傳奇
這本書顧名思義就是在敘述,Linux如何誕生的和作者托瓦茲的故事。

起初托瓦茲是看不懂組合語言,又加上他不懂編譯器(讓組合語言程式碼更簡易的程式),使他漸漸習慣看一些組合語言相關的書籍自己摸索,之後托瓦茲也就漸漸的會寫組合語言,這像能力使他對將來有很大的影響。不過說真的一個大學生會寫組合語言,真的超級恐怖的耶!組合語言本身易用難寫,雖便於操控電腦,因為組合語言是屬於較低階的語言,也可以說是可以直接和晶片互動的低階語言,但是從頭到尾都是0和1真的有點噁心。

在我看這本書的時候,我還蠻羨慕他的,譬如說在他要換電腦的時候,因為他本身是寫是可以直接與晶片互動的低階"程式碼",所以會比較了解晶片的優劣,所以對於硬體(如晶片)也會比較熟悉。除此之外托瓦茲善於寫組合語言,而他也說自己是個「低階人」,所以他在早年就對這方面產生了興趣,而原因有兩個,一個是對基本層面的程式設計情有獨鍾,第二個是原因是他本身有「性能癖」,對於程式碼而言,他希望做到最精簡、最有效率,使程式的性能發揮百分百。這也意味著Linux將來為何能比同等的程式還要便捷的原因。

這本書裡有很多的專有名詞像是最新奇的UNIX系統殼程式C語言程式庫等。

1. UNIX的概念很簡單,大概可分為二點:
(1)、所有程式都是檔案。
(2)、不管是建構編輯器還是附屬檔案,所有的程式只有一個目的,就是要能有效的完成目標。這兩個概念對於托瓦茲都有一定的影響,而以第一個概念影響托瓦茲最深,但Linux最主要在第二個概念。

2.系統殼程式是提供作業系統基本介面。

3.C語言程式庫是一大群別的程式可以呼叫的輔助碼,以這種方式可以創出一套通用的功能,可以縮減使用者的程式。

史托曼要的是可以在各型硬體間方便移植的作業系統,因為當初很多都是單一機型的內務操作軟體,就這樣史托曼找上了UNIX元件,因為已有使用者將UNIX實際應用在不同電腦上。除此之外,它的另一個理由是讓他所做的程式與UNIX相容,則那些會UNIX的人也會使用這套系統,不必在學新的東西。史托曼在已有的UNIX基礎上建構更好的系統,因此類似UNIX的自由分享系統就此誕生。這「UNIX自由分享系統」也就是「讓UNIX軟件通用計畫」就叫做GNU計畫,而這個名詞邊線出了駭客的身影,GNU是GNU's not unix這是駭客常用的程式設計的方法-「遞回」。UNIX主要元件之一,是C語言編譯器(這是將指令轉換成處理器晶片所能理解的二進位置代碼0或1),也因為C語言編譯器是每個程式設計者不可會缺的工具,因此在史托曼創作自由軟體上,有很大的幫助。因為C語言編輯器自由取得,所以會讓更多人注意到GNU計畫的發展。

其實史托曼開發GNU計畫是因為他想要自己和夥伴所撰寫的程式能自由和公開的在使用者之間流傳,就因為這樣他才要把UNIX複製出來,製作一個類似UNIX的自由分享的系統,但是還是會有不些人會把GNU程式拿去當成產品販賣,因此史托曼為了使它的軟體能自由和公開的分享,決定起草一種旨在保護而不是限制使用者權力的軟體授權書,也就是所謂的「通用公共許可證」。此舉保障他所要確立的自由軟體在法律上無懈可擊,在他這個「反版權」觀念之下,使用者可以複製、修改和出售原版本或修正版本,但不能修正反版權賦予使用的權益

我也蠻認同這個概念的耶!因為我也認為軟體應該要自由和公開,這樣才可以讓每個人都可以修改這個軟體,使軟體的能快速的發展,就像是Linux一樣,就是因為托瓦茲它開放給世界所有的人來修改他的Linux作業系統,使得他的系統能在短時間裡快速的發展。

在這本書裡頭,我看到了史托曼為了讓自己的程式可以在全世界自由的流通,所做的努力與付出,也看到了托瓦茲不吝嗇的開放自己程式的原始碼給別人修改自己的程式,使得Linux一年比一年快速的成長,所以我認為在將來自由軟體可能會慢慢的爬上主流。

沒有留言:

張貼留言