บทที่ 8 โครงสร้างระบบปฏิบัติการ
จัดทำโดย นาย พัทธนันท์ อุรัตน์ รหัสนักศึกษา 6031280059
โครงสร้างของระบบปฏิบัติการ Operating System Structure
เนื่องจากหน้าที่ความรับผิดชอบของระบบปฏิบัติการในการควบคุมดูแลการทำงานของระบบเครื่องคอมพิวเตอร์มีมากมาย
จึงทำให้โครงสร้างทางโปรแกรมของระบบปฏิบัติการมีความสลับซับซ้อนมาก
เพื่อความสะดวกในการออกแบบผู้ออกแบบจึงจัดแบ่งระบบปฏิบัติการออกเป็นส่วนย่อยๆ
หลายๆ ส่วน
แต่ละส่วนมีหน้าที่รับผิดชอบการทำงานในแต่ละด้านโดยไม่คาบเกี่ยวกันแต่สัมพันธ์กัน
เพื่อให้เข้าใจถึงโครงสร้างของระบบปฏิบัติการ
เราจะแบ่งส่วนการทำงานของระบบปฏิบัติการออกเป็นชั้นๆ
ตามลำดับของการทำงานที่มีความเกี่ยวข้องกับฮาร์ดแวร์และผู้ใช้จากมากไปน้อย
ระดับชั้นการทำงานของ OS
การทำงานของโปรแกรมต่างๆ ในแง่ผู้ใช้เราอาจแบ่งได้ออกเป็น 3 ระดับ
1.โปรแกรมทั่วไปหรือผู้ใช้เอง
2.ระบบปฏิบัติการ (OS)
3.ฮาร์ดแวร์ของเครื่องคอมพิวเตอร์
ทั้ง 3 ระดับมีความสัมพันธ์กันคือระบบปฏิบัติการจะเป็นตัวเชื่อมโยงระหว่างผู้ใช้และฮาร์ดแวร์ของเครื่องโดยทำหน้าที่ติดต่อและควบคุมการทำงานของฮาร์ดแวร์ เพื่อให้โปรแกรมหรือคำสั่งของผู้ใช้ทำงานสำเร็จ ลุล่วงไปได้
1.โปรแกรมทั่วไปหรือผู้ใช้เอง
2.ระบบปฏิบัติการ (OS)
3.ฮาร์ดแวร์ของเครื่องคอมพิวเตอร์
ทั้ง 3 ระดับมีความสัมพันธ์กันคือระบบปฏิบัติการจะเป็นตัวเชื่อมโยงระหว่างผู้ใช้และฮาร์ดแวร์ของเครื่องโดยทำหน้าที่ติดต่อและควบคุมการทำงานของฮาร์ดแวร์ เพื่อให้โปรแกรมหรือคำสั่งของผู้ใช้ทำงานสำเร็จ ลุล่วงไปได้
รูปที่1 ระดับชั้นการทำงานของโปรแกรม |
รูปที่2 ระดับชั้นการทำงานของโปรแกรม |
ระดับชั้นภายในตัวระบบปฏิบัติการ
ระดับชั้นที่ 1 เป็นระดับชั้นที่ต่ำที่สุดมีชื่อเรียกว่า เคอร์เนล (Kernel)
เป็นชั้นที่มีหน้าที่รับผิดชอบงานต่าง ๆ ของโปรเซสของระบบปฏิบัติการเท่านั้น
เคอร์เนลประกอบด้วยส่วนย่อย ๆ พื้นฐาน 3 ส่วน คือ
1. ตัวส่ง (dispatcher) มีหน้าที่จัดการส่งโปรเซสเข้าไปให้ซีพียู
เป็นชั้นที่มีหน้าที่รับผิดชอบงานต่าง ๆ ของโปรเซสของระบบปฏิบัติการเท่านั้น
เคอร์เนลประกอบด้วยส่วนย่อย ๆ พื้นฐาน 3 ส่วน คือ
1. ตัวส่ง (dispatcher) มีหน้าที่จัดการส่งโปรเซสเข้าไปให้ซีพียู
2. ตัวจัดการอินเตอร์รัพต์ขั้นแรก (first-level interrupt handler) มีหน้าที่วิเคราะห์ การอินเตอร์รัพต์ที่ เกิดขึ้น และเลือกใช้รูทีนที่เหมาะสมกับอินเตอร์รัพต์นั้นๆ
3. ตัวควบคุมมอนิเตอร์ (monitor control) มีหน้าที่ควบคุมดูแลการเข้าถึงมอนิเตอร์ต่าง ๆ ของระบบ
3. ตัวควบคุมมอนิเตอร์ (monitor control) มีหน้าที่ควบคุมดูแลการเข้าถึงมอนิเตอร์ต่าง ๆ ของระบบ
ความสัมพันธ์ของเคอร์เนลและฮาร์ดแวร์
รูปที่3 ความสัมพันธ์ของเคอร์เนลและฮาร์ดแวร์ |
เคอร์เนลยังมีหน้าที่อื่นๆ อีก เช่น จัดการเรื่องการเข้าจังเหวะของโปรเซส (process synchronization) และการติดต่อระหว่างโปรเซส (process communication)
ชั้นที่ 2 ผู้จัดการหน่วยความจำ (memory manager) มีหน้าที่จัดการเกี่ยวกับหน่วยความจำของระบบ
เช่น การทำหน่วยความจำเหมือนระบบหน้า เป็นต้น
เนื่องจากการจัดการหน่วยความจำบางส่วนต้องยุ่งเกี่ยวกับโครงสร้างทางฮาร์ดแวร์ของเครื่อง
ดังนั้น
ในส่วนของผู้จัดการหน่วยความจำจึงมีลักษณะขึ้นอยู่กับฮาร์ดแวร์ด้วยเช่นเดียวกัน
บางครั้งการทำงานในชั้นนี้ก็อาศัยรูทีนบางอย่างของเคอร์เนลด้วย
ตัวอย่างเช่น
เคอร์เนลตรวจสอบพบอินเตอร์รัพต์ที่เกิดจากความผิดพลาดในการใช้งานหน่วยความจำ
เคอร์เนลจะเลือกและส่งงานที่เหมาะสมกับการจัดการสัญญาณอินเตอร์รัพต์ที่เกิดขึ้นมาให้ผู้จัดการหน่วยความจำจัดการแก้ไข
ในรูปที่ 8.4 แสดงตำแหน่งของผู้จัดการหน่วยความจำ
รูปที่4 ระดับชั้นที่ 2 ของระบบปฏิบัติการ |
ชั้นที่ 3 ระบบ ควบคุมอินพุต-เอาต์พุต (input-output control system) หรือ
IOCS จะมีหน้าที่จัดการงานทางด้านอินพุตเอาพุตของระบบ
ในชั้นนี้ยังคงมีลักษณะขึ้นอยู่กับฮาร์ดแวร์อยู่บ้าง
เพราะการติดต่อกับอุปกรณ์อินพุต-เอาต์พุตต้องทราบโครงสร้างและการทำงานของอุปกรณ์นั้นๆด้วย
ซึ่งส่วนนี้เป็นหน้าที่ของตัวขับอุปกรณ์ (device driver) นอกจากนี้ IOCS
ยังต้องอาศัยรูทีนบางอย่างทั้งจากเคอร์เนล
และผู้จัดการหน่วยความจำในการทำงานของมันอีกด้วย ตัวอย่างเช่น
เคอร์เนลจัดหารูทีนที่เหมาะสมกับการเกิดอินเตอร์รัพต์จากอุปกรณ์อินพุต-เอาต์พุต
ให้ IOCS ทำงานหรือ IOCS
เรียกใช้รูทีนผู้จัดการหน่วยความจำให้ช่วยหาเนื้อที่ในหน่วยความจำเพื่อใช้ทำบัฟเฟอร์ของอุปกรณ์ต่างๆ
รูปที่ 8.5 แสดงระดับชั้นเมื่อเพิ่มชั้นของ IOCS เข้าไป
รูปที่5 ระดับชั้นที่ 3 ของระบบปฏิบัติการ |
ระดับชั้นที่
1,2 และ 3 เป็นส่วนที่มีความสำคัญและมีการถูกเรียกใช้งานบ่อยมาก
ดังนั้นผู้สร้างระบบ
ปฏิบัติการส่วนใหญ่จะเขียนโปรแกรมในส่วนนี้ด้วยภาษาแอสเซมบลี้หรือภาษาที่สามารถเข้าถึงระบบการทำงานของเครื่องได้
เช่น ภาษา C เป็นต้น
ทั้งนี้เพื่อให้โปรแกรมทำงานได้รวดเร็วและมีประสิทธิภาพสูง
ส่งผลให้ประสิทธิ-ภาพการทำงานของระบบดีขึ้น ส่วนการทำงานของชั้นต่างๆ
ตั้งแต่ระดับชั้นที่ 4 ขึ้นไปจะเรียกใช้รูทีนต่างๆ ของ 3 ระดับแรก
และลดความขึ้นอยู่กับฮาร์ดแวร์ลงไปเรื่อยๆ
เพราะสามารถติดต่อกับฮาร์ดแวร์ผ่านทาง 3 ระดับแรกได้
ชั้นที่ 4 ผู้จัดการไฟล์ (file manager)
มีหน้าที่จัดการงานต่างๆ ที่เกี่ยวกับไฟล์ เช่น การเก็บไฟล์ลงดิสก์ การหาไฟล์ การอ่านข้องมูลของไฟล์ เป็นต้น
ผู้จัดการไฟล์นี้สามารถถูกออกแบบให้ไม่ขึ้นกับฮาร์ดแวร์ (hardware independent) ผู้จัดการไฟล์จะจะติดต่อกับฮาร์ดแวร์โดยเรียกผ่านรูทีนต่างๆของ เคอร์เนล ผู้จัดการหน่วยความจำและ IOCS
มีหน้าที่จัดการงานต่างๆ ที่เกี่ยวกับไฟล์ เช่น การเก็บไฟล์ลงดิสก์ การหาไฟล์ การอ่านข้องมูลของไฟล์ เป็นต้น
ผู้จัดการไฟล์นี้สามารถถูกออกแบบให้ไม่ขึ้นกับฮาร์ดแวร์ (hardware independent) ผู้จัดการไฟล์จะจะติดต่อกับฮาร์ดแวร์โดยเรียกผ่านรูทีนต่างๆของ เคอร์เนล ผู้จัดการหน่วยความจำและ IOCS
รูปที่6 ระดับชั้นที่ 4 ของระบบปฏิบัติการ |
ชั้นที่ 5 ตัวคิวระยะสั้น (short-term scheduler) เป็นระดับชั้นแรกที่มีลักษณะไม่ขึ้นอยู่กับฮาร์ดแวร์โดยสมบูรณ์ มีหน้าที่จัดคิวของโปรเซสในสถานะพร้อม (ready state) เมื่อใดที่ส่วนนี้ทำงานมันจะคัดเลือกเอาโปรซสที่เหมาะที่สุดในคิวของสถานะพร้อม
เพื่อให้โปรเซสนั้นเข้าไปครอบครองซีพียูที่ว่างอยู่
โดยเรียกใช้ตัวส่งในส่วนของเคอร์เนล รูปที่ 8.7
แสดงระดับชั้นของตัวจัดคิดระยะสั้น
รูปที่7 แสดงระดับชั้นที่ 5 ของ OS |
อาจกล่าวได้ว่าตัวจัดคิดระยะสั้นเป็นส่วนที่มีหน้าที่จัดสรรซีพียู
ซึ่งเป็นทรัพยากรประเภทหนี่งของระบบ
ชั้นที่ 6 ผู้จัดการทรัพยากร (resource manager) เป็นระดับชั้นของส่วนที่หน้าที่จัดสรรหาทรัพยากรอื่นๆในระบบ
ดังแสดงในรูปที่ 8.8
บางครั้งตัวจัดคิวระยะสั้นและผู้จัดการทรัพยากรอยู่สลับที่กัน
(ดังแสดงในรูปที่8.9 )
ทั้งนี้เพราะหลังจากที่ตัวจัดคิวระยะสั้นส่งโปรเซสเข้าไปในสถานะรันแล้ว
โปรเซสนั้นอาจต้องการทรัพยากรอื่นๆ ในระบบ
ดังนั้นจึงต้องเรียกใช้รูทีนในชั้นผู้จัดการทรัพยากร
รูปที่8 แสดงระดับชั้นที่ 6 ของ OS |
รูปที่ 9 การสลับชั้นของตัวจัดคิดระยะสั้นและผู้จัดการทรัพยากร |
ชั้นที่ 7 ตัวจัดคิวระยะยาว (long-term scheduler) เป็นชั้นของระบบปฏิบัติที่เริ่มมีความใกล้ชิดกับผู้ใช้และห่างไกลกับฮาร์ดแวร์ของเครื่องมากขึ้น
มีหน้าที่จัดการและควบคุมโปรเซสต่างๆ ทั้งหมดในระบบเช่นสร้างโปรเซสต่าง ๆ
ใหม่เข้ามาในระบบและยุติโปรเซสเมื่อโปรเซสทำงานเสร็จสิ้นลง
การทำงานของตัวจัดคิวระยะยาวต้องใช้รูทีนต่างๆ ในชั้นที่ 1 ถึง 6
ช่วยในการทำงาน (รูปที่ 8.10 แสดงตำแหน่งของตัวจัดคิวระยะยาว)
รูปที่10 แสดงระดับชั้นที่ 7 ของ OS |
รูปที่11 แสดงระดับชั้นที่ 8 ของ OS |
รูปที่12 ระดับชั้นต่างๆ ของโปรแกรม |
อ้างอิง แหล่งที่มาข้อมูล
https://sites.google.com/site/patibatkran11/khorngsrang-khxng-rabb-ptibati-kar
http://chantra.sru.ac.th/OS.html
ความคิดเห็น
แสดงความคิดเห็น