นิทานเจ้าตู่ (Ubuntu) : ตอนที่ 9 กว่าจะเป็น Linux

Linux

นิทานเจ้าตู่ (Ubuntu) : ตอนที่ 9 กว่าจะเป็น Linux

ประมาณ 8 ปีที่ผ่านมา

4 min read

Table of Contents

ก่อนหน้าเคยพูดถึงประวัติของ XP ตอนนี้มาพูดถึงตัวเองบ้าง เรามาย้อนเวลาไปถึงหน้าร้อนของปี 1991 มีคนสุดยอดคนหนึ่งได้วาดวงกลมอยู่ในโลกของ Internet

“Hello everybody out there using minix I’m doing a (free) operation system”

พูดถึง MINIX ก็ต้องพูดถึง UNIX UNIX ก็เป็นโอเอสตัวหนึ่ง และยังมีประวัติที่ยาวนานมาก ในปี 1965 ในห้องทดลอง Bell Laboratories ได้เพิ่มการทดลอง โดยการร่วมมือระหว่าง General Electric and MIT เพื่อสร้าง MULTICS โอเอสที่มีสามารถใช้งานได้พร้อมกันหลายคน พร้อมกันหลายงาน และ Multi Layer ชื่อเสียงของห้องทดลอง Bell ใครๆ ก็คงต้องรู้จัก มีผลงานมากมายที่ทำให้ชีวิตของเราเปลี่ยนไป โครงการ MULTICS โอเอสได้ตั้งขึ้นในปี 1965 แต่ก็ได้ถูกปิดลงในปี 1969 สาเหตุที่สำคัญก็คือมันช้าไป เห็นได้ว่าการทำโอเอสสักตัวมันไม่ง่าย แต่โลกนี้ไม่มีอะไรที่แน่นอน ดูเหมือนว่าโครงการนี้จะจบไปแล้ว แต่จริงๆ แล้วพึงจะเริ่มต้นเอง เพราะมี Hero คนหนึ่งเกิดขึ้น Ken Thompson ก็ได้อยู่ในโครงการนี้ แต่โครงการได้ถูกปิดไป เขารู้สึกเสียใจ เพราะว่าเขาได้เขียนเกมส์ขึ้นมาตัวหนึ่งเล่นไม่ได้แล้ว เกมส์ตัวนี้ก่อนหน้านี้ run บน GE-638 เจ้าเครื่องตัวนี้ก็คือเครื่องที่เขาใช้เขียนระบบ MULTICS แต่มันช้าเกินไป เล่นเกมส์ไม่มัน Ken Thompsonหวังว่าเมื่อโครงการแล้วเสร็จแล้ว ระบบคงจะ Run เกมส์ได้อย่างดี แต่โครงการก็ได้ถูกปิดซะงั้น ทำไงละ พระท่านได้สอนไว้ว่า ตนคือที่พึงแห่ตน ถึงแม้ว่า Ken Thompson คงไม่เคยฟังคำสอนของพระพุทธเจ้า แต่เขาก็ได้พิสูจน์ด้วยการกระทำ เขาไปขุดเครื่องPDP-7 มา แล้วเขากับเพื่อนก็ได้ย้ายเกมส์มาที่เครื่องนี้ แล้วเจ้าเครื่องนี้ก็ได้เขียนชื่อไว้ในประวัติศาสตร์ ก็คือเครื่องนี้

SynoCommunity
SynoCommunity

แน่นอน อยากจะเล่นเกมส์ ก็ต้องมีโอเอสก่อน โอเอสตัวนี้ก็ได้เขียนขึ้นโดย Ken Thompson กับ Dernis Ritchie ใช้ภาษาAssembler Languageเขียนขึ้นมา แต่เป็นระบบที่ง่ายๆ กว่าที่ UNIXเกิดมาได้ก็เพราะเกมส์นะเนี่ย

ด้วยแรงในการอยากเล่นเกมส์ผลักดันให้คนสุดหยุดสองคนทำการสร้างต้นแบบของ UNIX จนแล้วเสร็จ ระบบนี้ใช้งานได้สองคนเท่านั้น (สงสัยไม่แบ่งให้คนอื่นเล่นแน่เลย) กับระบบ MULTICS -MULTiplexed Information and Computing System, Brian Kernighan ก็ได้ตั้งชื่อของเขาเล่นๆ ว่า Uniplexed Information and Computing System ย่อเป็น UNICS ตอนหลังก็ได้เปลี่ยนมาเป็น UNIX ปีนั้นเป็นปี ค.ศ.1970 เรียกว่าเป็นปีกำเนิดของ UNIX หลังจากนั้น Brian Kernighan รู้สึกว่าการใช้ภาษาassembler เขียนโอเอสยากต่อการดูแล ก็เลยสร้างภาษา C ขึ้นมา (มันก็เหมาะกับนิสัย DIYของเขา) แล้วก็จัดการเขียนด้วยภาษา C ใหม่อีกครั้ง จากนั้น UNIX ก็ได้เข้าสู่ยุครุ่งเรือง จนถึงทุกวันนี้ แม้แต่ตอนนี้ Super Computer ระดับโลกหลายๆเครื่องยังใช้ระบบ UNIX อยู่

เอาละ ประวัติ UNIX จบแค่นี้พอ มาถึงจุดสำคัญของเราคือ Minix

UNIX เป็นระบบที่สุดยอด เป็นระบบที่ผู้เรียนคอมพิวเตอร์สมควรเรียน แต่ UNIX ก็แพงบรรลัยเหมือนกัน นักเรียนจนๆ คงซื้อมาใช้ไม่ไหวแน่นอน ศาสตราจารย์Andrew S.Tanenbaumที่สอนในมหาลัย Vrije ในAmsterdam ประเทศ Holland ก็รู้ดีถึงจุดนี้ นักเรียนของเขาได้เรียนเกี่ยวกับคอมพิวเตอร์ เรียนรู้พื้นฐานของโอเอส ยังไงก็ต้องมีคอมให้ลองเล่นดูถูกไม? อยากมีคอมก็ต้องมีระบบโอเอสถูกไม? DOS แหละ ถึงแม้ว่าตอนนั้นDOS จะออกมาแล้ว แต่ระบบที่เป็นใช้เพียงผู้ใช้คนเดียว มันก็คงพึ่งไม่ได้ละมั้ง ติดตั้ง UNIX เหรอ มหาลัยยังไม่อยากล้มละลาย ดังนั้น คนสุดยอดอีกคนAndrew S. Tanenbaum ก็จับ keyboard ขึ้นมาพูดว่า งั้นเราเขียนสักระบบละกัน จากนั้น Minix ก็ได้กำเนิดขึ้น Minix มีความหมายว่า Mini Unix นั้นเอง เริ่มจากปี ค.ศ.1987 ระบบถูกเขียนขึ้นมาจนพัฒนาถึง Ver1.5 ในปี ค.ศ.1991 ตอนนี้มีสอง Version 1.5 กับ 2.0 ระบบนี้สร้างขึ้นเพื่อเป็นระบบเรียนรู้สำหรับนักเรียน ก็เลยมีความสามารถอย่างง่ายๆ และก็ไม่มีการเพิ่มเติมแต่อย่างใด ก็เพื่อที่ว่านักเรียนสามารถเรียนรู้ให้หมดภายในเทอมเดียว ตอนนั้นระบบ Minix หากใช้ในการเรียนจะฟรี แต่ถ้านำไปใช้งานอย่างอื่นต้องจ่ายตัง แต่ตอนนี้ฟรีหมดละ ระบบนี้เป็นระบบที่ไม่ถือว่าดีมากนัก แต่เป็นระบบที่ open source นี่ทำให้ Hacker ทั้งหลาย สามารถอ่าน code ของระบบได้หมดภายในครั้งเดียว ในนี้รวมถึง นักเรียน Linus Benedict Torvalds ใน Helsinki University Finland อยู่ด้วย…

ตอนนั้น Linus เป็นนักเรียนปีสอง Helsinki U. สิ่งที่เขาชอบมากที่สุดก็คือการศึกษาจะให้คอมทำงานตามที่เขาคิดได้อย่างไร ทำอย่างไรจึงจะเค้นความสามารถของคอมออกมาให้หมด ทำให้เครื่องที่น่าสงสารทำงานจนเหนื่อยหายใจไม่ทัน ระบบที่ติดตั้งในมหาลัยเป็น Minix ที่ใช้ในการเรียน ถึงแม้ว่าจะเหมาะกับการเรียน แต่ตัวระบบเองมีความสามารถไม่สูง แล้วเจ้าระบบนี้ก็ไม่พอกับความต้องการของ Linus แต่ก็ทำไรไม่ได้ ตามที่พูดมาขึ้นบน Unix ก็แพง แล้ว Unix กับ DOS ต่างก็ไม่เปิดเผย code ด้วย ระบบพวกนี้นำมาใช้งานได้อย่างเดียว แก้ไขเองไมได้ และแล้วในที่สุด Linus ก็ทนไม่ไว้ ลงมือเองเลย

วันนี้เรารู้ว่า Linus ได้สร้างตำนานเอาไว้ แต่ในตอนนั้น เขาไม่ได้คิดไรมาก ก็แค่เพียงเพื่อศึกษาการเขียนโปรแกรมในโครงสร้างของIntel386 เท่านั้น (ตรงนี้ผมไม่แน่ใจว่าแปลถูกไหม หาในเน็ตก็ไม่เจอข้อมูลคับ ใครรู้ช่วยบอกที) โดยที่เขาไม่รู้เลยว่ากำลังสร้างระบบที่ใช้การอย่างกว้างขวางทั่วโลก แต่ตัวเขาเองกลับคิดว่ามันเป็นความคิดที่ประหลาดของตัวเขาเอง ดังนั้น ตอนเริ่มแรกเขาตั้งชื่อระบบที่เขาเขียนขึ้นมาว่า FREAX จากนั้นเขาก็ได้เริ่มเขียนระบบ ประหลาด นี้เรื่อยมา ประมาณเดือน เม.ย. ปี1991 ก็ได้เขียนเวอร์ชัน0.00 ที่สามารถ Run ได้ เวอร์ชันนี้สามารถBootได้ มี processสองตัว ก็คือพิมพ์ AAA และ BBB แล้วก็……จบ มีแค่นี้ ถึงแม้ว่าพูดเป็นประโยคยังไม่ได้ แต่นี่ก็เป็นการเริ่มต้นที่ดี อย่างน้อยก็ bootได้แล้ว

หากเขาทำไปแบบนี้ จนถึงวันนี้ ก็คงไม่มีผมเกิดขึ้นมาหรอก กำลังของคนเดียวมันมีจำกัด สามหัวย่อมดีกว่าหัวเดียว Linus ก็เลยเอาระบบที่เขาเขียนขึ้นมาไปไว้ในอินเตอร์เน็ต ก็เลยมีคำพูดข้างบนขึ้นมา “Hello everybody out there using minix- I’m doing a (free) operating system” นี่คือข้อความที่เขานำไปเผยแผ่ที่ comp.os.minix เพื่อบอกกับทุกคนว่า เขากำลังเขียนโอเอสอยู่ และ เขาก็ยังได้นำ source code ของ “FREAX” อัพโหลดไปที่ ftp.funet.fi ให้ทุกคนได้โหลด เพื่อได้ศึกษาร่วมกัน แต่ตอนนั้นผู้ดูแลระบบของ server ชื่อ Ari Lemke เห็นว่าชื้อ “FREAX” ดูแล้วมันขัดหูขัดตา คิดไปคิดมา ในเมื่อระบบถูกเขียนโดย Linus แล้วก็เป็นประเภท like Unix หรือประเภท Like Minix (ตัวของ Minix ก็เป็นประเภท Like Unix เราเป็นครอบครัวเดียวกัน) ก็เลยชื่อว่า Linux ซะเลย

เมื่อ Linux ได้เผยแผ่บนเน็ตแล้ว ก็มีคนมามุงดูเยอะมาก (ฝรั่งมุง) คือให้ความสนใจอะครับ หลายคนรู้สึกว่าเจ้าสิ่งนี้แปลกดี แต่เวอร์ชันแรกที่เปิดตัวย่อมไม่มีอะไรมา (มันก็แน่นอนอยู่แล้ว) ตรงนี้ต้องสร้างความเข้าใจก่อน Linux คืออะไร? หากพูดอย่างแคบๆ ก็คือ Linux เป็นแค่ส่วน Kernel ของระบบ หรือจะเรียกว่าแกนของระบบก็ได้ มันเป็นแค่ไฟล์ตัวหนึ่งที่อยู่ใน /boot/ ของ Ubuntu เท่านั้น หากเปรียบเป็นรถยนต์ Linux ก็เป็นแค่เครื่องยนต์ แต่พวกเราเรียกรถยนต์ที่ติดตัวเครื่องยนต์ของ Linuxว่า รถ Linux แค่นั้น ในเมื่อ Linux เป็นแค่ Kernel ถ้าจะให้ทำงานได้ก็ต้องมีสิ่งรอบนอกที่ค่อยช่วยเหลือและทำงานร่วมกัน เช่น File system, Command line และ โปรแกรมพื้นฐาน

เนื่องจากเริ่มแรกก็เขียนบนMinix ดังนั้น File ystem แรกๆ ของ Linux ก็ยืมของminix ใช้ แต่ยืมของคนอื่นอย่างเดียวก็คงไม่ถูก ยังไงก็ต้องมีที่เป็นของตัวเอง ก็เหมือน XP ที่มี FAT และ NTFS อย่างที่พูดไปก่อนหน้านี้ File System ก็คือวิธีจัดการพื้นที่บนฮาร์ดดิสก์ของตัวเอง ห้องของตัวเอง จัดการเองสบายที่สุดว่าไหม? และในตอนนี้ก็ได้มีคนสุดยอดอีกคนชื่อว่า Theodore Ts’o

Theodore Ts’o จบจาก U.MIT เอกคอม ที่เมกา ในปี 1990 เขาผู้นี้มีความชอบหลายอย่าง ชอบทำอาหาร ชอบขี่รถ ชอบศึกษาคอม (ไม่เห็นมันจะเกี่ยวกันเลย) แล้วหลังจากนั้นก็ชอบโทรเลขเข้า แน่นอนนี่ไม่ใช่สิ่งที่สำคัญ เขาได้เจอLinux และรู้สึกว่าน่าสนใจมาก ก็เลยได้ให้บริการE-mail server ให้ทุกคนได้ติดต่อการ และหลังจากนั้นก็ให้ FTP Server ไว้ Share Source Code กันอีก แล้วก็ได้ใช้มาจนถึงทุกวันนี้ นอกจากนี้ ในด้านเทคนิค เขาก็ได้เขียน File System Driver และ Scalability แล้วเขาก็รู้สึกว่า Linux ยังขาด File System ที่เป็นของตัวเอง เขาก็เลยเสนอและทำ File System Ext2 และ ระบบ File System ของ Ext ก็ได้ถูกใช้มาจนถึงทุกวันนี้ ไม่ว่าจะเป็น Distributed ไหนก็สนับสนุน และก็ถูกพัฒนาเป็น Ext3 และ 4 Theodore Ts’o ก็ถือว่าเป็นคนแรกๆ ที่ร่วมพัฒนา Linux เลย

คนพัฒนาเก่าแก่อีกคน เป็นคนอังกฤษ Alan Cox เขาทำอยู่ที่ University of Wales ในSwansea เขาชอบเล่นเกมส์คอมพิวเตอร์มาก (เป็นอีกคนที่ชอบเล่นเกมส์ เห็นได้ว่าการเล่นเกมส์ก็ไม่ได้เลวร้ายอะไร แต่ต้องรู้จักแบ่งเวลาให้เป็น) โดยเฉพาะเกมส์ Online (เห็นไหม เห็นไหม เกมส์ online ด้วย) แต่ตอนนั้นเกมส์ Online ยังไม่สวยขนาดนี้ ตอนนั้นเป็น CLI คุณนึกภาพออกไหม? เกมส์ online ที่เล่นใน Command Line เรียกกันว่า MUD - Multi User Dungeon or Dimension เล่น MUD ก็ต้องมีคอม ก็ต้องมีเน็ต ก็เลยทำให้ Alan Cox ได้เริ่มมีความสนใจต่อ คอมพิวเตอร์และอินเตอร์เน็ตขึ้นมา เพื่อให้ความเร็วในการเล่นเกมส์และความเร็วรับส่งของเน็ตเขาก็ได้ศึกษาระบบหลายๆตัว พยายามเค้นให้คอมทำงานให้เร็วที่สุด เพื่อเลือกระบบเล่นเกมส์ที่เขาพอใจ และเขาก็ได้ซื้อคอมรุ่น 386SX แล้วก็ลง Linux 0.11 ที่ติดตั้งก็เพราะว่างบไม่พอ แม้แต่ Minixเขาก็ไม่มีเงินซื้อ (ย่ำอีกครั้งว่า Minixใช้ในการเรียนฟรี แต่หากใช้งานอย่างอื่นต้องเสียเงิน รวมถึงใช้ในบุคคลด้วย) แล้วเขาก็ได้เริ่มใช้ Linux ซ้ำยังศึกษา Source Code ด้วย เขาก็มีความสนใจต่อด้านอินเตอร์เน็ต ตอนหลังก็เริ่มเข้าสู่ทีมพัฒนาด้วย และได้เป็นคนสำคัญในการพัฒนา Kernel Linux อีกคน บริษัทเล็กๆ อ่อนๆ ก็เคยเชิญเขาไปทำงานด้วย ก็ถูกเขาปฏิเสธอย่างแข็งกร้าว

ยังมีอีกท่าน Michael K. Johnson เขาเป็นคนเริ่ม Linux Documentation Project ที่สำคัญคนหนึ่ง เคยทำงานใน Linux Journel ตอนนี้ทำงานใน RedHat แน่นอนนอกจากที่พูดมานั้น ยังมีอีกมากที่ต่างอุทิศเวลาในการพัฒนา Linux พวกเขามาจากประเทศต่างกัน ทำงานที่ต่างกัน พวกเขาแม้แต่หน้ายังไม่เคยพบกัน แต่พวกเขามีจุดประสงค์เดียวกัน ทำงานผ่านอินเตอร์เน็ต ใช่เวลาว่างของต้นเอง ช่วยให้ Linux เติบโตขึ้น ถึงได้มีโอเอสที่ใช้ได้อย่างถูกกฎหมายอย่างทุกวัน

ขอบคุณต้นฉบับจากท่าน pisit ณ บ้าน ubuntuclub.com มากครับ ที่ใจดีให้เนื้อหามาแปะที่บล็อกผม

Tags:

นิทานเจ้าตู่ Ubuntu