KONSEP DASAR VIRTUAL MEMORI DAN DEMAND PAGING

BAB I

PENDAHULUAN

1.1         LATAR BELAKANG

Selama bertahun-tahun, pelaksanaan manajemen memori pada intinya adalah dengan menempatkan semua bagian proses yang akan dijalankan ke dalam memori sebelum proses dapat mulai dieksekusi. Dengan demikian semua bagian proses tersebut harus memiliki alokasi sendiri di dalam memori fisik. Pada kenyataannya tidak semua bagian dari program tersebut akan diproses, pada memori berkapasitas besar, hal-hal ini tidak akan menjadi masalah. Namun pada memori dengan kapasitas yang sangat terbatas, hal ini akan menurunkan optimalisasi utilitas dari ruang memori fisik (memori utama). Setiap program yang dijalankan harus berada di memori. Memori merupakan suatu tempat penyimpanan utama (primary storage) yang bersifat sementara (volatile). Ukuran memori yang terbatas dapat menimbulkan masalah bagaimana menempatkan program yang berukuran yang lebih besar dari ukuran memori fisik (memori utama) dan masalah penerapan multiprogramming yang membutuhkan tempat yang lebih besar di memori.

1.2         RUMUSAN MASALAH

  1. Konsep Dasar Virtual Memori
  2. Cara Kerja Demand Pagging

BAB II

PEMBAHASAN

 2.1         KONSEP DASAR VIRTUAL MEMORY

Manajemen memori pada intinya adalah menempatkan semua bagian proses yang akan dijalankan kedalam memori sebelum proses itu dijalankan. Untuk itu, semua bagian proses itu harus memiliki tempat sendiri di dalam memori fisik.

Tetapi tidak semua bagian dari proses itu akan dijalankan, misalnya:

  • Pernyataan atau pilihan yang hanya akan dieksekusi pada kondisi tertentu. Contohnya adalah: pesan-pesan error yang hanya muncul bila terjadi kesalahan saat program dijalankan.
  • Fungsi-fungsi yang jarang digunakan.
  • Pengalokasian memori yang lebih besar dari yang dibutuhkan. Contoh: array , list dan tabel.

Pada memori berkapasitas besar, hal-hal ini tidak akan menjadi masalah. Akan tetapi, pada memori yang sangat terbatas, hal ini akan menurunkan optimalisasi utilitas dari ruang memori fisik. Sebagai solusi dari masalah-masalah ini digunakanlah konsep memori virtual.

Memori virtual adalah suatu teknik yang memisahkan antara memori logis dan memori fisiknya. Teknik ini menyembunyikan aspek-aspek fisik memori dari user dengan menjadikan memori sebagai lokasi alamat virtual berupa byte yang tidak terbatas dan menaruh beberapa bagian dari memori virtual yang berada di memori logis. Berbeda dengan keterbatasan yang dimiliki oleh memori fisik, memori virtual dapat menampung program dalam skala besar, melebihi daya tampung dari memori fisik yang tersedia.

Prinsip dari memori virtual yang patut diingat adalah bahwa: “Kecepatan maksimum eksekusi proses di memori virtual dapat sama, tetapi tidak pernah melampaui kecepatan eksekusi proses yang sama di sistem tanpa menggunakan memori virtual.”

Konsep memori virtual pertama kali dikemukakan Fotheringham pada tahun 1961 pada sistem komputer Atlas di Universitas Manchester, Inggris (Hariyanto, Bambang : 2001). Sebagaimana dikatakan di atas bahwa hanya sebagian dari program yang diletakkan di memori fisik. Hal ini memberikan keuntungan yaitu:

  • Berkurangnya proses I/O yang dibutuhkan (lalu lintas I/O menjadi rendah). Misalnya untuk program butuh membaca dari disk dan memasukkan dalam memory setiap kali diakses.
  • Space menjadi lebih leluasa karena berkurangnya memori fisik yang digunakan. Contoh, untuk program 10 MB tidak seluruh bagian dimasukkan dalam memori fisik. Pesan-pesan error hanya dimasukkan jika terjadi error.
  • Meningkatnya respon, karena menurunnya beban I/O dan memori.
  • Bertambahnya jumlah user yang dapat dilayani. Ruang memori yang masih tersedia luas memungkinkan komputer untuk menerima lebih banyak permintaan dari user .

Gagasan utama dari memori virtual adalah ukuran gabungan program, data dan stack melampaui jumlah memori fisik yang tersedia. Sistem operasi menyimpan bagian-bagian proses yang sedang digunakan di memori fisik ( main memory ) dan sisanya diletakkan di disk. Begitu bagian yang berada di disk diperlukan, maka bagian di memori yang tidak diperlukan akan dikeluarkan dari memori fisik ( swap-out ) dan diganti ( swap-in ) oleh bagian disk yang diperlukan itu.

Memori virtual diimplementasikan dalam sistem multi programming. Misalnya: 10 program dengan ukuran 2 Mb dapat berjalan di memori berkapasitas 4 Mb. Tiap program dialokasikan 256 KByte dan bagian-bagian proses swap in ) masuk ke dalam memori fisik begitu diperlukan dan akan keluar ( swap out ) jika sedang tidak diperlukan. Dengan demikian, sistem multi programming menjadi lebih efisien.

Memori virtual dapat dilakukan melalui dua cara:

  • Permintaan pemberian halaman ( demand paging )
  • Permintaan segmentasi ( demand segmentation ). Contoh: IBM OS/2. Algoritma dari permintaan segmentasi lebih kompleks, karena itu jarang diimplementasikan.

2.2         DEMAND PAGING

Demand Paging atau permintaan pemberian halaman adalah salah satu implementasi dari memori virtual yang paling umum digunakan. Demand paging pada prinsipnya hampir sama dengan permintaan halaman ( paging ) hanya saja halaman ( page ) tidak akan dibawa ke dalam memori fisik sampai ia benar-benar diperlukan. Untuk itu diperlukan bantuan perangkat keras untuk mengetahui lokasi dari page saat ia diperlukan. Page diletakkan di memori hanya jika diperlukan. Hal ini menyebabkan kebutuhan I/O lebih rendah, kebutuhan memori lebih rendah, respon lebih cepat dan lebih banyak user yang menggunakan.

Proses disimpan di memori sekunder (disk). Jika proses akan dieksekusi, maka dipindah (swap) ke memori. Menggunakan lazy swapper untuk melakukan swapping bila page tersebut akan  digunakan yang berarti sebuah page tidak pernah ditukar ke memori kecuali page diperlukan. Jika page diperlukan, dilakukan acuan ke page tersebut, tetapi jika acuan invalid maka dilakukan penghentian.

Untuk membedakan antara page pada memori dengan page pada disk digunakan valid-invalid bit. Tabel page untuk page yang berada di memori diset “valid’, sedangkan tabel page untuk page yang tidak sedang di memori (ada pada disk) diset “invalid”.

Akses ke page yang diset “invalid” menyebabkan page fault, yang menyebabkan trap ke sistem operasi. Karena status (register, kode kondisi, counter instruksi) dari proses ter-interrupt disimpan bila terjadi page fault, proses dapat dimulai lagi pada tempat dan status yang sama, kecuali page yang cocok sedang di memori dan sedang diakses. Prosedur untuk menangani page fault.

  • Sistem operasi melihat tabel untuk menentukan jika acuan invalid maka proses dihentikan dan page sedang tidak berada di memori.
  • Jika acuan invalid dilakukan trap ke sistem operasi.
  • Sistem mencari frame kosong
  • Sistem melakukan proses swapping ke frame bebas.
  • Tabel page di-reset, bit valid-invalid diset 1 atau valid
  • instruksi di-restart.

Apabila tidak ditemukan frame bebas maka dilakukan page replacement yaitu mencari beberapa page di memori yang tidak digunakan kemudian dilakukan swap out ke backing store. Terdapat beberapa algoritma page replacement dimana performansi algoritma diharapkan menghasilkan jumlah page fault minimum. Beberapa page kemungkinan dibawa ke memori beberapa kali Perangkat keras yang dibutuhkan untuk mendukung demand paging sama dengan perangkat keras untuk sistem paging dengan swapping yaitu Tabel page : table mempunyai kemampuan untuk memberi entry bit valid-invalid atau nilai khusus untuk bit proteksi

Memori sekunder : digunakan untuk membawa page yang tidak di memori dan biasanya adalah disk kecepatan tinggi yang disebut swap device.

2.3         CARA KERJA VIRTUAL MEMORI

Virtual Memori digunakan dengan membuat suatu file khusus yang disebut swapfile atau paging file. Virtual memory digunakan pada saat operating system kehabisan memory, dimana o.s. akan memindahkan data yang paling terakhir diakses ke dalam swapfile di hardisk. Hal ini mengosongkan/ membebaskan beberapa ruang kosong pada memory untuk aplikasi yang akan digunakan selanjutnya. Operating system akan melakukan hal ini secara terus menerus ketika data baru diisi pada ram. Kemudian, pada saat data yang tersimpan di swapfile diperlukan, data tersebut ditukar (swap) dengan data yang paling terakhir dipakai di dalam memory (ram). Hal ini mengakibatkan swapfile bersifat seperti ram, walaupun program tidak dapat secara langsung dijalankan dari swapfile. Satu hal yang perlu dicatat bahwa karena operating system tidak dapat secara langsung menjalankan program dari swapfile, beberapa program mungkin tidak akan berjalan walau dengan swapfile yang besar jika kita hanya memiliki ram yang kecil.

BAB III

PENUTUP

3.1         KESIMPULAN

Virtual Memori adalah sebuah sistem yang digunakan oleh sistem operasi untuk menggunakan sebagian dari Memori Sekunder yaitu Harddisk seolah-olah ia menggunakannya sebagai memori internal/utama (RAM) fisik yang terpasang di dalam sebuah sistem komputer. Sistem ini beroperasi dengan cara memindahkan beberapa kode yang tidak dibutuhkan ke sebuah berkas di dalam hard drive yang disebut dengan page file. Virtual memory berfungsi sebagai suplemen untuk sebuah komputer RAM (Random Access Memory) dalam hal itu dan berfungsi menyimpan data dengan cepat untuk memenuhi kebutuhan mendesak dari suatu program atau aplikasi. Disk memori, seperti hard drive komputer, mampu menjadi jauh lebih besar, tetapi juga jauh lebih lambat jika disebut untuk bertindak.

DI Susun Oleh

Onlymemuhandra.wordpress.com

Tinggalkan komentar