Page Replacement

Download Report

Transcript Page Replacement

นงลักษณ์ พรมทอง และวิเชษฐ์ พลายมาศ
การจัดการหน่วยความจา
Memory Management
Virtual Memory
 Background
 Demand Paging
 Process Creation
 Page Replacement
 Allocation of Frames
 Thrashing
 Operating System Examples
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | หน่วยความจาเสมือน (Virtual Memory) | 2
Learning Objectives
ึ ษาความสาคัญของหน่วยความจาเสมือน
 เพือ
่ ศก
 เพือ
่ เข ้าใจการสลับหน ้าตามคาขอทันที (demand paging) ของ
หน่วยความจาเสมือน
ั ซอนและค่
้
้
 เพือ
่ เข ้าใจถึงความซบ
าใชจ่้ ายในการใชงาน
หน่วยความจาเสมือน
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | หน่วยความจาเสมือน (Virtual Memory) | 3
ความเป็นมา
Background
ั่ ทีจ
 ชุดคาสง
่ ะถูกกระทาการได ้นัน
้ จะต ้องอยูใ่ นหน่วยความจา
กายภาพเสมอ
่ น
 เราจาเป็ นต ้องใสพ
ื้ ทีเ่ ลขทีอ
่ ยูข
่ องหน่วยความจาแบบตรรกะ
ทัง้ หมดลงในหน่วยความจาแบบกายภาพ (แต่ถก
ู จากัดด ้วยขนาด
ของพืน
้ ทีห
่ น่วยความจาจริง)
 กรณี single program
 ใชวิ้ ธก
ี าร overlay คือการทาให ้โปรแกรมทีม
่ ข
ี นาดใหญ่กว่าพืน
้ ทีใ่ น
หน่วยความจา ให ้สามารถดาเนินได ้ จัดการโดยโปรแกรมเมอร์
 โดยการแบ่งโปรแกรมออกเป็ นโปรแกรมย่อย (sub program)
หลายๆ สว่ น และให ้แต่ละสว่ นมีขนาดเล็กกว่าหน่วยความจา
 กรณี Multiprogram
้ วยความจาเสมือน (virtual memory) จัดการโดย OS
 ใชหน่
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | หน่วยความจาเสมือน (Virtual Memory) | 4
ความเป็นมา
Background
โปรแกรมจะถูกแบ่งออกเป็ น 2 สว่ น main program เป็ นสว่ นของโปรแกรมที่
ิ้ สุดลง และ Subอยูใ่ นหน่วยความจาไปตลอดจนกระทั่งการทางานสน
Program ในสว่ นทีเ่ หลือ จะถูกแบ่งออกเป็ นสว่ นย่อยๆ และจะถูกโหลดเข ้าสู่
หน่วยความจาก็ตอ
่ เมือ
่ ต ้องการรันเท่านั น
้
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | หน่วยความจาเสมือน (Virtual Memory) | 5
ความเป็นมา
Background
่ น
 หน่วยความจาเสมือน (Virtual memory) – การแยกสว
้
ของหน่วยความเชงิ ตรรกะ (logical memory) ของผู ้ใชออกจาก
หน่วยความจาเชงิ กายภาพ (physical memory)
่ นของโปรแกรมทีต
 มีเพียงสว
่ ้องการอยูใ่ นหน่วยความจาเพือ
่ กระทา
การ (execution) เท่านั น
้
 พืน
้ ที่ (Logical address) จึงสามารถใหญ่กว่าขนาดของพืน
้ ที่
หน่วยความจาเชงิ กายภาพ (physical address space) ได ้
้ น
 ยินยอมให ้มีการใชพื
้ ทีห
่ น่วยความจาร่วมกันได ้ จากหลายๆ
กระบวนการ
 ทาให ้มีการสร ้างกระบวนการขึน
้ มาได ้โดยสะดวก
้
 Virtual memory สามารถใชงานผ่
าน
 Demand paging
 Demand segmentation
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | หน่วยความจาเสมือน (Virtual Memory) | 6
Virtual Memory That is Larger Than Physical
Memory
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | หน่วยความจาเสมือน (Virtual Memory) | 7
Demand Paging
 นา page ไปไว ้ในหน่วยความจาเฉพาะเมือ
่ เวลาทีต
่ ้องการเท่านัน
้
 ลดการใช ้ (Less I/O needed)
้ วยความจา (Less memory needed)
 ลดการใชหน่
 โต ้ตอบได ้รวดเร็วกว่า (Faster response)
้ ้มากกว่า (More users)
 รองรับผู ้ใชได
 Page ทีต
่ ้องการ  ต ้องการมีการอ ้างอิงถึง
 invalid reference  ยกเลิก (abort)
 not-in-memory  นาเข ้าหน่วยความจา (bring to memory)
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | หน่วยความจาเสมือน (Virtual Memory) | 8
Transfer of a Paged Memory to Contiguous Disk
Space
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | หน่วยความจาเสมือน (Virtual Memory) | 9
Valid-Invalid Bit
ื่ มโยงอยูใ่ นแต่ละรายการ page table
 จะมี valid–invalid bit เชอ
(1  in-memory, 0  not-in-memory)
 ต ้องกาหนดค่าเริม
่ ต ้น valid–invalid เป็ น 0 ทุกรายการ (entries)
 Example of a page table snapshot.
Frame #
valid-invalid bit
1
1
1
1
0

0
0
page table
 ระหว่างการแปลงเลขทีอ
่ ยู่ ถ ้า valid–invalid bit ใน page table
entry เป็ น 0  page fault
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | หน่วยความจาเสมือน (Virtual Memory) | 10
Page Table When Some Pages Are Not in Main
Memory
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | หน่วยความจาเสมือน (Virtual Memory) | 11
การผิดหน้า
Page Fault
 ถ ้าเคยมีการอ ้างอิงบน page ครัง้ แรกของการอ ้างอิงจะ trap to
OS  page fault
ิ ใจว่า
 OS จะมองหาตารางอืน
่ เพือ
่ ตัดสน
 Invalid reference  abort.
 ยังไม่มอ
ี ยูใ่ นหน่วยความจา
 จะหา empty frame
 Swap page ไปยัง frame นัน
้
 Reset tables, validation bit = 1.
 เริม
่ คาสงั่ : Least Recently Used
 block move
เพิม
่ หรือลดตาแหน่งอย่างอัตโนมัต ิ
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | หน่วยความจาเสมือน (Virtual Memory) | 12
Steps in Handling a Page Fault
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | หน่วยความจาเสมือน (Virtual Memory) | 13
จะเป็นอย่างไรถ้าไม่มเี ฟรมว่าง (free frame)?
 การแทนที่ Page (Page replacement) – จะค ้นหาบาง page ใน
้
หน่วยความจาทีย
่ ังไม่ได ้มีการใชงานจริ
ง แล ้วสลับออกไป
(swap out)
 algorithm
 performance – ต ้องใช ้ algorithm ทีท
่ าให ้ผลการค ้นหาจานวน
การผิดหน ้าเหลือน ้อยทีส
่ ด
ุ
 บางหน ้า (page) อาจมีการนาเข ้าออกหน่วยความจาหลายครัง้
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | หน่วยความจาเสมือน (Virtual Memory) | 14
Performance of Demand Paging
 Page Fault Rate 0  p  1.0
 if p = 0 no page faults
 if p = 1, every reference is a fault
 Effective Access Time (EAT)
EAT = (1 – p) x memory access
+ p (page fault overhead
+ [swap page out ]
+ swap page in
+ restart overhead)
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | หน่วยความจาเสมือน (Virtual Memory) | 15
Demand Paging Example
 Memory access time = 1 microsecond
 50% ของเวลาทีม
่ ก
ี ารแก ้ไข page ทีถ
่ ก
ู แทนที่ และต ้องถูกสลับ
ออกไป
 Swap Page Time = 10 msec = 10,000 msec
EAT = (1 – p) x 1 + p (15000)
1 + 15000P
(in msec)
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | หน่วยความจาเสมือน (Virtual Memory) | 16
การสร้างกระบวนการ
Process Creation
้
 Virtual memory ยินยอมให ้ใชประโยชน์
อย่างอืน
่ ได ้ในขณะที่
สร ้างกระบวนการ
- Copy-on-Write
- Memory-Mapped Files
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | หน่วยความจาเสมือน (Virtual Memory) | 17
Copy-on-Write
 Copy-on-Write (COW) ยินยอมให ้ทัง้ parent and child
processes ในการกาหนดค่า share ใน page เดียวกันใน
หน่วยความจา
 ถ ้าแม ้มีการแก ้ไข page ทีใ่ ชร่้ วมกัน ก็จะมีเพียง page นัน
้ ทีถ
่ ก
ู
สาเนาไป
่ เดียวกับการสา
 COW จะมีการสร ้างกระบวนการทีส
่ ะดวกกว่า เชน
page ทีม
่ ก
ี ารแก ้ไข
 Free pages จะถูกจัดสรรจาก pool ของ zeroed-out pages.
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | หน่วยความจาเสมือน (Virtual Memory) | 18
Memory-Mapped Files
้
 Memory-mapped file I/O ยินยอมให ้ file I/O ถูกใชงานเหมื
อนรูทน
ี
การเข ้าถึงหน่วยความจาได ้โดยการ mapping a disk block ไปเป็ น
page ในหน่วยความจา
 ไฟล์จะถูกกาหนดค่าเริม
่ ต ้นของการอ่านโดยใช ้ demand paging
ั สว่ นของ page-sized ของไฟล์ทอ
สด
ี่ า่ นจากระบบไฟล์ไปยัง physical
่ เดียวกับการ
page. ลาดับย่อยของ reads/writes ไฟล์จะดาเนินการเชน
เข ้าถึงหน่วยความจา
 การเข ้าถึงไฟล์อย่างง่ายโดย treating file I/O ผ่านหน่วยความจา
มากกว่าการใช ้ read() write() system calls.
 อนุญาตให ้หลายกระบวนการทาการ map ไฟล์เดียวกันให ้ใช ้ pages
ร่วมกันในหน่วยความจาได ้อีกด ้วย
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | หน่วยความจาเสมือน (Virtual Memory) | 19
Memory Mapped Files
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | หน่วยความจาเสมือน (Virtual Memory) | 20
การแทนทีห
่ น้า
Page Replacement
 การป้ องกันการจัดสรรเกินหน่วยความจาได ้โดยการแก ้ไข page-
fault service routine เพิม
่ เข ้าไปใน page replacement
 ใช ้ modify (dirty) bit ในการลด overhead ของการถ่ายหน ้า
โดยการแก ้ไขเฉพาะหน ้าทีถ
่ ก
ู เขียนลงบนดิสก์เท่านัน
้
 Page replacement จะแยกจากกันอย่างอิสระระหว่าง logical
memory และ physical memory – virtual memory ขนาด
ใหญ่สามารถสร ้างบน physical memory ทีม
่ ข
ี นาดเล็กกว่าได ้
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | หน่วยความจาเสมือน (Virtual Memory) | 21
Need For Page Replacement
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | หน่วยความจาเสมือน (Virtual Memory) | 22
Basic Page Replacement
1. หาตาแหน่งของ page ทีต
่ ้องการบนดิสก์
2. หา free frame:
- ถ ้ามี free frame ก็ใช ้
- ถ ้าไม่ม ี free frame ให ้ใช ้ page replacement
algorithm ในการเลือก victim frame
3. อ่าน page ทีต
่ ้องการไปไว ้บน free frame ใหม่ แล ้ว Update
ตาราง page และ frame
4. เริม
่ ดาเนินการกระบวนการ
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | หน่วยความจาเสมือน (Virtual Memory) | 23
Page Replacement
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | หน่วยความจาเสมือน (Virtual Memory) | 24
Page Replacement Algorithms
 ต ้องการให ้มีอต
ั ราการผิดหน ้าตา่ ทีส
่ ด
ุ (lowest page-fault rate)
 ประเมิน algorithm โดยรัน reference string บนหน่วยความจา
และคานวณจานวน page faults ของ string นัน
้
 In all our examples, the reference string is
1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5.
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | หน่วยความจาเสมือน (Virtual Memory) | 25
Graph of Page Faults Versus The Number of
Frames
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | หน่วยความจาเสมือน (Virtual Memory) | 26
First-In-First-Out (FIFO) Algorithm
 Reference string: 1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5
 3 frames (3 pages สามารถอยูใ่ นหน่วยความจา ณ เวลาใด
เวลาหนึง่ ต่อหนึง่ กระบวนการ)
1
1
4
5
2
2
1
3
3
3
2
4
1
1
5
4
2
2
1
5
3
3
2
4
4
3
9 page faults
 4 frames
10 page faults
 FIFO Replacement – Belady’s Anomaly
 frames ยิง่ มาก  page faults ยิง่ ลดลง
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | หน่วยความจาเสมือน (Virtual Memory) | 27
FIFO Page Replacement
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | หน่วยความจาเสมือน (Virtual Memory) | 28
FIFO Illustrating Belady’s Anamoly
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | หน่วยความจาเสมือน (Virtual Memory) | 29
Optimal Algorithm
 แทนที่ page ทีจ
่ ะไม่ถก
ู เรียกใชอี้ กในเวลาอันใกล ้นี้
 4 frames example
1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5
1
4
2
6 page faults
3
4
5
 จะแทนทีโ
่ ดยวิธใี ด
ิ ธิภาพของอัลกอริธม
 จะวัดประสท
ึ ได ้อย่างไร
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | หน่วยความจาเสมือน (Virtual Memory) | 30
Optimal Page Replacement
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | หน่วยความจาเสมือน (Virtual Memory) | 31
Least Recently Used (LRU) Algorithm
 Reference string: 1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5
1
5
2
3
5
4
3
4
 ใชตั้ วนับ (Counter implementation)
 นั บรายการ (entry) ทุก page ทีเ่ ข ้ามา, ทุกครัง้ ที่ page ถูกอ ้างอิง
ิ
ผ่านรายการ, แล ้วสาเนาค่านาฬกาไปยั
ง counter
้ ย
 เมือ
่ ต ้องการเปลีย
่ น page ก็ให ้มองหา counter เพือ
่ จะใชเปลี
่ น
หน ้า
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | หน่วยความจาเสมือน (Virtual Memory) | 32
LRU Page Replacement
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | หน่วยความจาเสมือน (Virtual Memory) | 33
LRU Algorithm (Cont.)
้
 ใชแบบสแต็
ก (Stack implementation) – เก็บสแต็กของ
ื่ มโยงแบบคู่
หมายเลขหน ้า (page numbers) ในรูปการเชอ
(double link form):
 Page referenced:
 ย ้ายเพ็จนั น
้ ไปยังด ้านบน
 ใช ้ 6 pointers ในการเปลีย
่ น
 ไม่จาเป็ นต ้องค ้นหาเพือ
่ แทนที่
่ ยแก ้ปั ญหา Belady’s Anomaly
 การใช ้ stack algorithm ชว
้ ยนโปรแกรมควบคุมการเรียก
 แต่ต ้องใชอุ้ ปกรณ์ชว่ ยแทนการใชเขี
interrupt เอง
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | หน่วยความจาเสมือน (Virtual Memory) | 34
Use Of A Stack to Record The Most Recent Page References
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | หน่วยความจาเสมือน (Virtual Memory) | 35
LRU Approximation Algorithms
 การเพิม
่ บิตอ ้างอิง (Additional-Reference-bits algorithm)
้
 ใชบนระบบที
ไ่ ม่มอ
ี ป
ุ กรณ์ชว่ ย
 จับคูแ
่ ต่ละหน ้าด ้วย bit, ค่าเริม
่ ต ้นเป็ น = 0 (ยังไม่ใช)้
้ ้ว)
 เมือ
่ หน ้าถูกอ ้างอิง บิตอ ้างอิงกะจะถูกเปลีย
่ นเป็ น 1 (ใชแล
้ ้วหรือ
 การแทนทีใ่ นระบบนีส
้ ามารถตรวจสอบได ้ว่ามีหน ้าใดถูกใชแล
ยัง
 การให ้โอกาสครัง้ ทีส
่ อง (Second chance)
ิ (Clock
้ ตอ ้างอิง (reference bit) ใชการแทนที
้
 ใชบิ
แ
่ บบนาฬกา
ั เปลีย
replacement) เพือ
่ ป้ องกันการสบ
่ นหน ้าทีถ
่ ก
ู เรียกใชบ่้ อย
ออกไป
ิ
 ถ ้าหน ้าถูกแทนที่ (ตามลาดับนาฬกา)
บิตอ ้างอิงจะ = 1 จากนั น
้ :
 เปลีย
่ นบิตกลับไปเป็ น 0
 เปลีย
่ นเวลาทีเ่ ข ้ามาในหน่วยความจาให ้เหมือนเพิง่ เข ้ามา
่ เดียวกัน
 ทาการตรวจสอบหน ้าอืน
่ ๆ ตามหลักการเชน
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | หน่วยความจาเสมือน (Virtual Memory) | 36
Second-Chance (clock) Page-Replacement
Algorithm
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | หน่วยความจาเสมือน (Virtual Memory) | 37
Counting Algorithms
 การใชตั้ วนับการอ ้างอิงของแต่ละหน ้าไว ้
 LFU (least frequently used) Algorithm: การเก็บจานวนครัง้ ที่
หน ้าถูกอ ้างอิง และเลือกทีถ
่ ก
ู อ ้างอิงน ้อยทีส
่ ด
ุ ออกก่อน
 MFU (most frequently used) Algorithm: อยูบ
่ นสมมุตฐิ าน
ทีว่ า่ หน ้าทีถ
่ ก
ู อ ้างอิงน ้อยนัน
้ มีโอกาสทีจ
่ ะถูกมากในเวลาต่อไป
เพราะอาจเป็ นหน ้าทีเ่ พิง่ ถูกย ้ายเข ้ามาในหน่วยความจา
 อย่างไรก็ตาม วิธก
ี ารแทนทีห
่ น ้าทัง้ แบบใชน้ ้อยออกก่อนและ
้
แบบใชมากออกก่
อนนัน
้ เป็ นแนวคิดทีไ่ ม่แตกต่างกันเท่าใดนัก
ิ ธิภาพจึงขึน
ประสท
้ อยูก
่ บ
ั การคาดการณ์ลว่ งหน ้าได ้ถูกต ้องมาก
้
น ้อยแค่ไหน การใชงานมี
คา่ ใชจ่้ ายสูง และสูวิ้ ธก
ี ารแบบเหมาะ
ทีส
่ ด
ุ (OPT) ไม่ได ้
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | หน่วยความจาเสมือน (Virtual Memory) | 38
Page-Buffering Algorithm
 ระบบทีม
่ ักเก็บหน ้าว่างๆ ไว ้เป็ นกลุม
่ ๆ
 เมือ
่ เกิด page fault หน ้าว่างๆ หน ้าหนึง่ ก็จะถูกเลือกมาใช ้ แต่ยัง
ไม่ย ้ายออกไปทันที
 ระบบจะอ่านหน ้าทีต
่ ้องการเข ้ามาในเนือ
้ ทีว่ า่ งได ้เลยโดยไม่ต ้อง
รอให ้มีการย ้ายหน ้าเดิมออกไปก่อน
 ทาให ้ลดเวลาในการย ้ายหน ้าลงมาก เมือ
่ มีเวลาว่าง ระบบค่อยทา
การย ้ายหน ้าทีเ่ ลือกออกไปในภายหลัง จากนัน
้ รวมพืน
้ ทีว่ า่ งเข ้า
ไว ้ในกลุม
่ (clustering)
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | หน่วยความจาเสมือน (Virtual Memory) | 39
Operating System Examples
 Windows NT
 Solaris 2
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | หน่วยความจาเสมือน (Virtual Memory) | 40
Windows NT
 ใช ้ demand paging ร่วมกับ clustering โดยใสใ่ น page รอบๆ





บริเวณทีเ่ กิดการผิดหน ้า
กระบวนการทัง้ หมดจะถูกกาหนด working set minimum
และ working set maximum
Working set minimum คือจานวนตา่ สุดของหน ้าอยูใ่ น
หน่วยความจา
กระบวนการหนึง่ อาจถูกกาหนด working set maximum มีอยู่
หลายๆ หน ้า
เมือ
่ พืน
้ ทีว่ า่ งในหน่วยความจาเหลือกว่าค่าเป้ าหมายทีก
่ าหนดไว ้
(threshold) การตัดแต่ง working set อย่างอัตโนมัต ิ
(automatic working set trimming) ก็จะเริม
่ ทางาน เพือ
่
คืนพืน
้ ทีว่ า่ งของหน่วยความจา
Working set trimming จะย ้ายหน ้าออกจากกระบวนการทีม
่ ก
ี าร
้
ใชงานหน
้า working set minimum ของกระบวนการเหล่านัน
้
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | หน่วยความจาเสมือน (Virtual Memory) | 41
Paging System ของ Windows NT
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | หน่วยความจาเสมือน (Virtual Memory) | 42
Address translation ของ Windows
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | หน่วยความจาเสมือน (Virtual Memory) | 43
Solaris 2
 บารุงรักษารายการของหน ้าว่าง (free pages) เพือ
่ กาหนดให ้กับ
กระบวนการทีเ่ กิดการผิดหน ้า
 Lotsfree – threshold parameter จุดเริม
่ ต ้นของการค ้นหาหน ้า
 การค ้นหาหน ้าจะทาโดยกระบวนการสลับหน ้าออก (pageout
process)
 Pageout scans pages using modified clock algorithm.
 Scanrate คือ อัตราทีห
่ น ้าจะถูกสแกน มีขอบเขตตัง้ แต่
slowscan ถึง fastscan
้ อยหรือไม่ขน
 Pageout ถูกเรียกใชบ่
ึ้ กับจานวนหน่วยความจาทีว่ า่ ง
เหลือมากน ้อยเพียงใด
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | หน่วยความจาเสมือน (Virtual Memory) | 44
Solar Page Scanner
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | หน่วยความจาเสมือน (Virtual Memory) | 45