1 / 26

บทที่ 5

บทที่ 5. การจัดการหน่วยความจำ. ความสำคัญของหน่วยความจำ. แบบเก็บข้อมูลไว้ในหน่วยความจำจนกว่าจะทำงานเสร็จ แบบที่มีการย้ายข้อมูลจากหน่วยความจำออกไปเก็บไว้ที่หน่วยความจำสำรองเป็นการชั่วคราว. ระบบการจัดการหน่วยความจำ แบ่งได้ 2 กลุ่มใหญ่ ๆ. หน้าที่ของหน่วยความจำหลัก. เก็บระบบปฏิบัติการ

milo
Download Presentation

บทที่ 5

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. บทที่ 5 การจัดการหน่วยความจำ

  2. ความสำคัญของหน่วยความจำความสำคัญของหน่วยความจำ • แบบเก็บข้อมูลไว้ในหน่วยความจำจนกว่าจะทำงานเสร็จ • แบบที่มีการย้ายข้อมูลจากหน่วยความจำออกไปเก็บไว้ที่หน่วยความจำสำรองเป็นการชั่วคราว ระบบการจัดการหน่วยความจำ แบ่งได้ 2 กลุ่มใหญ่ ๆ

  3. หน้าที่ของหน่วยความจำหลักหน้าที่ของหน่วยความจำหลัก • เก็บระบบปฏิบัติการ • เก็บโปรแกรมของผู้ใช้ • เก็บข้อมูลที่จะใช้

  4. การจัดการหน่วยความจำแบบไม่มีการสลับที่การจัดการหน่วยความจำแบบไม่มีการสลับที่ เป็นหน่วยความจำที่ง่ายและพื้นฐานที่สุด ในเวลาหนึ่งจะมีงานในหน่วยความจำเพียงงานเดียว และจะยึดครองหน่วยความจำไปตลอดจนกว่างานจะเสร็จ ไม่มีการสลับที่ในระบบโปรแกรมเดียว

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

  6. การสลับที่หน่วยความจำการสลับที่หน่วยความจำ โปรแกรมที่อยู่ในหน่วยความจำจะถูกสลับออก เมื่อเกิดเหตุการณ์ 3 กรณี • โปรแกรมจบ • โปรแกรมต้องการใช้งาน INPUT/OUTPUT • หมดเวลาควอนตัม เป็นเทคนิคของระบบแบ่งเวลา (Time Sharing)

  7. ระบบหลายโปรแกรมกับการแบ่งหน่วยความจำแบบคงที่ระบบหลายโปรแกรมกับการแบ่งหน่วยความจำแบบคงที่ การจัดการหน่วยความจำจะถูกแบ่งออกเป็นส่วน ๆ โดย แต่ละส่วนของหน่วยความจำจะใช้ในการเก็บโปรเซสแยกจากกัน ซึ่งอาจแบ่งเป็นแบบคงที่ หรือ แบบไม่คงที่ ก็ได้ งานที่จะเข้ามาในระบบต้องคอยคิวเพื่อใช้หน่วยความจำ แบ่งได้ 2 ลักษณะ คือ ระบบหลายคิว และระบบคิวเดียว

  8. ภาพการเข้าใช้หน่วยความจำแบบหลายคิวและแบบคิวเดียวภาพการเข้าใช้หน่วยความจำแบบหลายคิวและแบบคิวเดียว A B

  9. ภาพแสดงหน่วยความจำที่ว่างภายนอกภาพแสดงหน่วยความจำที่ว่างภายนอก External Fragmentation

  10. ภาพแสดงหน่วยความจำที่ว่างภายในภาพแสดงหน่วยความจำที่ว่างภายใน Internal Fragmentation External Fragmentation

  11. ระบบหลายโปรแกรมกับการแบ่งหน่วยความจำแบบไม่คงที่ระบบหลายโปรแกรมกับการแบ่งหน่วยความจำแบบไม่คงที่ เป็นการปรับเปลี่ยนวิธีการแบ่งหน่วยความจำใหม่ โดยที่ระบบปฏิบัติการยินยอมให้โปรแกรมครองหน่วย ความจำมากเท่าที่มันต้องการ ไม่มีการจำกัดขอบเขตของส่วนย่อย ๆ

  12. ภาพการแบ่งหน่วยความจำขนาดไม่คงที่ภาพการแบ่งหน่วยความจำขนาดไม่คงที่ A

  13. การทำโอเวอร์เลย์ (Overlay) โปรแกรมของผู้ใช้จะไม่สามารถใช้หน่วยความจำได้ หากโปรแกรมมีขนาดใหญ่กว่าหน่วยความจำ การทำ Overlay คือ ผู้เขียนโปรแกรมแบ่งโปรแกรมออกเป็นส่วนย่อยหลาย ๆ ส่วน แต่ละส่วนต้องมีขนาดเล็กกว่าหน่วยความจำ

  14. การทำโอเวอร์เลย์ (Overlay) ในระบบปฏิบัติการแบบหลายโปรแกรม ระบบ ปฏิบัติการจะมีการจัดการที่มีลักษณะคล้ายกับการทำ Overlay โดยการใช้หน่วยความจำเสมือน (Virtual Memory)

  15. โปรแกรมย่อย OS ส่วนที่ 1 ส่วนที่ 2 ภาพการทำงานระบบ Overlay โปรแกรมหลัก หน่วยความจำ โปรแกรมของผู้ใช้แบ่งเป็นส่วนย่อยต่าง ๆ

  16. หน่วยความจำเสมือน (Virtual Memory) การทำงานมีลักษณะเช่นเดียวกับการทำ Overlay ต่างกันที่ Virtual Memory ผู้ใช้ไม่ต้องเขียนโปรแกรมจัดการกับหน่วยความจำเอง ส่วนระบบ Virtual Memory ระบบปฏิบัติการจะการให้ทั้งหมด เรียกใช้งานโดยการอ้างอิงตำแหน่งของหน่วยความจำ ตำแหน่งจริง เรียกว่า Real Address หรือ Physical Address ตำแหน่งเสมือน เรียกว่า Virtual Address

  17. การจัดการหน่วยความจำแบบเพจจิ้ง (Paging) หน้าที่หลักของเพจจิ้ง คือ การแบ่งหน่วยความจำพื้นที่ออก เท่า ๆ กัน เรียงต่อกันไปเรื่อย ๆ ไม่มีช่องว่าง จนหมดพื้นที่หน่วยความจำ การจองหน่วยความจำจองเป็นตัวเลข และการรับ Virtual address จากซีพียู และแบ่งเป็น Physical address เพื่ออ้างอิงตำแหน่งจริงจากหน่วยความจำจะเป็นหน้าของ MMU การแปลงส่งแอดเดรส (Address Mapping) ซึ่งจะมีฮาร์ดแวร์ในการแปลงตำแหน่ง เรียกว่า หน่วยจัดการหน่วยความจำ (Memory Management Unit : MMU)

  18. การจัดการหน่วยความจำแบบเพจจิ้ง (Paging) ในการอ้างอิงหน่วยความจำจะทำการแบ่งส่วนของหน่วยความจำจริงออกเป็นส่วน ๆ ที่เท่ากัน เรียกว่า เพจ (Page)และจะแบ่งส่วนของหน่วยความจำเสมือนออกเป็นเพจโดยแต่ละเพจจะมีขนาดเท่ากับเพจของหน่วยความจำจริง ระบบปฏิบัติการจะใช้ขนาดของเพจตั้งแต่ 512 byte ถึง 8k

  19. ตารางเพจ (Page Table) ทำหน้าที่จับคู่ระหว่างเพจของVirtual Memory กับ เพจของReal Memory ที่จะใช้งาน

  20. ภาพการทำงานของ Paging

  21. อธิบาย ภาพการทำงานของ Paging จากรูปด้านซ้ายมือจะประกอบด้วยโปรแกรม A ใช้พื้นที่ 3 หน้า (Pa0, Pa1, Pa2) โปรแกรม B ใช้พื้นที่ 1 หน้า (Pb0)และโปรแกรม C ใช้พื้นที่ 2 หน้า (Pc0, Pc1)เริ่มต้นเมื่อมีการอ้างอิงตำแหน่ง ซีพียูจะส่ง Virtual address ให้กับ MMU จากนั้น MMU จะแบ่งตัวเลขออกมาเป็น 2 ชุดคือ ตัวเลขหน้า (Page number) และตัวเลขบรรทัด (Page offset) จากรูปคือ หน้าที่ 1 บรรทัดที่ 7 ในส่วนของเลขหน้า MMU จะนำไปจับคู่ที่ตาราง Page table ที่อยู่ในหน่วยความจำ เมื่อพบจะได้ตัวเลขเฟรม (Frame number) ตัวเลขเฟรมที่ได้ MMU จะนำมารวมกับตัวเลขบรรทัดเดิม จะได้ผลลัพธ์เป็น Physical address ที่ระบุตำแหน่งไว้ในหน่วยความจำ จากรูป คือ เฟรมที่ 3 บรรทัดที่ 7 เมื่อได้ตำแหน่งแล้วก็จะนำข้อมูลในตำแหน่งนั้นส่งไปที่ ซีพียูและเสร็จสิ้นขั้นตอนการทำงาน

  22. ยุทธวิธีการแทนที่ (Past Algorithm) • เลือกแบบสุ่ม • เลือกเพจที่เก่าที่สุด (First-In First-Out : FIFO) การตัดสินใจเลือกเพจ หรือ ยุทธวิธีแทนที่ มี 6 วิธี

  23. ยุทธวิธีการแทนที่ (Past Algorithm) • 3. เลือกเพจที่ถูกใช้น้อยที่สุด (Not-Recently-Use : NRU) จำแนกได้ 4 ระดับ ระดับ 0 เป็นหน้าที่ไม่มีการอ้างถึง และไม่มีการปรับปรุง ระดับ 1 เป็นหน้าที่ไม่มีการอ้างถึง แต่มีการปรับปรุง ระดับ 2 เป็นหน้าที่มีการอ้างถึง แต่ไม่มีการปรับปรุง ระดับ 3 เป็นหน้าที่มีการอ้างถึง และมีการปรับปรุง

  24. ภาพตัวอย่างเพจระบุ 2 สถานะ การอ้างถึง คือ Reference : Rการปรับปรุง คือ Modify : M

  25. ยุทธวิธีการแทนที่ (Past Algorithm) • เลือกเพจที่ไม่ได้ถูกใช้มานานที่สุด (Last-Recently- Used : LRU) • เลือกเพจแบบตรวจสอบซ้ำ ออกแบบมาเพื่อแก้ปัญหา ในการเลือกแบบ NRU โดยการนำเอา FIFO และ NRU มารวม • เลือกเพจแบบตามเข็มนาฬิกา

  26. จบบทที่ 5

More Related