8.โครงสร้างของระบบปฏิบัติการ
Download
Report
Transcript 8.โครงสร้างของระบบปฏิบัติการ
1
โครงสร้างของระบบปฏิบัติการ
Operating System Structure
OS มีหน้ าที่มากมายในการควบคุมดูแลการทางานของระบบ
คอมพิวเตอร์ จึงทาให้ โครงสร้ างของ OS มีความสลับซับซ้ อน
มาก
เพื่อความสะดวกในการออกแบบผู้ออกแบบจึงจัดแบ่ง OS
ออกเป็ นส่วนย่อย ๆ หลาย ๆ ส่วน และให้ แต่ละส่วนมีหน้ าที่
รับผิดชอบการทางานในแต่ละด้ านโดยไม่คาบเกี่ยวกันแต่
สัมพันธ์กนั
2
ระดับชั้นการทางานของ OS
ระดับชั้นการทางานของโปรแกรมต่างๆ ในแง่ผ้ ูใช้
เราอาจแบ่งได้ ออกเป็ น 3 ระดับ
โปรแกรมทั่วไปหรือผู้ใช้ เอง
ระบบปฏิบัติการ (OS)
ฮาร์ดแวร์ของเครื่องคอมพิวเตอร์
3
ระดับชั้นการทางานของ OS
ความสัมพันธ์ของระบบปฏิบตั ิการ
คือระบบปฏิบัติการจะเป็ นตัวเชื่อมโยงระหว่างผู้ใช้ และ
ฮาร์ดแวร์ของเครื่องโดยทาหน้ าที่ติดต่อและควบคุม
การทางานของฮาร์ดแวร์ เพื่อให้ โปรแกรมหรือคาสั่ง
ของผู้ใช้ ทางานสาเร็จ ลุล่วงไปได้
4
ระดับชั้นการทางานของโปรแกรม
โปรแกรมผู้ใช้ ทวั่ ไป
OS
ฮาร์ ดแวร์
5
ระดับชั้นภายในตัวระบบปฏิบัติการ
ระดับชั้นแรกสุด เป็ นระดับชั้นทีต่ า่ ทีส่ ุดมีชื่อเรียกว่า เคอร์เนล (Kernel)
เป็ นชั้นที่มหี น้ าที่รับผิดชอบงานต่าง ๆ ของโปรเซสของระบบปฏิบตั กิ ารเท่านั้น
เคอร์เนลประกอบด้วยส่วนย่อย ๆ พื้ นฐาน 3 ส่วน คือ
1. ตัวส่ง (dispatcher) มีหน้ าที่จัดการส่งโปรเซสเข้ าไปให้ ซีพียู
2. ตัวจัดการอินเตอร์รพั ต์ข้ นั แรก (first-level interrupt
handler) มีหน้ าที่วิเคราะห์การอินเตอร์รัพต์ท่ี เกิดขึ้น และเลือกใช้ รู
ทีนที่เหมาะสมกับอินเตอร์รัพต์น้ันๆ
3. ตัวควบคุมมอนิเตอร์ (monitor control) มีหน้ าที่
ควบคุมดูแลการเข้ าถึงมอนิเตอร์ต่าง ๆ ของระบบ
6
ระดับชั้นภายในตัวระบบปฏิบัติการ
การทางานของของเคอร์เนล
ต้ องการความเร็วในการทางานสูงมากเพราะเป็ นงานขั้น
พื้นฐานและมีการทางานบ่อยมาก
ดังนั้น เคอร์เนลมักจะถูกเขียนขึ้นด้ วยภาษาแอสเซมบลี้
และเป็ นส่วนที่ข้ นึ อยู่กบั ฮาร์ดแวร์ของเครื่อง
7
ความสัมพันธ์ ของเคอร์เนลและฮาร์ดแวร์
เคอร์ เนลยังมีหน้ าที่อื่นๆ อีก เช่น จัดการเรื่ องการเข้ าจังเหวะของ
โปรเซส (process synchronization) และการติดต่อระหว่างโปรเซส
(process communication)
8
ระดับชั้นภายในตัวระบบปฏิบัติการ
ชั้นที่ 2 ผูจ้ ด
ั การหน่วยความจา (memory manager)
มีหน้ าที่จัดการเกี่ยวกับหน่วยความจาของระบบ เช่น การทาหน่วยความจาเหมือน
ระบบหน้ า เป็ นต้ น
เนื่องจากการจัดการหน่วยความจาบางส่วนต้ องยุ่งเกี่ยวกับโครงสร้ างทางฮาร์ดแวร์ของ
เครื่อง ดังนั้น ในส่วนของผู้จัดการหน่วยความจาจึงมีลักษณะขึ้นอยู่กบั ฮาร์ดแวร์
บางครั้งการทางานในชั้นนี้กอ็ าศัย รูทน
ี บางอย่างของเคอร์เนลด้ วย ตัวอย่างเช่น เคอร์
เนลตรวจสอบพบอินเตอร์รัพต์ท่เี กิดจากความผิดพลาดในการใช้ งานหน่วยความจา
เคอร์เนลจะเลือกและส่งงานที่เหมาะสมกับการจัดการสัญญาณอินเตอร์รัพต์ทเ่ี กิดขึ้นมา
ให้ ผ้ ูจัดการหน่วยความจาจัดการแก้ ไข
9
ระดับชั้นภายในตัวระบบปฏิบัติการ
ชั้นที่ 2 ผูจ้ ด
ั การหน่วยความจา (memory manager)
มีหน้ าที่จัดการเกี่ยวกับหน่วยความจาของระบบ เช่น การทาหน่วยความจาเหมือน
ระบบหน้ า เป็ นต้ น
เนื่องจากการจัดการหน่วยความจาบางส่วนต้ องยุ่งเกี่ยวกับโครงสร้ างทางฮาร์ดแวร์ของ
เครื่อง ดังนั้น ในส่วนของผู้จัดการหน่วยความจาจึงมีลักษณะขึ้นอยู่กบั ฮาร์ดแวร์
บางครั้งการทางานในชั้นนี้กอ็ าศัย รูทน
ี บางอย่างของเคอร์เนลด้ วย ตัวอย่างเช่น เคอร์
เนลตรวจสอบพบอินเตอร์รัพต์ท่เี กิดจากความผิดพลาดในการใช้ งานหน่วยความจา
เคอร์เนลจะเลือกและส่งงานที่เหมาะสมกับการจัดการสัญญาณอินเตอร์รัพต์ทเ่ี กิดขึ้นมา
ให้ ผ้ ูจัดการหน่วยความจาจัดการแก้ ไข
10
ชั้นที่ 2 ผูจ้ ัดการหน่วยความจา (memory
manager)
11
ระดับชั้นภายในตัวระบบปฏิบัติการ
ชั้นที่ 2 ผูจ้ ด
ั การหน่วยความจา (memory
manager)
มีหน้ าที่จัดการเกี่ยวกับหน่วยความจาของระบบ เช่น
การทาหน่วยความจาเหมือนระบบหน้ า เป็ นต้ น
เนื่องจากการจัดการหน่วยความจาบางส่วนต้ องยุ่ง
เกี่ยวกับโครงสร้ างทางฮาร์ดแวร์ของเครื่อง ดังนั้น ในส่วน
ของผู้จัดการหน่วยความจาจึงมีลักษณะขึ้นอยู่กบั ฮาร์ดแวร์
ด้ วยเช่นเดียวกัน
12
ระดับชั้นภายในตัวระบบปฏิบัติการ
ชั้นที่ 2 ผูจ้ ด
ั การหน่วยความจา (memory
manager)
บางครั้งการทางานในชั้นนี้กอ็ าศัย
รูทนี บางอย่างของเคอร์เนล
ด้ วย
ตัวอย่างเช่น เคอร์เนลตรวจสอบพบอินเตอร์รัพต์ท่เี กิดจากความ
ผิดพลาดในการใช้ งานหน่วยความจา เคอร์เนลจะเลือกและส่งงาน
ที่เหมาะสมกับการจัดการสัญญาณอินเตอร์รัพต์ท่เี กิดขึ้นมาให้
ผู้จัดการหน่วยความจาจัดการแก้ ไข
13
ระดับชั้นภายในตัวระบบปฏิบัติการ
ชั้นที่ 3 ระบบ ควบคุมอินพุต-เอาต์พุต (inputoutput control system) หรือ IOCS
- จะมีหน้ าที่จัดการงานทางด้ านอินพุตเอาพุตของระบบ
- ในชั้นนี้ยังคงมีลักษณะขึ้นอยู่กบั ฮาร์ดแวร์อยู่บ้าง เพราะ
การติดต่อกับอุปกรณ์อนิ พุต-เอาต์พุตต้ องทราบโครงสร้ าง
และการทางานของอุปกรณ์น้นั ๆด้ วย ซึ่งส่วนนี้เป็ นหน้ าที่
ของตัวขับอุปกรณ์ (device driver)
14
ระดับชั้นภายในตัวระบบปฏิบัติการ
ชั้นที่ 3 ระบบ ควบคุมอินพุต-เอาต์พุต (input-
output control system) หรือ IOCS
นอกจากนี้ IOCS ยังต้ องอาศัยรูทน
ี บางอย่างทั้งจากเคอร์เนล
และผู้จัดการหน่วยความจาในการทางานของมันอีกด้ วย
ตัวอย่างเช่น เคอร์เนลจัดหา รูทน
ี ที่เหมาะสมกับการเกิด
อินเตอร์รัพต์จากอุปกรณ์อนิ พุต-เอาต์พุต ให้ IOCS ทางาน
หรือ IOCS เรียกใช้ รูทนี ผู้จัดการหน่วยความจาให้ ช่วยหาเนื้อที่
ในหน่วยความจาเพื่อใช้ ทาบัฟเฟอร์ของอุปกรณ์ต่างๆ
15
ชั้นที่ 3 ระบบ ควบคุมอิ นพุ ต-เอาต์พุต
(input-output control system) หรือ IOCS
16
ระดับชั้นภายในตัวระบบปฏิบัติการ
ระดับชั้นที่ 1,2 และ 3 เป็ นส่วนที่มีความสาคัญและมีการถูก
เรียกใช้ งานบ่อยมาก ดังนั้นผู้สร้ างระบบปฏิบัติการส่วนใหญ่จะ
เขียนโปรแกรมในส่วนนี้ด้วยภาษาแอสเซมบลี้หรือภาษาที่
สามารถเข้ าถึงระบบการทางานของเครื่องได้ เช่น ภาษา C
ทั้งนี้เพื่อให้ โปรแกรมทางานได้ รวดเร็วและมีประสิทธิภาพสูง
ส่งผลให้ ประสิทธิภาพการทางานของระบบดีข้ นึ
ส่วนการทางานของชั้นต่างๆ ตั้งแต่ระดับชั้นที่ 4 ขึ้นไปจะ
เรียกใช้ รูทนี ต่างๆ ของ 3 ระดับแรก
17
ระดับชั้นภายในตัวระบบปฏิบัติการ
ชั้นที่ 4 ผูจ้ ดั การไฟล์ (file manager)
มีหน้ าที่จัดการงานต่างๆ ที่เกี่ยวกับไฟล์ เช่น การเก็บไฟล์ลง
ดิสก์ การหาไฟล์ การอ่านข้ องมูลของไฟล์ เป็ นต้ น
ผู้จัดการไฟล์น้ สี ามารถถูกออกแบบให้ ไม่ข้ น
ึ กับฮาร์ดแวร์
(hardware independent) ผู้จัดการไฟล์จะจะติดต่อ
กับฮาร์ดแวร์โดยเรียกผ่านรูทนี ต่างๆของ เคอร์เนล ผู้จัดการ
หน่วยความจาและ IOCS
18
ชั้นที่ 4 ผูจ้ ัดการไฟล์ (file manager)
19
ชั้นที่ 5 ตัวคิวระยะสั้น (short-term scheduler)
20
ระดับชั้นภายในตัวระบบปฏิบัติการ
ชั้นที่ 5 ตัวคิวระยะสั้น (short-term
scheduler)
เป็ นระดับชั้นแรกที่มีลักษณะไม่ข้ น
ึ อยู่กบั ฮาร์ดแวร์โดย
สมบูรณ์
มีหน้ าที่จัดคิวของโปรเซสในสถานะพร้ อม (ready state)
เมื่อใดที่ส่วนนี้ทางานมันจะคัดเลือกเอาโปรซสที่เหมาะที่สดุ
ในคิวของสถานะพร้ อม เพื่อให้ โปรเซสนั้นเข้ าไปครอบครอง
ซีพียูท่วี ่างอยู่ โดยเรียกใช้ ตัวส่งในส่วนของเคอร์เนล
21
ระดับชั้นภายในตัวระบบปฏิบัติการ
ชั้นที่ 6 ผูจ้ ดั การทรัพยากร (resource manager)
เป็ นระดับชั้นของส่วนที่ทาหน้ าที่จัดสรรหาทรัพยากรอื่นๆใน
ระบบ
บางครั้งตัวจัดคิวระยะสั้นและผู้จัดการทรัพยากรอยู่สลับที่กน
ั
ทั้งนี้เพราะหลังจากที่ตัวจัดคิวระยะสั้นส่งโปรเซสเข้ าไปใน
สถานะรันแล้ ว โปรเซสนั้นอาจต้ องการทรัพยากรอื่นๆ ใน
ระบบ ดังนั้นจึงต้ องเรียกใช้ รูทนี ในชั้นผู้จัดการทรัพยากร
22
ชั้นที่ 6 ผูจ้ ัดการทรัพยากร (resource manager)
23
ชัน้ ที่ 6 ผู้จัดการทรั พยากร (resource manager)
การสลับชัน้ ของตัวจัดคิดระยะสัน้ และผู จ้ ดั การทรัพยากร
24
ระดับชั้นภายในตัวระบบปฏิบัติการ
ชั้นที่ 7 ตัวจัดคิวระยะยาว (long-term scheduler)
เป็ นชั้นของระบบปฏิบต
ั ิท่เี ริ่มมีความใกล้ ชิดกับผู้ใช้ และห่างไกล
กับฮาร์ดแวร์ของเครื่องมากขึ้น
มีหน้ าที่จัดการและควบคุมโปรเซสต่างๆ ทั้งหมดในระบบเช่น
สร้ างโปรเซสต่าง ๆ ใหม่เข้ ามาในระบบและยุติโปรเซสเมื่อ
โปรเซสทางานเสร็จสิ้นลง
การทางานของตัวจัดคิวระยะยาวต้ องใช้ รูทนี ต่างๆ ในชั้นที่ 1 ถึง
6 ช่วยในการทางาน
25
ชั้นที่ 7 ตัวจัดคิวระยะยาว (long-term scheduler)
26
ระดับชั้นภายในตัวระบบปฏิบัติการ
ชั้นที่ 8 เชลล์ (shell) หรือผูแ้ ปลคาสัง่ (command
interpreter)
เป็ นชั้นสุดท้ ายซึ่งเป็ นชั้นที่ใกล้ ชิดกับผู้ใช้ มากที่สดุ
มีหน้ าที่ติดต่อกับผู้ใช้ โดยตรง เช่น ส่งเครื่องหมายพร้ อมต์
(prompt) แสดงออกทางจอภาพ รับคาสั่งต่างๆ ของผู้ใช้ มา
ตีความคาสั่งและเรียกรูทนี ต่างๆของชั้นล่างๆ เพื่อให้ ได้ งานตาม
คาสั่งที่ได้ รับ
27
ชั้นที่ 8 เชลล์ (shell)
หรือผูแ้ ปลคาสั่ง (command interpreter
แสดงตาแหน่งของผู้แปลคาสัง่
28
ระดับชั้นต่างๆ ของโปรแกรม
แสดงระดับทังหมดของโปรแกรม
้
29
ระดับชั้นต่างๆ ของโปรแกรม
OS
30
Application program or user
Command interpreter
Long-term scheduler
Resource scheduler
Short-term scheduler
File manager
IOCS
Memory manager
Kernel
Hardware
Hardware
Independent
Hardware
dependent