# แนะนำลีนุกซ์เบื้องต้น และประวัติความเป็นมา

### บทนำ

คุณรู้สึกเบื่อความไร้ประสิทธิภาพของโอเอสที่คุณใช้อยู่บ้างไหม การทำมัลติทาสกิ้งแบบพิการ การอินเทอร์เฟสที่เลวร้ายกับอินเทอร์เนต (เดาได้ไหมว่าหมายถึงโอเอสของใคร)
หากคุณเป็นนักแกะรื้อค้นระบบ ต้องการจะดึงพลังของฮาร์ดแวร์ที่มีอยู่ออกมาให้เต็มที่ คุณคงจะรู้อยู่แล้วว่าโอเอสที่ใช้ๆกันอยู่นั้นช่างไร้พลังเสียเหลือเกิน แถมยังต้องการทรัพยากรฮาร์ดแวร์มาก เรียกได้ว่าสวยแต่รูป จูบไม่หอม
หากคุณเกิดอาการอย่างนี้ขึ้นมาล่ะก็ คุณคิดไม่ผิดแล้วล่ะครับที่อ่านบทความนี้ ผมกำลังจะแนะนำคุณสู่อาณาจักรแห่งการบุกเบิก การผจญภัยแห่งใหม่ สิ่งที่คุณคาดเดาไม่ได้กำลังรอคุณอยู่ (ไม่ใช่จูแมนจินะ)
คำฝรั่งบอกว่าไม่มีอาหารกลางวันมื้อฟรี แปลเป็นไทยว่าไม่มีอะไรได้มาง่ายๆ ลีนุกซ์ก็เหมือนกันครับ ถึงแม้จะแจกจ่ายฟรี และมีแอพพลิเคชันที่ทรงประสิทธิภาพมาก แต่ก็ต้องแลกกับการที่คุณจะต้องใช้คำสั่งที่ค่อนข้างยุ่งยาก แล้วก็จำเป็นจะต้องอดทนกับการทดลองครั้งแล้วครั้งเล่าจนกว่าจะได้ผลงานที่พอใจ บางทีการติดตั้งลีนุกซ์ครั้งแรกของคุณอาจจะไม่ได้ทำครั้งเดียวเสร็จ เหมือนกับการติดตั้งโอเอสทั่วๆไป คุณจะต้องใช้ความพยายามมากขึ้น
ถ้าคุณเห็นว่าอุปสรรคเล็กน้อยข้างต้นนี้ไม่สามารถหยุดความอยากรู้อยากเห็น ไม่สามารถหยุดวิญญาณนักสำรวจของคุณได้ คุณก็พร้อมแล้วที่จะเข้าไปสู่โลกแห่งระบบปฎิบัติการที่ทรงพลังที่สุดระบบหนึ่ง ที่มีอยู่ในโลกนี้

### ลีนุกซ์คืออะไร

ลีนุกซ์ระบบปฏิบัติการแบบ 32 บิต ที่เป็นยูนิกซ์โคลน สำหรับเครื่องพีซี และแจกจ่ายให้ใช้ฟรี สนับสนุนการใช้งานแบบหลากงาน หลายผู้ใช้ (MultiUser-MultiTasking) มีระบบ X วินโดวส์ ซึ่งเป็นระบบการติดต่อผู้ใช้แบบกราฟฟิก ที่ไม่ขึ้นกับโอเอสหรือฮาร์ดแวร์ใดๆ (มักใช้กันมากในระบบยูนิกซ์) และมาตรฐานการสื่อสาร TCP/IP ที่ใช้เป็นมาตรฐานการสื่อสารในอินเทอร์เนตมาให้ในตัว
ลีนุกซ์มีความเข้ากันได้ (compatible) กับ มาตรฐาน POSIX ซึ่งเป็นมาตรฐานอินเทอร์เฟสที่ระบบยูนิกซ์ส่วนใหญ่จะต้องมีและมีรูปแบบบางส่วนที่คล้ายกับระบบปฏิบัติการยูนิกซ์จากค่าย Berkeley และ System V
โดยความหมายทางเทคนิคแล้วลีนุกซ์ เป็นเพียงเคอร์เนล (kernel) ของระบบปฏิบัติการ ซึ่งจะทำหน้าที่ในด้านของการจัดสรรและบริหารโพรเซสงาน การจัดการไฟล์และอุปกรณ์ I/O ต่างๆ แต่ผู้ใช้ทั่วๆไปจะรู้จักลีนุกซ์ผ่านทางแอพพลิเคชั่นและระบบอินเทอร์เฟสที่เขาเหล่านั้นเห็น (เช่น Shell หรือ X วินโดวส์)
ถ้าคุณรันลีนุกซ์บนเครื่อง 386 หรือ 486 ของคุณ มันจะเปลี่ยนพีซีของคุณให้กลายเป็นยูนิกซ์เวอร์กสเตชันที่มีความสามารถสูง เคยมีผู้เทียบประสิทธิภาพระหว่างลีนุกซ์บนเครื่องเพนเทียม และเครื่องเวอร์กสเตชันของซันในระดับกลาง และได้ผลออกมาว่าให้ประสิทธิภาพที่ใกล้เคียงกัน
และนอกจากแพลตฟอร์มอินเทลแล้ว ปัจจุบันลีนุกซ์ยังได้ทำการพัฒนาระบบเพื่อให้สามารถใช้งานได้บนแพลตฟอร์มอื่นๆด้วย เช่น DEC Alpha , Motorolla Power-PC , MIPS เมื่อคุณสร้างแอพพลิเคชันขึ้นมาบนแพลตฟอร์มใดแพลตฟอร์มหนึ่งแล้ว คุณก็สามารถย้ายแอพพลิเคชันของคุณไปวิ่งบนแพลตฟอร์มอื่นได้ไม่ยาก
ลีนุกซ์มีทีมพัฒนาโปรแกรมที่ต่อเนื่อง ไม่จำกัดจำนวนของอาสาสมัครผู้ร่วมงาน และส่วนใหญ่จะติดต่อกันผ่านทางอินเทอร์เนต เพราะที่อยู่อาศัยจริงๆของแต่ละคนอาจจะอยู่ไกลคนละซีกโลกก็ได้ และมีแผนงานการพัฒนาในระยะยาว ทำให้เรามั่นใจได้ว่า ลีนุกซ์เป็นระบบปฏิบัติการที่มีอนาคต และจะยังคงพัฒนาต่อไปได้ตราบนานเท่านาน

### ประวัติของลีนุกซ์

ลีนุกซ์ถือกำเนิดขึ้นในฟินแลนด์ ปี คศ. 1980 โดยลีนุส โทรวัลด์ส (Linus Trovalds) นักศึกษาภาควิชาวิทยาการคอมพิวเตอร์ (Computer Science) ในมหาวิทยาลัยเฮลซิงกิ
ลีนุส เห็นว่าระบบมินิกซ์ (Minix) ที่เป็นระบบยูนิกซ์บนพีซีในขณะนั้น ซึ่งทำการพัฒนาโดย ศ.แอนดรูว์ ทาเนนบาวม์ (Andrew S. Tanenbaum) ยังมีความสามารถไม่เพียงพอแก่ความต้องการ จึงได้เริ่มต้นทำการพัฒนาระบบยูนิกซ์ของตนเองขึ้นมา โดยจุดประสงค์อีกประการ คือต้องการทำความเข้าใจในวิชาระบบปฏิบัติการคอมพิวเตอร์ด้วยเมื่อเขาเริ่มพัฒนาลีนุกซ์ไปช่วงหนึ่งแล้ว เขาก็ได้ทำการชักชวนให้นักพัฒนาโปรแกรมอื่นๆมาช่วยทำการพัฒนาลีนุกซ์ ซึ่งความร่วมมือส่วนใหญ่ก็จะเป็นความร่วมมือผ่านทางอินเทอร์เนต
ลีนุสจะเป็นคนรวบรวมโปรแกรมที่ผู้พัฒนาต่างๆได้ร่วมกันทำการพัฒนาขึ้นมาและแจกจ่ายให้ทดลองใช้เพื่อทดสอบหาข้อบกพร่อง ที่น่าสนใจก็คืองานต่างๆเหล่านี้ผู้คนทั้งหมดต่างก็ทำงานโดยไม่คิดค่าตอบแทน และทำงานผ่านอินเทอร์เนตทั้งหมด
ปัจจุบันเวอร์ชันล่าสุดของระบบลีนุกซ์ที่ได้ประกาศออกมาคือเวอร์ชัน 2.0.13 ข้อสังเกตในเรื่องเลขรหัสเวอร์ชันนี้ก็คือ ถ้ารหัสเวอร์ชันหลังทศนิยมตัวแรกเป็นเลขคู่เช่น 1.0.x,1.2.x เวอร์ชันเหล่านี้จะถือว่าเป็นเวอร์ชันที่เสถียรแล้วและมีความมั่นคงในระดับหนึ่ง แต่ถ้าเป็นเลขคี่เช่น 1.1.x, 1.3.x จะถือว่าเป็นเวอร์ชันทดสอบ ซึ่งในเวอร์ชันเหล่านี้จะมีการเพิ่มเติมความสามารถใหม่ๆลงไป และยังต้องทำการทดสอบหาข้อผิดพลาดต่างๆอยู่

### ทำไมถึงต้องเป็นลีนุกซ์

ข้อความบางส่วนจากหนังสือ "Running Linux" ของ Matt Welsh and Lar Kaufman

- เนื่องจากเป็นระบบปฏิบัติการที่ฟรี คุณสามารถจะขอจากผู้ที่มีลีนุกซ์ หรือจะดาวน์โหลดจากอินเทอร์เนต หรือบีบีเอสได้โดยไม่ผิดกฏหมาย
- เนื่องจากมีผู้นิยมใช้มาก ทำให้มีผู้นำลีนุกซ์ไปแก้ไขให้สามารถใช้งานได้บนตัวประมวลผลกลางหลากหลายตั้งแต่อินเทล, โมโตโรลา, ดิจิตอลอัลฟา, พาวเวอร์พีซี, ไปจนถึง สปาร์คของซัน นอกจากนี้ยังมีผู้พัฒนาโปรแกรมประยุกต์ออกมากันมากมาย
- มีประสิทธิภาพและมีคุณภาพสูง ลีนุกซ์เป็นระบบปฏิบัติการ 32 บิตเต็มรูปแบบ ซึ่ง สามารถจะดึงเอาพลังของเครื่องคอมพิวเตอร์ออกมาได้อย่างเต็มกำลัง ลีนุกซ์ถูกพัฒนา จากผู้พัฒนานับร้อยทั่วโลก แต่ Linus จะเป็นคนวางทิศทางในการพัฒนาด้วยตัวเอง
- มีคุณลักษณะของระบบ UNIX เต็มรูปแบบ และเป็นระบบหลากผู้ใช้ หลายงานอย่าง แท้จริง ลีนุกซ์มีระบบอินเทอร์เฟสแบบกราฟฟิคที่เรียกกันว่า X Windows ซึ่งเป็น มาตรฐานของระบบยูนิกซ์ทั่วๆไป และสามารถใช้ window manager ได้หลายชนิด ตามความต้องการ นอกจากนี้ยังสนับสนุนโปรโตคอลแบบ TCP/IP ,SLIP, PPP, UUCP และอื่นๆ
- คุณสามารถหาข้อมูลเพิ่มเติมได้ง่าย มีเอกสารหลากหลาย (กรุณาดูข้างล่าง) และผู้คนมากมายคอยสนับสนุนคุณผ่านอินเทอร์เนต หรือคุณอาจจะหาการสนับสนุนจากบริษัทที่ปรึกษา หรือจากบริษัทผู้จัดจำหน่ายระบบลีนุกซ์ก็ได้

มีเหตุผลหลายประการที่สามารถอธิบายได้ว่าทำไมผู้คนถึงชอบลีนุกซ์ แต่โดยส่วนตัวแล้ว น่าจะเป็นเพราะการพัฒนาอย่างรวดเร็วของลีนุกซ์ เนื่องจากคุณสามารถเห็นการเปลี่ยน แปลงตัวเคอร์เนล และการพัฒนาโปรแกรมประยุกต์ใหม่ๆออกมาอย่างรวดเร็ว ซึ่งไม่เคยพบเห็นในระบบที่แจกจ่ายฟรีแบบนี้ที่ไหนมาก่อนเลย

### ผู้ใช้งานและแอพพลิเคชันบนลีนุกซ์

บรรดาผู้ใช้งานบนลีนุกซ์มีได้หลากหลาย ไม่ว่าจะเป็นระดับเคอร์นัลแฮกเกอร์ ซึ่งจะทำการศึกษาเกี่ยวกับการทำงานของระบบปฏิบัติการในระดับลึก ไปจนถึงเอนด์ยูเซอร์หรือผู้ใช้ทั่วไป
คุณสามารถใช้ลีนุกซ์ทำประโยชน์ได้หลายอย่าง ไม่ว่าจะเอาไว้ทำการศึกษาระบบยูนิกซ์ หรือคุณสามารถจะศึกษาตัวอย่างการเขียนรหัสโปรแกรมที่ดีได้ หากต้องการจะใช้แอพพลิเคชันบนดอส หรือบนวินโดว์ส ลีนุกซ์ก็จะมีดอสอีมูเลเตอร์ (DOSEMU) และวินโดว์สอีมูเลเตอร์ (WINE) ให้ สำหรับอีมูเลเตอร์ทั้งสองตัวนี้ยังอยู่ในขั้นทดสอบ และยังรันแอพพลิเคชันของดอสกับวินโดว์สได้ไม่มาก แต่ทีมพัฒนาโปรแกรมทั้งสองนี้ก็ยังทำการพัฒนาต่อไปเรื่อยๆ และตั้งเป้าหมายว่าจะต้องรันแอพพลิเคชันของดอสกับวินโดวส์ให้ได้มากที่สุดเท่าที่จะทำได้ ล่าสุดทางบริษัท Caldera ได้ทำการซื้อลิขสิทธ์ WABI 2.2 ซึ่งเป็นอีมูเลเตอร์สำหรับรันแอพพลิเคชันของวินโดว์ส ที่ใช้ในเวอร์กสเตชันของซันมาใส่ในผลิตภัณฑ์ OpenLinux ของตน
แอพพลิเคชันที่พัฒนามาเพื่อใช้งานบนลีนุกซ์ที่น่าสนใจก็มีเช่น

- Emacs, Tex และ LaTeX ซึ่งซอฟท์แวร์เหล่านี้จะใช้ทำการจัดเตรียม และพิมพ์เอกสารต่างๆ
- เวปบราวเซอร์ เช่น อะรีนา เนตสเคป และ โมเสค
- เกมส์ต่างๆ เช่น DOOM เป็นต้น

แอปพลิเคชั่นที่กล่าวถึงข้างต้นนี้ ส่วนใหญ่จะเป็นแอพพลิเคชั่นที่แจกจ่ายฟรี ผ่านทางอินเทอร์เนต แต่ในปัจจุบันสำหรับลีนุกซ์แล้วก็เริ่มที่จะมีตลาดของตัวเองมากขึ้นเรื่อยๆ ทำให้มีบริษัทต่างๆได้เริ่มทำการพัฒนาแอพพลิเคชันที่เป็นคอมเมอร์เชียลแวร์ ที่จะต้องจ่ายเงินซื้อหาถ้าหากต้องการใช้งานแอพพลิเคชั่นเหล่านี้มีมากมาย และผู้พัฒนาก็มีทั้งในยุโรปและอเมริกา ตัวอย่างเช่น ดาต้าเบสเซอร์ฟเวอร์ YardSQL, JustLogic SQL สเปรตชีต NEXUS และเวิร์ดโพรเซสเซอร์ WordPerfect
นอกจากนี้ยังมีผู้รวบรวมแอพพลิเคชั่นที่จำเป็น หลายๆชนิดเข้าด้วยกัน และมีการใช้งานบนระบบเดสก์ทอปวินโดวส์ ที่น่าประทับใจ เช่น Caldera Network Desktop โดยระบบนี้จะมี ระบบควบคุมเนตเวอร์ก เวปบราวเซอร์ และ เวิร์ดโพรเซสเซอร์ ฯลฯ ให้พร้อม
คุณสามารถจะสื่อสารกับอินเทอร์เนต ทำบีบีเอสส่วนตัว ทำระบบงานแบคออฟฟิศที่ใช้งานจริง ใช้ทำการศึกษา หรือแม้แต่ใช้เป็นอินเทอร์เนตเซอร์ฟเวอร์ หรือ เวปเซอร์ฟเวอร์ก็ยังได้
สิ่งที่ผู้เขียนใช้อยู่คือ ให้ลีนุกซ์เป็นอินเทอร์เนตเกตเวย์ และเวปเซอร์ฟเวอร์ ซึ่งลีนุกซ์ก็จะมียูทิลิตีต่างๆเตรียมไว้ให้ ข้อมูลที่จำเป็นในการติดตั้งทุกอย่าง ก็หาได้ง่ายจากอินเทอร์เนต เวปเซอร์ฟเวอร์ที่ผู้เขียนใช้อยู่ยังสามารถทำงานกับ CGI และจาวาได้อีกด้วย
แอพพลิเคชันอื่นๆที่ใช้งานจริงนั้นมีตั้งแต่ระบบงานโรงพยาบาล ไปจนถึงระบบค้าปลีกที่น่าสนใจคือในสิงค์โปร์ได้ใช้ลีนุกซ์เป็นเซอร์ฟเวอร์ควบคุมระบบอีเมล์ไร้สายด้วย ขอให้คุณทดลองค้นหาดู แล้วคุณจะพบแอพพลิเคชันที่ถูกใจคุณบนลีนุกซ์

### การพัฒนาระบบงานบนลีนุกซ์

ลีนุกซ์ได้ทำการเตรียม เครื่องมือพัฒนาโปรแกรมให้เราไว้อย่างครบครันซึ่งจะมีตั้งแต่แอพพลิเคชันมาตรฐานคือ C/C++ คอมไพเลอร์ของ GNU และหากเราต้องการพัฒนาระบบบน X ก็มี TCL/TK เตรียมไว้ให้ด้วย
สำหรับคอมไพเลอร์ภาษาอื่นๆก็มีเช่น Perl, Smalltalk , Pascal, Lisp เป็นต้น ถ้าคุณมีความเชี่ยวชาญการเขียนโปรแกรมแบบ X-Base หรือ FoxPro บนลีนุกซ์ก็มีดาต้าเบสที่มีการเขียนโปรแกรมแบบนี้ให้เช่นกัน
และล่าสุดลีนุกซ์ก็มีจาวาคอมไพเลอร์ให้สำหรับผู้ที่ชื่นชอบการเขียนแอพเพลตจาวา สำหรับรันบนอินเทอร์เนตด้วย

### แหล่งข้อมูลเกี่ยวกับลีนุกซ์

- บริษัท RedHat Software
- บริษัท Caldera
- บริษัท Walnut Creek
- Linux Documentation Project
- วารสารรายเดือน "Linux Journal"

HTML developed by Kaiwal Development Team (kaiwal@geocities.com)