SO_10_Memori-Vitual

advertisement
MEMORI VIRTUAL
Sistem Operasi – TIKB1023
Munengsih Sari Bunga
Politeknik Indramayu
TIKB1023/Sistem Operasi/MSB
1
Materi:
1.
2.
3.
4.
5.
Konsep dasar memori virtual
Demand Paging
Unjuk Kerja Demand Paging
Page Replacement
Algoritma Page Replacement
- Algoritma FIFO
- Algoritma Optimal
- Algoritma LRU
TIKB1023/Sistem Operasi/MSB
2
Konsep Dasar Memori Virtual (1)
z Memori virtual adalah teknik yang
memisahkan memori lojik dan memori fisik.
z Teknik ini menyembunyikan aspek-aspek fisik
memori dari pengguna dengan menjadikan
memori sebagai lokasi alamat virtual berupa
byte yang tidak terbatas
z Jika program akan dieksekusi , maka program
tersebut harus ada di memori,tapi
kenyataannya ada program dalam memori
yang tidak segera digunakan, sehingga perlu
membatasi program yang tidak sedang
digunakan mengingat kapasitas memori
terbatas
TIKB1023/Sistem Operasi/MSB
3
Konsep Dasar Memori Virtual (2)
z Program-program yang sudah tidak digunakan
lagi, antara lain :
{ Program-program pengendali error
{ Array, list atau tabel yang dialokasikan melebihi kapasitas
yang digunakan
{ Program dibatasi oleh memori fisik
{ Beberapa pilihan program yang jarang digunakan
{ Hanya sedikit I/O yang digunakan pada saat load atau
swap tiap-tiap user program ke memori
z Keuntungan memori virtual :
{ Berkurangnya proses I/O yang dibutuhkan
{ Berkurangnya memori yang dibutuhkan
{ Bertambahnya jumlah user yang dapat dilayani
{ Memori virtual melebihi daya tampung dari memori utama
yang tersedia
TIKB1023/Sistem Operasi/MSB
4
Konsep Dasar Memori Virtual (3)
z Skema Virtual Memori
• Memori Virtual > memori fisik
TIKB1023/Sistem Operasi/MSB
5
Konsep Dasar Memori Virtual (4)
z Memori virtual diimplementasikan dalam
sistem multiprogramming
{ Misal 10 program dengan ukuran 2 Mb dapat
berjalan di memori berkapasitas 4 Mb, tiap program
dialokasikan 256 Kb dan bagian-bagian proses
masuk (swap in) begitu diperlukan dan swap out
jika tidak diperlukan, shg sistem multiprogramming
menjadi lebih efisien
z Memori virtual dapat dilakukan dengan 2 cara:
{ Demand Paging (Permintaan pemberian halaman)
{ Demand Segmentation (Permintaan segmentasi)
TIKB1023/Sistem Operasi/MSB
6
Demand Paging (1)
z Sistem demand paging sama halnya dengan
sistem paging dengan swapping
z Proses-proses tersebut disimpan ke memori
sekunder, jika proses akan dieksekusi maka
dipindah ke memori
z Sebuah page tidak pernah ditukar ke memori
kecuali page diperlukan
z Keuntungan demand paging :
{ Sedikit I/O yang dibutuhkan
{ Sedikit memori yang dibutuhkan
{ Respon yang lebih cepat
{ Dapat melayani banyak user
TIKB1023/Sistem Operasi/MSB
7
Demand Paging (2)
z Demand Paging butuh perangkat keras :
{Page table “valid-invalid bit”
z Valid (“1”) Æ pages berada di memori
z Invalid (“0”) Æ pages berada di disk
{Memori sekunder, untuk menyimpan proses
yang belum ada di memori
z Jika suatu proses menginginkan page,
namun page tersebut belum ada pada
memori utama, maka akan terjadi page
fault
TIKB1023/Sistem Operasi/MSB
8
Demand Paging (3)
z Cara-cara untuk mengatasi page fault :
{ Mengecek tabel internal (biasanya tersimpan dalam PCB) untuk
menentukan bit referensi valid atau invalid
{ Jika referensi invalid, maka proses dihentikan,jika valid tapi
proses belum dikenali maka page tersebut akan dikenali
kemudian
{ Cari frame kosong
{ Dilakukan penjadwalan operasi disk untuk membaca page yang
diinginkan ke lokasi frame yang baru
{ Jika pembacaan disk sudah selesai, maka internal table
diperbaiki (ubah validation bit menjadi “1” yang berarti page
telah ada di memori)
{ Ulangi instruksinya dari awal
z Pada berbagai kasus, ada 3 komponen yang dihadapi pada
saat melayani page fault :
{ Melayani interupsi page fault
{ Membaca page
{ Mengulang kembali proses
TIKB1023/Sistem Operasi/MSB
9
Unjuk Kerja Demand Paging (1)
z Demand Paging memiliki efek yang sangat penting bagi unjk
kerja sistem komputer.
z Untuk menunjukkan hal tersebut, dapat dilihat dengan cara
menghitung effective access time untuk memori yang
menggunakan konsep demand paging, dengan rumus :
EAT = (1-p) x ma + p x waktu page fault
p : kemungkinan terjadinya page fault (0 ≤ p ≤ 1)
p = 0 Æ tidak ada page-fault
p = 1 Æ semuanya mengalami page-fault
ma : waktu pengaksesan memory (memory access time)
z Untuk menghitung EAT, kita harus tahu berapa banyak waktu dalam
pengerjaan page-fault.
TIKB1023/Sistem Operasi/MSB
10
Unjuk Kerja Demand Paging (2)
z Contoh menghitung Effective Access Time :
{ Diasumsikan memory access (ma)= 100 ns
{ Rata-rata latency time untuk HD = 8 ms, seek time = 15 ms, dan
transfer rate = 1 ms Æ total waktu pelayanan page fault = 25 ms
{ Effective Access Time
= (1-p) x (100) + p x (25 ms)
= (1-p) x (100) + p x 25000000
= 100 – 100p + 25000000p
= 100 + 24999900 x p
Jika sekali akses menyebabkan 1000 page fault, effective access
time sebesar 25 mikrodetik
z Semakin besar nilai effective access time, maka
proses berjalan semakin lambat
TIKB1023/Sistem Operasi/MSB
11
Page Replacement (1)
zPage Replacement diperlukan pada
saat dimana proses dieksekusi perlu
frame bebas tambahan tetapi tidak
tersedia frame bebas
zKonsep Page Replacement :
{Jika tidak ada frame yang kosong, cari frame
yang tidak sedang digunakan, lalu kosongkan
dengan cara menuliskan isinya ke dalam swap
space, dan mengubah semua tabel sebagai
indikasi bahwa page tersebut tidak akan berada
lama di memori
TIKB1023/Sistem Operasi/MSB
12
Page Replacement (2)
z Gambar dibawah menunjukkan jika proses user
dieksekusi, maka akan timbul page fault.Padahal
sudah tidak ada memori yang kosong, sehingga
perlu adanya page replacement
TIKB1023/Sistem Operasi/MSB
13
Page Replacement (3)
zRutinitas Page replacement :
{Tentukan lokasi page yang diharapkan pada disk
{Carilah frame kosong
zJika ada frame kosong, gunakan
zJika tidak ada, gunakan algoritma page replacement
untuk menyeleksi frame yang akan dikorbankan
zSimpan page yang dikorbankan ke disk, ubah page
dan frame table secara berurutan
{Baca page yang diinginkan ke frame kosong;
ubah page dan frame table
{Mulai kembali user process
TIKB1023/Sistem Operasi/MSB
14
Page Replacement (4)
z Langkah-langkah Page replacement :
TIKB1023/Sistem Operasi/MSB
15
Algoritma Page Replacement (1)
z Selama jumlah frame meningkat, maka
jumlah page fault akan menurun.
Peningkatan jumlah frame dapat terjadi jika
memori fisik diperbesar
z Tujuan Algoritma Page Replacement adalah
untuk mendapatkan page fault terendah
z Pemilihan algoritma yang kurang tepat dapat
menyebabkan peningkatan tingkat page fault
sehingga proses akan berjalan lambat
z Ada beberapa Algoritma Page Replacement :
{Algoritma FIFO
{Algoritma Optimal
{Algoritma LRU
TIKB1023/Sistem Operasi/MSB
16
Algoritma Page Replacement (2)
z Algoritma FIFO
{ Merupakan algoritma yang paling sederhana
{ Jika ada suatu page yang akan ditempatkan,
maka posisi page yang paling lama yang akan
digantikan
z Algoritma Optimal
{ Mengganti page yang tidak digunakan dalam
waktu dekat
{ Mempunyai rata-rata page fault terendah
{ Algoritma ini sulit diimplementasikan
z Algoritma LRU (Least Recently Use)
{ Merupakan perpaduan dari FIFO dan optimal
{ Page yang diganti adalah page yang telah lama
tidak digunakan
TIKB1023/Sistem Operasi/MSB
17
Download