วันพุธที่ 5 มีนาคม พ.ศ. 2557

ความต้องการทางด้านฮาร์ดแวร์


        มาถึงขณะนี้คุณอาจจะเริ่มสนใจลีนุกซ์ขึ้นมาบ้างแล้ว แต่ก่อนที่จะติดตั้งลีนุกซ์คุณควรจะทราบก่อนว่าลีนุกซ์ต้องการใช้ฮาร์ดแวร์ในระดับและมีข้อจำกัดอะไรบ้าง
        เนื่องจากลีนุกซ์ถูกพัฒนาโดยผู้ใช้ของมันเองนั่นก็หมายถึงฮาร์ดแวร์ส่วนใหญ่ที่ลีนุกซ์สนับสนุนก็คือฮาร์ดแวร์ที่ผู้ใช้งานและผู้พัฒนาสามารถหามาใช้ได้นั่นเอง  ดังนั้นฮาร์ดแวร์และอุปกรณ์ต่อพ่วงสำหรับระบบพีซีทั่วๆ ไปก็สามารถนำมาใช้งานกับลีนุกซ์ได้ (อันที่จริงแล้วลีนุกซ์สนับสนุนฮาร์ดแวร์มากกว่า UNIX เพื่อการค้าบางตัวเสียอีกอย่างไรก็ตาม ลีนุกซ์ยังคงใช้งานไม่ได้กับอุปกรณ์ต่อพ่วงบางอย่าง แต่เนื่องจากเคอร์เนลของลีนุกซ์มีการพัฒนาอย่างต่อเนื่องตลอดเวลา ดังนั้นก็มีโอกาสที่จะสามารถนำอุปกรณ์นั้นมาใช้งานได้ในอนาคต
         อีกเหตุผลหนึ่งที่ทำให้ไม่สามารถนำฮาร์ดแวร์บางอย่างมาใช้กับลีนุกซ์ได้ เนื่องจากบริษัทที่ผลิตฮาร์ดแวร์ดังกล่าวไม่มีการเปิดเผยถึงรายระเอียดวิธีการในการเขียนโปรแกรมติดต่อกับฮาร์ดแวร์นั้น ทำให้การพัฒนาไดรเวอร์สำหรับลีนุกซ์จะต้องอาศัยการทำ reverse engineering ตรวจสอบดูว่าฮาร์ดแวร์ดังกล่าวจะสามารถเขียนโปรแกรมควบคุมได้อย่างไร ซึ่งก็มีทั้งที่ประสบความสำเร็จและล้มเหลว
ต่อไปนี้คือความต้องการทางด้านฮาร์ดแวร์ที่ลีนุกซ์ต้องการอย่างคร่าวๆ คุณสามารถหาอ่านรายการอุปกรณ์ที่ลีนุกซ์สนับสนุนทั้งหมดได้จาก Linux Hardware Compatibility HOWTO (ftp://ftp.nectec.or.th/pub/mirrors/linux/docs/HOWTO)
·       เมนบอร์ดและหน่วยประมวลผลกลาง ขณะนี้ลีนุกซ์สามารถทำงานได้บนหน่วยประมวลผลกลาง Intel ในตระกูล 80386 ขึ้นไป (80386/80386SX,80486/80486SX, Pentium, Pentium Pro และ Pentium II) รวมทั้งหน่วยประมวลผลกลางจากบริษัทอื่นๆ ที่เข้ากันได้ เช่น จาก AMD และ Cyrix ถ้าคุณใช้ 80386 หรือ 80486SX คุณจะต้องติดตั้งโปรเซสเซอร์ช่วยประมวลผลทางคณิตศาสตร์เพื่อการประมวลผลทางคณิตศาสตร์ที่เร็วขึ้น ถึงแม้ว่าลีนุกซ์ไม่จำเป็นจะต้องใช้มันก็ตาม เนื่องจากเคอร์เนลสามารถทำการจำลองคำสั่งประมวลผลทางคณิตศาสตร์ได้ (ขณะนี้การพัฒนาลีนุกซ์เพื่อให้สามารถทำงานได้บนสถาปัตยกรรมหน่วยประมวลผลกลางแบบอื่นก็คืบหน้าไปมากแล้วเช่นกันเมนบอร์ดที่ใช้จะต้องมีระบบบัสแบบ ISA, EISA,VESA หรือ PCI LocalBus สำหรับระบบบัสแบบ MicroChannel ซึ่งมีการใช้งานอยู่บนเครื่อง IBM/PS2 ขณะนี้ยังอยู่ระหว่างการพัฒนา ซึ่งคุณสามารถหารายละเอียดเพิ่มเติมได้จาก
http://www.undergad.math.uwaterloo.ca/~cpbeaure/mca-linux.html


·       หน่วยความจำ ลีนุกซ์ต้องการหน่วยความจำอย่างน้อย เมกะไบต์ อย่างไรก็ตาม คุณควรจะมีอย่างน้อย เมกะไบต์เพื่อไม่ให้ระบบทำงานช้าเกินไป และแน่นอนครับ เช่นเดียวกับระบบปฏิบัติการอื่นๆ คือยิ่งมีมากก็ยิ่งดี

·       ฮาร์ดดิสค์คอนโทรลเลอร์ คุณจะต้องมีคอนโทรลเลอร์ที่เป็น AT-standard (16บิตหรือ XT-standard (8บิตสำหรับฮาร์ดดิสก์ที่มีการเชื่อมต่อแบบ MFM, RLL และ IDE ส่วนคอนโทรลเลอร์ฮาร์ดดิสค์แบบ SCSI ที่สามารถนำมาใช้งานได้ก็มีอยู่หลายรุ่นด้วยกัน เช่น Adaptec AHA1542B, AHA1542C, AHA1742A, Future Domain 1680, TMC-850, Seagate ST-02, UltraStore SCSI, Western Digital WD7000FASST เป็นต้น

·       พื้นที่ฮาร์ดดิสค์ ส่วนใหญ่แล้วจะขึ้นอยู่กับความต้องการของคุณและจำนวนซอฟต์แวร์ที่คุณจะติดตั้ง คุณสามารถติดตั้งลีนุกซ์ลงบนฮาร์ดดิสค์ที่มีเนื้อที่ว่างขนาด 10-20 เมกะไบต์ แต่อาจจะไม่เหมาะสมกับการเพิ่มขยายระบบนัก โดยเฉพาะอย่างยิ่งถ้าคุณมีการติดตั้งซอฟต์แวร์ขนาดใหญ่เช่น ระบบ X Window หรือต้องการให้ระบบมีผู้ใช้งานจำนวนมาก นอกจากนี้คุณควรจะกันเนื้อที่ไว้เป็น swap space ด้วย (โดยปกติแล้วจะกันไว้ประมาณสองเท่าของหน่วยความจำที่มีนอกจากนี้แต่ละ distribution ยังมีจำนวนซอฟต์แวร์ที่จะติดตั้งให้คุณแตกต่างกันด้วย โดยทั่วไปแล้วถ้าคุณเลือกติดตั้งแบบครบหมดจะกินเนื้อที่ประมาณ 300 เมกะไบต์

·       จอภาพและการ์ดแสดงผล ลีนุกซ์สนับสนุนจอภาพและการ์ดแสดงผลทั้ง Hercules, CGA, EGA, VGA, IBM Monochrome และ SuperVGA สำหรับการแสดงผลในเท็กซ์โหมด สำหรับการแสดงผลในกราฟิกโหมดนั้นจะขึ้นอยู่กับระบบ X Window ที่คุณเลือกใช้ แต่โดยปกติแล้วจะใช้ได้กับการ์ดแสดงผลทั่วๆ ไป

·       อีเธอร์เน็ตการ์ด รายการคร่าวๆ ของอีเธอร์เน็ตการ์ดที่ลีนุกซ์สนับสนุนได้แก่
v   3com 3c503, 3c503/16, 3c509, 3c589
v   Novell NE1000, NE2000
v   Western Digital WD8003, WD8013
v   Hewlett-Packard HP27245, HP27247, HP27250

·       อุปกรณ์ต่อพ่วง
v   เม้าส์และอุปกรณ์ชี้อื่นๆ : ลีนุกซ์สนับสนุนทั้ง serial mouse ทั่วๆ ไป เช่น Logitech, MM series, Mouseman, Microsoft และยังสนับสนุน Microsoft, Logitech และ ATIXL busmouse อีกด้วย นอกจากนี้ mouse ที่มีการเชื่อมต่อแบบ PS/2 ก็สามารถใช้ได้เช่นกัน สำหรับอุปกรณ์ชี้อื่นๆ เช่น trackballs ซึ่งสามารถจำลองการทำงานเป็น mouse ข้างต้นได้ก็สามารถใช้ได้เช่นกัน


v   ซีดีรอม : ลีนุกซ์สนับสนุนซีดีรอมไดร์ฟที่มีอินเตอร์เฟสแบบ SCSI เกือบทุกรุ่น เพียงแต่คุณจะต้องมีคอนโทรลเลอร์ SCSI ที่ใช้กับลีนุกซ์ได้ นอกจากนี้ซีดีรอมไดร์ฟแบบอื่นๆ ที่สามารถนำมาใช้งานกับลีนุกซ์ได้ เช่น NEC CDR-74, Sony CDU-541, CDU-31a, Mitsumi และซีดีรอมแบบ IDE (ATAPI) เป็นต้น
v   เทปไดร์ฟ : สนับสนุนเทปไดร์ฟที่มีการเชื่อมต่อแบบ SCSI และอื่นๆ เช่นQIC-117, QIC-40/80, QIC-3010/3020 (QIC-WIDE)
v   โมเด็มและเครื่องพิมพ์ : มีหลักการง่ายๆ ก็คือ ถ้าคุณสามารถใช้โมเด็มหรือเครื่องพิมพ์นั้นบน DOS หรือระบบปฏิบัติการอื่นๆ ได้ คุณก็ควรจะสามารถนำมาใช้กับลีนุกซ์ได้เช่นกัน
v   ซาวนด์การ์ด : ที่สามารถใช้งานกับลีนุกซ์ได้ เช่น Adlib (OPL2), Audio Excell DSP16, Aztech Sound Galaxy NX Pro, Gravis Ultrasound, Logitech SoundMan, Microsoft Sound System (AD1848), OAK OTI-601D cards (Mozart), Sound Blaster และTurtle Beach Wavefront cards (Maui, Tropez) เป็นต้น


ความสามารถของลีนุกซ์


ลีนุกซ์มีความสามารถเกือบทุกอย่างที่คุณจะพบได้ในระบบปฏิบัติการ UNIX ทั่วๆ ไป อีกทั้งยังมีความสามารถบางอย่างซึ่งแตกต่างไปจาก UNIX ตัวอื่นๆ
·       ลีนุกซ์เป็นระบบปฏิบัติการแบบหลายงานและหลายผู้ใช้ (Multitasking and Multiuser) ที่สมบูรณ์แบบ (เหมือนระบบปฏิบัติการ UNIX ทั่วๆ ไป) นั่นคือสามารถมีผู้ใช้งานพร้อมๆ กันได้หลายคน และแต่ละคนสามารถรันโปรแกรมได้หลายๆ โปรแกรมพร้อมๆ กัน

·       ลีนุกซ์มีความเข้ากันได้ (compatible) กับ UNIX ส่วนมากในระดับซอร์สโค้ด ตัวอย่างเช่น IEEE POSIX.1, System V UNIX และ BSD UNIX เป็นต้น มันถูกพัฒนาขึ้นโดยยึดหลัก source portability ดังนั้นคุณจะพบว่า features ที่ถูกใช้งานเป็นประจำของลีนุกซ์สามารถพบได้ใน UNIX อื่นๆ ทั่วไป ซอฟต์แวร์ UNIX ในอินเตอร์เน็ตส่วนใหญ่สามารถนำมาคอมไพล์บนลีนุกซ์ได้โดยไม่จำเป็นต้องแก้ไขซอร์สโค้ดเลย นอกจากนี้ซอร์สโค้ดทั้งหมดของระบบลีนุกซ์อันได้แก่ เคอร์เนล ดีไวซ์ไดรเวอร์ ไลบรารี โปรแกรมใช้งาน และโปรแกรมระบบต่างๆ สามารถหาดาวน์โหลดได้ฟรีจากศูนย์บริการ FTP มากมายทั่วโลก

·       ความสามารถอื่นๆ อันได้แก่ posix job control (ซึ่งถูกใช้ในโปรแกรม shell ต่างๆ เช่น bash, sh และ csh) เทอร์มินอลเสมือน (pseudo terminal) คอนโซลเสมือน (virtual console) ซึ่งทำให้คุณสามารถสลับหน้าจอระหว่าง login sessions ต่างๆ บนหน้าจอคอนโซลในเท็กซ์โหมดได้ ฯลฯ

·       ลีนุกซ์สนับสนุนระบบไฟล์หลายชนิด เช่น ext2fs (ถูกพัฒนาสำหรับใช้งานกับลีนุกซ์โดยเฉพาะ) MINIX-1 และ XENIX (เป็นระบบไฟล์ที่ใช้งานบนระบบมินนิกซ์และซีนิกซ์) MS-DOS FAT, ISO-9660 (ระบบไฟล์ที่ใช้กันบนซีดีรอมส่วนใหญ่) NCPFS (ใช้ในการ mount volume ต่างๆ ของ NetWare) SMBFS (ใช้ในการ mount ไดเรคทอรีของ Windows for Workgroup) เป็นต้น

·       ลีนุกซ์สนับสนุนระบบเครือข่าย TCP/IP อย่างสมบูรณ์แบบ มีดีไวซ์ไดรเวอร์สำหรับอีเธอร์เน็ตการ์ดหลายยี่ห้อ สนับสนุนโปรโตคอล SLIP (Serial Line IP) PLIP (Parallel Line IP) PPP (Point-to-Point Protocol) NFS (Network File System) ฯลฯ นอกจากนี้ยังมีโปรแกรมไคล์เอ็นต์และเซิร์ฟเวอร์สำหรับบริการต่างๆ ในอินเตอร์เน็ตทุกประเภท เช่น FTP, Telnet, NNTP, SMTP, Gopher, WWW เป็นต้น

·       เคอร์เนลของลีนุกซ์มีความสามารถในการจำลองการทำงานของโปรเซสเซอร์ช่วยประมวลผลทางคณิตศาสตร์ 80387 ดังนั้นแม้ในเครื่องที่ไม่มีโปรเซสเซอร์ช่วยประมวลผลทางคณิตศาสตร์ก็ยังสามารถรันโปรแกรมที่ต้องการใช้งานคำสั่งเกี่ยวกับ floating-point ได้
·       เคอร์เนลของลีนุกซ์สนับสนุน demand-paged loaded executable นั่นคือเฉพาะส่วนของโปรแกรมที่กำลังถูกเรียกทำงานเท่านั้นที่จะถูกอ่านจากดิสค์เข้าสู่หน่วยความจำของเครื่อง ทำให้ระบบมีการใช้งานหน่วยความจำอย่างมีประสิทธิภาพ นอกจากนี้ตัวเคอร์เนลจะโหลดโปรแกรมขึ้นมาทำงานด้วยวิธี shared copy-on-write pages หมายถึงมีหลายๆ โปรเซสที่สามารถจะใช้งานหน่วยความจำส่วนเดียวกันในการทำงานได้ ซึ่งจะทำให้สามารถโหลดโปรแกรมได้อย่างรวดเร็วในกรณีที่มีการเรียกใช้โปรแกรมเดียวนี้โดยผู้ใช้คนอื่นอยู่ก่อนแล้ว และสามารถลดการใช้งานหน่วยความจำลงได้
·       เพื่อให้มีหน่วยความจำใช้งานมากขึ้น ลีนุกซ์สนับสนุน swap space มากถึง 2   กิกะไบต์ ดังนั้นคุณจึงสามารถรันแอพพลิเคชันขนาดใหญ่และมีผู้ใช้งานได้พร้อมกันมากขึ้น
·       เคอร์เนลของลีนุกซ์มีระบบ unified memory pool สำหรับโปรแกรมและดิสค์แคช นั่นคือหน่วยความจำที่ว่างอยู่ทั้งหมดจะถูกใช้งานเป็นดิสค์แคชและเมื่อมีการโหลดโปรแกรมขนาดใหญ่ ขนาดของดิสค์แคชก็จะถูกลดลงโดยอัตโนมัติ

·       โปรแกรมที่ใช้งานบนลีนุกซ์จะมีการใช้งาน dynamically linked shared libraries ซึ่งก็คือโปรแกรมที่รันบนลีนุกซ์จะมีการใช้งานไลบรารีไฟล์ร่วมกัน (เหมือน shared library ของ SunOS หรือ DLL ของ Windows) ซึ่งจะทำให้โปรแกรมที่รันบนลีนุกซ์มีขนาดเล็กลงมาก โดยเฉพาะโปรแกรมที่มีการใช้งานฟังก์ชันจากหลายๆ ไลบรารี แต่ในขณะเดียวกันถ้าคุณต้องการทำการดีบักโปรแกรมหรือต้องการใช้งานโปรแกรมแบบ static linked ก็สามารถใช้ได้เช่นกัน
·       เพื่อสนับสนุนการดีบักโปรแกรม ตัวเคอร์เนลจะทำการสร้างไฟล์ core dump เพื่อใช้ในการดีบักและหาสาเหตุที่ทำให้โปรแกรมทำงานผิดพลาดได้

ความเป็นมาของลีนุกซ์


          ลีนุกซ์เป็นระบบปฏิบัติการคอมพิวเตอร์แบบ UNIX ที่ถูกพัฒนาขึ้นเป็นครั้งแรกที่ University of Helsinki ประเทศ Finland โดยนักศึกษาที่ชื่อ Linus B. Torvalds และถูกแจกจ่ายให้ทดลองใช้งานบนอินเตอร์เน็ต ทุกคนที่มีความสามารถและความพยายามมากพอสามารถจะพัฒนาและเปลี่ยนแปลงระบบตามต้องการได้ ตัวเคอร์เนลของลีนุกซ์ไม่ได้ใช้ซอร์สโค้ดจาก AT&T หรือระบบปฏิบัติการ UNIX อื่นใด แอพพลิเคชันซอฟต์แวร์หลักที่ใช้งานบนลีนุกซ์ส่วนใหญ่พัฒนามาจากโปรเเจ็กต์ GNU ที่ Free Software Foundation (FSF) แต่อย่างไรก็ตาม ในปัจจุบันเริ่มมีโปรแกรมเมอร์หันมาพัฒนาโปรแกรมเพื่อใช้งานบนลินุกซ์เพิ่มมากขึ้นเรื่อยๆ
Linus B. Torvalds
          ในระยะแรกลินุกซ์ถูกพัฒนาเพื่อเป็นงานอดิเรกเท่านั้น โดยผู้เริ่มพัฒนาได้แรงบันดาลใจมาจากมินนิกซ์  (Minix) ซึ่งเป็นระบบปฏิบัติการ UNIX เล็กๆ ตัวหนึ่งที่พัฒนาขึ้นโดย Andy Tanenbaum เพื่อประกอบการเรียนรู้ในหนังสือเกี่ยวกับการออกแบบระบบปฏิบัติการคอมพิวเตอร์ของเขา ลินุกซ์ถูกพูดถึงเป็นครั้งแรกในกลุ่มข่าว comp.os.minix ว่าเป็นระบบ UNIX เพื่อการศึกษาขนาดเล็กสำหรับผู้ใช้งานมินนิกซ์ที่ต้องการความสารถมากกว่าที่มินนิกซ์จะทำได้การพัฒนาในระยะแรกจะมุ่งไปที่ความสามารถในการสลับการทำงานระหว่างโปรเซส (Task-Switching) ของหน่วยประมวลผลกลาง 80386 ในโปรเท็กเต็ดโหมดโดยโปรแกรมทั้งหมดถูกเขียนขึ้นด้วยภาษาแอสเซมบลีภายหลังได้เริ่มเปลี่ยนมาใช้ภาษา C ซึ่งช่วยให้การพัฒนาเป็นไปได้เร็วขึ้นกว่าเดิมมาก
          ในที่สุดลีนุกซ์เวอร์ชัน 0.01 (ราวๆ ปลายเดือนสิงหาคม 1991) ก็ถูกแจกจ่ายให้ทดลองใช้ ในเวอร์ชันนี้มีเพียงฮาร์ดดิสค์ไดรเวอร์และระบบไฟล์ขนาดเล็กให้ใช้งานเท่านั้น ไม่มีแม้แต่ฟล็อบปี้ดิสก์ไดรเวอร์ คุณจะต้องมีระบบมินนิกซ์อยู่แล้วจึงจะสามารถทำการคอมไพล์และทดลองใช้งานได้ เนื่องจากมันยังไม่มีโหลดเดอร์และคอมไพล์เลอร์ที่จะทำงานบนเคอร์เนลนี้ได้โดยตรง ต้องอาศัยการคอมไพล์ข้ามระบบ (Cross-compile) และบูตระบบผ่านทางมินนิกซ์

          Linus เปิดตัวลีนุกซ์อย่างเป็นทางการครั้งแรกในวันที่ 5 ตุลาคม 1991 บนกลุ่มข่าว comp.os.minix ด้วยเวอร์ชัน 0.02 ซึ่งลีนุกซ์ในเวอร์ชันนี้สามารถรัน bash (GNU Bourne Again Shell), gcc (GNU C Compiler) และอื่นๆ อีกเล็กน้อยได้แล้ว แต่ยังคงเป็นระบบที่เหมาะกับผู้พัฒนาโปรแกรมระบบเท่านั้น ยังไม่มีการพูดถึงเอกสารอธิบายประกอบ ไม่มีการสนับสนุนผู้ใช้ และไม่มีสิ่งที่จะช่วยอำนวยความสะดวกในการเข้าใจการทำงานของเคอร์เนลเลย ผู้ที่จะนำเคอร์เนลนี้ไปใช้จะต้องติดตามแกะเอาจากซอร์สโค้ดเองว่าระบบมีการทำงานอย่างไร
          หลังจากเวอร์ชัน 0.03 Linus ได้เพิ่มเวอร์ชันไปเป็น 0.10 เนื่องจากระบบเริ่มทำงานได้มากขึ้นและมีผู้สนใจร่วมพัฒนามากขึ้น หลังจากนั้นอีกสองสามเวอร์ชัน Linus ได้เพิ่มเวอร์ชันขึ้นเป็น 0.95 เนื่องจากเขาคาดว่าระบบในขณะนั้นใกล้จะเสร็จสมบูรณ์และพร้อมจะประกาศตัวอย่างเป็นทางการในไม่ช้า (อยู่ในช่วงราวๆ เดือนมีนาคม 1992) หลังจากนั้นอีกสองปีต่อมา (มีนาคม 1994) Linus ก็ได้เปิดตัวลีนุกซ์ 1.0 ขึ้น และเริ่มมีผู้นำไปใช้งานกันอย่างแพร่หลายตั้งแต่นั้นมา ในขณะที่จัดทำต้นฉบับอยู่นี้ลีนุกซ์ได้พัฒนามาถึงเวอร์ชัน 2.0 (2.0.15) แล้ว ซึ่งมีความความสามารถด้านต่างๆ พัฒนาเพิ่มขึ้นจากเวอร์ชัน 1.0 มากมาย          
          ถึงวันนี้ลีนุกซ์นับเป็นระบบปฏิบัติการ UNIX ที่สมบูรณ์แบบ มีความสามารถในการรันระบบ X Window สนับสนุนระบบเครือข่าย TCP/IP สามารถรับ/ส่ง e-mail ทำหน้าที่เป็น News, WWW หรือ FTP server ได้ ฟรีซอฟต์แวร์ส่วนใหญ่ถูกพอร์ตให้มาทำงานบนลีนุกซ์ และรวมถึงได้เริ่มมีการพัฒนาซอฟต์แวร์เพื่อการค้าเวอร์ชันสำหรับลีนุกซ์ขึ้นมาบ้างแล้ว มีหลายคนได้ทดลองรันโปรแกรมทดสอบความสามารถ (Benchmark) บนลีนุกซ์และพบว่าลีนุกซ์มีความสามารถเทียบเท่าเครื่องเวอร์กสเตชันระดับกลางจาก SUN และ DEC เลยทีเดียว ไม่เคยมีใครคาดคิดมาก่อนว่าจาก UNIX เล็กๆ ตัวหนึ่ง จะสามารถเติบโตขึ้นมาเป็นระบบ UNIX ที่สมบูรณ์แบบได้จนทุกวันนี้

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


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

·       ลีนุกซ์เป็นระบบปฏิบัติการ UNIX ที่สามารถรันได้บนเครื่องพีซีทั่วไปที่มีราคาไม่แพงนักโดยสามารถรันได้บนเครื่องที่มีหน่วยประมวลผลกลางตั้งแต่ 80386 ขึ้นไป พร้อมกับสนับสนุนอุปกรณ์ต่อพ่วงต่างๆ เช่น การ์ดควบคุมการแสดงผล ซีดีรอม ฮาร์ดดิสค์ เครื่องพิมพ์ และอีเธอร์เน็ตการ์ด เป็นต้น สามารถทำงานได้บนระบบบัสทั้งแบบ EISA, ISA,VESA Localbus หรือ PCI นอกจากนี้ในปัจจุบันได้เริ่มมีการพอร์ตเคอร์เนลไปรันบนเครื่องที่ใช้หน่วยประมวลผล กลางอื่นๆ เช่น Motorola 680x0, DEC Alpha, PowerPC และ SPARC เป็นต้น

·       ประสิทธิภาพ คุณอาจจะแปลกใจที่เห็นระบบสามารถทำงานได้อย่างรวดเร็ว ถึงแม้ว่าจะมีหลายโปรเซสทำงานอยู่ในขณะนั้น ลีนุกซ์ถูกออกแบบให้ใช้งานอุปกรณ์ฮาร์ดแวร์ทุกอย่างของเครื่องอย่างเต็มประสิทธิภาพ ตรงกันข้ามกับ DOS ที่แทบจะไม่ได้ใช้งานความสามารถต่างๆ ของหน่วยประมวลผลกลาง 80386 ที่เพิ่มขึ้นมาจาก 8086 เช่น การจัดการหน่วยความจำเสมือน ( Virtual Memory ) การจัดการทำงานแบบมัลติทาสก์กิง ( Multitasking ) และ ระบบป้องกันการรบกวนการทำงานระหว่างโปรเซสต่างๆ เป็นต้น ถ้าคุณมีหน่วยประมวลผลกลางที่เร็วและเพิ่มหน่วยความจำให้มากพอ คุณจะพบว่าลีนุกซ์ทำงานได้ดีพอๆ กับหรือดีกว่าเครื่อง UNIX Workstation ราคาแพงหลายๆ ตัวในท้องตลาดขณะนี้เลยทีเดียว


·       คุณภาพ ลีนุกซ์เป็นความร่วมมือระหว่างโปรแกรมเมอร์นับพันที่ติดต่อกันทางอินเตอร์เน็ต ในขณะเดียวกันก็มีกลุ่มผู้ใช้งานเป็นจำนวนมากบนอินเตอร์เน็ตอีกเช่นกันที่พร้อมจะทดลองใช้งาน รายงานความผิดพลาดและให้คำแนะนำหรือเสนอความสามารถใหม่ๆ ให้กับผู้พัฒนาตลอดเวลา ถ้าคุณลองสมัคร mailing list หรือลองเข้าไปอ่านกลุ่มข่าว ( News Group ) ต่างๆ ของลีนุกซ์ดูคุณจะพบว่า แต่ละวันจะมี e-mail ที่พูดคุยกันถึงเรื่องความสามารถและ       จุดบกพร่องต่างๆ ของตัวเคอร์เนลรุ่นล่าสุดมากกว่า 100 ฉบับต่อวันเลยทีเดียว ด้วยวิธีนี้           ข้อบกพร่องต่างๆ จะถูกค้นพบและถูกแก้ไขได้อย่างรวดเร็ว กลุ่มผู้ใช้งานและพัฒนาลีนุกซ์มีทั้งที่เป็นนักศึกษา อาจารย์ นักวิจัยในมหาวิทยาลัย พนักงานบริษัท ( มีข่าวลือว่า แม้แต่พนักงานของ IBM และ Microsoft ก็ยังมีลีนุกซ์ไว้ใช้งานเอง ) และโปรแกรมเมอร์ ฯลฯ ดังนั้นคุณจึงมั่นใจได้ทั้งคุณภาพและประสิทธิภาพของระบบ
·       ความสามารถแบบ UNIX เนื่องจากลีนุกซ์เป็นระบบปฏิบัติการแบบหลายผู้ใช้และหลายงาน ( Multi-user, Multi-tasking ) อย่างแท้จริง มีระบบ X Window สำหรับการติดต่อกับผู้ใช้ในรูปแบบกราฟิกซึ่งสนับสนุนโปรแกรมจัดการ Window ( Window Manager ) หลายตัว นอกจากนี้ยังสนับสนุนระบบเครือข่ายหลากหลายรูปแบบ ไม่ว่าจะเป็น อีเธอร์เน็ต, โทเก้นริง, SLIP, PPP หรือ UUCP เป็นต้น
·       การใช้งานร่วมกับ DOS และ Windows คุณสามารถติดตั้งลีนุกซ์ลงบนพาร์ติชันหนึ่งของฮาร์ดดิสค์หรือในกรณีที่คุณไม่ต้องการแบ่งพาร์ติชันใหม่ คุณก็สามารถติดตั้งทับลงไปบนระบบไฟล์ของ DOS ( FAT ) ได้ด้วย คุณสามารถอ่านและเขียนแผ่นดิสค์หรือฮาร์ดดิสค์ที่ถูกฟอร์แมตโดย DOS ได้โดยตรง นอกจากนี้ยังได้มีการพัฒนาโปรแกรมจำลองการทำงาน DOS ( Dos Emulator ) และ Windows ( Windows Emulator : WINE ) บนลีนุกซ์ ซึ่งจะทำให้คุณรันโปรแกรมของ DOS และ Windows บางตัวได้ โดยที่โปรแกรมต้นแบบในขณะนี้สามารถรันโปรแกรมทั้งของ DOSและ Windows ได้ส่วนหนึ่ง
·       ความสามารถในการใช้งานไฟล์ร่วมกับระบบปฏิบัติการอื่นๆ ลีนุกซ์สนับสนุนระบบไฟล์ของระบบปฏิบัติการหลายชนิด ไม่ว่าจะเป็น DOS ( FAT ), Windows for Workgroup  ( SMB ), Windows 95 ( VFAT ), Windows NT ( NTFS ), NetWare ( NCP ), OS/2 ( HPFS ), MINIX, NFS และ System V เป็นต้น คุณจึงสามารถถ่ายโอนข้อมูลจากระบบปฏิบัติการอื่นๆ มาใช้งานได้โดยง่าย
·       ความต้องการทรัพยากรของระบบ ระบบขั้นต่ำที่ลีนุกซ์สามารถทำงานได้คือเครื่องพีซีที่มีหน่วยประมวลผลกลาง 80386 /SX หน่วยความจำ 2 เมกะไบต์ ฟลอบปี้ดิสค์ขนาด 1.44 หรือ 1.2 เมกะไบต์ การ์ดแสดงผล และจอภาพแบบโมโนโครม แต่แน่นอนครับว่าระบบขนาดนี้คงจะไม่สามารถทำงานอะไรได้มากนัก ระบบที่พอจะใช้ทำงานได้คือควรจะมีหน่วยความจำ    ตั้งแต่ 4 เมกะไบต์ขึ้นไป ถ้าคุณไม่ต้องการระบบ X Window หรือ 8 เมกะไบต์ขึ้นไปสำหรับระบบ  X Window ถ้าคุณต้องการให้ระบบคุณเร็วขึ้น ควรจะใช้หน่วยประมวลผลกลางที่เร็วกว่า      80386 /SX และต้องมีฮาร์ดดิสก์สำหรับเก็บโปรแกรมใช้งานต่างๆ  สำหรับขนาดของฮาร์ดดิสค์ที่เหมาะสมนั้นก็ขึ้นอยู่กับลักษณะงานที่จะนำไปใช้ เช่น ถ้าต้องรองรับงานจากผู้ใช้หลายคนก็ต้องเผื่อเนื้อที่สำหรับผู้ใช้แต่ระคนไว้ด้วย
·       มีผู้คอยให้ความช่วยเหลือมากมายเมื่อเกิดปัญหาขึ้นกับระบบ ในปัจจุบันนี้      อินเตอร์เน็ตถือเป็นแหล่งให้ความช่วยเหลือที่สำคัญที่สุดและใหญ่ที่สุดของลีนุกซ์ เนื่องจากลีนุกซ์เกิดและเติบโตขึ้นมาบนอินเตอร์เน็ตนั่นเอง มีกลุ่มข่าว (News Group) และ mailing list มากมายเกี่ยวกับลีนุกซ์ที่พร้อมจะรับฟังปัญหาและช่วยเหลือคุณตลอดเวลา
·       ลีนุกซ์เป็นระบบปฏิบัติการแบบเปิด เกือบทุกโปรแกรมที่รันบนลีนุกซ์และแม้แต่ตัวเคอร์เนลเองจะถูกแจกจ่ายไปพร้อมกับซอร์สโค้ด (ส่วนใหญ่เป็นภาษา C ) ดังนั้นหากคุณไม่พอใจหรือต้องการปรับปรุงความสามารถของระบบในส่วนต่างๆ ก็สามารถทำได้เอง และนอกจากนี้เนื่องจากระบบจะถูกแจกจ่ายมาพร้อมกับซอร์สโค้ดจึงทำให้มหาวิทยาลัยหลายแห่งเลือกใช้ลีนุกซ์เป็นระบบตัวอย่างประกอบการเรียนการสอนในวิชาที่เกี่ยวกับระบบปฏิบัติการคอมพิวเตอร์ นักศึกษาสามารถเข้าใจส่วนต่างๆ ของระบบปฏิบัติการรวมทั้งยังสามารถพัฒนาโปรแกรมระบบต่างๆ เช่น ดีไวซ์ไดรเวอร์
·       ระบบจัดการไฟล์ หรือแอพพลิเคชันโปรแกรมขึ้นมาใช้งานเองได้โดยง่าย ดังจะเห็นได้จากส่วนหนึ่งของโปรแกรมเมอร์ที่ร่วมพัฒนาลีนุกซ์ เป็นนักศึกษาที่ยังคงเรียนอยู่ในมหาวิทยาลัยต่างๆ ทั่วโลก