KELOMPOK 1 ( satu )
•
Roni Aditya
•
M. Lingga
•
Z. Jeges. P
•
Yunus. Prayogo
BAB V
Manajemen Memori
Memori merupakan tempat menampung data
dan kode instruksi program. Kode instruksi
Program akan dibaca dari memori ke register
prosesor untuk dieksekusi baris demi baris,
Manajemen memori berkaitan dengan aktifitas
pengelolaan penggunaan memori pada saat
Gambar diatas menunjukan hierarki organisasi memori
pada sistem komputer secara umum.pada tingkatan
paling atas terdapat register yang secara fisik berada
dalam chip prosessor. Contoh memori register adalah
register IR(Instruction Register)yang menampung kode
instruksi yang akan di eksekusi oleh prosesor.
Memori utama umumnya dapat diakses secara random
sehingga disebut dengan RAM (Random Acces Memory) dan Volatile yaitu jika komputer dimatikan maka datanya juga
turut hilang.
Namun sayangnya kecepatan transfer data memori utama ke prosesor sangat lambat jika dibandingkan dengan
kecepatan eksekusi prosesor.
Untuk Mengatasi perbedaan kecepatan ini maka di gunakan
teknik caching untuk memori utama mengunakan memori
chache yang terbagi menjadi L1 chache dan L2 chache dan
umumnya berada dalam prosesor contoh kapasitas memori
chache adalah 256kbyte, 512kbyte.
Prinsip kerja chaching adalah sebagai salinan bayangan dari
data atau kode instruksi di memori utama. Jadi setiap data
di chache memiliki asosiasi dengan data di memori utama.
Setiap kali prosesor mengakses instruksi ataupun data dari
memori utama maka prosesor akan memeriks apakah
salinannya di chache.Kalau ada maka instruksi atau data
tersebut akan diambil langsung dari chache tanpa butuh
Tingkat paling bawah dari hierarki organisasi memori adalah
memori sekunder (secondary memory) umumnya berupa disk atau non volatile, Dengan kecepatan dala lebih lambat dari memori
utama
Penggunaan kapasitas memori sekunder umumnya di batasi
misalnya 2kali ukuran memori utama.Alasan pembatsaan tersebut adalah pengaksesan memori sekunder terlalu sering akan
menyebabkan penurunankinerja sistem komputer secara signifikaan
5.1 PENGALAMATAN MEMORI
Metode pengalamatan memori mendefinisikan model alamat yang di tuliskan pada kode instruksi program, mekanisme penyalinan
,loading ,kode instruksi dan data program ke memori utama yang sesungguhnya.
1PENGALAMATAN SECARA FISIK (physical/AbsoluteAddresing)
Alamat yang ditulis pada kode instruksi program hasil kompilasi
merupakan alamat fisik memori utama yang sesungguhnya.konsekuensinya adalah pada saat penyalinan image proses kememori utama maka kode
instruksi dan data program harus disalin pada posisi yang sesuai
dengan refrensi tersebut.
2.PENGALAMATAN SECARA RELATIF(Relative Addresing)
Alamat pada kode instruksi program merupakan alamat relatif (Offset) terhadap posisi awal program .Pada saat image proses dari program tersebut di salin atau di alokasikan ke memori utama, alamat awal memorinya di catat ke suatu register alokasi.
Pada saat eksekusi pengaksesan alamat akan di translasi dengan menjumlahkan alamat refrensi pada instruksi dengan isi register
3.PENGALAMATAN SECARA LOGIKA (LOGICAL ADDRESING)
Pada pengalamatan secara logika alamat yang dad
pada kode program merupakan suatu alamat logika
yang masih perlu diterjemahkan atau di translasikan
ke alamat fisik memori utama pada saat ekseskusi.
Kelebihan pengalamatan ini adalah relokasi
…
…
Jump [35]
…
…
Jump [35]
Kode Program
Jump [35] Jump [35]
Berdasarkan cara membagi ruang lamat logika
program, Pengalamatan logika dapat dibedakan atas
sistem paging dan segmentasi. Sistem paging
membagi ruang alamat logika program dalam
fragmen yang berukuran berbeda-beda dan
pemartisian memori utama bersifat dinamisdengan
ukuran yang bervariasi yang di sebut dengan segmen
5.2 ADDRESS BINDING
Aktifitas translasi alamat ini disebut juga dengan
1. Compile time
Jika lokasi kode instruksi atau data program di memori
sudah ditetapkan dengan denga pasti sebelumnya maka
pada saat kompilasi program, Alamat absolut (fisik) dapat
di tuliskan dalam kode program.Kosekuensinya adalah
pada saat program di-load ke memori,program harus di
letakan pada lokasi tertentu di memori yang bersesuaian
dan tidak boleh di relokasi selama eksekusi,Sistem yang
menggunakan pengalamatan fisik melakukan address
binding pada saat binding pada saat kompilasi program
2. Loading time
3.Execute time
Address binding dapat pula dilakukan pada saat
eksekusi kode instruksi program.Umumnya address
binding pada saat execution time membutuhkan
5.3 MANAJEMEN MEMORI PADA SISTEM
MONOPROGAMMING
Cara pengelolaan memori pada sistem
monoprogramming berbeda dengan sistem yang
multiprogramming.Adapun ciri-ciri manajemen
memori pada sistem monoprograming antara lain
1.Hanya ada satu proses pada suatu saat
menggunakan seluruh area memori pengguna.
2.Program di muatkan seluruhnya ke memori utama
dari disk.
3.Alokasi memori dilakukan secara berurutan, yang
artinya image proses dari program harus
5.3.1 ALOKASI MEMORI
Pada sistem monoprogramming, seluruh area
memori yang tidak digunakan oleh sistem operasi
dan device driver akan dialokasikan semuanya ke
proses pengguna. Ada berbagai kemungkinan
konfigurasi ruang alamat memori fisik pada sistem
monoprograming.
Sistem Operasi Di RAM
User Program
Gambar yang memperlihatkan konfigurasi yang cukup
umum,Yaitu ruang alamat memori sistem komputer yang
meliputi seluruh ruang alamat memori utama yang volatile
(RAM).Sistem operasi dan proses aplikasi pengguna
berbagai pakai kapasitas RAM
5.3.2 PROTEKSI MEMORI
Proteksi dapat di implementasikan dengan bantuan
register relokasi dan register pembatas(limit register)
register pembatas berisi jangkauan atau lebar ruang
alamat logika dari proses aplikasi pengguna.Jika alamat
logika yang diakses lebih besar dari nilai limit register
5.4 MANAJEMEN MEMORI PADA SISTEM
MULTIPROGRAMMING
Berbeda dengan sistem monoprogramming manajemen pada
sistem multiprogramming memiliki karakteristik sebagai
berikut.
1.Terdapat sejumlah proses yang menenpati 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 selama eksekusinnya
5.4.1 PENGALOKASIAN BERURUT DENGAN PARTISI STATIS
1.Memori dibagi menjadi partisi-partisi dengan ukuran
yang tetap
2.Satu proses hanya menggunakan satu partisi. Jika proses
sudah selesai,partisi tersebut dapat digunakan oleh proses
lain.
3.Membutuhkan pengelolaan informasi mengenai
partisi-partisi yang kosong yang siap untuk dialokasikan.
Model alokasi berturut dengan partisi statis dapat di
kategorikan bersdasarkan ukuran pertisi yaitu
1.Partisi statis berukuran sama.
Yaitu ukuran tiap partisi adalah sama besarnya
2.Partisi statis berukuran tidak sama
5.4.2 PENGALOKASIAN BERURUT DENGAN PARTISI
DINAMIS.
1.Pada kondisi awal,memori utama tidak dibagi-bagi
menjadi partisi-partisi.
2.Pemartisian dilakukan pada saat image proses
akan di salinkan ke memori utama
3.Ukuran partisi yangh di alokasikan dengan ukuran
image proses
4.Partisi akan dibebaskan jika program sudah
selesai.
5.4.3 PENGALOKASIAN BERURUT DENGAN SISTEM BUDDY
Pengalokasian berurut lainya adalah sistem buddy, yang
melakukan paemartisian secara dinamis.
Alokasi memori pada sistem buddy adalah sebagai berikut
1.Menetukan ukuran partisi
Jika suatu proses baru di-load maka akan di tentuakn ukuran
partisi yang akan dibuat ataupun digunakan untuk
menampung image proses.
2.Pengalokasian
Kekurangan sistem budy adalah fragmentasi internal
tetap terjadi sedangkan kelebihanya adalah dealokasi
proses dapat dilakukan denga cepat.
kemudian image proses A sebesar 90kbyte hendak
dialokasi ke memori utama adalah sebesar 1m
byte.ketika belum ada proses pengguna yang
dialokasikan maka seluruh bagian memori masih kosong
dan tersedia.
Kemudian image proses A sebesar 90kbyte hendak
dialokasi ke memori utama.maka terjadi pemecahan
Kemudian menjadi alokasi image proses B yang
berukuran sebesar 50 k. partisi terkecil yang
tersedia adalah partisi di samping partisi proses A
yang berukuran sebesar 128 K. karena proses B
hanya berukuran 50 K maka partisi tersebut dipecah
lagi menjadi 2 bagian sebesar 64 K, kemudian image
proses B di alokasikan pada bagian pertama dari
5.4.4
Pengalokasian Tak Berturut Dengan Sistem Paging
•
Berbeda dengan model pengalokasian
berurut,bagian-bagian dari image proses dapat
Model alokasi memiliki karakteristik
berikut :
• Sistem paging memerlukan pengalamatan logika khusus yang
membagi suatu ruang alamat logika proses menjadi bagian yang berukuran sama yang disebut denga page.
• Pada sistem paging,memori fisik di partisi secara statis yang
disebut dengan frame page atau disebut frame saja.
• Sistem paging memakai pengalokasian memori tak berurut. • Sistem paging membutuhkan pengelolaan informasi
mengenai frame yang masih kosong.
• Pada sistem paging tidak terjadi fregmentasi
Konsep-konsep alokasi sebagai berikut:
• Memori utama dibagi menjadi frame-frame kecil berukuran
sama.Tiap frame memiliki nomor frame sebagai refrensi.
• Ruang alamat logika dibagi menjadi page-page seukuran
frame,misalnya ruang alamat logika adalah 4 G,sedangkan image proses berukuran 20 M bytes.
• Pada saat proses di-load,page-page image proses diletakkan
pada frame yang masih kosong.
• Page table umumnya berisi nomor frame yang dialokasikan
untuk image proses.Page table digunakan untuk translasi
• Addres Binding pada Sistem Paging.
Adress binding pada sistem paging terjadi pada saat
eksekusi(execution time). Alamat refrensi pada kode instruksi program adalah alamat pada ruang logika proses sehingga pada saat eksekusi, alamat referensi tersebut harus di
translasi ke alamat fisik memori utama yang sesungguhnya.
• Proteksi Memori pada Sistem Paging.
• Memori Sharing pada Sistem Paging.
Sistem paging mendukung mekanisme bagi pakai memori utama utau memori sharing, mekanisme sharing ini penting untuk menghemat penggunaan kapasitas memori.Pada sistem paging, jika ada 2 atau lebih proses memiliki bagian kode
instruksi atau data yang sama maka bagian tersebut dapat digunakan bersama dan cukup diletakkan sekali di frame
5.4.5
PENGALOKASIAN TAK BERURUT DENGAN SISTEM
SEGMENTATION
• Selain sistem paging, model pengalokasian tak berurut lainnya
adalah sistem segmentation. Berbeda dengan sistem paging yang menganut pemartisian secara statis maka sistem
segmentation memakai sistem pemartisian secara
• Pengalokasian dengan sistem segmentation memiliki
karakteristik sebagai berikut:
1. Sistem segmentation memerlukan pengelamatan logika khusus yang memecahkan image proses suatu program menjadi bagian-bagian dengan segmen.
2. Pemartisian memori utama terjadi secara dinamis pada saat alokasi.
3. Sistem segmentation menggunakan peengalokasian memori tak berurut sehingga segmen image proses dari program
4. Segmentation membutuhkan pengelolaan informasi
mengenai seluruh area kosong atau hole yang terbesar di memori utama.
Alokasi Memori pada Sistem
Segmention
• Konsep alokasi sistem segmentation sebagai berikut:
1. Image proses dibagi menjadi beberapa segmen yang ukurannya tidak harus sama.
2. Pada saat image proses dialokasikan ke memori utama, segmen-segmen image proses ditempatkan pada bagian memori yang masih kosong.
3. Segment table berisi rekaman nilai limit,yang berisi panjang segmen dan nilai base, yang berisi alamat awal bagian
memori utama yang dialokasikan ke segmen.Indeks pada
5.5
OPTIMALISASI UTILITAS MEMORI
• Umumnya memori utama pada suatu komputer merupakan
5.5.1
OVERLAY
• Overlay adalah suatu teknik pemrograman yang membagi
5.5.2
DYNAMIC LOADING
• Dynamic loading adalah teknik pemrograman yang
5.5.3
DYNAMIC LINKIN
• Dynamic Linkin adalah teknik yang memungkinkan linkin ke
rutin-rutin pustaka program aplikasi yang dilakukan secara dinamis pada saat runtime. Dynamic Linkin menghemat penggunaan memori utama, karena jika sejumlah aplikasi
menggunakan rutin pustaka yang sama,maka pustaka tersebut hanya akan disalinkan sekali saja ke memori utama namun
5.5.4
VIRTUAL MEMORY
• Virtual memori atau memori maya adalah teknik pemetaan
memori yang melibatkan memori sekunder, umumnya disk, sehingga ukuran memori sistem secara logika dapat lebih besar dari ukuran memori utama secara fisik.Pada teknik virtual memori diperlukan pengalamatan atau secara logika dan melibatkan mekanisme swapping, yaitu proses
pemindahan sebagian atau seluruh bagian proses dari
• Keuntungan dari model virtual memori dengan memakai
swapping adalah:
1. Lebih sedikit operasi I/O yang dilaakukan, karena swappinng dilakukan per page.
2. Lebih sedikit memori utama yang diperlukan per proses, karna tidak semua bagian image proses perlu disalinkan ke memori utama pada saat alokasi.
3. Tangapan sistem menjadi lebih cepat karena tidak semua bagian dari proses dapat mulai di eksekusi lebih cepat.
• Mekanisme-mekanisme Demand Paging:
1. Jumlah frame memori utama yang dialokasi setiap proses tergantung kepada tingkat multiprogramming yang hendak dicapai.
2. Menggunakan bit valid-invalid pada rekaman page table
proses untuk menyatakan ada tidaknya page proses tersebut di frame memori utama.
• Adapun langkah-langkah penangan page fault oleh rutin
sistem operasi yaitu:
1. Mengecek apakah referense alamat falid. 2. Jika tidak valid maka proses akan dihentikan.
• Langkah-langkah swap-in meliputi:
a. Mencari frame memori utama yang kosong, jika tidak ada maka akan dilakukan page replacement, dimana akan dipilih page di frame, atau istilahnya victim page, untuk di out k swap-space supaya tersedia frame kosong untuk operasi swap-in. b. Memindahkan(swap-in) page yang diminta dari swap-space ke
frame memori utama yang telah ditentukan.
c. Memperbarui rekaman di page table proses, yang meliputi
catatan frame yang di alokasikan dan mengubah vilidation bit=1. d. Mengulangi (restart) kode instruksi program yang menghasilkan
ALOKASI FRAME
• Dengan model demand paging, tidak semua page dari suatu
image proses perlu di alokasikan ke memori utama.Namun jika trlalu sedikit frame yang dialokasikan maka akan sering terjadi swapping yang pada akhirnya akan menurunkan
• Beberapa strategi menentukan frame untuk tiap proses
yaitu:
1. Alokasi sama rata(equal allocation)
Tiap proses mendapat jumlah frame yang sama banyak,
sesuai dengan jumlah frame yang tersedia dan jumlah proses yang ada.
2. Alokasi proporsional (proportional allocation)
Tiap proses mendapat jumlah frame sesuai dengan ukuran dari image proses. Jumlah frame untuk proses ditentukan oleh jumlah frame yang tersedia dan besarnya ukuran
3. Alokasi Berprioritas (priority alocation)
Jumlah frame yang dialokasikan untuk tiap proses berdasarkan prioritas proses.
Page Replacement
• Pada saat suatu page proses yang diminta ternyata masih
berada di virtual memori maka page tersebut haarus
• Algoritma page replacement secara garis besar dapat dibagi
dua yaitu:
1. Global Replacement.
Victim frame dapat dipilih dari semua frame yang ada di memori utama. Jadi frame yang sedang ditempati oleh proses lain dapat turut dikorbankan.
2. Local Replacement.
• Algoritma page replacement yang mungkin digunakan
diantaranya:
1. Algoritma FIFO(First In First Out).
Page yang diganti adalah page yang paling lama sudah berada di
memori atau paling awal dialokasikan.
2. Algoritma Optimal.
Page yang diganti adalah page yang baru akaan dipanggil lagi
pada waktu yang masih cukup lama. Algoritma ini mengasumsikan sistem mampu memprediksikan page-page yang akan diakses.
3. Algoritma Least Recently Use (LRU).
Page yang diganti adalah page yang paling lama sudah tidak