Sesi 1 & 2 – Virtual Memory
Virtual Memory adalah sebuah alokasi memori dimana memory secondary dapat dialamatkan sebagai bagian dari memory utama.
Perbedaan antara Real Memory & Virtual Memory:
- Real Memory : Merupakan memori aktual yang berupa RAM
- Virtual Memory : Memory dalam disk yang membantu dalam efisiensi multiprogramming dan meringankan beban user dalam pembagian memory utama
Paging adalah suatu manajemen pada sistem untuk mengatur program yang sedang berjalan.
Setiap proses memiliki page table nya masing-masing, dan dalam setiap page tersebut berisi frame number sesuai dengan page di main memory.
Gambar diatas merupakan ilustrasi cara kerja penterjemahan alamat dalam sistem Paging.
Gambar diatas merupakan contoh dari Page Table 2 level.
Sedangkan gambar diatas merupakan ilustrasi dari struktur Inverted Page Table.
Segmentation mengijinkan programmer untuk melihat memory sebagai beberapa lokasi address atau segments.
Beberapa keuntungan dari Segmentation:
- Mempermudah dalam menghandle struktur data yang terus berkembang.
- Mengijinkan program untuk diubah dan dikompile kembali secara individu
- Dapat digunakan untuk menshare data antar proses dan proteksi.
Gambar dibawah ini merupakan ilustrasi cara kerja penterjemahan alamat dalam sistem Segmentation.
Gambar diatas merupakan ilustrasi penterjemahan alamat dalam sistem gabungan antara Paging dan Segmentation, dimana space address dari user dibagi menjadi beberapa segment, kemudian masing-masing segment tersebut dipecah lagi menjadi beberapa page yang sama panjangnya dengan frame memory utama.
Dalam sistem gabungan antara Paging dan Segmentation, proses Segmentation dapat dilihat oleh programmer, namun proses Paging bersifat transparan bagi programmer.
Dalam proses penanganan memory sendiri, ada 4 metode yang dapat dilakukan untuk mengalokasikan dalam suatu page, yang akan dijelaskan melalui gambar ilustrasi berikut: