Manajemen Memori


๐ŸŽฏ Capaian Pembelajaran

Setelah mempelajari materi ini, mahasiswa diharapkan mampu:

  • Memahami konsep dasar manajemen memori
  • Menjelaskan teknik alokasi memori
  • Menganalisis masalah fragmentasi
  • Memahami paging dan segmentation
  • Menghubungkan manajemen memori dengan performa sistem

1. ๐Ÿง  Konsep Dasar Manajemen Memori

1.1 Pengertian

Manajemen memori adalah mekanisme sistem operasi untuk mengelola penggunaan memori utama (RAM) agar dapat digunakan secara efisien oleh berbagai proses.


๐Ÿ–ผ๏ธ Ilustrasi Manajemen Memori

https://images.openai.com/static-rsc-4/ek-dRhXm18p4tI5dVqyZy5osDjy5i-IAaNzbQXuuSoi_QSJrVOdl4v_QmH1A91GREOUIfchh6qXhPRa87Oi7ZakcemeMg3rHnOAUezoxJJNWM8IwbBW4kIndj7p9RHRhL8wZBijOchI0GZ9Bbn4F-EvbJUZ6RKuGBQqw-k1rmwdq4XSx_ufwjoOH5Z0M7dnN?purpose=fullsize
https://images.openai.com/static-rsc-4/kpHQEY2zmF3BoE2kJ4BRGq4hZwfY_Bn1ngZE_NJCG0B27c6_832CqMO9g9a_bVIOJxxIBAyCA753Gs6B_REsOusaoYPpeXOkrJVRyDVgRf3xlkyhRkci9JSz4nsQRZoUe3Ofm-34p1dNMmyefniV0vrt6pxi4KiipGg10QHn5F8Bs74l6HD5S38T2NytPe1N?purpose=fullsize
https://images.openai.com/static-rsc-4/bm2ZWcmkfEJeC77AHpi7JIko1ULB5fn8EkfoVMW3QaDLYoU3uLapJcaaQzt2KLnt0no_H3WnKqKVnVzNmN1NcFa9CbWqCQISpzCUbelZ4o8nTZZ6yt2i6DIOTleoSe4JqeMeeZzpdM6OQLraZ2xE-zCoNBmcefD9NcXxmP5dpJrgwFQ9tnNpKrdfundTZRWT?purpose=fullsize

7


๐Ÿง  Narasi:

Saat banyak aplikasi berjalan bersamaan:

  • OS harus membagi RAM
  • Setiap proses mendapatkan ruang memori
  • OS memastikan tidak terjadi konflik

๐Ÿ“Œ Tanpa manajemen memori โ†’ sistem crash


2. ๐ŸŽฏ Tujuan Manajemen Memori

  • Efisiensi penggunaan memori
  • Proteksi antar proses
  • Mendukung multitasking
  • Mengoptimalkan performa sistem

3. ๐Ÿงฑ Struktur Memori

๐Ÿ–ผ๏ธ Struktur Memori Komputer

https://images.openai.com/static-rsc-4/2IPcVl3izsGmKwNLvNbCOSecEgFM-L0ZWxarIp0O9DHFQKz1Y0JO8sny11AN-bMAOVIS-rhUlAJfOsBnCOZ839WGQR-szl4-fFmu62N3Y-rYnYIhwlkYpSeDUMHIAMG3VDqc7sWpO9EKjOxt8f2_eh5AV5uiqClVKJVHMt07Wgip7OJuPfcIfBFpITg2VcNo?purpose=fullsize
https://images.openai.com/static-rsc-4/FTNJBtFELEuJGFmMmySluagNfKMf4NzgwsHJTmkcGJSXjtIsAixerMbjofiVvrQdqFOwzmk5YYm-BwJS8budAs-ED82p1vMsnEZ6Of9PEIncWxqYjipLHyhpFeAF6OYhHsHETNXwAziIJY4xeZL-XaSkLLt6g9VoQSVEcxT9y0Ex1ivQBh6W_dGx8pezQ9JT?purpose=fullsize
https://images.openai.com/static-rsc-4/TktSmHpWuPU6GoKxX6qPeh6RzaMtVJ14WwxJmjFEEg8NKlljnQ-hlp8x-x3l9KjKXGDJQ1uJwgBxIkdIg7AGWdGt6VS5RNEkGU2RL3-7fN2rqqe46dKVjjzhGYCBxnTqR47fQga6jf6k0qNAKtb8iBU00nARWPnLUoAx1vXARchU_BBp0QkqdlSUo5nDE7TH?purpose=fullsize

9


Jenis Memori:

  • Register โ†’ sangat cepat
  • Cache โ†’ cepat
  • RAM โ†’ utama
  • Disk โ†’ penyimpanan

๐Ÿง  Narasi:

Semakin dekat ke CPU โ†’ semakin cepat tetapi mahal


4. ๐Ÿ“ฆ Teknik Alokasi Memori


4.1 Contiguous Allocation

Memori dialokasikan dalam satu blok berurutan.


๐Ÿ–ผ๏ธ Contiguous Allocation

https://images.openai.com/static-rsc-4/hRktOK5q_qWEknD7OGBLahAQj23uK-RODMjzadVlXM2hFwpuzGRdJ8nQ-_q-Rn6IazTrKsbFk9e_rOI4MtNSHEcOQC47sy-BiY50WR34lftiR8PdKPA_o-gR38n8_VmvqrPozfTo0GKEojzZtO_NwQwxhhHztqdXjn_OCyYLExyyvqYuaxn50zasQfUoJ4kX?purpose=fullsize
https://images.openai.com/static-rsc-4/-I0qfOUDO9oYL1VFiP-FVZbXsAM7vFLE-mvAsEpg-YBNsgI1Gsv4dn5oF4DtliA9arB5B__5Fso07axu3MK_Z9pZ-SBfxozHXk6dCbsGad7dcq7F1pjvVMyFG4lLmLve-d4JzU4dE6f4ZiEmo40OCAs6vOYAtuFVyocNzMm33AIfOx4Oqnrld5YlnZE_IQaS?purpose=fullsize
https://images.openai.com/static-rsc-4/K-joMr0vKmx0V5U0fHzs72MfKyuXRtT66IIRkWY_tyaYcrPVWEvyeqBN4o_R0lL9N9dWNRVb3JR1XtZenrpWrVCZt3BSbJo7RSNmSi499Mb9wlyMaN5VnaQ3sdkq9vbhwKTOBMTJcXI6RJNCeiguK3-f-EA-13tfUAJQFKb0bN2gYScutqjB8Gez4fEO4R_U?purpose=fullsize

5


Kelebihan:

  • Sederhana

Kekurangan:

  • Fragmentasi tinggi

4.2 Non-Contiguous Allocation

Memori tidak harus berurutan.


๐Ÿง  Narasi:

Digunakan pada sistem modern karena lebih fleksibel.


5. โš ๏ธ Fragmentasi Memori


5.1 Internal Fragmentation

Ruang kosong dalam blok


5.2 External Fragmentation

Ruang kosong terpisah


๐Ÿ–ผ๏ธ Fragmentasi

https://images.openai.com/static-rsc-4/YbVkFzI3o762P5mWCHloRFAkcaLRX_YhXDcfSLnqoCxaIL90Ue8oYmv2aHpXYEzXYQWMmbM2UvrQy3eRcpyUy6Yss9HMIq1RwFdK4JG8LQeClibt8TGkpEMCVTRpkrAurk_4z0gY0thxNBEf1vGITrT_4LvGWES2m9nMXZ399zfoJ5C-t2Qqe0TmsUbABQY3?purpose=fullsize
https://images.openai.com/static-rsc-4/hRktOK5q_qWEknD7OGBLahAQj23uK-RODMjzadVlXM2hFwpuzGRdJ8nQ-_q-Rn6IazTrKsbFk9e_rOI4MtNSHEcOQC47sy-BiY50WR34lftiR8PdKPA_o-gR38n8_VmvqrPozfTo0GKEojzZtO_NwQwxhhHztqdXjn_OCyYLExyyvqYuaxn50zasQfUoJ4kX?purpose=fullsize
https://images.openai.com/static-rsc-4/M4Xy_F3u9dgKacALdXfmPHBRjd_hPyGlW8JcjcGynKrXODd0j3TBEumHly6XL_PaonRxHj2-iX9RZzClpUMYd6BqEAyt0_G1jdBlpZlRE7M4iUBJaj8mdaaddPCg6NLtIhnqz-WEcZ86eMdJ0jvPYOgp6LgevwAKJP0f8vYN3aYMAeeq3slpe7W95BMdpx6q?purpose=fullsize

8


๐Ÿง  Narasi:

Fragmentasi menyebabkan:

  • Pemborosan memori
  • Penurunan performa

6. ๐Ÿ”„ Paging


6.1 Pengertian

Paging membagi memori menjadi blok kecil:

  • Page (proses)
  • Frame (memori)

๐Ÿ–ผ๏ธ Paging Diagram

https://images.openai.com/static-rsc-4/2uiRTReyzHfFPFZMsYs4VgJmBC10C1WweB8URDa78AFDlW58vBUM2LcYTx3qJD07_mY79jl8fCBOp8rEDe3-hYqrpq0w1EJ62vMxg7QVeUFshqIt4E3uJ0-dfROyaLMZgY_uFeGO5IzNWtlp9tY3DXn9Ir62vi5GDS-A3aJ0B7kIo5K64vFesH11PTDduD3Z?purpose=fullsize
https://images.openai.com/static-rsc-4/QSLL6oiKjsLx_6pQYBAbDskbcrPgK46Xg9mKQudtVdeyt-J9SV13U7dFIK0FjuYRrMccTUf1C9b2PtSYoQrwCuUR7oB0xByiYUl7nzuux-bGBH3Vhv5gngbHhbMqCn61JtbGjCqLwE3Vwl6Bwqkex80rOjdZarSA_X7SgC1uhjvLXJ-IHglGeEE80bqfz1wS?purpose=fullsize
https://images.openai.com/static-rsc-4/YbVkFzI3o762P5mWCHloRFAkcaLRX_YhXDcfSLnqoCxaIL90Ue8oYmv2aHpXYEzXYQWMmbM2UvrQy3eRcpyUy6Yss9HMIq1RwFdK4JG8LQeClibt8TGkpEMCVTRpkrAurk_4z0gY0thxNBEf1vGITrT_4LvGWES2m9nMXZ399zfoJ5C-t2Qqe0TmsUbABQY3?purpose=fullsize

7


6.2 Page Table

Digunakan untuk memetakan page ke frame


๐Ÿง  Narasi:

Paging:

  • Menghilangkan external fragmentation
  • Tetapi bisa menyebabkan internal fragmentation

7. ๐Ÿงฉ Segmentation


7.1 Pengertian

Memori dibagi berdasarkan logika program:

  • Code
  • Data
  • Stack

๐Ÿ–ผ๏ธ Segmentation Diagram

https://images.openai.com/static-rsc-4/mzootT6O-UOskCRoHBjwjmAdUoGB8Dcq5HwsPJpUCBtAeLkxofpdWcJwsRFpfe-OAbHEiNAiNbq7BPODcgYb-H9H1rENKDfWmHUy45KVCb_0Aer6Uri-ZZPat40zjvamt9RLiz3eysFPW1x_7hOBcNcIW_srkcIT-v33D0kL2b3pzdueN4zm49xEr5A8RQhE?purpose=fullsize
https://images.openai.com/static-rsc-4/zVeSE3BVs4xhm5vdPqyaAxJyCoYMw5sLYkX3rwU93XkjAG1dO1N0-dKQ0-Io8TsFLpLzzBx0uEhLuqTCr3WbinoxwLPpiK4F63hSt1AXoB2XXWaVi0p15MtUMBS9EJybP7gJNS1FxEDACmWXPFsUIvpDavkjrKNzcy0gQDMak-VbkVb9NrkBptgonusLqXpp?purpose=fullsize
https://images.openai.com/static-rsc-4/D4ERiCccXy9c9PRLZ7f166t-ZI7kSuNGBdkZm9AFeD1Wi5Kr6Bjtdr-bmWrkz0UOfgzlGKjzMcgHTMaeJWIkqdk6MXk2-ExNI6lQdbj8vw2R9t3EyUwU8UnvKb-SK85L-Q90F05PF1OeOOY0h4lJ9Fpmc-oDAQmHl52ft_rNtyAE4w-gJ2OKfCYCOuxCBeOn?purpose=fullsize

7


๐Ÿง  Narasi:

Segmentasi:

  • Lebih fleksibel
  • Sesuai struktur program

โš ๏ธ Kekurangan:

  • External fragmentation

8. ๐Ÿ”— Perbandingan Paging vs Segmentation

๐Ÿ“Š Tabel Perbandingan

AspekPagingSegmentation
PembagianFixedVariable
FragmentasiInternalExternal
KompleksitasSedangTinggi
FleksibilitasRendahTinggi

9. ๐Ÿง  Teknik Lanjutan


9.1 Swapping

Memindahkan proses antara RAM dan disk


9.2 Compaction

Menggabungkan ruang kosong


๐Ÿง  Narasi:

Digunakan untuk mengatasi fragmentasi


10. ๐Ÿ’ป Studi Kasus

Kasus:

Mahasiswa membuka:

  • Browser
  • VS Code
  • Spotify

๐Ÿ“Œ Analisis:

  • OS membagi memori
  • Menggunakan paging
  • Menghindari konflik

11. โš ๏ธ Permasalahan dalam Manajemen Memori

  • Fragmentasi
  • Overhead page table
  • Thrashing (akan dibahas di virtual memory)

12. ๐Ÿ“ Latihan

  1. Apa fungsi manajemen memori?
  2. Jelaskan perbedaan paging dan segmentation!
  3. Apa itu fragmentasi?
  4. Mengapa paging penting?

๐ŸŽฏ Kesimpulan

  • Manajemen memori penting untuk efisiensi sistem
  • Ada berbagai teknik alokasi
  • Paging dan segmentation adalah metode utama
  • Fragmentasi menjadi tantangan utama

๐Ÿš€ Pengembangan Materi Selanjutnya

โžก Virtual Memory
โžก Page Replacement
โžก Thrashing