วันพฤหัสบดีที่ 29 กรกฎาคม พ.ศ. 2553

ซอฟต์แวร์ระบบ

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

7 ความคิดเห็น:

  1. เข้าใจในรายละเอียดคร่า

    ตอบลบ
  2. เนื้อหาดี......มีสาระ

    โอเคเพื่อน

    ตอบลบ
  3. เนื้อหาดี...มีสาระ
    (เม้นกลับด้วยนะ)

    ตอบลบ
  4. เยี่ยมๆๆ

    สาระมากมาย
    ใช้ได้คร่า

    ตอบลบ
  5. ดี ดี ดี

    เนื้อหามากมาย

    ตอบลบ
  6. ดี ดี ดี

    สาระมากมาย

    เครๆ ผ่านๆ

    ตอบลบ
  7. เนื้อหาดีน่าศึกษาหาความรู้ใช้ได้

    ตอบลบ