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