วันศุกร์ที่ 20 มีนาคม พ.ศ. 2552

โครงสร้างของระบบปฏิบัติการ

โครงสร้างของระบบปฏิบัติการ
Operating System Structure
1.OS มีหน้าที่มากมายในการควบคุมดูแลการทำงานของระบบคอมพิวเตอร์
จึงทำให้โครงสร้างของ OS มีความสลับซับซ้อนมาก
2.เพื่อความสะดวกในการออกแบบผู้ออกแบบจึงจัดแบ่ง OS
ออกเป็นส่วนย่อย ๆ หลาย ๆ ส่วน และให้แต่ละส่วนมีหน้าที่รับผิดชอบ
การทำงานในแต่ละด้านโดยไม่คาบเกี่ยวกันแต่สัมพันธ์กัน

ระดับชั้นการทำงานของ OS
1.ถ้ามองระดับชั้นการทำงานของโปรแกรมต่างๆ ในแง่ผู้ใช้เราอาจแบ่งได้ออกเป็น 3 ระดับ
1.1โปรแกรมทั่วไปหรือผู้ใช้เอง
1.2ระบบปฏิบัติการ (OS)
1.3ฮาร์ดแวร์ของเครื่องคอมพิวเตอร์
ทั้ง 3 ระดับมีความสัมพันธ์กันคือระบบปฏิบัติการจะเป็นตัวเชื่อมโยงระหว่างผู้ใช้และฮาร์ดแวร์ของเครื่องโดยทำหน้าที่ติดต่อและควบคุมการทำงานของฮาร์ดแวร์ เพื่อให้โปรแกรมหรือคำสั่งของผู้ใช้ทำงานสำเร็จ ลุล่วงไปได้

ระดับชั้นการทำงานของโปรแกรม
OS
โปรแกรมผู้ใช้ทั่วไป
ฮาร์ดแวร์



ระดับชั้นภายในตัวระบบปฏิบัติการ
1. ระดับชั้นแรกสุด เป็นระดับชั้นที่ต่ำที่สุดมีชื่อเรียกว่า เคอร์เนล (Kernel)
เป็นชั้นที่มีหน้าที่รับผิดชอบงานต่าง ๆ ของโปรเซสของระบบปฏิบัติการเท่านั้น
เคอร์เนลประกอบด้วยส่วนย่อย ๆ พื้นฐาน 3 ส่วน คือ
1.ตัวส่ง (dispatcher) มีหน้าที่จัดการส่งโปรเซสเข้าไปให้ซีพียู
2.ตัวจัดการอินเตอร์รัพต์ขั้นแรก (first-level interrupt handler)
มีหน้าที่วิเคราะห์การอินเตอร์รัพต์ที่ เกิดขึ้น และเลือกใช้รูทีนที่เหมาะสมกับอินเตอร์รัพต์นั้นๆ
3.ตัวควบคุมมอนิเตอร์ (monitor control)
มีหน้าที่ควบคุมดูแลการเข้าถึงมอนิเตอร์ต่าง ๆ ของระบบ
การทำงานของส่วนย่อยทั้ง 3 ของเคอร์เนลต้องการความเร็วในการทำงานสูงมาก
เพราะเป็นงานขั้นพื้นฐานและมีการทำงานบ่อยมาก ดังนั้น เคอร์เนลมักจะถูกเขียนขึ้น
ด้วยภาษาแอสเซมบลี้ และเป็นส่วนที่ขึ้นอยู่กับฮาร์ดแวร์ของเครื่อง

ความสัมพันธ์ของเคอร์เนลและฮาร์ดแวร์
เคอร์เนลยังมีหน้าที่อื่นๆ อีกเช่น
จัดการเรื่องการเข้าจังเหวะของโปรเซส (process synchronization)
และการติดต่อระหว่างโปรเซส (process communication)


ชั้นที่ 2 ผู้จัดการหน่วยความจำ (memory manager)
1. มีหน้าที่จัดการเกี่ยวกับหน่วยความจำของระบบ
เช่น การทำหน่วยความจำเหมือนระบบหน้า เป็นต้น
2.เนื่องจากการจัดการหน่วยความจำบางส่วนต้องยุ่งเกี่ยวกับ
โครงสร้างทางฮาร์ดแวร์ของเครื่อง ดังนั้น ในส่วนของผู้จัดการ
หน่วยความจำจึงมีลักษณะขึ้นอยู่กับฮาร์ดแวร์ด้วยเช่นเดียวกัน
3.บางครั้งการทำงานในชั้นนี้ก็อาศัย รูทีนบางอย่างของเคอร์เนลด้วย
ตัวอย่างเช่น เคอร์เนลตรวจสอบพบอินเตอร์รัพต์ที่เกิดจากความผิดพลาด
ในการใช้งานหน่วยความจำ เคอร์เนลจะเลือกและส่งงานที่เหมาะ
สมกับการจัดการสัญญาณอินเตอร์รัพต์ที่เกิดขึ้นมาใ
ห้ผู้จัดการหน่วยความจำจัดการแก้ไข

ระดับชั้นภายในตัวระบบปฏิบัติการ

ชั้นที่ 2 ผู้จัดการหน่วยความจำ (memory manager)


ระดับชั้นภายในตัวระบบปฏิบัติการ


ชั้นที่ 3 ระบบ ควบคุมอินพุต-เอาต์พุต (input-output control system) หรือ IOCS
จะมีหน้าที่จัดการงานทางด้านอินพุตเอาพุตของระบบ
ในชั้นนี้ยังคงมีลักษณะขึ้นอยู่กับฮาร์ดแวร์อยู่บ้าง เพราะการติดต่อกับ
อุปกรณ์อินพุต-เอาต์พุตต้องทราบโครงสร้างและการทำงานของอุปกรณ์นั้นๆด้วย
ซึ่งส่วนนี้เป็นหน้าที่ของตัวขับอุปกรณ์ (device driver)
นอกจากนี้ IOCS ยังต้องอาศัยรูทีนบางอย่างทั้งจากเคอร์เนล
และผู้จัดการหน่วยความจำในการทำงานของมันอีกด้วย ตัวอย่างเช่น
เคอร์เนลจัดหา รูทีนที่เหมาะสมกับการเกิดอินเตอร์รัพต์จากอุปกรณ์อินพุต-เอาต์พุต
ให้ IOCS ทำงานหรือ IOCS เรียกใช้รูทีนผู้จัดการหน่วยความจำ
ให้ช่วยหาเนื้อที่ในหน่วยความจำเพื่อใช้ทำบัฟเฟอร์ของอุปกรณ์ต่างๆ

ระดับชั้นภายในตัวระบบปฏิบัติการ


ชั้นที่ 3 ระบบ ควบคุมอินพุต-เอาต์พุต (input-output control system) หรือ IOCS

1.ระดับชั้นที่ 1,2 และ 3 เป็นส่วนที่มีความสำคัญและมีการถูกเรียกใช้งานบ่อยมาก
ดังนั้นผู้สร้างระบบปฏิบัติการส่วนใหญ่จะเขียนโปรแกรมในส่วนนี้ด้วย
ภาษาแอสเซมบลี้หรือภาษาที่สามารถเข้าถึงระบบการทำงานของเครื่องได้
เช่น ภาษา C เป็นต้น
2.ทั้งนี้เพื่อให้โปรแกรมทำงานได้รวดเร็วและมีประสิทธิภาพสูง
ส่งผลให้ประสิทธิภาพการทำงานของระบบดีขึ้น
3.ส่วนการทำงานของชั้นต่างๆ ตั้งแต่ระดับชั้นที่ 4
ขึ้นไปจะเรียกใช้รูทีนต่างๆ ของ 3 ระดับแรก


ระดับชั้นภายในตัวระบบปฏิบัติการ

ชั้นที่ 4 ผู้จัดการไฟล์ (file manager)
1.มีหน้าที่จัดการงานต่างๆ ที่เกี่ยวกับไฟล์ เช่น การเก็บไฟล์ลงดิสก์
การหาไฟล์ การอ่านข้องมูลของไฟล์ เป็นต้น
2.ผู้จัดการไฟล์นี้สามารถถูกออกแบบให้ไม่ขึ้นกับฮาร์ดแวร์
(hardware independent) ผู้จัดการไฟล์จะจะติดต่อกับฮาร์ดแวร์
โดยเรียกผ่านรูทีนต่างๆของ เคอร์เนล ผู้จัดการหน่วยความจำและ IOCS


ระดับชั้นภายในตัวระบบปฏิบัติการ

ชั้นที่ 4 ผู้จัดการไฟล์ (file manager)

ชั้นที่ 5 ตัวคิวระยะสั้น (short-term scheduler)
1.เป็นระดับชั้นแรกที่มีลักษณะไม่ขึ้นอยู่กับฮาร์ดแวร์โดยสมบูรณ์
2.มีหน้าที่จัดคิวของโปรเซสในสถานะพร้อม (ready state)
เมื่อใดที่ส่วนนี้ทำงานมันจะคัดเลือกเอาโปรเซสที่เหมาะที่สุดในคิวของสถานะ
พร้อมเพื่อให้โปรเซสนั้นเข้าไปครอบครองซีพียูที่ว่าง อยู่
โดยเรียกใช้ตัวส่งในส่วนของเคอร์เนล


ระดับชั้นภายในตัวระบบปฏิบัติการ

ชั้นที่ 6 ผู้จัดการทรัพยากร (resource manager)
เป็นระดับชั้นของส่วนที่ทำหน้าที่จัดสรรหาทรัพยากรอื่นๆในระบบ
1.บางครั้งตัวจัดคิวระยะสั้นและผู้จัดการทรัพยากรอยู่สลับที่กัน
2.ทั้งนี้เพราะหลังจากที่ตัวจัดคิวระยะสั้นส่งโปรเซสเข้าไปในสถานะรันแล้ว
โปรเซสนั้นอาจต้องการทรัพยากรอื่นๆ ในระบบ
ดังนั้นจึงต้องเรียกใช้รูทีนในชั้นผู้จัดการทรัพยากร




ระดับชั้นภายในตัวระบบปฏิบัติการ
ชั้นที่ 6 ผู้จัดการทรัพยากร (resource manager)

การสลับชั้นของตัวจัดคิดระยะสั้นและผู้จัดการทรัพยากร
ชั้นที่ 6 ผู้จัดการทรัพยากร (resource manager)


ชั้นที่ 7 ตัวจัดคิวระยะยาว (long-term scheduler)
1.เป็นชั้นของระบบปฏิบัติที่เริ่มมีความใกล้ชิดกับผู้ใช้และ
ห่างไกลกับฮาร์ดแวร์ของเครื่องมากขึ้น
2.มีหน้าที่จัดการและควบคุมโปรเซสต่างๆ ทั้งหมดในระบบเช่นสร้างโปรเซสต่าง ๆ
ใหม่เข้ามาในระบบและยุติโปรเซสเมื่อโปรเซสทำงานเสร็จสิ้นลง
3.การทำงานของตัวจัดคิวระยะยาวต้องใช้รูทีนต่างๆ
ในชั้นที่ 1 ถึง 6 ช่วยในการทำงาน

ระดับชั้นภายในตัวระบบปฏิบัติการ

ชั้นที่ 7 ตัวจัดคิวระยะยาว (long-term scheduler)


ชั้นที่ 8 เชลล์ (shell) หรือผู้แปลคำสั่ง (command interpreter)
1.เป็นชั้นสุดท้ายซึ่งเป็นชั้นที่ใกล้ชิดกับผู้ใช้มากที่สุด
2.มีหน้าที่ติดต่อกับผู้ใช้โดยตรง เช่น ส่งเครื่องหมายพร้อมต์ (prompt)
แสดงออกทางจอภาพ รับคำสั่งต่างๆ ของผู้ใช้มาตีความคำสั่งและ
เรียกรูทีนต่างๆของชั้นล่างๆ เพื่อให้ได้งานตามคำสั่งที่ได้รับ


ระดับชั้นภายในตัวระบบปฏิบัติการ
แสดงระดับชั้นที่ 8 ของ OS

ชั้นที่ 8 เชลล์ (shell) หรือผู้แปลคำสั่ง (command interpreter
แสดงตำแหน่งของผู้แปลคำสั่ง
ระดับชั้นต่างๆ ของโปรแกรม
แสดงระดับทั้งหมดของโปรแกรม
Kernel
Memory manager
IOCS
File manager
Short-term scheduler
Resource scheduler
Long-term scheduler
Command interpreter
Application program or user
Hardware
Independent
Hardware
dependent
Hardware
ระดับชั้นต่างๆ ของโปรแกรม

ไม่มีความคิดเห็น:

แสดงความคิดเห็น