Anda di halaman 1dari 9

Kelompok 3:

1. Rindang Cavallera 2113025013


2. Christina Febiola Sinaga 2113025015
3. Raifan Ahmad Kurniawan 2113025018
4. Prasiske Dea Veriani 2113025028
5. Lussy Madani 2113025029

Resume terkait Virtual Memory

a. Konsep dasar memori virtual

Pengertian Memori virtual merupakan suatu teknik yang memisahkan antara memori logis
dan memori fisiknya. Teknik ini mengizinkan program untuk dieksekusi tanpa seluruh bagian
program perlu ikut masuk ke dalam memori. Berbeda dengan keterbatasan yang dimiliki oleh
memori fisik, memori virtual dapat menampung program dalam skala besar, melebihi daya
tampung dari memori utama 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."

b. Fungsi dan Tujuan penggunaan Virtual Memori

1) Fungsi Virtual Memory


Berikut dibawah ini adalah beberapa fungsi dari Virtual Memory :

 Virtual memory berguna untuk menangani beban dari RAM yang berlebihan.
 Menjadi cadangan dari RAM, namun tidak sampai menggantikan 100% fungsi dan
juga keberadaan dari RAM. Jadi anda tidak bisa mengandalkan virtual memory.
 Menyimpan data sementara yang disimpan di RAM, tapi tidak bisa meneruskan data
ke prosesor.
 Menyimpan data yang bersifat sementara.

2) Tujuan Virtual Memory

Virtual memory ini bertujuan untuk membuat file khusus yang sering disebut dengan
nama swap file. Dimana memori virtual ini akan digunakan saat sistem operasi berada
dalam kondisi sedang kehabisan memori. Sistem operasi akan bertugas untuk
memindahkan data yang paling akhir diakses ke dalam hard disk. Hal itu tentu saja akan
memberikan beberapa ruang kosong di memory agar bisa digunakan untuk menjalankan
perintah dari aplikasi berikutnya.

Sistem operasi nantinya akan terus melakukan penyimpanan data sementara tersebut
ketika ada data baru yang dimasukkan ke RAM. Saat data yang terdapat di swap file
dibutuhkan oleh komputer, maka data tersebut akan ditukar lagi dengan data terakhir
yang sudah diproses atau digunakan pada RAM. Hal ini juga lah yang membuat swap file
mempunyai karakteristik yang sama seperti RAM, walaupun memang programnya tidak
dapat langsung dijalankan lewat swapfile.

c. Cara kerja Virtual Memori

Virtual memory menggunakan bantuan hardware dan software yang memungkinkan


komputer mendapatkan tambahan performa bila kekurangan kapasitas memori fisik. Cara
kerja virtual memory adalah dengan mentransfer data dari RAM ke hard drive secara
temporer. Nantinya, beberapa informasi pada virtual memory akan dikirim ke hard drive,
untuk kemudian komputer akan memprioritaskannya layaknya RAM fisik.

Cara kerja virtual memory ini adalah dengan meggunakan bantuan Memory Management
Utility (MMU) yang memetakan alamat dan menerjemahkannya ke RAM. Nah, ketika RAM
diperlukan untuk proses yang lebih penting, maka data akan ditukar dari RAM dan ke dalam
virtual memory.

Saat menyalin virtual memory ke RAM fisik, sistem operasi akan membagi memori dengan
sejumlah alamat tetap yang akan menjadi page files atau swap files. Setiap data akan
disimpan pada hard drive, dan ketika diperlukan, sistem operasi akan menyalinnya dari hard
drive ke RAM fisik.

Proses bertukar data antar virtual memory dan RAM fisik ini agak lambat, sehingga ada
kemungkinan akan terjadi penurunan performa. Karena proses yang sedikit rumit inilah,
komputer dengan RAM fisik yang lebih besar akan memiliki performa yang lebih baik.

d. 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

e. Page Fault

Page fault adalah gangguan yang terjadi ketika program perangkat lunak mencoba
mengakses blok memori yang saat ini tidak disimpan dalam RAM sistem. Pengecualian ini
memberitahu sistem operasi untuk menemukan blok dalam memori virtual sehingga dapat
dikirim dari penyimpanan perangkat (SSD atau HD) ke RAM.
Jika ada referensi ke sebuah page, ternyata pagenya tidak ada (invalid), maka akan ditrap
oleh OS, dan menghasilkan: page fault
Untuk menangani page fault menggunakan prosedur berikut:

1. Memeriksa tabel internal (biasanya ada dlm PCB) unt menentukan valid atau invalid
2. Jika invalid, proses di suspend, jika valid, tapi page belum dibawa ke memory fisik,
maka kita bawa page ke memory fisik.
3. Cari sebuah frame bebas (free frame).
4. Jadwalkan operasi sebuah disk untuk membaca page tersebut ke frame yang baru
dialokasikan.
5. Saat pembacaan selesai, ubah validation bit menjadi “1” yang berarti page telah ada
di memory.
6. Restart instruksi program yg ditrap td dari awal sehingga bisa berjalan dgn baik.

Yang terjadi saat page fault:

1. Ditrap oleh Sistem Operasi.


2. SO menyimpan register user dan proses.
3. Tetapkan bahwa interupsi merupakan page-fault.
4. Periksa bahwa referensi page adalah valid dan• Periksa bahwa referensi page adalah
valid dan kemudian tentukan lokasi page pada disk.
5. Baca disk, cari frame kosong.
6. Selama menunggu pencarian, alokasikan CPU ke proses lain dengan menggunakan
penjadwalan CPU.
7. Jika pencarian selesai, terjadi interupsi dari disk.
8. SO menyimpan juga register dan status proses untuk pengguna/proses yang lain.
9. Tentukan bahwa interupsi skrng berasal dari disk.
10. Lakukan pengubahan page table bahwa page telah berada di memory.
11. Tunggu CPU selesai dari proses yang lain.
12. Kembalikan register user, status proses, page table, dan resume instruksi proses yg td
interupsi.

Tidak semua langkah diperlukan pada tiap kasus, ada 3 komponen utama yg pasti terjadi:

1. Melayani interrupt dari page fault


2. Baca dan load page dari disk ke memory
3. Restart proses

Pada sistem demand paging, sebisa mungkin kita jaga agar tingkat page-fault nya rendah.
f. Page Replacement

Page replacement diperlukan pada situasi dimana proses dieksekusi perlu frame bebas tetapi
tidak tersedia frame bebas. Sistem harus menemukan satu frame yang sedang tidak
digunakan dan membebaskannya.

Yang dilakukan saat Page Replacement yaitu mencari lokasi page yang diinginkan pada disk.
Mencari frame yang kosong :

1. Jika ada, maka gunakan frame tersebut.


2. Jika tidak ada, maka kita bisa mengosongkan frame yang tidak sedang dipakai.frame
yang tidak sedang dipakai.
3. Gunakan algoritma page-replacement untuk menentukan frame yang akan dikosongkan.
4. Tulis page yang telah dipilih ke disk, ubah page-table dan frame-table menjadi invalid.
5. Membaca page yang diinginkan lalu diload ke dalam frame kosong yang baru.
6. Set page-table proses itu menjadi valid
7. Ulangi user process dari awal (restart)

Jenis Page Replacement


• Global replacement mengijinkan suatu proses untuk menyeleksi sendiri suatu frame yang
akan digantikan dari sejumlah frame yang ada, meskipun frame tersebut sedang
dialokasikan ke proses yang lain.sedang dialokasikan ke proses yang lain.
• Local replacement, jumlah frame yang dialokasikan untuk proses sudah ditentukan dari
awal (fixed).
– Setiap proses dapat memilih dari frame-frame yang hanya dialokasikan khusus untuknya.

g. Page Replacement Algorithm (FIFO, Optimal, LRU)

Bertujuan untuk mendapatkan page fault terendah.

1) Algorithm FIFO

 Page yang diganti adalah page yang paling lama berada di memori.
 Mudah diimplementasikan.
 Mudah dimengerti.
 Bisa mengalami Anomali Belady.
– Page fault rate meningkat seiring dengan meningkatnya jumlah frame.
– Hanya terjadi pada beberapa Algoritma Page Replacement.
2) Algorithm Optimal
 Page yang diganti adalah page yang tidak akan dipakai dalam jangka waktu
terlama.
 Sulit diimplementasikan (krn prediksi sulit dilakukan)sulit dilakukan)
 Memiliki page-fault terendah.
 Tidak akan mengalami Anomali Belady:
– Tidak mengalami : more frames ⇒more page faults
3) Algorithm Least Recently Used (LRU)
 Page yang diganti adalah page yang tidak baru saja digunakan.
 Merupakan perpaduan antara Algoritma FIFO dan AlgoritmaAlgoritma FIFO dan
Algoritma Optimal.
 Sulit diimplementasikan.
 Tidak akan mengalami Anomali Belady.

• Dapat diimplementasikan dengan 2 cara, yaitu :

a. Counter
• Menggunakan clock yang nilainya akan ditambah 1 tiap kali melakukan reference
ke suatu page.
• Harus melakukan pencarian
b. Stack
• Tiap mereference ke suatu page, page tersebut dipindah dan diletakkan pada
bagian paling atas stack.
• Page yang diganti adalah page yang berada di stack paling bawah.
• Tidak perlu melakukan pencarian.

h. Thrashing
Thrashing adalah keadaan dimana terdapat aktifitas yang tinggi dari penghalamanan.
Aktifitas penghalamanan yang tinggi ini maksudnya adalah pada saat sistem sibuk
melakukan swap-in dan swap-out dikarenakan banyak kasalahan halaman yang terjadi. Suatu
proses dapat mengurangi jumlah frame yang digunakan dengan alokasi yang minimum.
Tetapi jika sebuah proses tidak memiliki frame yang cukup, tetap ada halaman dalam
jumlah besar yang memiliki kondisi aktif digunakan. Maka hal ini mengakibatkan kasalahan
halaman. Untuk seterusnya sistem harus mengganti beberapa halaman menjadi halaman yang
akan dibutuhkan. Karena semua halamannya aktif digunakan, maka halaman yang diganti
adalah halaman yang dalam waktu dekat berkemungkinan akan digunakan kembali. Hal ini
mengakibatkan kesalahan halaman yang terus-menerus.

Anda mungkin juga menyukai