Anda di halaman 1dari 16

MANAJEMEN MEMORI

8.1. Konsep Dasar


Secara umum, memori utama harus
diatur sebaik mungkin agar :
Meningkatkan utilitas CPU yg sebesar2nya
Data dan instruksi dapat diakses dengan
cepat oleh CPU
Memori utama memiliki kapasitas yg
sangat terbatas, sehingga pemakaiannya
harus seefisien mungkin.
Transfer data dari/ke memori utama
ke/dari CPU dapat efisien.
2

Beberapa syarat pengelolaan memori, a.l:


Relokasi ; prosesor dan SO harus dapat
mentranslasikan memori referensi ke alamat
fisik
Proteksi ; User tidak boleh mengakses
beberapa bagian dari wilayah SO
Sharing ; manajemen meori harus dapat
mengontrol sharing area pada memori utama
Organisasi logika ; SO dan hardware
diusahakan untuk dapat berhubungan dengan
user program dalam satu modul
Organisasi fisik ; harus ada pengaturan yg jelas
antara memori utama dgn memori sekunder
pada long-term scheduling.
3

Pengelolaan memori secara hirarkis terbagi


atas susunan sbb : Register, Cache,
memori utama, magnetic disk, dan
magnetic tape.
Semakin kebawah maka :

Biaya per bit semakin rendah


Kapasitas penyimpanan semakin besar
Waktu akses semakin besar
Frekuensi pengaksesan memori oleh prosesor
Register
semakin berkurang
Cache

Memori utama
Magnetic disk
Magnetic Tape
4

Konsep Binding
Binding adalah proses penempatan
suatu item ke dalam lokasi memori
tertentu.
Binding dapat terjadi pada saat :
Compile time
Load time
Execution time

Dynamic Loading
Dynamic Loading adalah tidak semua
bagian program diambil ke memori, hanya
bagian-bagian yg diperlukan saja yg harus
tetap tinggal dalam memori.
Dengan dynamic loading ini, suatu rutin
tidak akan diambil sampai rutin tersebut
dibutuhkan.
Tidak memerlukan campur tangan dari SO,
semuanya tergantung pada user untuk
merancang program yg diharapkan. SO
hanya menyediakan rutin-rutin library untuk
mengimplementasikan dynamic loading.
6

Dynamic Linking
Konsepnya sama dengan dynamic
loading hanya saja tekanannya pada
proses linking.
Dengan dynamic linking ini
dimungkinkan adanya share library
yg dibuat oleh suatu aplikasi untuk
digunakan oleh aplikasi yg lainnya.
Memerlukan campur tangan SO.

Overlay
Overlay adalah membagi program yg
besar menjadi bagian-bagian yg lebih
kecil dan dapat dimuat dalam
memori utama. Yg harus selalu ada
dalam memori utama biasanya
adalah program penggeraknya,
sedangkan bagian-bagian
pendukungnya diletakkan dalam
memori sekunder.
8

8.2. Strategi Manajemen


Memori
Beberapa hal yg perlu dipertimbangkan
dalam membandingkan perbedaan
strategi manajemen memori, antara
lain :
1.
2.
3.
4.
5.
6.
7.

Dukungan hardware
Kinerja
Fragmentation
Relokasi
Swapping
Sharing
Proteksi
9

8.3. Ruang Alamat Logika &


Fisik

Alamat logika (logical adress) : alamat


yang diturunkan oleh CPU.
Alamat Fisik (physical adress) : alamat
yang terdapat dalam memori.
Saat compile time dan load time, alamat
logika & alamat fisik menunjukkan nilai yg
sama.Sedang saat execution time terjadi
perbedaan antara keduanya.
Ruang alamat logika (logical adress space)
: kumpulan alamat logika yang diturunkan
oleh program.
Ruang alamat fisik : alamat fisik yg
berhubungan dgn alamat logika.

10

8.4. Swapping
Swapping : adalah suatu proses yang dapat
dialihkan sementara dari memori ke suatu
tempat penyimpanan, dan dipanggil kembali
ke memori jika akan melanjutkan eksekusi.
Contoh: proses multiprogramming.
Salah satu klasifikasi manajemen memori
didasarkan pada ada/tidaknya swapping.
Manaj.memori tanpa swapping terdiri dari
manajemen monoprogramming & manajemen
multiprogramming dgn partisi statis.
Sedang multiprogramming dengan partisi
dinamis termasuk manaj.memori dengan
swapping.
11

8.5. Pencatatan Pemakaian


Memori

Bertujuan agar dapat diketahui lokasilokasi mana saja di memori utama yg


masih kosong dan yg sudah terisi.
Ada 2 cara pencatatan, menggunakan :
Peta bit (Bit Map), memori dibagi menjadi
beberapa alokasi unit.
Linked List, dimana setiap node list terdiri
atas : informasi yg menyatakan adanya
proses (P) atau hole (H), lokasi awal, dan
panjang lokasi.
12

8.6. Monoprogramming
Dgn konsep monoprogramming,
pengalokasian memori ke suatu proses akan
berjalan relatif sederhana, karena pada
setiap saat hanya ada satu proses yg akan
menggunakan
semua
memori
3 cara alokasi
memori untuk
monoprogramming
Sistem Operasi
di RAM

Sistem Operasi
di RAM
User Program
di RAM

User Program
di RAM

User Program
di RAM

Sistem Operasi
di ROM

Device Driver
di ROM

13

8.7. Pengalokasian
Berurutan
Pada multiprogramming, memori utama harus

mengalokasikan tempat untuk SO dan


beberapa user proses. Biasanya memori utama
dibagi menjadi 2 bagian, yaitu alokasi untuk
residen SO dan sisanya untuk user proses.
Pengalokasian secara berurutan ini terbagi
atas:
multiprogramming dgn partisi statis, dilakukan
dengan cara membagi memori menjadi beberapa
partisi dgn ukuran tetap.
Multiprogramming dgn partisi dinamis, dimana
partisi baru akan dibuat setelah suatu proses
masuk ke memori utama.
Buddy System, merupakan cara mengelola
memori utama dgn memanfaatkan kelebihan
penggunaan bilangan biner (2k ; k = 0,1,2, )
14

8.8. Pengalokasian Tak


Berurutan
Paging
Memori fisik dibagi menjadi blok-blok dengan
ukuran tertentu yg disebut frame. Sedangkan
memori logika dibagi menjadi blok-blok yang
disebut dengan page.
Beberapa cara mengimplementasikan page tabel
secara hardware, diantaranya dengan
menggunakan bantuan register dan dengan
menggunakan translation.
Proteksi memori dilakukan dgn cara menambahkan
satu bit proteksi pada tiap-tiap frame.
Multilevel Paging : membagi page menjadi pagepage yg lebih kecil. Dilakukan untuk menghindari
adanya ruang alamat logika dalam ukuran yg
sangat besar.
Keuntungan sistem paging salah satunya adalah
sharing common code .
15

Pengalokasian Tak Berurutan


(lanjut..)
Segmentasi
Segmentasi : skema pengaturan memori
yg mendukung user untuk melihat
memori utama sbg kumpulan segmen
dengan ukuran yang berbeda-beda.
Pemetaan ke alamat fisik dilakukan dgn
menggunakan tabel segmen.
Keuntungan segmentasi adalah
kumpulan proteksi terhadap segmen,
dan juga sharing kode atau data.
16

Anda mungkin juga menyukai