ทำความรู้จักกับระบบปฏิบัติการ

ระบบปฏิบัติการคือกลุ่มของโปรแกรมที่ทำหน้าที่ควบคุมการทำงานของคอมพิวเตอร์ให้ทำงาน
ได้อย่างมีประสิทธิภาพ

The relation between the user, the OS, and the application, and the hardware
แสดงความสัมพันธ์ระหว่างระบบปฏิบัติการ ฮาร์ดแวร์ โปรแกรมประยุกต์และผู้ใช้

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

ระบบปฏิบัติการสามารถแบ่งได้เป็นสองประเภทตามลักษณะการใช้งาน ได้แก่แบบ "งานเดี่ยว"
(single-tasking) และแบบ "หลายงาน" (multi-tasking)

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

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

ถ้าจะแบ่งตามประเภทของงาน ระบบปฏิบัติการประกอบด้วยส่วนประกอบใหญ่สองส่วน
ได้แก่ส่วนควบคุม (control function) และส่วนบริการ (service function) ส่วนแรก
เป็นส่วนที่เปรียบเสมือนหัวใจของคอมพิวเตอร์เนื่องจากเป็นส่วนที่จัดการดูแลการทำงานทั้งหมดของ
เครื่อง หน้าที่หลักๆของส่วนนี้ก็ประกอบด้วย การจัดลำดับก่อนหลังของความสำคัญในการใช้งาน
ของโปรแกรม (Scheduling and job management) การจัดการการโอนย้ายข้อมูลระหว่าง
ส่วนต่างๆของคอมพิวเตอร์ (Input/Output and data management) และการดูแลระบบ (System monitoring)

ส่วนการบริการของระบบปฏิบัติการเป็นส่วนที่ช่วยเหลือให้งานของผู้ใช้ง่ายมากขึ้น โดยระบบ
ปฏิบัติการจะประกอบด้วยโปรแกรมช่วยเหลือต่างๆที่เรียกว่า utilities ซึ่งทำหน้าที่ต่างๆกันเช่น
การฟอร์แมตแผ่นดิสค์ การคัดลอกไฟล์ข้อมูล หรือการแสดงลำดับไฟล์ต่างๆในแผ่นดิสค์เป็นต้น
นอกจากนี้ยังมีบริการแปลภาษาเครื่อง (compiling)ซึ่งเป็นบริการที่สำคัญมาก เนื่องจาก
โปรแกรมต่างๆอาจเขียนขึ้นด้วยภาษาโปรแกรมที่ประดิษฐ์ขึ้นมาเพื่อให้ง่ายต่อการเขียน
ดังนั้นเมื่อจะใช้โปรแกรมเหล่านี้ระบบปฏิบัติการก็มีหน้าที่แปลภาษาประดิษฐ์เหล่านี้ ที่เรียกกันว่า
ภาษาชั้นสูง (เช่น BASIC, FORTRAN, PASCAL, C, หรืออื่นๆ) มาเป็นภาษาที่เครื่องสามารถ
เข้าใจได้ นับว่าเป็นบริการที่จำเป็นมาก

หน้าที่ต่างๆของระบบปฏิบัติการแสดงได้ในรูปต่อไปนี้

Functions of the Operating System


การทำงานของระบบปฏิบัติการ

การจัดการเข้า/ออก (Input/Output [I/O] Manager)
ใช้ในการควบคุมและจัดการการเคลื่อนย้ายข้อมูลระหว่างส่วนต่างๆของเครื่องคอมพิวเตอร์

การทำงานตามโปรแกรม (Program Execution)
ส่วนนี้ถือเป็นหัวใจของระบบปฏิบัติการ ประกอบด้วยสองส่วนใหญ่ๆได้แก่
Scheduling program ทำหน้าที่มอบหมายการทำงานของ CPU
และการป้อน การส่งข้อมูลให้แก่โปรแกรม
Job management program ทำหน้าที่ควบคุมการทำงานของโปรแกรม
และตรวจสอบความผิดพลาดของโปรแกรม

การจัดการแฟ้มข้อมูล (File management)
ทำหน้าที่จัดข้อมูล (ซึ่งในระดับเครื่องเป็นเพียงการเรียงตัวกันของสิ่งที่แทนด้วย
"0" กับ "1" เท่านั้น) ให้เป็นหน่วยๆเรียกว่า "แฟ้มข้อมูล" หรือ "ไฟล์" (files)
ต่อจากนั้นก็สำรวจที่อยู่ของแต่ละไฟล์ในแผ่นดิสค์ หรือในฮาร์ดดิสค์เพื่อสามารถ
นำออกมาใช้ (เรียกว่า "โหลด" [load]) เมื่อต้องการ
หน้าที่อีกประการหนึ่งก็คือการสร้างไดเร็คทอรี่ ซึ่งเป็นไฟล์ที่แสดงรายการของไฟล์ต่างๆ
ในหน่วยเก็บข้อมูลหน่วยหนึ่ง (ซึ่งอาจเป็นแผ่นดิสค์ ฮาร์ดดิสค์ เทปเก็บข้อมูล
แผ่นซีดีที่บันทึกได้ ฯลฯ) พร้อมทั้งบันทึกข้อมูลต่างๆของแต่ละไฟล์ไว้ด้วย

การ "บู๊ต" เครื่อง ('Booting')
หน้าที่สำคัญอีกอย่างหนึ่งก็คือการดึงเอาส่วนที่จำเป็นของระบบปฏิบัติการมาไว้ในหน่วย
ความจำของเครื่องเมื่อเริ่มเปิดเครื่องใช้งาน การกระทำเช่นนี้เรียกกันว่าการ "บู๊ต"
เครื่อง ในสมัยก่อนที่เรายังมีแต่คอมพิวเตอร์เมนเฟรมเครื่องใหญ่ที่ทำงานด้วยหลอดสุญญากาศ
เมื่อเปิดเครืื่องบางทีเครื่องไม่ยอมทำงานต้องใช้เท้าเตะไปที่เครื่องจึงจะทำงานได้
นักคอมพิวเตอร์เลยเรียกการกระตุ้นให้เครื่องทำงานว่า "บู๊ต"

การจัดการหน่วยความจำ (Memory management)
ทำหน้าที่จัดการหน่วยความจำของเครื่องเพื่อให้เครื่องทำงานได้อย่างมีประสิทธิภาพสูงสุด
โดย (1) ป้องกันไม่ให้โปรแกรมเข้ามาใช้เนื้อที่หน่วยความจำของระบบปฏิบัติการเอง
และ (2) จัดการให้โปรแกรมได้ใช้หน่วยความจำในปริมาณที่เพียงพอ (เทคนิคนี้เรียกว่า
overlay ปัจจุบันนี้ไม่ค่อยมีความจำเป็นต้องใช้ เพราะเครื่องรุ่นใหม่มีหน่วยความจำมากพอ)

[กลับไปหน้าเริ่มต้น] [ไปหน้าต่อไป]