1 / 26

บทที่ 2

บทที่ 2. โครงสร้างของระบบปฏิบัติการ. 1. บทนำ.

totie
Download Presentation

บทที่ 2

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. บทที่ 2 โครงสร้างของระบบปฏิบัติการ

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

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

  4. 2.1 ระดับชั้นการทำงานของโปรแกรม

  5. 2.2 ระดับชั้นการทำงานของโปรแกรม ในรูปที่ 8.2 เป็นอีกรูปแบบหนึ่งของการแสดงความสัมพันธ์ของโปรแกรมระบบปฏิบัติการและฮาร์ดแวร์ของเครื่อง ที่จะกล่าวต่อไปนี้เป็นระดับชั้นภายในตัวระบบปฏิบัติการเท่านั้น ซึ่งจะใช้รูปแบบการแสดงความสัมพันธ์ของระดับชั้นต่างๆ ในลักษณะเดียวกันกับรูปที่ 8.1

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

  7. การทำงานของส่วนย่อยทั้ง 3 ของเคอร์เนลต้องการความเร็วในการทำงานสูงมากเพราะเป็นงานขั้นพื้นฐานและมีการทำงานบ่อยมาก ดังนั้น เคอร์เนลมักจะถูกเขียนขึ้นด้วยภาษาแอสเซมบลี้ และเป็นส่วนที่ขึ้นอยู่กับฮาร์ดแวร์ของเครื่อง (hardware dependent) ด้วย นั่นคือ ถ้าโครงสร้างทางฮาร์ดแวร์ของเครื่องมีการเปลี่ยนแปลง ส่วนของเคอร์แนลต้องถูกนำมาแก้ไขใหม่ด้วย เพื่อให้สามารถทำงานกับฮาร์ดแวร์ชิ้นใหม่ได้ นอกจากหน้าที่พื้นฐานทั้ง 3 แล้ว เคอร์เนลยังมีหน้าที่อื่นๆ อีก เช่น จัดการเรื่องการเข้าจังเหวะของโปรเซส (process synchronization) และการติดต่อระหว่างโปรเซส (process communication) รูปที่ 2.3 แสดงความสัมพันธ์ของเคอร์เนลกับฮาร์ดแวร์ของเครื่อง

  8. 2.3 ความสัมพันธ์ของเคอร์เนลและฮาร์ดแวร์

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

  10. 2.4 ระดับชั้นที่ 2 ของระบบปฏิบัติการ

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

  12. 2.5 ระดับชั้นที่ 3 ของระบบปฏิบัติการ

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

  14. กล่าวคือ ในแต่ละชั้นถูกกำหนดให้มีหน้าที่หรือรูทีนในการทำงานที่แน่นอนและแต่ละ ชั้นก็รู้วิธีการหรือรูปแบบการเรียกใช้รูทีนในชั้นต่ำกว่า และขณะเดียวกันก็มีข้อกำหนดของรูแแบบหรือวิธีที่ให้ชั้นที่หนือกว่าเรียกใช้ รูทีนในชั้นของมันได้ ตราบใดที่หน้าที่ของรูทีนและข้อกำหนดของการเรียกใช้รูทีนระหว่างชั้นยังคง เหมือนเดิม การเปลี่ยนแปลงวิธีการทำงานของโปรแกรมภายในชั้นหนึ่งๆ จะไม่มีผลกระทบต่อการทำงานของชั้นอื่นๆ เลย ตัวอย่างเช่น ในกรณีของผู้จัดการไฟล์ยังคงเก็บข้อมูลเป็นไฟล์ สมมติว่าเราเปลี่ยนอุปกรณ์เก็บข้อมูลจากดิสก์เป็นฮาร์ดดิสก์ ชั้นของผู้จัดการไฟล์ยังคงเก็บข้อมูลเป็นไฟล์ได้เช่นเดิมไม่เปลี่ยนแปลง แต่วิธีการเก็บไฟล์ในส่วนของชั้น IOCS ต้องถูกแก้ไขให้ทำงานได้ ถูกต้องตามลักษณะโครงสร้างของฮาร์ดดิสก์

  15. 2.6 ระดับชั้นที่ 4 ของระบบปฏิบัติการ

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

  17. 2.7 ระดับชั้นที่ 5 ของระบบปฏิบัติการ อาจกล่าวได้ว่าตัวจัดคิดระยะสั้นเป็นส่วนที่มีหน้าที่จัดสรรซีพียู ซึ่งเป็นทรัพยากรประเภทหนี่งของระบบ

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

  19. 2.8 ระดับชั้นที่ 6 ของระบบปฏิบัติการ

  20. 2.9 การสลับชั้นของตัวจัดคิดระยะสั้นและผู้จัดการทรัพยากร

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

  22. 2.10 แสดงระดับชั้นที่ 7 ของ OS

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

  24. 2.11 แสดงระดับชั้นที่ 8 ของ OS

  25. 2.12 ระดับชั้นต่างๆ ของ OS

  26. The Endบทที่ 2

More Related