บทที่8
โครงสร้างของระบบปฏิบัติการ
จัดทำโดย นาย สราวุฒิ เชื้อกสิกรรม รหัสนักศึกษา 6031280064
โครงสร้างของระบบปฏิบัติการ
Operating System Structure
โครงสร้างของระบบปฏิบัติการ
OS มีหน้าที่มากมายในการควบคุมดูแลการทำงานของระบบคอมพิวเตอร์ จึงทำให้โครงสร้างของ OS มีความสลับซับซ้อนมากเพื่อความสะดวกในการออกแบบผู้ออกแบบจึงจัดแบ่ง OS ออกเป็นส่วนย่อย ๆ หลาย ๆ ส่วน และให้แต่ละส่วนมีหน้าที่รับผิดชอบการทำงานในแต่ละด้านโดยไม่คาบเกี่ยวกันแต่สัมพันธ์กัน
ระดับชั้นการทำงานของ OS
ระดับชั้นการทำงานของโปรแกรมต่างๆ
ในแง่ผู้ใช้ เราอาจแบ่งได้ออกเป็น 3 ระดับ
1.) โปรแกรมทั่วไปหรือผู้ใช้เอง
2.) ระบบปฏิบัติการ (OS)
3.) ฮาร์ดแวร์ของเครื่องคอมพิวเตอร์
ความสัมพันธ์ของระบบปฏิบัติการ
คือระบบปฏิบัติการจะเป็นตัวเชื่อมโยงระหว่างผู้ใช้และฮาร์ดแวร์ของเครื่องโดยทำหน้าที่ติดต่อและควบคุมการทำงานของฮาร์ดแวร์
เพื่อให้โปรแกรมหรือคำสั่งของผู้ใช้ทำงานสำเร็จ ลุล่วงไปได้
ระดับชั้นการทำงานของโปรแกรม
ระดับชั้นแรกสุด เป็นระดับชั้นที่ต่ำที่สุดมีชื่อเรียกว่า เคอร์เนล (Kernel)
เป็นชั้นที่มีหน้าที่รับผิดชอบงานต่าง
ๆ ของโปรเซสของระบบปฏิบัติการเท่านั้น
เคอร์เนลประกอบด้วยส่วนย่อย
ๆ พื้นฐาน 3 ส่วน คือ 1. ตัวส่ง (dispatcher) มีหน้าที่จัดการส่งโปรเซสเข้าไปให้ซีพียู 2. ตัวจัดการอินเตอร์รัพต์ขั้นแรก
(first-level interrupt handler) มีหน้าที่วิเคราะห์การอินเตอร์รัพต์ที่
เกิดขึ้น และเลือกใช้รูทีนที่เหมาะสมกับอินเตอร์รัพต์นั้นๆ 3. ตัวควบคุมมอนิเตอร์ (monitor
control) มีหน้าที่ควบคุมดูแลการเข้าถึงมอนิเตอร์ต่าง
ๆ ของระบบ
ระดับชั้นภายในตัวระบบปฏิบัติการ
ชั้นที่ 2 ผู้จัดการหน่วยความจำ
(memory manager)
บางครั้งการทำงานในชั้นนี้ก็อาศัย รูทีนบางอย่างของเคอร์เนลด้วย
การทำงานของของเคอร์เนล ต้องการความเร็วในการทำงานสูงมากเพราะเป็นงานขั้นพื้นฐานและมีการ ทำงานบ่อยมาก ดังนั้น เคอร์เนลมักจะถูกเขียนขึ้นด้วยภาษาแอสเซมบลี้ และเป็นส่วนที่ขึ้นอยู่กับฮาร์ดแวร์ของเครื่อง
ความสัมพันธ์ของเคอร์เนลและฮาร์ดแวร์
เคอร์เนลยังมีหน้าที่อื่นๆ อีก เช่น จัดการเรื่องการเข้าจังเหวะของโปรเซส (process synchronization) และการติดต่อระหว่างโปรเซส (process communication)
ระดับชั้นภายในตัวระบบปฏิบัติการ
ชั้นที่ 2 ผู้จัดการหน่วยความจำ (memory manager)
มีหน้าที่จัดการเกี่ยวกับหน่วยความจำของระบบ เช่น การทำหน่วยความจำเหมือนระบบหน้า เป็นต้น
บางครั้งการทำงานในชั้นนี้ก็อาศัย รูทีนบางอย่างของเคอร์เนลด้วย ตัวอย่างเช่น เคอร์เนลตรวจสอบพบอินเตอร์รัพต์ที่เกิดจากความผิดพลาด ในการใช้งานหน่วยความจำ เคอร์เนลจะเลือกและส่งงานที่เหมาะสมกับการจัดการสัญญาณอินเตอร์รัพต์ที่เกิดขึ้นมาให้ผู้จัดการหน่วยความจำจัดการแก้ไข
ชั้นที่ 2 ผู้จัดการหน่วยความจำ (memory manager)
มีหน้าที่จัดการเกี่ยวกับหน่วยความจำของระบบ
เช่น การทำหน่วยความจำเหมือนระบบหน้า เป็นต้น
เนื่องจากการจัดการหน่วยความจำบางส่วนต้องยุ่งเกี่ยวกับโครงสร้างทางฮาร์ดแวร์ของเครื่อง
ดังนั้น
ในส่วนของผู้จัดการหน่วยความจำจึงมีลักษณะขึ้นอยู่กับฮาร์ดแวร์ด้วยเช่นเดียวกัน
บางครั้งการทำงานในชั้นนี้ก็อาศัย รูทีนบางอย่างของเคอร์เนลด้วย
ตัวอย่างเช่น เคอร์เนลตรวจสอบพบอินเตอร์รัพต์ที่เกิดจากความผิดพลาดในการใช้งานหน่วยความจำ
เคอร์เนลจะเลือกและส่งงานที่เหมาะสมกับการจัดการสัญญาณอินเตอร์รัพต์ที่เกิดขึ้นมาให้ผู้จัดการหน่วยความจำจัดการแก้ไข
ชั้นที่ 3 ระบบ ควบคุมอินพุต-เอาต์พุต
(input-output control system) หรือ IOCS
จะมีหน้าที่จัดการงานทางด้านอินพุตเอาพุตของระบบในชั้นนี้ยังคงมีลักษณะขึ้นอยู่กับฮาร์ดแวร์อยู่บ้าง
เพราะการติดต่อกับอุปกรณ์อินพุต-เอาต์พุตต้องทราบโครงสร้างและการทำงานของอุปกรณ์นั้นๆด้วย ซึ่งส่วนนี้เป็นหน้าที่ของตัวขับอุปกรณ์ (device driver)
นอกจากนี้ IOCS ยังต้องอาศัยรูทีนบางอย่างทั้งจากเคอร์เนล
และผู้จัดการหน่วยความจำในการทำงานของมันอีกด้วย
ตัวอย่างเช่น เคอร์เนลจัดหา รูทีนที่เหมาะสมกับการเกิดอินเตอร์รัพต์จากอุปกรณ์อินพุต-เอาต์พุต ให้ IOCS ทำงานหรือ IOCS เรียกใช้รูทีนผู้จัดการหน่วยความจำให้ช่วยหาเนื้อที่ในหน่วยความจำเพื่อใช้ทำบัฟเฟอร์ของอุปกรณ์ต่างๆ
ตัวอย่างเช่น เคอร์เนลจัดหา รูทีนที่เหมาะสมกับการเกิดอินเตอร์รัพต์จากอุปกรณ์อินพุต-เอาต์พุต ให้ IOCS ทำงานหรือ IOCS เรียกใช้รูทีนผู้จัดการหน่วยความจำให้ช่วยหาเนื้อที่ในหน่วยความจำเพื่อใช้ทำบัฟเฟอร์ของอุปกรณ์ต่างๆ
ชั้นที่ 3 ระบบ
ควบคุมอินพุต-เอาต์พุต
(input-output control system) หรือ IOCS
ระดับชั้นที่ 1,2 และ 3 เป็นส่วนที่มีความสำคัญและมีการถูกเรียกใช้งานบ่อยมาก
ดังนั้นผู้สร้างระบบปฏิบัติการส่วนใหญ่จะเขียนโปรแกรมในส่วนนี้ด้วยภาษาแอสเซมบลี้หรือภาษาที่สามารถเข้าถึงระบบการทำงานของเครื่องได้
เช่น ภาษา C
ทั้งนี้เพื่อให้โปรแกรมทำงานได้รวดเร็วและมีประสิทธิภาพสูง
ส่งผลให้ประสิทธิภาพการทำงานของระบบดีขึ้น
ส่วนการทำงานของชั้นต่างๆ
ตั้งแต่ระดับชั้นที่ 4 ขึ้นไปจะเรียกใช้รูทีนต่างๆ ของ 3 ระดับแรก
ชั้นที่ 4 ผู้จัดการไฟล์ (file
manager)
มีหน้าที่จัดการงานต่างๆ
ที่เกี่ยวกับไฟล์ เช่น การเก็บไฟล์ลงดิสก์ การหาไฟล์ การอ่านข้องมูลของไฟล์
เป็นต้นผู้จัดการไฟล์นี้สามารถถูกออกแบบให้ไม่ขึ้นกับฮาร์ดแวร์
(hardware
independent) ผู้จัดการไฟล์จะจะติดต่อกับฮาร์ดแวร์โดยเรียกผ่านรูทีนต่างๆของ เคอร์เนล ผู้จัดการหน่วยความจำและ
IOCS
ชั้นที่ 4 ผู้จัดการไฟล์ (file manager)
ชั้นที่ 5 ตัวคิวระยะสั้น (short-term scheduler)
เป็นระดับชั้นแรกที่มีลักษณะไม่ขึ้นอยู่กับฮาร์ดแวร์โดยสมบูรณ์มีหน้าที่จัดคิวของโปรเซสในสถานะพร้อม (ready state) เมื่อใดที่ส่วนนี้ทำงานมันจะคัดเลือกเอาโปรซสที่เหมาะที่สุดในคิวของสถานะพร้อม
เพื่อให้โปรเซสนั้นเข้าไปครอบครองซีพียูที่ว่างอยู่
โดยเรียกใช้ตัวส่งในส่วนของเคอร์เนล
เป็นระดับชั้นแรกที่มีลักษณะไม่ขึ้นอยู่กับฮาร์ดแวร์โดยสมบูรณ์มีหน้าที่จัดคิวของโปรเซสในสถานะพร้อม (ready state) เมื่อใดที่ส่วนนี้ทำงานมันจะคัดเลือกเอาโปรซสที่เหมาะที่สุดในคิวของสถานะพร้อม
เพื่อให้โปรเซสนั้นเข้าไปครอบครองซีพียูที่ว่างอยู่
โดยเรียกใช้ตัวส่งในส่วนของเคอร์เนล
ชั้นที่ 6 ผู้จัดการทรัพยากร (resource manager)
เป็นระดับชั้นของส่วนที่ทำหน้าที่จัดสรรหาทรัพยากรอื่นๆในระบบบางครั้งตัวจัดคิวระยะสั้นและผู้จัดการทรัพยากรอยู่สลับที่กัน
ทั้งนี้เพราะหลังจากที่ตัวจัดคิวระยะสั้นส่งโปรเซสเข้าไปในสถานะรันแล้ว
โปรเซสนั้นอาจต้องการทรัพยากรอื่นๆ ในระบบ ดังนั้นจึงต้องเรียกใช้รูทีนในชั้นผู้จัดการทรัพยากร
ชั้นที่ 6
ผู้จัดการทรัพยากร (resource
manager)
การสลับชั้นของตัวจัดคิดระยะสั้นและผู้จัดการทรัพยากร
ชั้นที่ 7 ตัวจัดคิวระยะยาว (long-term scheduler)
เป็นชั้นของระบบปฏิบัติที่เริ่มมีความใกล้ชิดกับผู้ใช้และห่างไกลกับฮาร์ดแวร์ของเครื่องมากขึ้นมีหน้าที่จัดการและควบคุมโปรเซสต่างๆ
ทั้งหมดในระบบเช่นสร้างโปรเซสต่าง ๆ
ใหม่เข้ามาในระบบและยุติโปรเซสเมื่อโปรเซสทำงานเสร็จสิ้นลงการทำงานของตัวจัดคิวระยะยาวต้องใช้รูทีนต่างๆ ในชั้นที่ 1 ถึง 6 ช่วยในการทำงาน
ชั้นที่ 7 ตัวจัดคิวระยะยาว (long-term scheduler)
ชั้นที่ 8 เชลล์ (shell) หรือผู้แปลคำสั่ง
(command interpreter)
เป็นชั้นสุดท้ายซึ่งเป็นชั้นที่ใกล้ชิดกับผู้ใช้มากที่สุดมีหน้าที่ติดต่อกับผู้ใช้โดยตรง
เช่น ส่งเครื่องหมายพร้อมต์ (prompt) แสดงออกทางจอภาพ
รับคำสั่งต่างๆ ของผู้ใช้มาตีความคำสั่งและเรียกรูทีนต่างๆของชั้นล่างๆ
เพื่อให้ได้งานตามคำสั่งที่ได้รับ
ชั้นที่ 8 เชลล์ (shell) หรือผู้แปลคำสั่ง (command
interpreter
ระดับชั้นต่างๆ ของโปรแกรม
อ้างอิง
http://www.chantra.sru.ac.th/OS.html
ไม่มีความคิดเห็น:
แสดงความคิดเห็น