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