ซอฟต์แวร์ระบบ (System Software)

ซอฟต์แวร์ระบบประกอบด้วย ซอฟต์แวร์ 2 ประเภท คือ

  • ระบบปฏิบัติการ (Operating System)

    ระบบปฏิบัติการ หมายถึง ชุดของโปรแกรมที่อยู่ระหว่างฮาร์ดแวร์แลซอฟต์แวร์ประยุกต์ มีหน้าที่ในการควบคุมการปฏิบัติงานของฮาร์ดแวร์ และสนับสนุนคำสั่งสำหรับควบคุมการทำงานของฮาร์ดแวร์ประยุกต์ ตัวอย่างของซอฟต์แวร์ระบบปฏิบัติการที่นิยมใช้ในปัจจุบัน เช่น MS - DOS , UNIX , Windows 95 , และ Mac System 7 เป็นต้น ระบบปฏิบัติงานมีหน้าที่หลัก ๆ คือ

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

ระบบปฏิบัติการทำงานอยู่เบื้องหลังการทำงานของผู้ใช้ โดยเฉพาะระบบปฏิบัติการบนเครื่องเมนเฟรมหรือเครื่องที่มีขนาดใหญ่ก็ย่อมมีการทำงานที่ซับซ้อนมากขึ้น เพราะต้องดูแลการทำงานหลายอย่างจากผู้ใช้หลายคนพร้อมกัน

ระบบปฏิบัติการบนเครื่องไมโครคอมพิวเตอร์

ในปัจจุบันนี้ ระบบปฏิบัติการบนเครื่องไมโครคอมพิวเตอร์ที่ได้รับความนิยม จะแยกตามฮาร์ดแวร์ที่ใช้งานได้เป็น 2 ระบบ คือระบบปฏิบัติการที่ทำงานบนเครื่อง ไอบีเอ็มพีซี (IBM personal Computer) หรือ ลียนแบบไอบีเอ็มพีซี (IBM PC Competible) และระบบปฏิบัติการที่ทำงานบนเครื่องแมคอินทอช (Macintosh) โดยปกติแล้ว โปรแกรมประยุกต์ใด ๆ จะสามารถทำงานบนระบบปฏิบัติการตัวใดตัวหนึ่งเท่านั้น เช่น โปรแกรมไมโครซอฟต์เวิร์ดที่ถูกออกแบบมาให้ทำงานบนเครื่องไอบีเอ็มพีซี ก็จะไม่สามารถนำไปใช้งานบนเครื่องแมคอินทอช เพราะเครื่องไอบีเอ็มพีซี จะนิยมใช้ระบบปฏิบัติการของไมโครซอฟต์ที่เรียกว่าอ็มเอสดอส (MS - DOS)หรืออาจใช้ระบบที่ใหม่กว่าคือไมโครซอฟต์วินโดว์ (Microsoft Windows) หรือระบบปฏิบัติการแบบเปิดในตระกูลยูนิกซ์ เช่น SCO UNIX หรือ LINUX ในขณะที่เครื่องแมคอินทอชใช้ระบบปฏิบัติการที่เรียกว่าแมคอินทอชซิสเต็มเซเว่น (Macintosh System 7) ซึ่งออกแบบโดยบริษัทแอปเปิล การที่เครื่องสองชนิดใช้ระบบปฏิบัติการต่างกัน เนื่องมาจากมีหน่วยประมวลผลกลางไม่เหมือนกัน ผู้ที่จะผลิตซอฟต์แวร์คอมพิวเตอร์จะต้องเลือกที่จะผลิตซอฟต์แวร์ให้ใช้บนระบบใดระบบหนึ่ง หรือถ้าจะให้ใช้ได้บนระบบปฏิบัติการทั้งสองชนิดก็ต้องพัฒนาซอฟต์แวร์ขึ้นมาสองชุด

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

  • ระบบปฏิบัติการเอ็มเอสดอส (MS - DOS)

    ผู้ใช้เครื่องคอมพิวเตอร์ในปัจจุบันนี้มักจะมีฮาร์ดดิสก์ติดอยู่ด้วยเสมอ เมื่อผู้ใช้เปิดเครื่องคอมพิวเตอร์ ระบบปฏิบัติการก็จะถูกเรียกจากฮาร์ดดิสก์มาไว้ในหน่วยความจำของเครื่องเพื่อเตรียมที่จะใช้งานได้ทันทีที่ต้องการ ขั้นตอนที่ย้ายระบบปฏิบัติการเข้าสู่หน่วยความจำของเครื่องนั้นเรียกว่าการบูตระบบ (booting) หรือ บูตแสตป (bootstrap) ซึ่งมีขั้นตอนคือเมื่อเปิดสวิทช์เครื่องคอมพิวเตอร์ขึ้น โปรแกรมเล็ก ๆ ที่อยู่ในหน่วยความจำรอม (ROM) จะเรียกเอาส่วนประกอบพื้นฐานที่จำเป็นของระบบปฏิบัติการจากฮาร์ดดิสก์เข้ามาไว้ในหน่วยความจำหลัก ซึ่งจะได้ผลลัพธ์บนจอภาพเป็น C > หรือ C:\ > โดยที่หมายถึงดิสก์ไดรฟ์ที่ทำงานอยู่ และเครื่องหมาย > หมายถึงการเตรียมพร้อมที่จะทำงาน (prompt) จากนั้นผู้ใช้ก็จะสามารถพิมพ์คำสั่งของเอ็มเอสดอสได้ทันที

  • ไมโครซอฟต์วินโดว์

    ไมโครซอฟต์วินโดว์ หรือที่นิยมเรียกสั้น ๆ ว่าวินโดว์ มีระบบการติดต่อกับผู้ใช้เป็นแบบกราฟิกที่มีสีสันสวยงามและสามารถใช้ได้ง่าย เรียกระบบที่ติดต่อกับผู้ใช้ลักษณะนี้ว่า GUI (Graphic user Interface) ซึ่งผู้ใช้บนระบบวินโดว์จะทำงานกับเมนู (menu)และรูปภาพที่เรียกว่าไอคอน (icon)แทนที่จะเป็นการพิมพ์คำสั่งต่าง ๆ ดังรูป

แสดงไอคอนและเมนูบนระบบวินโดว์

 

เมนูดังรูปจะเรียกว่า พูลดาวน์เมนู (pull down menu) ซึ่งจะเป็นเมนูที่เมื่อทำการเลือกรายการที่ต้องการแล้วจะมีรายการย่อยถูกถึงลง (pull down) ให้ปรากฏออกมาก นอกจากนี้จะมี เมนูอีกชนิดกนึ่งเรียกว่า ป๊อปอัพเมนู (pop-up menu) ซึ่งจะปรากฏเป็นหน้าต่างย่อยซ้อนขึ้นมาด้านหน้าเมื่อเลือกรายการที่ต้องการ

ระบบวินโดว์มีข้อดีคือเอื้ออำนวยให้ผู้ใช้สามารถทำงานได้ง่าย โดยการแสดงภาพกราฟฟิกบนจอภาพเมื่อผู้ใช้เปิดเครื่องขึ้นมา และผู้ใช้สามารถใช้เมาส์ในการชี้และคลิกที่ภาพเพื่อเลือกซอฟต์แวร์ที่ต้องการ แทนที่จะต้องพิมพ์คำสั่งเช่นเดียวกับระบบดอส ดังนั้นระบบวินโดว์จึงได้รับความนิยมอย่างกว้างขวาง และได้มีการพัฒนาเป็นเวอร์ชันใหม่ ๆ อย่างต่อเนื่อง นับจาก Windows 3.0 , Window for Workgroup ซึ่งเป็น cooperative multitasking จนมาถึง Windows 95 ซึ่งเป็น preenptive multitasking และ Windows NT ซึ่งเป็นระบบปฏิบัติการเครือข่ายแบบ Client/Server

ระบบปฏิบัติการเครือข่าย

ระบบปฏิบัติการเครือข่าย (Network operating System หรือ NOS) จะเป็นระบบปฏิบัติการที่ถูกออกแบบมาสำหรับจัดการงานด้านการติดต่อสื่อสารระหว่างคอมพิวเตอร์ และช่วยให้คอมพิวเตอร์ที่ต่ออยู่กับเครือข่ายสามารถใช้อุปกรณ์ต่าง ๆ เช่น ฮาร์ดดิสก์ หรือเครื่องพิมพ์ร่วมกันได้ ระบบปฏิบัติการเครือข่ายมีคุณสมบัติต่างๆ คล้ายระบบปฏิบัติการเอ็มเอสดอส แต่เพิ่มการจัดการเกี่ยวกับเครือข่ายและการใช้อุปกรณ์ร่วมกัน รวมทั้งมีระบบการป้องกันการสูญหายของข้อมูลด้วย

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

ระบบปฏิบัติการบนเครื่องคอมพิวเตอร์ขนาดใหญ่

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

ระบบปฏิบัติการแบบเปิด (Open Operating System)

ในสมัยก่อนผู้ที่พัฒนาระบบปฏิบัติการคือบริษัทที่ผลิตคอมพิวเตอร์ ดังนั้นระบบปฏิบัติการจึงถูกออกแบบให้สามารถใช้ได้เฉพาะกับเครื่องของบริษัทเท่านั้น เรียกระบบปฏิบัติการประเภทนี้ว่า ระบบปฏิบัติการแบบปิด (Proprietary operating system) ซึ่งแม้แต่ในปัจจุบันนี้เครื่องระดับเมนเฟรมผู้ขายก็ยังคงเป็นผู้กำหนดความสามารถของระบบปฏิบัติการของเครื่องที่ขายอยู่ อย่างไรก็ดี ปัจจุบันนี้เริ่มมีแนวโน้มที่จะทำให้ระบบการสามารถนำไปใช้งานบนเครื่องต่าง ๆ กันได้ (Protable operating system) เช่น ระบบปฏิบัติการยูนิกซ์ (UNIX) เป็นต้น

ะบบปฏิบัติการยูนิกซ์ เป็นระบบปฏิบัติการที่พัฒนาขึ้นในปี ค.ศ. 1971 โดย และ จากห้องปฏิบัติการเบลล์ของบริษัท AT& T ซึ่งได้ทำการพัฒนาบนเครื่องมินิคอมพิวเตอร์ของ DEC ระบบปฏิบัติการยูนิกซ์เป็นระบบที่สนับสนุนผู้ใช้งานจำนวนหลายคนพร้อม ๆ กัน โดยใช้หลัก การแบ่งเวลา (time sharing) ต่อมาในปี ค.ศ. 1970 ได้มีการบริจาคระบบปฏิบัติการนี้ให้กับวงการศึกษา และมีการนำไปใช้ทั้งในมหาวิทยา และวิทยาลัยต่าง ๆ มากมาย นักศึกษาจำนวนมากจึงได้ใช้ระบบปฏิบัติการยูนิกซ์ เป็นผลให้เมื่อนักศึกษาเหล่านั้นจบออกไปทำงาน ก็ยังคงเคยชินกับระบบปฏิบัติการยูนิกซ์และจัดหามาใช้ในองค์กรที่ทำงานอยู่ระบบปฏิบัติการยูนิกซ์จึงได้รับการยอมรับในวงการอุตสาหกรรมและวงการอื่น ๆ อย่างแพร่หลายและมีการใช้งานอยู่ตั้งแต่เครื่องระดับไมโครคอมพิวเตอร์ ไปจนถึงเครื่องระดับซูเปอร์คอมพิวเตอร์

  • ตัวแปลภาษาคอมพิวเตอร์ (Translator)

    ในการพัฒนาซอฟต์แวร์คอมพิวเตอร์นั้น โปรแกรมเมอร์จะเขียนโปรแกรมในภาษาคอมพิวเตอร์แบบต่าง ๆ ตามแต่ความชำนาญของแต่ละคน โปรแกรมที่ได้จะเรียกว่า โปรแกรมต้นฉบับ หรือ ซอร์สโคด (source code) ซึ่งมนุษย์จะอ่านโปรแกรมต้นฉบับนี้ได้แต่คอมพิวเตอร์จะไม่เข้าใจคำสั่งเหล่านั้น เนื่องจากคอมพิวเตอร์เข้าใจแต่ภาษาเครื่อง (Machine Language) ซึ่งประกอบขึ้นจากรหัสฐานสองเท่านั้น จึงต้องมีการใช้โปรแกรม ตัวแปรภาษาคอมพิวเตอร์ (Translator) ในการแปลภาษาคอมพิวเตอร์ภาษาต่าง ๆ ไปเป็นภาษาเครื่องโปรแกรมที่แปลจากโปรแกรมต้นฉบับแล้วเรียกว่า ออบเจคโคด (object code) ซึ่งจะประกอบด้วยรหัสคำสั่งที่คอมพิวเตอร์สามารถเข้าใจและนำไปปฏิบัติได้ต่อไป

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

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

    ในปัจจุบัน มีหลักการแปลภาษาคอมพิวเตอร์แบบใหม่เกิดขึ้น คือแปลจากซอร์สโคดไปเป็นรหัสชั่วคราวหรืออินเทอมีเดียตโคด (Intermediate code) ซึ่งสามารถนำไปทำงานได้ด้วยการใช้โปรแกรมในการอ่านและทำงานตามรหัสชั่วคราวนั้น โดยโปรแกรมนี้จะมีหลักการทำงานคล้ายกับอินเทอพรีเตอร์ แต่จะทำงานได้เร็วกว่าเนื่องจากรหัสชั่วคราวจะใกล้เคียงกับภาษาเครื่องมาก มีข้อดีคือสามารถนำรหัสชั่วคราวนั้นไปใช้ได้กับทุก ๆ เครื่องที่มีโปรแกรมตีความได้ทันที

home.GIF (1563 bytes)

ขอบคุณ : http://cptd.chandra.ac.th