Make your own free website on Tripod.com

 

 

 

 

 

ระบบปฏิบัติการ  UNIX

 

 

                             

 

ความเป็นมาของระบบปฏิบัติการ    UNIX

   

 

      UNIX เป็นระบบปฏิบัติการ ที่เริ่มต้นใน Bell Labs เมื่อปี 1969 ในฐานะระบบ Interactive time -sharing ซึ่ง Ken Thompson และ Demiss Ritchie ได้รับการพิจารณาว่าเป็นผู้คิดค้น UNIX ในปี 1974 Unix เป็นระบบปฏิบัติการแรกที่เขียนด้วยภาษา C และเป็น freeware ซึ่งมีส่วนขยายและความคิดใหม่ในเวอร์ชันที่หลากหลาย จากบริษัทต่าง ๆ มหาวิทยาลัยและเอกชนทำให้ Unix กลายเป็นระบบเปิด หรือระบบปฏิบัติการมาตรฐานแรกที่ให้บุคคลทั่วไปสามารถปรับปรุงได้ ส่วนประกอบของภาษา C และ shell interface ของ UNIX อยู่ภายใต้มาตรฐาน Portable Operating System Interface ซึ่งอุปถัมภ์โดย Instituted of Electrical and Electronics Engineering ในส่วนอินเตอร์เฟซของ POSIX ได้มีการระบุ X/Open Programming Guide 4.2 (รู้จักกันในชื่อ "Single UNIX Specification" และ UNIX 95") เวอร์ชัน 2 ของ Single UNIX Specification เรียกว่า UNIX 98

       ระบบปฏิบัติการ UNIX มีการใช้อย่างกว้างขวางในผลิตภัณฑ์ เวิร์กสเตชั่น ของ Sun Microsystems, Silicon Graphics, IBM และบริษัทอื่น ๆ สภาพแวดล้อมของ UNIX และแบบจำลองโปรแกรม Client/Server เป็นส่วนประกอบสำคัญในการพัฒนาอินเตอร์เน็ต และเปลี่ยนการประมวลผลแบบศูนย์กลางในเครือข่ายมากกว่าคอมพิวเตอร์อิสระ Linux เป็นอนุพันธ์ของ UNIX ที่มีทั้งเวอร์ชันฟรีและพาณิชย์ กำลังได้รับความนิยมมากขึ้นในฐานะตัวเลือกของระบบปฏิบัติการ

     Unix เป็นชื่อของระบบปฏิบัติการ (Operating System) อีกแบบหนึ่งซึ่งต่างออกไปจากระบบปฏิบัติการที่เราคุ้นเคยกันดี เช่น Windows หรือ Dos ระบบปฏิบัติการ Unix ถูกพัฒนาขึ้นตั้งแต่ในช่วงปี 1970 โดยมีรากฐานมาจากภาษา C โดยบริษัท AT&T เป็นผู้เริ่มต้นในการพัฒนาระบบปฏิบัติการนี้จุดเด่นของ Unix ที่แตกต่างจาก Windows นั้นมีหลายประการ หากมองจากการใช้งานก็จะพบว่าแตกต่างกันอย่างชัดเจน เนื่องจาก Unix เป็นระบบปฏิบัติงานที่ใช้การพิมพ์คำสั่ง (Command Line) ส่วน Windows เป็นลักษณะ GUI (Graphic User Interface) ซึ่งช่วยอำนวยความสะดวกให้ผู้ใช้ให้ใช้งานง่าย เนื่องจากใช้รูปภาพเป็นสื่อ ทำให้ Unix เป็นระบบปฏิบัติการที่ใช้งานยากกว่า Windows เนื่องจากต้องจดจำคำสั่ง(ซึ่งมีมากพอสมควร)ให้ได้ นอกจากนี้ Unix ยังเป็นระบบปฏิบัติการที่มีความแตกต่างกันในเรื่องอักษรตัวเล็กและตัวใหญ่ ทำให้มักเกิดความสับสนสำหรับผู้ใช้ที่ไม่ค่อยคุ้นเคย แต่ Unix ก็มีจุดเด่นที่เหนือกว่า Windows ในแง่ของประสิทธิภาพในการทำงาน โดยในระดับ Hardware ชุดเดียวกันระบบ Unix จะมีประสิทธิภาพที่สูงกว่า นอกจากนี้ยังมีเสถียรภาพในการทำงานที่เหนือกว่า Windows ค่อนข้างมาก โดยเฉพาะอย่างยิ่งหากเทียบกับ Windows ในตระกูล 9 x เช่น Windows95, 98, Me แล้ว Unix จะมีเสถียรภาพในการทำงานที่เหนือกว่าชนิดเทียบกันไม่ได้เลย

       คุณสมบัติที่ค่อนข้างโดดเด่นของ Unix นั้นได้แก่

- มัลติทาสกิ้ง (Multi-tasking) คือ ทำงานหลายๆ อย่างพร้อมกันได้ในเวลาเดียวกัน ทำให้ไม่ต้องเสียเวลาในการรอ โดยแบ่งการทำงานออกเป็น Foreground และ Background

- มัลติยูสเซอร์ (Multi-user) Unix สามารถรองรับผู้ใช้ได้มากกว่า 1 คนในเวลาเดียวกัน หรือพูดง่ายๆ ก็คือ ใช้งานได้หลายคนพร้อมกันนั่นเอง

จากจุดเด่นนี้ทำให้พบว่าในปัจจุบันเรานิยมใช้ Unix เป็นระบบปฏิบัติการของเครื่อง Internet Server กันมาก

โครงสร้างในการทำงานของ Unix

Unix แบ่งโครงสร้างออกเป็น 4 ส่วนหลักนั่นคือ Application Program, Shell, Unix Kernel, Hardware โดยเราจะทำงานอยู่ในระดับนอกสุดคือ ระดับ Application Program จากนั้น Unix จะทำงานเป็นลำดับชั้นผ่าน Shell , Kernel และ Hardware ตามลำดับ

- Shell ทำหน้าที่เป็นเสมือนตัวกลางระหว่างผู้ใช้กับ Kernel โดยทำหน้าที่รับคำสั่งจากผู้ใช้ทางอุปกรณ์ input เช่น คีย์บอร์ด แล้วทำการแปลเป็นภาษาให้เครื่องเข้าใจ หรือเรียกว่า command interpreter และยังสามารถนำคำสั่งเหล่านี้มารวมกันในลักษณะของโปรแกรมที่เรียกว่าเชลล์สคริปต์ (Shell script) ได้ด้วย นอกจากนี้ยังควบคุมทิศทางของ input และ output ว่าจะให้เข้าหรือออกมาทางใด Shell ที่ใช้งานบน Unix มีอยู่ 3 แบบคือ Bourne shell(sh), C shell(csh), Korn shell(ksh) (รายละเอียดเพิ่มเติมหาได้จากหนังสือหรือ website ที่เกี่ยวข้องกับ Unix โดยเฉพาะ)

- Unix kernel มีหน้าที่ในการควบคุมระบบทั้งหมด หรือเรียกง่ายๆ ว่าเป็นตัวคุม hardware นั่นเอง โดยจะทำหน้าที่ทั้งหมดไม่ว่าจะเป็นการจัดสรรทรัพยากร การจัดการหน่วยความจำ เป็นต้น

 

 

 

 

 

 

 

ภาพแสดงโครงสร้างการทำงานของ  Unix

    

       เนื่องจากเหตุผลที่กล่าวมาแล้ว ทำให้ Unix ได้รับการพัฒนาตลอดเวลากว่า 30 ปีที่ผ่านมา และมีผู้พัฒนาหลายกลุ่ม ทำให้ Unix แตกแขนงออกไปจากเดิม ซึ่งจะขอยกตัวอย่างของระบบปฏิบัติการ Unix ที่เป็นที่นิยมใช้งานกัน 2 ระบบ นั่นคือ System V และ BSD

AT&T SystemV

      เป็นระบบที่พัฒนาโดยเบลล์แล็บ ซึ่งมีรากฐานเดิมอยู่ในธุรกิจโทรศัพท์ในเครือของบริษัท AT&T แต่ได้หันมาให้ความสนใจทางด้านการพัฒนา Unix ด้วย ซึ่งก็ได้พัฒนาเรื่อยมาตั้งแต่ SVR1 , SVR2 , SVR3 , SVR4 จากนั้นในช่วงเวอร์ชั่นหลังก็ได้ผนวกเอาคุณสมบัติบางอย่างของระบบ Unix แบบ BSD ของ University of California, Berkeley และ Microsoft Xenix System V เข้าด้วยกันกับระบบของตน

BSD(Berkley Software Distribution)

       ถูกพัฒนาขึ้นโดย Berkeley ดังที่ได้กล่าวไปแล้ว ซึ่งเวอร์ชันที่เป็นที่นิยมได้แก่เวอร์ชัน 4.2 และ 4.3 ซึ่งระบบ Unix แบบ BSD นี้ได้เป็นต้นแบบของระบบ Unix อีกหลายๆ ระบบที่ได้พัฒนาตามมาในภายหลัง เช่น SunOS ของ Sun Microsystems และ HP-UX ของ Hewlett-Packard

นอกจากนี้ยังมีอีกระบบหนึ่งของ Unix ซึ่งมีความน่าสนใจนั่นคือ

Microsoft Xenix SystemV

       ซึ่งถูกพัฒนาขึ้นเพื่อให้สามารถใช้งานได้กับซีพียูของ IBM และ INTEL ในตระกูล 8086 , 80286, 80386 โดยจะมีความคล้ายกันกับ AT&T System V Release2.0

ตอนนี้ก็คงรู้จักกับ Unix ไปบ้างแล้ว แต่หลายคนอาจจะยังสงสัยว่า Unix และ Linux เกี่ยวข้องกันอย่างไร คำตอบก็ง่ายๆ คือ Unix เป็นรากฐานในการพัฒนา Linux นั่นเอง

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

UNIX

 

 

 

 

 

 

 

 

 

 

      Linux เป็นแขนงหนึ่งของ Unix อาจจะเรียกว่าเป็น Unix Clone ก็ได้ ซึ่งถูกพัฒนาครั้งแรกในปี 1990 โดยนายลีนัส โทรวัลด์ ( Linus Trovalds ) ซึ่งในขณะนั้นยังเป็นนักศึกษาอยู่ที่มหาวิทยาลัยเฮลซิงกิ ประเทศฟินแลนด์ ในช่วงที่กำลังศึกษาอยู่เขาได้มีโอกาสใช้ Minix ซึ่งเป็นระบบปฏิบัติการ Unix อีกแบบหนึ่งที่ใช้กับพีซีในขณะนั้น ซึ่งเขารู้สึกว่ายังมีความสามารถไม่มากพอ เขาจึงคิดที่จะปรับปรุงให้ Mimix มีความสามารถมากขึ้น โดยได้รับความร่วมมือและช่วยเหลือจากโปรแกรมเมอร์ระบบ Unix จากทั่วโลกผ่านทางเครือข่ายอินเทอร์เน็ต จึงถือว่าเป็นจุดเริ่มต้นในการพัฒนาของ Linux นั่นเอง อย่างไรก็ดี Linux จัดได้ว่าเป็น kernel แบบหนึ่งของระบบ Unix เท่านั้น ในส่วนของ application และ shell ที่ใช้งานนั้นขึ้นอยู่กับผู้พัฒนาโปรแกรมทั่วโลกที่จะพัฒนาขึ้นมาภายใต้เงื่อนไขว่าจะต้องเปิดเผย source code นั้นๆ ด้วยเสมอ

      Linux และ application ต่างๆ สามารถที่จะดาวน์โหลดได้จากอินเทอร์เน็ตโดยไม่ผิดกฎหมายและไม่มีค่าใช้จ่ายใดๆ เนื่องจากเป็น Free open source software ปัจจุบันระบบปฏิบัติการ Linux ยังคงได้รับการพัฒนาอย่างต่อเนื่อง โดยลีนัสเป็นผู้วางทิศทางในการพัฒนาให้เป็นไปในทิศทางเดียวกัน แต่เนื่องจากการที่ต้องดาวน์โหลดจากหลายแหล่งเพื่อให้ได้ซอฟท์แวร์ตามที่ต้องการนั้นสิ้นเปลืองเวลาและมีความยุ่งยาก อีกทั้งไฟล์ก็จะมีขนาดที่ใหญ่มาก ทำให้เกิดความไม่สะดวก จึงมีผู้ที่ทำการรวบรวมโปรแกรมต่างๆ เข้าด้วยกันให้พร้อมสำหรับการใช้งาน และเผยแพร่โดยคิดค่าบริการภายใต้เงื่อนไขเดิม คือยังต้องเปิดเผย source code อยู่ เราเรียกผู้ผลิตเหล่านี้ว่า Distributor ในปัจจุบันมี Distributor อยู่มากมาย ซึ่งแต่ละบริษัทก็จะพัฒนารายละเอียดต่างๆ แตกต่างกันไปตามความต้องการ แต่แกนหลักยังคงเดิม ซึ่งจะขึ้นอยู่กับความต้องการของผู้ใช้ว่าจะเลือกใช้ Linux จาก Distributor ใด

 

 

 

 

 

      สำหรับประเทศไทยนั้น Distributor ที่เป็นที่นิยมและมีชื่อเสียงคุ้นเคยสำหรับผู้ใช้ก็มี Red Hat, Mandrake, Debian, Slackware นอกจากนี้ยังมี Linux ภาษาไทยอีกด้วยนั่นก็คือ Linux TLE (อ่านว่า ลีนุกซ์ทะเล) ที่พัฒนาโดยศูนย์เทคโนโลยีอิเล็กทรอนิกส์และคอมพิวเตอร์แห่งชาติ (NECTEC) และ KW Linux

 

 

 

 

 

      จุดเด่นของระบบปฏิบัติการ Linux ที่ทำให้เป็นที่นิยมอย่างรวดเร็วนั้นมีอยู่หลายข้อด้วยกัน

- เป็นฟรีซอฟท์แวร์ (คนไทยชอบมาก !! )

-มีผู้พัฒนาโปรแกรมประยุกต์ ( application) เป็นจำนวนมากจากทั่วโลก ทำให้มีโปรแกรมที่หลากหลายในการใช้งาน

-มีคอมไพเลอร์ (compiler) สำหรับการพัฒนาโปรแกรมให้เลือกใช้ค่อนข้างมากเช่น C++, Perl, Java และมักจะมาพร้อมกับแผ่น CD แล้ว

-เนื่องจากเป็นแขนงหนึ่งของ Unix จึงรวบรวมเอาข้อดีของ Unix ไว้ด้วยแต่ใช้งานง่ายกว่า ขณะเดียวกันเนื่องจากมีผู้พัฒนาระบบ X-windows ซึ่งเป็น GUI (Graphic User Interface) ในลักษณะใกล้เคียงกับระบบปฏิบัติการ Windows ทำให้ผู้ใช้ทั่วไปใช้งานได้ง่ายขึ้น

-สามารถใช้งานได้บนเครื่องคอมพิวเตอร์ที่มีความสามารถของเครื่องไม่ต้องสูงมากได้ โดยให้ประสิทธิภาพของงานที่ดี นอกจากนี้ยังเป็นระบบปฏิบัติการแบบ 32 บิตที่แท้จริงอีกด้วย จุดนี้หากเทียบกับ Windows แล้ว Linux จะค่อนข้างเหนือกว่าอยู่พอสมควร

 

 

 

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

-ในการติดตั้ง ผู้ใช้จะต้องมีความรู้เกี่ยวกับการจัดการ Partition ของฮาร์ดดิสก์เป็นอย่างดี เพราะ Linux มีระบบไฟล์ที่แตกต่างออกไปจาก Windows และการติดตั้งโดยส่วนใหญ่จะต้องทำบนระบบไฟล์ของ Linux เองเท่านั้น การติดตั้ง Linux เป็นระบบปฏิบัติการเพียงระบบเดียวนั้นอาจจะไม่เจอปัญหาที่ยุ่งยากมากนัก แต่ส่วนใหญ่แล้วผู้ใช้มักจะต้องการที่จะเก็บ Windows ไว้ใช้งานด้วย ดังนั้นหากผู้ใช้ไม่มีความรู้ความชำนาญอย่างเพียงพอก็อาจจะทำให้ Windows ไม่สามารถใช้งานเป็นปกติได้ ปัญหาดังกล่าวนี้อาจป้องกันได้โดยการสำรอง (backup) แฟ้มข้อมูลต่าง ๆ บนฮาร์ดดิสก์ไว้ก่อน แล้วจึงทำการแบ่ง partition และติดตั้ง Linux ต่อไป

-ในการจะรันระบบ X-Windows นั้นผู้ใช้จะต้องรู้เกี่ยวกับ Hardware ภายในเครื่องเป็นอย่างดี เพราะในการติดตั้งอาจจะมีอุปกรณ์บางตัวที่ Linux จาก Distributor ที่เราเลือกใช้ยังไม่สนับสนุน หรือเรียกง่ายๆ ว่าไม่มี Driver นั่นเอง ทำให้ผู้ใช้จำเป็นจะต้องระบุรายละเอียดต่างๆ ด้วยตนเอง ซึ่งอาจเกิดความไม่สะดวก และบางครั้งอาจจะทำให้ X-Windows ไม่สามารถใช้งานได้

-แม้ว่า Linux จะมีระบบ X-Windows ที่ช่วยให้ผู้ใช้มีความสะดวกมากขึ้น แต่ก็ยังคงมีจุดที่แตกต่างจาก MS-Windows ที่ผู้ใช้ส่วนใหญ่คุ้นเคย ทำให้ยังคงต้องเรียนรู้เพิ่มเติม ซึ่งอาจจะต้องใช้เวลาพอสมควร

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

      จากที่ได้กล่าวมาแล้วถึงจุดเด่นต่างๆ ของระบบปฏิบัติการ Unix และระบบปฏิบัติการ Linux จะพบว่ามีประสิทธิภาพค่อนข้างดีในค่าใช้จ่ายที่ต่ำ แต่เพียงเท่านี้อาจจะไม่เพียงพอที่จะทำให้ผู้ใช้ทั่วๆ ไปเปลี่ยนระบบปฏิบัติการที่ใช้อยู่มาเป็น Unix หรือ Linux ได้ แต่สำหรับงานทางด้าน Bioinformatics นั้น ค่อนข้างที่จะหลีกเลี่ยงที่จะไม่ใช้ระบบปฏิบัติการทั้ง 2 แบบนี้ได้ยาก เหตุผลหลักก็คือโปรแกรมประยุกต์ต่างๆ ที่มีให้เลือกใช้ในปัจจุบันนั้น ผู้พัฒนาโปรแกรมด้าน Bioinformatics เป็นจำนวนมากได้ทำการพัฒนาเพื่อให้ใช้ได้กับระบบปฏิบัติการในตระกูล Unix แม้ว่าจะมีโปรแกรมประยุกต์บางส่วนที่สามารถใช้งานบนระบบปฏิบัติการ Windows ได้แต่ก็ยังไม่ครอบคลุมงานในด้าน Bioinformatics ทั้งหมด ทำให้หลบเลี่ยงได้ยาก สำหรับเหตุผลที่ผู้พัฒนาส่วนใหญ่เลือกพัฒนาโปรแกรมประยุกต์ของตนบน Unix และ Linux นั้นน่าจะมาจากการที่ระบบ Unix นั้นเป็นระบบปฏิบัติการที่ใช้กันอย่างยาวนานและแพร่หลายในมหาวิทยาลัยต่างๆ มีเสถียรภาพสูง ควบคุมทรัพยากรของระบบคอมพิวเตอร์ได้อย่างมีประสิทธิภาพ โปรแกรมต่าง ๆ สามารถทำงานร่วมกันได้อย่างต่อเนื่อง(ด้วยคำสั่ง pipe) การเขียนโปรแกรมก็สามารถทำได้ง่ายกว่าระบบปฏิบัติการ Windows ที่ทุกอย่างจะต้องถูกควบคุมจาก Windows ก่อน เมื่อมองจากจุดนี้แล้วจะพบว่าระบบ Unix และ Linux มีความยืดหยุ่นมากกว่า นอกจากนี้การที่ Linux นั้นเป็น open source software ยังทำให้สามารถสร้างโปรแกรมประยุกต์ได้อย่างมีประสิทธิภาพมาก เช่น Dotter, EMBOSS, Modeller เป็นต้น อีกทั้งยังมีเครื่องมือในการพัฒนาให้เลือกใช้อย่างมากมาย ดังนั้นการเลือกที่จะใช้ระบบปฏิบัติการ Linux ที่เป็นแขนงหนึ่งของระบบ Unix นั้นจึงเป็นทางเลือกที่น่าสนใจสำหรับผู้ที่สนใจงานทางด้าน Bioinformatics เนื่องจากสามารถที่จะใช้งานได้สะดวกกว่าระบบ Unix เนื่องจากผสมเอาข้อดีทั้งของระบบ Unix และ ระบบ Windows เข้าไว้ด้วยกัน นอกจากนี้ยังจัดหามาใช้งานได้ง่ายกว่า มีค่าใช้จ่ายที่ต่ำกว่า มีการสนับสนุนในเรื่องของอุปกรณ์ที่ดีอีกด้วย