Anda di halaman 1dari 13

MAKALAH SISTEM OPERASI

VIRTUAL MEMORY
Diajukan untuk Memenuhi Tugas Sistem Operasi

DosenPembimbing:
Sutan Faisal, M.Kom

Disusun oleh:

Yayah Miyantih 17416255201013


Amelia Pratiwi 17416255201041
Rika Elviana 17416255201034
Ridho Nurfebrianto 17416255201053

PROGRAM STUDI TEKNIK INFORMATIKA


FAKULTAS TEKNOLOGI DAN ILMU KOMPUTER
UNIVERSITAS BUANA PERJUANGAN KARAWANG

2018
KATA PENGANTAR
Alhamdulillah, puji syukur kami panjatkan kehadirat Allah SWT, atas limpahan
rahmat dan hidayah-Nya, sehingga tugas Makalah ini dapat kami selesaikan tepat pada
waktunya.
Kami selaku penulis menyadari sepenuhnya dalam menyusun Makalah ini tidak akan luput
dari kekhilafan dan kekeliruan, hal ini semata-mata karena ketidak sempurnaan manusia pada
umumnya yaitu keterbatasan pengetahuan yang kami miliki.
Oleh karena itu dengan segala kerendahan hati kami selaku penulis mengharapkan adanya
kritik dan saran yang konstruktif dari dosen pembina mata kuliah Sistem Opersi agar
mencapai kesempurnaan.

Karawang, 26 November 2018

Penyusun
DAFTAR ISI

KATA PENGANTAR

DAFTAR ISI

BAB I PENDAHULUAN
A. Latar Belakang
B. Tujuan

BAB II PEMBAHASAN
1. Pengertian Virtual Memory

2. Demand Paging

3. Page Replacement
4. Algoritma Page Replacement

5. Alokasi Frame

6. Alokasi Global dan Alokasi Lokal

7. Thrashing

BAB III PENUTUP


A. Kesimpulan

DAFTAR PUSTAKA
BAB I
PENDAHULUAN
1.1. Latar Belakang
Virtual memory adalah bagian yang terkait erat dengan unit-unit operasional dan interkoneksi
antar komponen penyusunsistem sistem komputer dalam merealisasikan aspek
arsitekturalnya.Komputer sendiri adalah sebuah mesin elektronik yang secara cepat menerima
informasi masukan digital dan mengolah informasitersebut menurut seperangkat instruksi
yang tersimpan dalam komputer dan menghasilkan keluaran informasi yang dihasilkan
setelah diolah.
Terdapat hal-hal yang akan di ketahui pada Virtual memory diantaranya : Pengertian virtual
memory, Page Replacement , Algoritma page replacement, Algoritma fifo, Algoritma
optimal, Algoritma least recently use(LRU), Alokasi frame, Alokasi global, Alokasi lokal,
Trashing. Virtual memory sangat penting dalam sistem operasi, dimana berfungsi sebagai
penghubung antara memory utama dengan penyimpanan piringan atau harddisk.

1.2. Rumusan Masalah

a. Apa yang dimaksud dengan virtual memory pada sistem komputer?


b. Apa fungsi dari virtual memory pada sistem komputer?
c. Apa saja hal yang terkait dalam virtual memori pada sistem komputer?

1.3. Tujuan

a. Mengetahui apa yang dimaksud dengan virtual memory pada sistem komputer
b. Mengetahui apa saja fungsi dari virtual memory pada sebuah sistem komputer
c. Mengetahui hal-hal yang dibahas dan terkait dalam virtual memory pada sistem komputer
BAB II
PEMBAHASAN
2.1. Pengertian Virtual Memory

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.
Memori virtual adalah teknik yang memisahkan memori logika user dari memori fisik.
Menyediakan memori virtual yang sangat besar diperuntukkan untuk programmer bila
tersedia memori fisik yang lebih kecil. Programmer tidak perlu khawatir jumlah memori fisik
yang tersedia, sehingga dapat berkonsentrasi pada permasalahan pemrograman.
Teknik ini menyembunyikan aspek-aspek fisik memori dari pengguna dengan menjadikan
memori sebagai lokasi alamat virtual berupa byte yang tidak terbatas dan menaruh beberapa
bagian dari memori virtual yang berada di memori logis. Konsep memori virtual
dikemukakan pertama kali oleh John Fotheringham pada tahun 1961 dengan menggunakan
dynamic storage allocation pada sistem komputer atlas di Universitas Manchester. Sedangkan
istilah memori virtual dipopulerkan oleh Peter J. Denning yang mengambil istilah 'virtual'
dari dunia optik.
Memori virtual melakukan pemisahan dengan menaruh memori logis ke disk sekunder dan
hanya membawa halaman yang diperlukan ke memori utama. Teknik ini menjadikan seolah-
olah ukuran memori fisik yang dimiliki lebih besar dari yang sebenarnya dengan
menempatkan keseluruhan program di disk sekunder dan membawa halaman halaman yang
diperlukan ke memori fisik. Jadi jika proses yang sedang berjalan membutuhkan instruksi
atau data yang terdapat pada suatu halaman tertentu maka halaman tersebut akan dicari di
memori utama. Jika halaman yang diinginkan tidak ada maka akan dicari di disk. Ide ini
seperti menjadikan memori sebagai cache untuk disk.
Beberapa keuntungan penggunaan memori virtual adalah sebagai berikut:
1. 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.
2. Ruang 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.
3. Meningkatnya respon, karena menurunnya beban I/O dan memori.
4. Bertambahnya jumlah pengguna yang dapat dilayani. Ruang memori yang masih tersedia
luas memungkinkan komputer untuk menerima lebih banyak permintaan dari pengguna.
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 (memori utama) 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
multiprogramming. 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 multiprogramming menjadi lebih efisien. Prinsip dari
memori virtual yang perlu diingat adalah bahwa "Kecepatan maksimum eksekusi proses di
memori virtual dapat sama, tetapi tidak pernah melampaui kecepatan eksekusi proses yang
sama di sistem yang tidak menggunakan memori virtual".
Memori virtual biasanya diimplementasikan menggunakan demand paging atau demand
segmentation juga digunakan. Tetapi algoritma segment-replacement lebih kompleks
daripada algoritma page-replacement karena segmen mempunyai ukuran yang bervariasi.
Fungsi Virtual Memory
1. Menangani kelebihan “beban” RAM
jika RAM dengan kapasitas 2GB diharuskan menampung data lebih dari kapasitas
maksilmalnya (sebut saja 2.3GB), maka dapat dipastikan komputer akan mengalami “stress”
dan akibatnya komputer akan hang, lag, atau bahkan tidak merespon sama sekali,
kemungkinan terburuk adalah RAM dipaksa bekerja melebihi kemampuannya dan over-heat
(panas berlebih) sehingga merusak chip pada RAM tersebut, oleh karena itu virtual memory
berperan aktif dalam menangani kelebihan beban tersebut, kapasitas virtual memory diambil
dari kapasitas hard disk drive, bahkan sistem operasi linux (misalnya Ubuntu, Lubuntu, Mint,
dan lain sebagainya) mengharuskan komputer memiliki partisi SWAP untuk virtual memory,
kapasitas partisi SWAP biasanya 2kali lipat dari kapasitas RAM fisik, misalnya jika RAM
yang terpasang berkapasitas 2GB, maka kapasitas partisi SWAP yang harus diatur idealnya
sekitar 4GB.
2. Berperan sebagai RAM cadangan, tapi tidak menggantikan fungsi RAM.
Secara umum RAM berfungsi menyimpan data yang akan diproses oleh processor
atau data dari aktivitas yang sedang berjalan (misalnya data dari aplikasi yang sedang
digunakan), dengan adanya Virtual Memory tidak berarti komputer tidak membutuhkan
RAM dan dapat berjalan dengan tidak adanya RAM terpasang dikomputer. RAM masih
sangat dibutuhkan saat proses booting, tanpa RAM komputer tidak akan dapat masuk ke
mode booting. Hal tersebut masuk akal karena keberadaan RAM lebih dulu diperiksa oleh
ROM (BIOS) saat pertama booting, sedangkan virtual memory terletak di hard disk drive
(atau salah satu partisi hard disk drive), tanpa hard disk drive kompuer tetap bisa beroperasi
(misalnya saja kita menggunakan sistem operasi linux live CD/DVD atau linux live USB,
bahkan versi windows live CD/DVD/USB pun ada).
3. Menyimpan data dari RAM, tapi tidak meneruskannya ke processor
Sebut saja virtual memory ini sebagai memori cadangan (sebenarnya memang seperti
itu) yang hanya membantu mengatasi kekurangan kapasitas memori namun tidak seperti
RAM, virtual memory tidak meneruskan data yang disimpan untuk diproses oleh processor.
Jadi, saat data yang disimpan di virtual memory akan (harus) diproses, virtual memory akan
meneruskannya ke RAM dan RAM yang akan meneruskan ke processor. Begitupun dengan
data yang ada didalamnya, tidak bisa kita akses layaknya data umum (dokumen, gambar, dan
lain sebagainya). Bahkan sistem operasi linux menempatkan virtual memori pada partisi
dengan file system khusus yang bernama “SWAP” (telah kita singgung sebelumnya), jadi
partisi lain selain SWAP (misalnya ext2, ext3, ext4, ntfs, fat, fat32) tidak dapat dijadikan
ruang untuk virtual memori pada sistem operasi linux.
4. Data yang disimpan pada virtual memory (paging file) bersifat sementara
Seperti halnya data didalam RAM yang akan kosong setelah komputer mati, paging
file atau data yang ada di dalam partisi SWAP juga akan dihapus setelah komputer mati,
memang berbeda dengan konsep penyimpanan data di hard disk drive meskipun medianya
sama (virtual memory mengambil kapasitas hard disk drive).

2.2. Demand Paging


Demand paging adalah sistem paging dengan swapping. 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. Page yang sedang tidak berada di memori tersebut akan dibawa
ke memori dari backing store.
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 seperti Gambar 8-4 sebagaiberikut :
1. Sistem operasi melihat tabel untuk menentukan jika acuan invalid maka proses dihentikan
dan page sedang tidak berada di memori.
2. Jika acuan invalid dilakukan trap ke sistem operasi.
3. Sistem mencari frame kosong.
4. Sistem melakukan proses swapping ke frame bebas.
5. Tabel page di-reset, bit valid-invalid diset 1 atau valid
6. 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 :
1) Tabel page : tabel mempunyai kemampuan untuk memberi entry bit valid-invalid
atau nilai khusus untuk bit proteksi
2) Memori sekunder : digunakan untuk membawa page yang tidak di memori danbiasanya
adalah disk kecepatan tinggi yang disebut swap device.

2.3. 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. Untuk membebaskan frame dengan cara menulis isinya
untuk ruang swap dan mengubah tabel page (dan tabel lain) yang menunjukkan page tidak
lagi di memori.
Langkah-langkah untuk page fault yang memerlukan page replacement seperti Gambar 8-6
adalah sebagai berikut :
1. Carilah lokasi page yang diharapkan pada disk.
2. Carilah frame kosong dg cara :
a) Bila ada frame kosong, gunakan.
b) Bila tidak ada, gunakan algoritma page replacement untuk menyeleksi frameyang akan
menjadi korban.
c) Simpan page korban ke disk, ubah tabel page.
3. Baca page yang diinginkan ke frame kosong yang baru, ubah tabel page.
4. Mulai kembali proses user.

2.4. Algoritma Page Replacement


Terdapat beberapa algoritma page replacement, setiap sistem operasi mempunyai
skema yang unik. Algoritma page replacement secara umum diinginkan yang mempunyai
rata-rata page fault terendah. Algoritma dievaluasi dengan menjalankannya pada string
tertentu dari memory reference dan menghitung jumlah page fault. String yang mengacu ke
memori disebut reference string (string acuan).String acuan dibangkitkan secara random atau
dengan menelusuri sistem danmenyimpan alamat dari memori acuan. Misalnya jika ditelusuri
proses tertentu, disimpan alamat berikut :
0100, 0432, 0101, 0612, 0102, 0103, 0104,
0101, 0611, 0102, 0103, 0104, 0101, 0610,
0102, 0103, 0104, 0101, 0609, 0102, 0105
dimana 100 byte per page direduksi ke string acuan :
1, 4, 1, 6, 1, 6, 1, 6, 1, 6, 1
Untuk menentukan jumlah page fault untuk string acuan dan algoritma pagereplacement
tertentu, harus diketahui jumlah page frame tersedia juga harus diketahui. Semakin tinggi
jumlah frame lebih tinggi, semakin rendah jumlah page fault.
Terdapat beberapa algoritma page replacement antara lain algoritma first in first our (FIFO),
optimal dan least recently use (LRU). Pada sub bab berikut akan diilustrasikan algoritma
page replacement tersebut dengan menggunakan string acuan
7, 0, 1, 2, 0, 3, 0, 4, 2, 3, 0, 3, 2, 1, 2, 0, 1, 7, 0, 1

2.4.1. Algoritma FIFO


Algoritma FIFO merupakan algoritma paling sederhana. Algoritma FIFO
diasosiasikan dengan sebuah page bila page tersebut dibawa ke memori. Bila ada suatu page
yang akan ditempatkan, maka posisi page yang paling lama yang akan digantikan. Algoritma
ini tidak perlu menyimpan waktu pada saat sebuah page dibawa ke memori.
Meskipun algoritma FIFO mudah dipahami dan diimplementasikan, performansitidak
selalu bagus karena algoritma FIFO menyebabkan Belady’s anomaly. Belady’s anomaly
mematahkan fakta bahwa untuk beberapa algoritma page replacement, bila rata-rata page
fault meningkat, akan meningkatkan jumlah alokasi frame. Sebagai contoh, jika
menggunakan string acuan :
1, 2, 3, 4, 1, 2, 5, 1, 2, 5, 1, 2, 3, 4, 5
dengan algoritma FIFO terjadi Belady’s anomaly.
2.4.2. Algoritma Optimal
Algoritma optimal merupakan hasil penemuan dari Belady’s anomaly. Algoritma ini
mempunyai rata-rata page fault terendah. Algoritma optimal akan mengganti page yang tidak
akan digunakan untuk periode waktu terlama. Algoritma ini menjamin rata-rata page fault
terendah untuk jumlah frame tetap tetapi sulit implementasinya.
2.4.3. Algoritma Least Recently Use (LRU)
Algoritma LRU merupakan perpaduan dari algoritma FIFO dan optimal. Prinsip dari
algoritma LRU adalah mengganti page yang sudah tidak digunakan untuk periode waktu
terlama.
Untuk mengimplementasikan algoritma LRU, digunakan dua model yaitu :
1. Counter : setiap entry tabel pagee diasosiasikan dengan sebuah “time-of-use” dan sebuah
clock logika atau counter ditambahkan ke CPU. Clock ini dinaikkan untuk setiap acuan ke
memori. Jika sebuah acuan ke page dibuat, isi clock register dicopy ke time-of-use pada tabel
page untuk page tersebut.
2. Stack : stack dari nomor page diatur. Jika sebuah page digunakan acuan, maka page
dihapus dari stack dan meletakkan pada top of stack. Dengan cara ini, stack selalu digunakan
page dan bagian bawah untuk page LRU. Implementasi stack untuk algoritma LRU.

2.5. Alokasi Frame


Alokasi frame berhubungan dengan mekanisme alokasi sejumlah memori bebas yang
tetap diantara beberapa proses. Meskipun terdapat beberapa variasi pengalokasian frame
bebas ke beberapa proses, tetapi strategi dasar jelas yaitu : proses user dialokasikan untuk
sembarang frame bebas. Jumlah minimum frame per proses ditentukan oleh arsitektur dimana
jumlah maksimum tergantung jumlah memori fisik yang tersedia. Jumlah minimim
frameditentukan oleh arsitektur instruction-set. Bila terjadi page fault sebelum eksekusi
instruksi selesai, instruksi harus di-restart. Sehingga tersedia frame yang cukup
untukmembawa semua page yang berbeda dimana sembarang instruksi dapat mengacu.
Misalnya mikrokomputer menggunakan memori 128K yang dikomposisikan dengan page
ukuran 1K, maka terbentuk 128 frame. Jika sistem operasi menggunakan 35K, maka 93
frame sisa digunakan program user. Bila suatu program menyebabkan page fault sebanyak 93
kali, maka menempati 93 frame bebas tersebut. Jika terjadi page faultke 94, dari 93 frame
yang terisi harus dipilih salah satu untuk diganti yang baru. Bila program selesai, 93 frame
tersebut dibebaskan kembali.
Terdapat 2 bentuk algoritma alokasi yaitu equal allocation dan proportional allocation. Pada
equal allocation, jika terdapat m frame dan n proses, maka setiap proses dialokasikan
sejumlah frame yang sama (m/n frame). Pada proportionalallocation setiap proses
dialokasikan secara proporsional berdasarkan ukurannya. Jika ukuran virtual memori untuk
proses pi adalah si dan total jumlah frame yang tersedia m,maka frame ke ai dapat
dialokasikan ke proses pi sama dengan :
Dimana S = Σsi. Contohnya :
Selain itu terdapat algoritma alokasi berprioritas yang menggunakan skema proporsional
dengan lebih melihat prioritas proses daripada ukuran proses. Jika proses Pi membangkitkan
page fault, dipilih satu dari frame-frame dari proses yang mempunyai nomor prioritas
terendah.

2.6. Alokasi Global dan Alokasi Lokal


Page replacement adalah faktor terpenting lain yang harus dipertimbangkan dalam
alokasi frame. Pada multiple process yang berkompentisi mendapatkan frame, algoritma page
replacement dikelompokkan dalam 2 kategori yaitu global replacement dan local
replacement.
Global replacement mengijinkan suatu proses untuk menyeleksi suatu frameyang akan
dipindah dari sejumlah frame, meskipun frame tersebut sedang dialokasikan ke proses yang
lain. Pada local replacement, jumlah frame yang dialokasikan untuk proses tidak berubah.
Setiap proses dapat memilih dari frame-frame yang dialokasikan untuknya.
Permasalahan pada global replacement adalah proses tidak dapat mengontrolrata-rata page
fault. Sejumlah page pada memori untuk sebuah proses tidak hanya tergantung pada perilaku
paging untuk proses tersebut, tetapi juga perilaku paging untuk proses yang lain.
Bagaimanapun, karena algoritma global replacement menghasilkan throughput yang lebih
besar, metode ini sering digunakan.

2.7. Thrashing
Misalnya sembarang proses tidak mempunyai frame yang cukup. Meskipun secara
teknis dapat mengurangi jumlah frame yang dialokasikan sampai minimum, terdapat
sejumlah page yang sedang aktif digunakan. Jika suatu proses tidak memiliki jumlah frame
yang cukup, maka sering terjadi page fault. Sehingga harus mengganti beberapa page. Tetapi
karena semua page sedang digunakan, harus mengganti page yang tidak digunakan lagi
kemudian. Konsekuensinya, sering terjadi page fault lagi dan lagi. Proses berlanjut page fault,
mengganti page untuk page fault dan seterusnya.
Kegiatan aktifitas paging yang tinggi disebut thrashing. Sebuah proses mengalami thrashing
jika menghabiskan lebih banyak waktu untuk paging daripada eksekusi. Efek thrashing dapat
dibatasi dengan menggunakan algoritma local (priority) replacement. Grafik terjadinya proses
thrashing pada sistem multiprogramming.
BAB III
PENUTUP
3.1 Kesimpulan
Konsep memori virtual dikemukakan pertama kali oleh John Fotheringham pada
tahun 1961 dengan menggunakan dynamic storage allocation pada sistem komputer atlas di
Universitas Manchester.
Memori virtual adalah teknik yang memisahkan memori logika user dari memori fisik.
Menyediakan memori virtual yang sangat besar diperuntukkan untuk programmer bila
tersedia memori fisik yang lebih kecil. Programmer tidak perlu khawatir jumlah memori fisik
yang tersedia, sehingga dapat berkonsentrasi pada permasalahan pemrograman.
Virtual Memory adalah bagian dari suatu hard drive yang diidentifikasi sebagai RAM melalui
sistem operasi atau software lain. Pada setiap sistem komputer, peningkatan beban (jumlah
pengguna, jumlah pekerjaan yang dilakukan) menyebabkan penurunan kinerja (berapa lama
waktu yang dibutuhkan untuk melakukan tugas masing-masing). Setiap peningkatan beban
(demand) melebihi hasil titik tertentu dalam penurunan dramatis dalam kinerja. Ini berarti
bahwa sumber daya beberapa adalah pasokan kritis pendek dan telah menjadi bottleneck.
DAFTAR PUSTAKA

Modul Virtual Memory


https://guruinformatika.blogspot.com/2015/06/makalah-virtual-memory.html
https://yurizone.wordpress.com/2009/11/15/apa-itu-virtual-memori//
http://anggunkurnia58.blogspot.co.id/2013/02/pengertian-virtual-memory.html/

Anda mungkin juga menyukai