งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

หน่วยความจำเสมือน Virtual Memory. เป็นการสร้างภาพให้ OS มองเห็น RAM มีมาก แบบไม่จำกัด เป็นการสร้างภาพให้ OS มองเห็น RAM มีมาก แบบไม่จำกัด แต่ในความเป็นจริง.

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "หน่วยความจำเสมือน Virtual Memory. เป็นการสร้างภาพให้ OS มองเห็น RAM มีมาก แบบไม่จำกัด เป็นการสร้างภาพให้ OS มองเห็น RAM มีมาก แบบไม่จำกัด แต่ในความเป็นจริง."— ใบสำเนางานนำเสนอ:

1 หน่วยความจำเสมือน Virtual Memory

2 เป็นการสร้างภาพให้ OS มองเห็น RAM มีมาก แบบไม่จำกัด เป็นการสร้างภาพให้ OS มองเห็น RAM มีมาก แบบไม่จำกัด แต่ในความเป็นจริง RAM อาจจะมีน้อยก็ได้ แต่ในความเป็นจริง RAM อาจจะมีน้อยก็ได้ ดังนั้น จะนำเอาสื่อ สำรองข้อมูลหรือ Harddisk มาช่วยในการ ทำงานนั่นเอง ดังนั้น จะนำเอาสื่อ สำรองข้อมูลหรือ Harddisk มาช่วยในการ ทำงานนั่นเอง O.S. Plenty of RAM RAM +

3 หลักการ หาก RAM พอก็ใช้ RAM หากเต็มก็ใช้ Disk หาก RAM พอก็ใช้ RAM หากเต็มก็ใช้ Disk วิเคราะห์ วิเคราะห์ ลองวิเคราะห์เหตุการณ์ดังนี้ ว่าจะเกิดอะไรขึ้น ลองวิเคราะห์เหตุการณ์ดังนี้ ว่าจะเกิดอะไรขึ้น 1. มี RAM มากและเปิดโปรแกรมมาน้อย 1. มี RAM มากและเปิดโปรแกรมมาน้อย 2. มี RAM มากและเปิดโปรแกรมมาก 2. มี RAM มากและเปิดโปรแกรมมาก 3. มี RAM น้อยและเปิดโปรแกรมมาก 3. มี RAM น้อยและเปิดโปรแกรมมาก Where ? Hey! Give me some places Little RAM

4 Demand Paging เป็นวิธีที่นิยมมากที่สุด ทำงานได้ดี (Performance ดี ) เป็นวิธีที่นิยมมากที่สุด ทำงานได้ดี (Performance ดี ) หลักการ หลักการ แบ่งโปรเซสออกเป็น Page และแบ่งพื้นที่ RAM ออกเป็น Frame ส่วน Harddisk ก็จะแบ่งเป็น Page เช่นกัน แบ่งโปรเซสออกเป็น Page และแบ่งพื้นที่ RAM ออกเป็น Frame ส่วน Harddisk ก็จะแบ่งเป็น Page เช่นกัน Page Frame Logical Address Of process Physical Memory Disk

5 Logical Address เป็นมุมมองที่โปรเซสมองเห็น Address ของ ตนเอง จะใช้หลักการของ Paging โดยจะเริ่ม Page แรกที่ Page 0 เป็นมุมมองที่โปรเซสมองเห็น Address ของ ตนเอง จะใช้หลักการของ Paging โดยจะเริ่ม Page แรกที่ Page Page A B C

6 Page Table เก็บข้อมูลว่า Page แต่ละ Page นั้น Valid หรือไม่ เก็บข้อมูลว่า Page แต่ละ Page นั้น Valid หรือไม่ Valid = อยู่ใน Physical Memory แล้ว Valid = อยู่ใน Physical Memory แล้ว Invalid = ไม่อยู่ใน Physical Memory Invalid = ไม่อยู่ใน Physical Memory Frame Valid-Invalid bit 4V I 3V Page ดูหน้าต่อไป ->

7 จาก Page Table A C Physical Memory

8 Page Fault เป็นหลักการที่บอกว่า “ ขณะนี้ Page นี้ไม่อยู่ใน RAM” เป็นหลักการที่บอกว่า “ ขณะนี้ Page นี้ไม่อยู่ใน RAM” จะมีการส่งสัญญาณ Interrupt ไปที่ CPU เพื่อ โหลดข้อมูลที่ต้องการนั้นลงไป จะมีการส่งสัญญาณ Interrupt ไปที่ CPU เพื่อ โหลดข้อมูลที่ต้องการนั้นลงไป Page A B C Logical Address Running Page Fault It’s not in RAM

9 ยามปกติ ข้อมูลทั้งหมดของโปรเซสจะอยู่ใน Disk ก่อน การ Run ในลักษณะของ Page แต่ละ Page มี ขนาดที่เท่ากัน ( ขนาดเท่ากับเฟรม ) ข้อมูลทั้งหมดของโปรเซสจะอยู่ใน Disk ก่อน การ Run ในลักษณะของ Page แต่ละ Page มี ขนาดที่เท่ากัน ( ขนาดเท่ากับเฟรม ) AB CDE F

10 เมื่อถูกเรียกให้ทำงาน จะเริ่ม Run ที่ Page แรกก่อน ใน Logical Address ซึ่งจริงๆแล้วอยู่ใน Disk ดังนั้น Page แรกก็จะเกิด Page Fault ทันที จะเริ่ม Run ที่ Page แรกก่อน ใน Logical Address ซึ่งจริงๆแล้วอยู่ใน Disk ดังนั้น Page แรกก็จะเกิด Page Fault ทันที จะโหลด Page แรกมาอยู่ใน RAM และทำงาน ต่อไป จะโหลด Page แรกมาอยู่ใน RAM และทำงาน ต่อไป หากมี Page Fault ก็จะทำแบบเดิม หากมี Page Fault ก็จะทำแบบเดิม ในความเป็นจริง งานไม่จำเป็นต้องเรียงลำดับ ของ Page เช่น 0->1->2 เพราะอาจมีการ กระโดดข้ามเพจได้ หรือบางเพจอาจไม่ถูกเรียก เลยก็ได้ ในความเป็นจริง งานไม่จำเป็นต้องเรียงลำดับ ของ Page เช่น 0->1->2 เพราะอาจมีการ กระโดดข้ามเพจได้ หรือบางเพจอาจไม่ถูกเรียก เลยก็ได้

11 หาก RAM เต็ม จะทำการเลือกหา “ เหยื่อ ” (Victim) จะทำการเลือกหา “ เหยื่อ ” (Victim) เพื่อทำการแทนที่ Page นั้น เพื่อทำการแทนที่ Page นั้น (Page Replacement) (Page Replacement) A C Physical Memory O K S R Hey the victim You must go out now! Another page coming

12 เกมจับกลุ่ม Tu ให้ น. ศ. แบ่งกลุ่ม 5 คน แล้วสอนทบทวนเรื่องนี้ ต่อกัน โดยสอนกันคนละ 2 นาที สลับกันไปเรื่อยๆ ระหว่างสอนสามารถมี การถามได้ ใครสอน ติดขัดจะถูกจดประวัติไว้ เมื่อครบ 20 นาที ใครถูก จดแต้มสูงสุดจะต้อง ออกมาทำท่า “ เดิน เป็ด ” หน้าห้อง ให้ น. ศ. แบ่งกลุ่ม 5 คน แล้วสอนทบทวนเรื่องนี้ ต่อกัน โดยสอนกันคนละ 2 นาที สลับกันไปเรื่อยๆ ระหว่างสอนสามารถมี การถามได้ ใครสอน ติดขัดจะถูกจดประวัติไว้ เมื่อครบ 20 นาที ใครถูก จดแต้มสูงสุดจะต้อง ออกมาทำท่า “ เดิน เป็ด ” หน้าห้อง

13 แบบฝึกหัด จงทำแบบฝึกหัดดังนี้ แล้วส่งอาจารย์ ( เขียนลง กระดาษ ) จงทำแบบฝึกหัดดังนี้ แล้วส่งอาจารย์ ( เขียนลง กระดาษ ) 1. มีข้อมูลดังนี้ 1. มีข้อมูลดังนี้ 2. การเลือก Victim Page น่าจะมีหลัการคิด อย่างไร 2. การเลือก Victim Page น่าจะมีหลัการคิด อย่างไร 8V 4V I 3V Page Page Table FrameValid-invalid bit * จงวาดรูปแสดงแผนภาพของ RAM ให้ 1 page มีขนาด 500 Bytes * หากลำดับการทำงานของ Page เป็นดังนี้ 0->2->3->1 แต่ละ Page ใช้เวลาทำงาน Page ละ 10 ms จะเกิด Page Fault ขึ้นที่เวลาเท่าไรจากเมื่อเริ่มทำงาน 3

14 ทดลอง 1. ลองเปิดโปรแกรมขึ้นมาเป็นจำนวนมาก 1. ลองเปิดโปรแกรมขึ้นมาเป็นจำนวนมาก 2. คลิ้กที่ไอคอนของโปรแกรมที่ Task Bar สลับ ไปสลับมาอย่างรวดเร็ว 2. คลิ้กที่ไอคอนของโปรแกรมที่ Task Bar สลับ ไปสลับมาอย่างรวดเร็ว 3. สังเกตที่ไฟฮาร์ดดิสก์ 3. สังเกตที่ไฟฮาร์ดดิสก์ 4. ไป Download File ที่เว็บอาจารย์ ชื่อไฟล์ Coolsysteminfo.exe 4. ไป Download File ที่เว็บอาจารย์ ชื่อไฟล์ Coolsysteminfo.exe 5. เปิดโปรแกรม ทำซ้ำข้อที่ 1->2 แล้วดูที่การ ทำงานของโปรแกรม 5. เปิดโปรแกรม ทำซ้ำข้อที่ 1->2 แล้วดูที่การ ทำงานของโปรแกรม 6. สรุปผลแล้วส่งรายงานการทดลอง 6. สรุปผลแล้วส่งรายงานการทดลอง

15 อัลกอริธึมของการหาเหยื่อ จากที่กล่าวมาแล้วว่า หาก RAM เต็มจะต้องทำ การแทนที่ Page นั้น เราจะมีวิธีการใดบ้างใน การเลือกเพจเหยื่อที่จะถูกแทนที่ จากที่กล่าวมาแล้วว่า หาก RAM เต็มจะต้องทำ การแทนที่ Page นั้น เราจะมีวิธีการใดบ้างใน การเลือกเพจเหยื่อที่จะถูกแทนที่ 1. FIFO 1. FIFO 2. LRU 2. LRU 3. Optimal 3. Optimal

16 อัลกอริธึม FIFO ย่อมาจาก First-in First-out ย่อมาจาก First-in First-out หรือ มาก่อน ออกก่อน หรือ มาก่อน ออกก่อน เพจใดเข้ามาใน RAM ก่อน เมื่อ RAM เต็มก็ต้อง ออกจาก RAM ก่อนเช่นกัน เพจใดเข้ามาใน RAM ก่อน เมื่อ RAM เต็มก็ต้อง ออกจาก RAM ก่อนเช่นกัน

17 อัลกอริธึม Optimal เป็นอัลกอริธึมที่ดีที่สุดในทางอุดมคติ เป็นอัลกอริธึมที่ดีที่สุดในทางอุดมคติ แต่ในทางปฏิบัติทำได้ยาก แต่ในทางปฏิบัติทำได้ยาก หลักการ => เพจใดจะใช้อีกในอนาคตอันใกล้ ก็จะเก็บเพจนั้นไว้ หลักการ => เพจใดจะใช้อีกในอนาคตอันใกล้ ก็จะเก็บเพจนั้นไว้

18 อัลกอริธึม LRU ย่อมาจาก Least Recently Used ย่อมาจาก Least Recently Used เป็นอัลกอริธึมที่เหมาะสมที่สุด ในทางปฏิบัติ เป็นอัลกอริธึมที่เหมาะสมที่สุด ในทางปฏิบัติ หลักการ => ที่ผ่านมาเพจใดถูกเรียกใช้เป็น ปัจจุบันน้อยที่สุด จะต้องกลายเป็นเหยื่อ หลักการ => ที่ผ่านมาเพจใดถูกเรียกใช้เป็น ปัจจุบันน้อยที่สุด จะต้องกลายเป็นเหยื่อ

19 ภาวะ Thrashing เป็นภาวะที่ระบบหยุดการทำงานไปชั่วขณะ เป็นภาวะที่ระบบหยุดการทำงานไปชั่วขณะ เกิดจากมี Page Fault เกิดขึ้นตลอดเวลา ทำให้ มีการ Swap in และ Swap out เป็นจำนวนมาก เกิดจากมี Page Fault เกิดขึ้นตลอดเวลา ทำให้ มีการ Swap in และ Swap out เป็นจำนวนมาก Degree of multiprogramming CPU Utilization เกิด Thrashing ยิ่งสลับโปรแกรมมาก ยิ่งเสี่ยงต่อ Thrashing

20 สาเหตุของการเกิด Thrashing การทำงานของโปรแกรมจะมีธรรมชาติของมัน การทำงานของโปรแกรมจะมีธรรมชาติของมัน อย่างที่กล่าวมาแล้วว่าโปรแกรมสามารถกระโดด ไป - มาได้ อย่างที่กล่าวมาแล้วว่าโปรแกรมสามารถกระโดด ไป - มาได้ เมื่อกระโดดไป - มา หากข้อมูลของโปรเซสนั้น ไม่อยู่ใน RAM ก็ต้อง Swap in เข้ามา เมื่อกระโดดไป - มา หากข้อมูลของโปรเซสนั้น ไม่อยู่ใน RAM ก็ต้อง Swap in เข้ามา ส่วนใหญ่แล้ว พื้นที่ไหนถูกเรียกก็จะทำงานอยู่ ในบริเวณใกล้ๆกัน ส่วนใหญ่แล้ว พื้นที่ไหนถูกเรียกก็จะทำงานอยู่ ในบริเวณใกล้ๆกัน เรียกว่า การอ้างถึงใกล้ๆ (Locality of Reference) เรียกว่า การอ้างถึงใกล้ๆ (Locality of Reference) ดังนั้น ถ้าเรารู้ Locality of Reference ของแต่ ละโปรเซสเราก็สามารถ Plan การใช้งาน RAM ของมันได้ ดังนั้น ถ้าเรารู้ Locality of Reference ของแต่ ละโปรเซสเราก็สามารถ Plan การใช้งาน RAM ของมันได้

21 Working Set Model เป็นวิธีการที่จะหาขอบเขตการทำงานของกลุ่มย่อยๆ (Locality of Reference) ภายในโปรเซส เป็นวิธีการที่จะหาขอบเขตการทำงานของกลุ่มย่อยๆ (Locality of Reference) ภายในโปรเซส เริ่มโดยการเขียน Reference String ก่อน เริ่มโดยการเขียน Reference String ก่อน Reference String ก็คือหมายเลขของ Page ทั้งหมดที่ โปรเซสจะเรียกใช้เรียงตามลำดับ Reference String ก็คือหมายเลขของ Page ทั้งหมดที่ โปรเซสจะเรียกใช้เรียงตามลำดับ ตัวอย่าง ตัวอย่าง หลังจากนั้น มองหา Working Set หลังจากนั้น มองหา Working Set Working Set เหมือนเป็นหน้าต่าง จะเลื่อนไปทางด้านข้าง เพื่อหากลุ่มของ Page ที่จะโหลดเข้ามาใน RAM พร้อมกัน ดังนั้น หากขนาดของ Working Set ไม่พอดีจะเกิดการ Swap มาก

22 Demand Segmentation เป็นการพัฒนาจาก Demand Paging เป็นการพัฒนาจาก Demand Paging หลักการ => แบ่งโปรเซสออกเป็น Segment หลักการ => แบ่งโปรเซสออกเป็น Segment เริ่มทำงานที่ Main Segment เริ่มทำงานที่ Main Segment เมื่อเกิด Segment Fault ก็จะ Swap in เอา Segment ที่ต้องการเข้ามาใน RAM เมื่อเกิด Segment Fault ก็จะ Swap in เอา Segment ที่ต้องการเข้ามาใน RAM หลังจากนั้นจะทำงานต่อไป หลังจากนั้นจะทำงานต่อไป วิธีนี้จะใช้ RAM มากกว่าแบบ Demand Paging แต่การ Thrashing จะเกิดขึ้นได้ยาก วิธีนี้จะใช้ RAM มากกว่าแบบ Demand Paging แต่การ Thrashing จะเกิดขึ้นได้ยาก


ดาวน์โหลด ppt หน่วยความจำเสมือน Virtual Memory. เป็นการสร้างภาพให้ OS มองเห็น RAM มีมาก แบบไม่จำกัด เป็นการสร้างภาพให้ OS มองเห็น RAM มีมาก แบบไม่จำกัด แต่ในความเป็นจริง.

งานนำเสนอที่คล้ายกัน


Ads by Google