Virtual Memory


🎯 Capaian Pembelajaran

Setelah mempelajari materi ini, mahasiswa diharapkan mampu:

  • Memahami konsep virtual memory
  • Menjelaskan mekanisme demand paging
  • Menganalisis page replacement algorithm
  • Memahami fenomena thrashing
  • Mengaitkan virtual memory dengan performa sistem

1. 🧠 Konsep Dasar Virtual Memory

1.1 Pengertian

Virtual Memory adalah teknik yang memungkinkan sistem operasi menjalankan program seolah-olah memiliki memori lebih besar dari RAM fisik.


πŸ–ΌοΈ Ilustrasi Virtual Memory

https://images.openai.com/static-rsc-4/PPYarV3bMfFrEetoU_XVbabtAEq43B4qYwwHxFFU-0VbD-WuYaqKzvPHkf8uFu6qzLRVjdebgCAllY8-yUdPjLw7yYxr7pEanK-JKIuABY8-hO6y4vpb3y4v7si_Lrbu15DIquwzCv2ZwA02vrGc4u2KZS3Dayc22mREUUr1aimeK29F0uyarImbb5sTjszM?purpose=fullsize
https://images.openai.com/static-rsc-4/ob_bNK_2HyrnbHi6M__sp4VJ5R_-1ajCRMK5xfAFXg5oh6ucVDnSjiEDawu3QGiMGz1QbXNhXaAjntE3f8nCl_NAOZQf_lQjW9a5r8djcuYLlOPpkPnvu4EOQArxbWNmGwQG2AXmwKz-vY_aW6tFb0zOzi03vLkgOAgvQMIZM9xMBQ5ufylQQkD-xn6gwB6X?purpose=fullsize
https://images.openai.com/static-rsc-4/YJjetxSHa8yPChp4dZ8jBlQy7S-0e2etzoWVc-JWzofKjjLLJhANSpbZ6KpOHywhkzzq1rEHPbF7ipq1lc9c5DRoKpVmUrSnT76jvn87I7msNoStFCvJVEkzNJSvoKmC4nXUG-BmwJU9Wux7wxK-VREUd0bMjvocTKwlOuraJO8LZxAKaTTx8gjLq4GNRwxN?purpose=fullsize

7


🧠 Narasi:

Ketika RAM penuh:

  • OS memindahkan sebagian data ke disk (swap)
  • Program tetap berjalan tanpa error

πŸ“Œ Virtual memory menciptakan ilusi β€œmemori tak terbatas”


2. 🎯 Tujuan Virtual Memory

  • Mengatasi keterbatasan RAM
  • Mendukung multitasking
  • Meningkatkan efisiensi penggunaan memori
  • Menjalankan program besar

3. πŸ”„ Konsep Address Space

3.1 Logical Address

Alamat yang digunakan oleh program

3.2 Physical Address

Alamat di memori nyata (RAM)


πŸ–ΌοΈ Address Mapping

https://images.openai.com/static-rsc-4/9T0Ns0ZbAetLXzVy2oH5HC7ZQSM77wrEXTO4CNnqec1SIO_ufKQh8aQc6GVPiv_mGwE_-kUL5nUSjfOg_8oQ91MdY8oOpxCIq2ZKUVf9fNiDhYzesPMFZZas2b-Gnsk3NFOhg4_q0pT418_23Rile_jze6TA_bZaOTOFrwVBnCje_FTUziEAHVqfL5NtJNi7?purpose=fullsize
https://images.openai.com/static-rsc-4/EQasB8oDMtD6-mZ4Rb52umUhf4ItGErKHUcZ4C7VDf_SwotqLGtnoujtM_wTSZeg9bYnwUIRffex3XcTrGPHLRHdsQKf_saMZ5lvzrrfW2tCmcnLAmK6MM_z8HR7Httpeuw10KpupfrkJulyESDHxJWrb76UJ5KkbLywFl-0RAV52pNq6OiGjwOkBGZm6AUa?purpose=fullsize
https://images.openai.com/static-rsc-4/F88fnEuft04nXd-5NQw28qBRQ0GHuSwLA64AOBi7lb73UqFIwy_0ps4051Y2zpwwHBwWPmUR5GVw7aWGiHBSuZmccW8L5EatupXS-ikyNV89c36ceGYIgX_B3JpQ3Y3uC-QOu4tqXvjK5dCSXBoTTj9wfNRMBOrUJsoyXSXEpX4CqKAVad_gxQv1E9v4x8VY?purpose=fullsize

7


🧠 Narasi:

Mapping dilakukan oleh:
➑ MMU (Memory Management Unit)


4. πŸ“¦ Demand Paging

4.1 Pengertian

Hanya memuat page yang dibutuhkan ke memori.


πŸ–ΌοΈ Demand Paging

https://images.openai.com/static-rsc-4/t3n9y7L_m7vEDWqo3ArP5RB3P0HvqUKu44Q20Aed-7ii2qolI6zLtNWUu-t8MNLEv62qIwcO8YPa_FYQvJnVqPpZOpsgQrcM4AnfuSH7vXeYFrRmEXCoCG-WkgPRMefBpvhUWqh4f8ZHvzuculBxaQm1DgOHjbNIfIZkRWPWPBnyCI87tf7_mNDY6utALi4k?purpose=fullsize
https://images.openai.com/static-rsc-4/FKdqXLFLfzvLqz8YeiEfcHCwTIudUAlwdI4bjSXZmVyNqhXhX42-fxjKxx8XCjb9LJLl5CJzLCefWxF-jBNbaaHGCSMouKX_rVm7EPEy3wNqdYU9afLh68N60ctNw9FnDCG9YiC6LAuHuwnCgvDx_Ky_kotV06cutzEL6ypejivtOM2vmYV5i9MCizwaIaKp?purpose=fullsize
https://images.openai.com/static-rsc-4/s_a_KJ-HtZ0o45B5u6UmPnpKQQycCd4qOhpa270pQ8V3bEw9MVLuxkOU4dawphHKiD3j5oM-2UF1YsocNGxAorq58gZh3sE1aRfPrwZAXVPjqYw_oDUlQPcPOI4yKPz4tiB0hNYOFnI4Jhp1IdKG-GHxdxKYZ9D9ZDJdcM4L503l-lCNvD3IiyF3QY6j_Wyx?purpose=fullsize

7


4.2 Page Fault

Terjadi ketika page tidak ada di memori.


πŸ”„ Proses:

  1. CPU meminta page
  2. Page tidak ada β†’ page fault
  3. OS mengambil dari disk
  4. Memasukkan ke RAM

🧠 Narasi:

Demand paging meningkatkan efisiensi karena:

  • Tidak semua program dimuat sekaligus

5. βš™οΈ Page Replacement Algorithm

Ketika memori penuh, OS harus memilih page yang diganti.


5.1 FIFO (First In First Out)

πŸ–ΌοΈ FIFO

https://images.openai.com/static-rsc-4/Ychm5mKmJamPLArPNFU_cAdpJlC9HcXmVmhb7GIFKt8rBvZdH9uwuaYGszIHwj-QJ_H-u6rzXRlf7ucJnTh1-Zpcnd1IsVGSnHq4s4c48WsVbE071EXlDkJBMndDMZZZeFLskWzn6bQd9M86Ovmk1m9DAdeqpMZ2t2WO_JQADRIgahobEztkFA0KzG_pr62q?purpose=fullsize
https://images.openai.com/static-rsc-4/FKdqXLFLfzvLqz8YeiEfcHCwTIudUAlwdI4bjSXZmVyNqhXhX42-fxjKxx8XCjb9LJLl5CJzLCefWxF-jBNbaaHGCSMouKX_rVm7EPEy3wNqdYU9afLh68N60ctNw9FnDCG9YiC6LAuHuwnCgvDx_Ky_kotV06cutzEL6ypejivtOM2vmYV5i9MCizwaIaKp?purpose=fullsize
https://images.openai.com/static-rsc-4/RhTZTixeM6QUDbRczyM32cj1wCplVtRehfg71hps16Trkz7ClXHZ5Qc5rgJqhSjZht3caZcZgGgYq8jusEqMG7qnewXFq7mjdxJ6zpT5a7ueDluJfTKCS5n2p6LTh8C3tiCbevMWMICRCUYj2P3OacedQUXvrhWL3LGpwg-TQlA1xBqTKOUzpXvtBsBaaAYK?purpose=fullsize

6

🧠 Konsep:

Page yang masuk pertama β†’ keluar pertama


βœ… Kelebihan:

  • Sederhana

❌ Kekurangan:

  • Tidak optimal

5.2 LRU (Least Recently Used)

πŸ–ΌοΈ LRU

https://images.openai.com/static-rsc-4/RUOSnQIwYR9tIGcgfQ9mwBrYlCaYsFhRaOCqRVzK9-QOKc4LSeFG-EP0lWaMwVXs8KcnBDMm1RVXB0FvP7bH3Knr0TS4uqcHK7jV_ObVyb7jXBxEhkJgRc-Ge3U3RDlSMW4ffgRak6Hw7jHOolh9HvQTQJjlEazZ7DTYJ3-FncU35DroyhgrlvxKI1eKqh19?purpose=fullsize
https://images.openai.com/static-rsc-4/IQ-LoBjnDZ8Diagv0SZ8lmIGKECgcSCDf4UwOnZxddWfTIbhUiow0VUynxHgxEM4p4dLFEkRj4x5jPtv7Hz8AWe28TcN770rxu90kmOvXK3AMMMBJopv0XlMOoIppZjgUsQpk_GUkHC_I5K-kOXF3EzQq5iZAaJA1gUdT0iPKcU8s0Mx1gSSe6GirDEAYFCT?purpose=fullsize
https://images.openai.com/static-rsc-4/iYb3R-MXP_4p4PuF4QHl346upo8tzmnboIZ6HYgOu0ez1UbqevlgfC84csHix5-z2DIglEUHcWqMnvJ8MrUcaq7MQN3ZQFuQMnAnEQhcMC86Won3vWE2a0dbUynboz3SyfPWh57TtFxRsjYnmk225zKWI3zkXHqwoxRkmIg3H-lp1gQyZHxOQrvSANWCeD4V?purpose=fullsize

6


🧠 Konsep:

Page yang paling lama tidak digunakan β†’ diganti


βœ… Kelebihan:

  • Lebih optimal

❌ Kekurangan:

  • Kompleks

5.3 Optimal Algorithm

πŸ–ΌοΈ Optimal

https://images.openai.com/static-rsc-4/V338SmLgmP0hKGbz33ym-VNWk0yRAc1r_z16R9rL7NOPmDEOeHkZURiCyjOKcNYSn6zmizIUQhXsytZnbmtODzWogLv3HQOcwGF3FkxVB7t-TF9KfUB_AZ-zqYEG1ypbKB7q06LKxqdzhxdmrPn0djW6mqrjc9qRA9j5X4NRseXKH0dhT145fWZC6EZQ-up4?purpose=fullsize
https://images.openai.com/static-rsc-4/2eYJkbXFm_kF-q1lFEr2C7DB3bt_-5I7zN4WoICTebyIdSKsdSt3ovOsU3EyyzoNZG6_ZjCZRuUAiiokBX-V_uDeX81a_ldaWhNTY3oGIrZJy9M00zlkW329KzHDeYeJwv2lMGZ1j6MCcGq8Fg-UsRdO3nHwzCiEl8mLTjPQZ9sBUS9ys5VPMz5J28nFaru3?purpose=fullsize
https://images.openai.com/static-rsc-4/LvMGIP76iVJkQTYfvoKb_doYYYFxCrBhU4gqBBHqoOM5cdMUvwysuaQVUNExBfXcq8LSGp0CqNENtb1YjEHzUAHeiGE2U1vBtSrkF5OfRiVWiH3W6s9q3qjm8s8BUZkIlcURlNQy1kAv4OVo69iTq_oG3N2t3ghIlrpRlI4WWPVz3xkAckLNMUYOEjxLrxUh?purpose=fullsize

6


🧠 Konsep:

Mengganti page yang paling lama tidak akan digunakan


❗ Catatan:

Tidak bisa diimplementasikan secara nyata (butuh prediksi masa depan)


6. ⚠️ Thrashing

6.1 Pengertian

Thrashing adalah kondisi di mana sistem terlalu sering melakukan paging sehingga performa menurun drastis.


πŸ–ΌοΈ Thrashing Diagram

https://images.openai.com/static-rsc-4/YM3a-1Yzxi8B87qFgk9zGEyakYtA12Wg-fgEr0BQP0f0v0ckW0k5MAhvKIUhU-l2mCOFwbFkbtn8y4azjKfqGfG8zOn8XFd-FqSnSSp2ai6SDxSAAGQKTj4e6JrHp3RNxdanJKsyV8rtoAC9hKNbLAgG2uhMKjT9su6XEQVM0zS-6sMOitIUASXfjIUyjawu?purpose=fullsize
https://images.openai.com/static-rsc-4/s8hxMDIKaQlDsZc1ViJED3dmKGGtB9-7apRZZWQN4CdYWlboZ_gkIZCzo1VO_Z3m0KnPT0NWVo_kQW8f1K05IkqCHVutYW6PqOjoWCLrzFRRklPEEj97OvignyTQ1rUc-ieglip8vrfMKZVkjsVzslvt4h_NOvOkMRLQYlN1Uzth-YxRr8eBASi-rqkCf4QW?purpose=fullsize
https://images.openai.com/static-rsc-4/EB37vDZi7eVlOG-qv7cr3ipAp41iXUaugh-78qfv43syw8RSbFRzKij4G6Esorl3zbNQzBQaNdYysCUJ-gS2OYwpGVse1QbLTsGsgAcFn_rytzQELRb06B7k9w3NQDqlc64TbMxqvvMvcbUV2C7l001z6hBFV-TynKTTS1T_Frwhh3lpBlsAFk30gq6bF3Ge?purpose=fullsize

5


🧠 Narasi:

  • CPU sibuk memindahkan page
  • Proses tidak berjalan optimal

Penyebab:

  • Terlalu banyak proses
  • Memori terlalu kecil

7. πŸ“Š Perbandingan Algoritma

AlgoritmaKelebihanKekurangan
FIFOSederhanaTidak efisien
LRULebih baikKompleks
OptimalPaling optimalTidak realistis

8. πŸ”— Hubungan Virtual Memory dengan Sistem

  • Mendukung multitasking
  • Meningkatkan efisiensi RAM
  • Memungkinkan program besar berjalan

9. πŸ’» Studi Kasus

Kasus:

Mahasiswa membuka:

  • Browser
  • VS Code
  • Zoom

πŸ“Œ Analisis:

  • RAM tidak cukup β†’ OS gunakan swap
  • Paging aktif
  • Jika berlebihan β†’ thrashing

10. πŸ§ͺ Contoh Sederhana

Reference string:

7 0 1 2 0 3 0 4

πŸ“Œ Digunakan untuk:

  • Menghitung page fault

11. πŸ“ Latihan

  1. Apa itu virtual memory?
  2. Jelaskan demand paging!
  3. Apa itu page fault?
  4. Bandingkan FIFO dan LRU!
  5. Apa itu thrashing?

🎯 Kesimpulan

  • Virtual memory memperluas kapasitas memori
  • Demand paging meningkatkan efisiensi
  • Page replacement penting untuk performa
  • Thrashing harus dihindari

πŸš€ Pengembangan Materi Selanjutnya

➑ File System
➑ I/O Management
➑ Security