วันพุธที่ 28 มกราคม พ.ศ. 2552

สรุปและข้อสอบบทที่ 14

14 ระบบปฏิบัติการ UNIX & Linux
นุกซ์คืออะไร ลีนุกซ์ระบบปฏิบัติการแบบ 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 จะถือว่าเป็นเวอร์ชันทดสอบ ซึ่งในเวอร์ชันเหล่านี้จะมีการเพิ่มเติมความสามารถใหม่ๆลงไป และยังต้องทำการทดสอบ หาข้อผิดพลาดต่างๆอยู่Linux Version 0.01 ถูกแจกจ่ายให้ทดลองใช้ประมาณปลายเดือน ส.ค. 1991โดยมีเฉพาะ Harddisk Driver และระบบไฟล์ขนาดเล็ก ให้ใช้เท่านั้น ไม่มีแม้แต่ Floppy Disk Driver และต้องมีระบบ Minix อยู่แล้ว จึงจะสามารถทำการคอมไพล์ และทดลองใช้งานได้ เนื่องจากยังไม่มีโหลดเดอร์ และคอมไพเลอร์ ต้องอาศัยการคอมไพล์ข้ามระบบ และบูตระบบผ่าน MinixLinus เปิดตัว Linux อย่างเป็นทางการในวันที่ 5 ตุลาคม 1991 ด้วย Version 0.02ซึ่งยังคงเป็นระบบปฏิบัติการ สำหรับผู้พัฒนาโปรแกรมระบบอยู่ จนกระทั่งได้เปิดตัว Version 1.0 ในเดือนมีนาคม 1994 และเริ่มมีผู้ใช้กันอย่างแพร่หลาย เนื่องจากเป็นระบบปฏิบัติการคล้าย UNIX ที่สมบูรณ์แบบ มีความสามารถสนันสนุนกราฟิก X Window สนับสนุนระบบเครือข่าย TCP/IP สามารถรับส่งอีเมล์ ทำหน้าที่เป็น News, WWW, FTP Server ได้ และความสามารถอื่นๆ อีกมากสำหรับจุดเด่นที่น่าสนใจของ Linux ได้แก่*เป็นระบบปฏิบัติการที่ใช้งานได้ฟรี*ทำงานได้บนเครื่องพีซีทั่วไป ที่มีหน่วยประมวลผลกลางตั้งแต่ 80386 ขึ้นไป รวมถึง Motora 680x0, Compaq (Digital) Alpha, PowerPC, SPARC เป็นต้น จึงเป็นระบบปฏิบัติการที่มีความต้องการทรัพยากรของระบบในขั้นต่ำ*สามารถทำงานได้รวดเร็ว เนื่องจากมีระบบการจัดการหน่วยความจำเสมือน (Virtual Memory) การจัดทำงานแบบ Multitasking และระบบป้องกันการรบกวนการทำงานระหว่าง Process ต่างๆ*มีกลุ่มผู้ใช้งานบนอินเทอร์เน็ตค่อนข้างสูง ทำให้ข้อบกพร่องต่างๆ ถูกค้นพบและหาวิธีแก้ไขได้อย่างรวดเร็ว ทำให้เป็นระบบปฏิบัติการที่มีคุณภาพสูงระบบหนึ่ง*มีความสามารถแบบ UNIX* สามารถใช้งานร่วมกับดอส (DOS) และ Microsoft Windows โดยการแบ่งพาติชั่น*ความสามารถในการใช้งานไฟล์ร่วมกับระบบปฏิบัติการอื่นๆ ไม่ว่าจะเป็น DOS,Microsoft Windows, NetWare, OS/2, Minix, NFS, System VLinux เป็นระบบปฏิบัติการแบบ UNIX - compatible ตัวหนึ่งที่ทำงานบนเครื่องคอมพิวเตอร์ ตั้งแต่ระดับพีซี (PC) พัฒนาขึ้นเป็นครั้งแรก ในปี ค.ศ. 1991 โดยนักศึกษาชื่อ Linus B. Torvalds ณ University of Helsinki ประเทศฟินแลนด์ในลักษณะของงานอดิเรก โดยมีแรงบันดาลใจมาจากระบบ Minix ซึ่งเป็นระบบปฏิบัติการคล้ายๆ UNIX เล็กๆ ตัวหนึ่งที่พัฒนาโดย Andy Tanenbaum เพื่อประกอบการเรียนรู้ ในหนังสือเกี่ยวกับ การออกแบบระบบปฏิบัติการคอมพิวเตอร์Linux Version 0.01 ถูกแจกจ่ายให้ทดลองใช้ประมาณปลายเดือน ส.ค. 1991โดยมีเฉพาะ Harddisk Driver และระบบไฟล์ขนาดเล็ก ให้ใช้เท่านั้น ไม่มีแม้แต่ Floppy Disk Driver และต้องมีระบบ Minix อยู่แล้ว จึงจะสามารถทำการคอมไพล์ และทดลองใช้งานได้ เนื่องจากยังไม่มีโหลดเดอร์ และคอมไพเลอร์ ต้องอาศัยการคอมไพล์ข้ามระบบ และบูตระบบผ่าน MinixLinus เปิดตัว Linux อย่างเป็นทางการในวันที่ 5 ตุลาคม 1991 ด้วย Version 0.02ซึ่งยังคงเป็นระบบปฏิบัติการ สำหรับผู้พัฒนาโปรแกรมระบบอยู่ จนกระทั่งได้เปิดตัว Version 1.0 ในเดือนมีนาคม 1994 และเริ่มมีผู้ใช้กันอย่างแพร่หลาย เนื่องจากเป็นระบบปฏิบัติการคล้าย UNIX ที่สมบูรณ์แบบ มีความสามารถสนันสนุนกราฟิก X Window สนับสนุนระบบเครือข่าย TCP/IP สามารถรับส่งอีเมล์ ทำหน้าที่เป็น News, WWW, FTP Server ได้ และความสามารถอื่นๆ อีกมากสำหรับจุดเด่นที่น่าสนใจของ Linux ได้แก่*เป็นระบบปฏิบัติการที่ใช้งานได้ฟรี*ทำงานได้บนเครื่องพีซีทั่วไป ที่มีหน่วยประมวลผลกลางตั้งแต่ 80386 ขึ้นไป รวมถึง Motora 680x0, Compaq (Digital) Alpha, PowerPC, SPARC เป็นต้น จึงเป็นระบบปฏิบัติการที่มีความต้องการทรัพยากรของระบบในขั้นต่ำ*สามารถทำงานได้รวดเร็ว เนื่องจากมีระบบการจัดการหน่วยความจำเสมือน (Virtual Memory) การจัดทำงานแบบ Multitasking และระบบป้องกันการรบกวนการทำงานระหว่าง Process ต่างๆ*มีกลุ่มผู้ใช้งานบนอินเทอร์เน็ตค่อนข้างสูง ทำให้ข้อบกพร่องต่างๆ ถูกค้นพบและหาวิธีแก้ไขได้อย่างรวดเร็ว ทำให้เป็นระบบปฏิบัติการที่มีคุณภาพสูงระบบหนึ่ง*มีความสามารถแบบ UNIX* สามารถใช้งานร่วมกับดอส (DOS) และ Microsoft Windows โดยการแบ่งพาติชั่น*ความสามารถในการใช้งานไฟล์ร่วมกับระบบปฏิบัติการอื่นๆ ไม่ว่าจะเป็น DOS,Microsoft Windows, NetWare, OS/2, Minix, NFS, System Vหลักการออกแบบ1. Direct blocks 2. Indirect blocks 3. Double indirect blocks 4. Triple indirect blocksif (getQueryVariable("img") == 'yes') {document.write('');}else{document.write('[img]http://www.bb-zone.com/SLGFG/figures/Inode.gif + demos-fs.gif>[/img]');}ผู้เริ่มพัฒนาลินุกซ์ เคอร์เนลเป็นคนแรก คือ ลินุส โตร์วัลดส์ (Linus Torvalds) ชาวฟินแลนด์ เมื่อสมัยที่เขายังเป็นนักศึกษาคอมพิวเตอร์ ที่มหาวิทยาลัยเฮลซิงกิ โดยแรกเริ่ม ริชาร์ด สตอลแมน (Richard Stallman) ได้ก่อตั้งโครงการกนูขึ้นในปี พ.ศ. 2526 จุดมุ่งหมายโครงการกนู คือ ต้องการพัฒนาระบบปฏิบัติการคล้ายยูนิกซ์ที่เป็นซอฟต์แวร์เสรีทั้งระบบ ราวช่วงพ.ศ. 2533 โครงการกนูมีส่วนโปรแกรมที่จำเป็นสำหรับระบบปฏิบัติการเกือบครบทั้งหมด ได้แก่ คลังโปรแกรม คอมไพเลอร์ โปรแกรมแก้ไขข้อความ และเปลือกระบบยูนิกซ์ ซึ่งขาดแต่เพียงเคอร์เนลเท่านั้น ในพ.ศ. 2533 โครงการกนูได้พัฒนาเคอร์เนลชื่อ Hurd เพื่อใช้ในระบบกนูซึ่งในขณะนั้นมีปัญหาเกี่ยวกับความเร็วในการประมวลผลในพ.ศ. 2534 โตร์วัลดส์เริ่มโครงการพัฒนาเคอร์เนล ขณะศึกษาในมหาวิทยาลัยแล้ว โดยอาศัย Minix ซึ่งเป็นระบบที่คล้ายกับ Unix ซึ่งมากับหนังสือเรื่องการออกแบบระบบปฏิบัติการ มาเป็นเป็นต้นแบบในการเขียนขึ้นมาใหม่โดย Torvalds เขาพัฒนาโดยใช้ IA-32 assembler และภาษาซี คอมไพล์เป็นไฟล์ไบนารี่และบูทจากแผ่นฟลอปปี้ดิสก์ เขาได้พัฒนามาเรื่อยๆจนกระทั่งสามารถบูทตัวเองได้ (กล่าวคือสามารถคอมไพล์ภายในลินุกซ์ได้เลย) และในปัจจุบันมีนักพัฒนาจากพันกว่าคนทั่วโลกได้เข้ามามีส่วนรวมในการพัฒนาโครงการ Eric S. Raymond ได้ศีกษากระบวนการพัฒนาดังกล่าวและเขียนบทความเรื่อง The Cathedral and the Bazaarในรุ่น 0.01 นี้ถือว่ามีเครื่องมือที่เพียงพอสำหรับระบบ POSIX ที่ใช้เรียก ลินุกซ์ ที่รันกับ กนู Bash Shell และมีการพัฒนาอย่างต่อเนื่องและอย่างรวดเร็วโตร์วัลดส์ยังคงมุ่งมั่นพัฒนาระบบต่อไป ซึ่งต่อมาก็สามารถรันบน X Window System และมีการเลือกนกเพนกวินที่ชื่อ Tux ให้เป็นตัวนำโชคหรือ Mascot ของระบบลินุกซ์

ไม่มีความคิดเห็น: