Makalah Manajemen Memory
TUGAS
IV
Sistem Operasi
Manajemen Memory
Nama : Idni Nuzulul Farandani
NIM : 121051107
Kelas : A ( Senin, 13.30 – 15.00 )
Institut Sains dan Teknologi
AKPRIND Yogyakarta
Teknologi Industri / Teknik
Informatika
2013/2014
KATA PENGANTAR
Puji syukur kita panjatkan atas kehadiran Tuhan Yang Maha Esa yang telah
memberikan segala rahmat serta hidayah-Nya kepada kita, sehingga penulis dapat
menyelesaikan tugas ini untuk melengkapi tugas-tugas Sistem Operasi.
Makalah ini disusun melalui beberapa tahapan, yakni dari browsing, dan juga
menggunakan jasa layanan Internet sampai makalah ini selesai dibuat, makalah
ini dapat terselesaikan oleh penulis berkat bantuan dari teman-teman yang tidak
henti-hentinya memberikan motivasi.
Dalam menyusun Tugas Kelompok ini penulis merasa masih banyak
kekurangan-kekurangan baik pada teknis penulisan maupun materi, mengingat akan kemampuan yang
dimiliki penulis. Untuk itu kritik dan saran dari semua pihak sangat penulis
harapkan demi penyempurnaan pembuatan Tugas Individu ini.
Dari permasalahan yang telah kita bahas, semoga kita lebih mengetahui dan
mempermudah kita dalam menjalankan program browsing tersebut sehingga kita
semua dapat mengambil hikmah dari tugas yang penulis kerjakan.
Semoga permasalahan yang penulis selesaikan dapat bermanfaat bagi kita
semua dan menjadikan suatu hal yang dapat kita terapkan dalam kehidupan
sehari-hari.
Yogyakarta, 28 Desember 2013
Idni Nuzulul Farandani
DAFTAR
ISI
HALAMAN JUDUL ................................................................................................................
i
KATA PENGANTAR ..............................................................................................................
ii
DAFTAR ISI
............................................................................................................................
iii
BAB I Manajemen Meori
Pada Sistem Multiprogramming
.......................................................... 1
A. Berdasarkan Pengalokasian Memori
...................................................................................
1
1. Alokasi Berurut ............................................................................................................
1 - 3
2. Partisi Dinamis
.............................................................................................................
3 - 5
3. Sistem Buddy
....................................................................................................................
5
B. Alokasi
Tidak Berurut .......................................................................................................
6
1. Sistem Pagging
..................................................................................................................
6
2. Sistem Segmentasi
.............................................................................................................
7
3. Sistem Kombinasi
..............................................................................................................
7
BAB II Optimalisai
Utilitas Memori ............................................................................................
8
A. Konsep Dasar Memori
......................................................................................................
8
1. Overlay
.............................................................................................................................
9
2. Dynamic Loading
.......................................................................................................
9 - 10
3. Dynamic Linking
..............................................................................................................
10
4. Swapping
.................................................................................................................
10 - 11
B. Memori Virtual .........................................................................................................
11 - 12
DAFTAR PUSTAKA
............................................................................................................
13
BAB
I
Manajemen Memori
Pada
Sistem Multiprogramming
Manajemen pada system
Multiprograming memiliki karakteristik sbb :
1. Terdapat sejumlah proses menempati memori
utama pada setiap saat .
2. Image proses dari program dapat dimuat
seluruhnya atau sebagian saja ke memori utama
3. Alokasi
memori utama ke proses dapat berurutan ataupun tidak berurutan .
4. Dimungkinkan seluruh atau sebagian image
proses berpindah lokasi memori utama selama eksekusinya .
5. Dimungkinkan suatu proses lokasi memori
utama diakses bersama oleh sejumlah proses atau disebut dengan memory sharing .
A.
Berdasarkan
Pengalokasian Memori
1. Alokasi Berurut (Contiguous)
Memori harus
mengakomodasi kebutuhan SO dan proses user. Memori utama biasanya terbagi dalam
dua bagian:
·
Resident operating system, biasanya
tersimpan di alamat memori rendah.
·
User proces menggunakan memori beralamat
tinggi/besar.
Alokasi berurut terbagi
menjadi tiga yakni:
1. Partisi Statis
Ciri-ciri dari partisi
statis sebagai berikut:
1. Memori dibagi menjadi partisi-partisi dengan
ukuran yang tetap.
2. Satu proses hanya memakai satu partisi. Jika
proses sudah selesai, partisi tersebut dapat digunakan proses yang lain.
3. Dibagi menjadi 2 bagian:
a) Berukuran Sama
Banyak kelemahan,
antara lain:
·
Proses yang ukurannya lebih besar dari
ukuran partisi tidak dapat dialokasikan.
·
Sebaliknya bila ukuran proses lebih
kecil daripada ukuran partisi, maka akan terjadi pemborosan ruang memori
(Fragmentasi internal).
b) Berukuran Tidak Sama
Untuk
mengatasi kelemahan dari Pengalokasian berurut dengan partisi statis dengan
ukuran sama, yaitu proses ukuran kecil diletakkan ke partisi yang kecil dan
sebaliknya.
Ada 2 jenis strategi:
1.) Satu antrian untuk setiap partisi
Tiap
proses diletakkan pada partisi dengan ukuran terkecil yang dapat dimuatnya.
Kelemahan: ada partisi
yang memiliki antrian panjang dan ada yang kosong.
2.) Satu antrian untuk seluruh partisi
Semua
proses dimasukkan pada satu antrian yang sama, Algoritma penjadwalan melakukan
pemilihan partisi.
Kelemahan: jika proses
yang berukuran kecil terpaksa masuk ke partisi sisa yang besar, sehingga
terjadi pemborosan ruang.
2. Partisi Dinamis
Ciri-ciri:
1. Pada kondisi awal, memori tidak dibagi
menjadi partisi-partisi
2. Pemartisian dilakukan pada saat image
proses akan disalin ke memori utama.
3. Ukuran partisi yang dialokasikan akan
disesuaikan dengan ukuran image proses.
4. Partisi akan dibebaskan jika program sudah
selesai.
5. Keuntungan : tidak terjadi fragmentasi
internal alokasi memori disesuaikan dengan besarnya image proses.
Cara kerja:
1. Pengalokasian dilakukan dengan mencari hole
à suatu ruang memori utama yang kosong, yang cukup besar untuk menampung image
proses.
2. Hole sisa kadang kala terlalu kecil untuk
dapat dialokasikan ke proses lainnya sehingga tidak bisa digunakan lagi à fragmentasi
eksternal.
3. Salah satu cara untuk mengatasi masalah ini
adalah melakukan memory compaction.
Yaitu: menggeser image
proses-proses yang ada di memori
sehingga hole terkumpul di satu tempat saja
Kelemahan:
·
Proses alokasi dan dealokasi menjadi
lebih rumit.
·
Perlu pengelolaan informasi area memori
yang masih kosong.
Ada 2 metode
pengelolaan memori kosong:
1. Peta bit (bitmap)
Ø Menggunakan
area memori khusus untuk mencatat seluruh area kosong pada memori utama.
Ø Memakai
nilai 0 dan 1
·
Nilai 0 , alamat memori tersebut masih kosong.
·
Nilai 1 , alamat memori tersebut sudah terisi.
2. Linked list
Ø Informasi
mengenai hole kosong berikutnya dicatat pada hole kosong sebelumnya.
Ø Tidak
diperlukan area memori khusus. Karena seluruh informasi tercatat di area memori
kosong itu sendiri sehingga menghemat kapasitas memori utama.
Diperlukan algoritma
untuk menentukan hole mana yang akan dialokasikan ke suatu proses.
1. Algoritma Best-fit
·
Mencari memori blok yang paling kecil
yang dapat menampung image proses.
·
Memerlukan waktu lama karena harus
searching seluruh blok memori utama.
·
Fragmentasi eksternal dapat ditekan
sekecil mungkin.
2. Algoritma First-fit
·
Mencari memori kosong dari alamat awal
sampai menemukan blok yang dapat menampung image proses.
·
Sederhana dan cepat.
3. Algoritma Next-fit
·
Hampir sama dengan First-fit.
·
Bedanya: proses searching dimulai dari
alamat alokasi terakhir.
4. Algoritma Worst-fit
·
Mencari hole yang paling besar di
seluruh area memori utama.
·
Tujuannya: hole sisa yang tercipta
setelah alokasi masih cukup besar untuk dialokasikan ke proses lainnya.
3. Sistem Buddy
Ø Berupa
pemartisian secara dinamis.
Ø Ciri
khusus adalah partisi yang terbentuk senantiasa berukuran besar sebesar
bilangan 2n 2,4,8,16…..256,512,1024(1Mb).
Alokasi memori pada
sistem buddy:
1) Menentukan ukuran partisi
·
Ditentukan ukuran partisi untuk
menampung image proses yaitu ukuran bilangan pangkat 2 terkecil.
·
Misal : ukuran image proses = 12kb, maka
ukuran partisi yang bisa digunakan adalah 16kb.
2) Pengalokasian
Ø Selanjutnya
adalah mencari hole yang ukurannya sebesar perhitungan.
Ø Jika
tidak ada maka dicarikan hole yang berukuran sedikit lebih besar. Kemudian
dipecah secara bertahap sesuai dengan aturan bilangan pangkat 2.
Ø Misal
: ukuran image proses = 12kb dan hole yang paling kecil adalah 64kb.
·
maka dipecah menjadi 2 partisi 32kb,
selanjutnya dipecah lagi menjadi 2 partisi 16kb.
·
dan partisi 16kb pertama yang bisa
dipakai untuk image proses 12kb.
B. Alokasi Tidak Berurut (Non Contiguous)
1. Dengan Sistem Paging
Ø Pada
model pengalokasian tak berurut, bagian-bagian dari image proses dapat
diletakkan secara terpisah di memori utama.
Ø Pada
sistem paging memerlukan pengalamatan logika khusus yang membagi menjadi
blok-blok dengan ukuran sama yang disebut page.
Ø Pada
sistem paging , perlua adanya translasi alamat ke memori fisik yang dipartisi
secara statis yang disebut frame, yang ukurannya sama dengan page pada ruang
alamat logika.
Konsep dasar alokasi
memori :
Ø Memori
utama dibagi menjadi frame-frame kecil berukuran sama dan diberi nomor frame
sebagai referensi.
Ø Ruang
alamat logika proses dibagi menjadi page-page seukuran frame.
Ø Loading
time: page-page image proses diletakkan pada frame-frame kosong dan dicatat
pada page table.
Proteksi Memori pada
sistem paging :
Ø Berfungsi
menghindari pengaksesan memori secara ilegal.
misal: pengaksesan
bagian memori yang sudah ditempati proses lain.
Ø Proteksi
frame dilakukan dengan cara menambahkan bit proteksi untuk tiap entry page
table misal:
·
cek apakah frame tersebut bersifat read
atau read-write.
·
cek apakah alamat logika yang dituju
suatu proses valid atau invalid.
Memory Sharing pada sistem
paging :
Ø Untuk
menghemat penggunaan kapasitas memori.
Ø Jika
ada 2 atau lebih proses yang memiliki bagian kode instruksi, atau data yang
sama maka dapat digunakan bersama dan cukup diletakkan sekali di frame memori.
Ø Masing-masing
proses mengacu ke frame yang sama pada page table nya.
2. Dengan Sistem Segmentasi
Ø Memakai
sistem partisi dinamis.
Ø Pada
pengalamatan logika, image proses dibagi menjadi bagian-bagian yang disebut
segmen.
Ø Pembagian
segmen biasanya mengikuti struktur program oleh kompiler, yang biasanya tiap
segmen berupa main program, stack, routine, symbol table.
Ø Partisi
memori utama terjadi pada saat alokasi yang besarnya sesuai dengan besar segmen
program yang dialokasikan.
Konsep alokasi memori :
Ø Image
proses dibagi menjadi beberapa segmen yang ukurannya tidak harus sama.
Ø Segmen-segmen
image proses dialokasikan ke tempat-tempat kosong di memori utama, dan
informasi alokasi dicatat pada segmen table.
Ø Segmen
table berisi nilai limit (panjang segmen) dan nilai base (alamat awal bagian memori
yang dialokasikan).
Proteksi memori pada
segmentasi :
Ø Membandingkan
nilai segmen yang ada di pengalamatan logika dengan nilai limit yang ada di
segmen table.
Ø Apabila
nilai segmen yang ada di pengalamatan logika lebih besar (>) daripada nilai limit yang ada di segmen table, berarti
terjadi usaha pengaksesan lokasi diluar area segmen program itu, sehingga
memicu terjadinya trap (addresing error)
Memori sharing
pada sistem segmentation :
Sharing
segmen antara 2 atau lebih proses dapat dilakukan dengan mencatat lokasi
alokasi segmen tersebut ke tabel segmen masing-masing proses.
3. Dengan Sistem Kombinasi
Gabungan antara
pengalokasian tak berurut secara paging dan segmentasi.
BAB
II
OPTIMALISASI
UTILITAS MEMORI
A. Konsep Dasar Memory
Memori
merupakan bagian dari komputer yang berfungsi sebagai tempat penyimpanan
informasi yang harus diatur dan dijaga sebaik-baiknya. Sebagian besar komputer
memiliki hirarki memori yang terdiri atas tiga level, yaitu:
Register di CPU, berada di level teratas.
Informasi yang berada di register dapat diakses dalam satu clock cycle CPU.
Primary Memory (executable memory),
berada di level tengah. Contohnya, RAM. Primary Memory diukur dengan satu byte
dalam satu waktu, secara relatif dapat diakses dengan cepat, dan bersifat
volatile (informasi bisa hilang ketika komputer dimatikan). CPU mengakses
memori ini dengan instruksi single load dan store dalam beberapa clock cycle.
Secondary Memory, berada di level bawah.
Contohnya, disk atau tape.
Secondary Memory diukur
sebagai kumpulan dari bytes (block of bytes), waktu aksesnya lambat, dan
bersifat non-volatile (informasi tetap tersimpan ketika komputer dimatikan).
Memori ini diterapkan di storage device, jadi akses meliputi aksi oleh driver
dan physical device.
Komputer
yang lebih canggih memiliki level yang lebih banyak pada sistem hirarki
memorinya, yaitu cache memory dan bentuk lain dari secondary memory seperti
rotating magnetic memory, optical memory, dan sequntially access memory. Akan
tetapi, masing-masing level ini hanya sebuah penyempurnaan salah satu dari tiga
level dasar yang telah dijelaskan sebelumnya.
Bagian
dari sistem operasi yang mengatur hirarki memori disebut dengan memory manager.
Di era multiprogramming ini, memory manager digunakan untuk mencegah satu
proses dari penulisan dan pembacaan oleh proses lain yang dilokasikan di
primary memory, mengatur swapping antara memori utama dan disk ketika memori
utama terlalu kecil untuk memegang semua proses.
Tujuan dari manajemen
ini adalah untuk :
·
Meningkatkan utilitas CPU
·
Data dan instruksi dapat diakses dengan
cepat oleh CPU
·
Efisiensi dalam pemakaian memori yang
terbatas
·
Transfer dari/ke memori utama ke/dari
CPU dapat lebih efisien
Ø Strategi
untuk meningkatkan utilitas memory utama pada suatu sistem komputer :
1.
Overlay
Overlay
adalah suatu teknik pemrograman yang berfungsi membagi program yang besar,
menjadi bagian yang kecil sehingga dapat dimuat secara parsial kedalam suatu
page memori yang berukuran lebih kecil.
Bila
bagian kode intruksi pada program yang ingin diakses tidak terdapat dalam
memori atau tidak ada dalam memori maka bagian tersebut akan disalin ke bagian
overlay. Teknik overlay ini hanya akan menyalin intruksi dan data yang sedang
dijalankan ke memori utama, sedangkan pada bagian lain dari program tetap
disimpan di media penyimpanan.
Teknik
overlay ini digunakan terutama pada sistem informasi dengan manajemen memori
partisi statis. Dimana pada model partisi statis, ukuran programnya tidak boleh
lebih besar dari ukuran partisinya, sehingga program yang berukuran besar tidak
dapat disalin ke memori utama. Dengan menggunakan teknik overlay maka hanya
sebagian kode intruksi program saja yang
akan disalinkan ke partisi tersebut dan jika bagian lain dari program
dibutuhkan maka akan dilakukan replacement pada area overlay program tersebut.
Sehingga dengan menggunakan teknik overlay ini program yang berukuran besar
tetap bisa dijalankan pada OS (Operating System), atau Sistem Operasi dengan
model manajemen memori partisi statis.
2.
Dynamic Loading
Dynamic
Loading adalah program utama di-load dahulu dan dieksekusi. Bila suatu routine
perlu memanggil routine lain, routine yang dipanggil lebih dahulu diperiksa
apakah rutin yang dipanggil sudah di-load. Jika tidak, relocatable linking
loader dipanggil untuk me-load rutin yg diminta ke memori dan meng-ubah tabel
alamat.
Keuntungan
dari dynamic loading adalah rutin yang tidak digunakan tidak pernah di-load.
Skema ini lebih berguna untuk kode dalam jumlah besar diperlukan untuk
menangani kasus-kasus yang jarang terjadi seperti error routine. Dinamic
loading tidak memerlukan dukungan khusus dari sistem operasi. Sistem operasi
hanya perlu menyediakan beberapa rutin pustaka untuk implementasi dynamic
loading.
Contoh pemakaian
Dynamic Loading :
Cara
pemakaian API dari Dynamic Loading akan diperlihatkan di sini dengan
menggunakan program demo yang sederhana. Source code program terdiri dari dua
file, yaitu main.c dan simple_dl.c (Lihat list program: script-1 adalah main.c,
script-2 adalah simple_dl.c dan script-3 adalah Makefile). File main.c adalah
program utama yang mempunyai fungsi main(). Sedangkan file simple_dl.c adalah
file modul yang berisi simbol variabel dan simbol pengimplementasi fungsi yang
akan diakses dari fungsi main() dengan menggunakan fasilitas API Dynamic
Loading. Dua simbol didefinisikan di dalam simple_dl.c. Yang pertama adalah
simbol variabel yang didefinisikan sebagai berikut: char* info_linux =
"Info Linux!"; Nama simbol variabel ini adalah info_linux yang
merupakan pointer dari tipe data char. Pada pointer ini juga secara langsung
dialokasikan sejumlah memori yang berisikan karakter string "Info
Linux!". Simbol kedua adalah hello_world yang merupakan simbol dari
pengimplementasi fungsi hello_world(). Pada prinsipnya nama simbol tidak selalu
sama dengan nama pengimplementasi fungsi. Kita akan membahas hal ini secara
ringkas pada bagian akhir dari artikel ini pada kasus penulisan program
menggunakan C++. Simbol fungsi ini didefinisikan sebagai berikut: void
hello_world(void); Fungsi ini hanya akan menampilkan kalimat "Hello
world!" di layar monitor. Sebelum kita membahas kode di file main.c, kita
akan mencoba untuk mengkompilasi file simple_dl.c. Untuk dapat menghasilkan
shared library, pada proses kompilasi harus digunakan parameter -fPIC. PIC
adalah kepanjangan dari position independent code. Dengan instruksi berikut:
3.
Dynamic Linking
Dynamic
Linking adalah proses dengan banyak langkah, ditemukan juga
penghubung-penghubung pustaka yang dinamis, yang menghubungkan semua rutin yang
ada di pustaka. Beberapa sistem operasi hanya mendukung penghubungan yang
statis, dimana seluruh rutin yang ada dihubungkan ke dalam suatu ruang alamat.
Setiap program memiliki salinan dari seluruh pustaka. Konsep penghubungan
dinamis, serupa dengan konsep pemanggilan dinamis.
Pemanggilan
lebih banyak ditunda selama waktu eksekusi, dari pada lama penundaan oleh
penghubungan dinamis. Keistimewaan ini biasanya digunakan dalam sistem kumpulan
pustaka, seperti pustaka bahasa subrutin. Tanpa fasilitas ini, semua program
dalam sebuah sistem, harus mempunyai salinan dari pustaka bahasa mereka (atau
setidaknya referensi rutin oleh program) termasuk dalam tampilan yang dapat
dieksekusi.
4. Swapping
Skema
Swapping
Swapping
merupakan Sebuah proses agar bisa dieksekusi bukan hanya membutuhkan sumber
daya dari CPU, tetapi juga harus terletak dalam memori. Dalam tahapannya, suatu
proses bisa saja ditukar sementara keluar memori ke sebuah penyimpanan
sementara dan kemudian dibawa lagi ke memori untuk melanjutkan pengeksekusian.
Hal ini dalam sistem operasi disebut swapping. Sebagai contoh, asumsikan sebuah
multiprogramming environment dengan algoritma penjadwalan CPU round-robin.
Ketika waktu kuantum habis, pengatur memori akan menukar proses yang telah
selesai dan memasukkan proses yang lain ke dalam memori yang sudah bebas.
Sementara di saat yang bersamaan, penjadwal CPU akan mengalokasikan waktu untuk
proses lain di dalam memori. Ketika waktu kuantum setiap proses sudah habis,
proses tersebut akan ditukar dengan proses lain. Untuk kondisi yang ideal,
manajer memori dapat melakukan penukaran proses dengan cepat sehingga proses
akan selalu berada dalam memori dan siap dieksekusi saat penjadwal CPU hendak
menjadwal CPU.
B. Memory Virtual
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, misalnya:
·
Ada pernyataan-pernyataan atau pilihan
yang hanya akan dieksekusi jika kondisi tertentu dipenuhi.
·
Terdapat fungsi-fungsi yang jarang
digunakan.
·
Pengalokasian memori yang lebih besar
dari yang sebenarnya dibutuhkan.
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.
Memori
virtual adalah suatu teknik yang memisahkan antara memori logis dan memori
fisiknya. Memori logis merupakan kumpulan keseluruhan halaman dari suatu
program. Tanpa memori virtual, memori logis akan langsung dibawa ke memori
fisik (memori utama). Disinilah memori virtual melakukan pemisahan dengan
menaruh memori logis ke secondary storage (disk sekunder) dan hanya membawa
halaman yang diperlukan ke memori utama (memori fisik). Teknik ini menempatkan
keseluruhan program di disk sekunder dan membawa halaman-halaman yang
diperlukan ke memori fisik sehingga memori utama hanya akan menyimpan sebagian
alamat proses yang sering digunakan dan sebagian lainnya akan disimpan dalam
disk sekunder dan dapat diambil sesuai dengan kebutuhan. 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 ke disk sekunder.
Memori
fisik dibagi menjadi page frames yang berukuran sama dan diidentifikasikan
dengan nomor page frames. Bingkai (frame) menyimpan data dari halaman. Atau
memori virtual memetakan nomor virtual pages ke nomor page frames. Mapping
(pemetaan) menyebabkan halaman virtual hanya dapat mempunyai satu lokasi alamat
fisik. Dalam sistem paging, jika sebuah ruang diperlukan untuk proses dan
halaman yang bersangkutan tidak sedang digunakan, maka halaman dari proses akan
mengalami paged out (disimpan ke dalam disk) atau swap out, memori akan kosong
untuk halaman aktif yang lain. Halaman yang dipindah dari disk ke memori ketika
diperlukan dinamakan paged in (dikembalikan ke memori) atau swap in. Ketika
sebuah item dapat mengalami paging, maka item tersebut termasuk dalam item yang
menempati ruang virtual, yang diakses dengan alamat virtual dan ruangan yang
ada dialokasikan untuk informasi pemetaan. Sistem operasi mengalokasikan alamat
dari item tersebut hanya ketika item tersebut mengalami paging in.
Keuntungan yang
diperoleh dari penyimpanan hanya sebagian program saja pada memori fisik
adalah:
·
Berkurangnya proses M/K yang dibutuhkan
(lalu lintas M/K menjadi rendah).
·
Ruang menjadi lebih leluasa karena
berkurangnya memori fisik yang digunakan.
·
Meningkatnya respon karena menurunnya
beban M/K dan memori.
·
Bertambahnya jumlah pengguna yang dapat
dilayani. Ruang memori yang masih tersedia luas memungkinkan komputer untuk menerima
lebih banyak permintaan dari pengguna.
Teknik
memori virtual akan memudahkan pekerjaan seorang programmer ketika besar data
dan programnya melampaui kapasitas memori utama. Sebuah multiprogramming dapat
mengimplementasikan teknik memori virtual sehingga sistem multiprogramming
menjadi lebih efisien. Contohnya: 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.
Prinsip
dari memori virtual adalah bahwa "Kecepatan maksimum ekseskusi proses di
memori virtual dapat sama, tetapi tidak akan pernah melampaui kecepatan
eksekusi proses yang sama di sistem yang tidak menggunakan memori
virtual".
Memori virtual dapat
diimplementasikan dengan dua cara:
·
Demand Paging yaitu dengan menerapkan
konsep pemberian halaman pada proses.
·
Demand segmentation, lebih kompleks
diterapkan ukuran segmen yang bervariasi.
DAFTAR
PUSTAKA
Komentar
Posting Komentar