MANAJEMEN MEMORI
Agar proses dapat berjalan dengan efisien maka data dan program harus
tersimpan dalam lokasi yang sama yaitu memori.
11
Ilmu Komputer Sistem Informasi 87030 Tim Dosen
Abstract Kompetensi
Setiap proses yang akan dijalankan, Memahami penerapan partisi statis,
harus melalui memori terlebih dahulu. partisi dimanis.
Memori harus digunakan dengan baik,
sehingga dapat memuat banyak proses Memahami system paging dan
dalam suatu waktu. segmentasi.
Dari gambar di bawah terlihat bahwa memori utama harus diatur sebaik mungkin
supaya :
CPU
Memori utama
Memori Sekunder
Syarat pengelolaan memori :
- Relokasi : prosesor dan sistem operasi harus dapat mentranslasikan memori referensi
ke alamat fisik di memori utama
- Proteksi : user tidak boleh mengakses beberapa bagian dari wilayah sistem operasi.
- Sharing : manajemen memori harus dapat mengontrol sharing area pada memori
utama
a. Konsep binding
Binding adalah proses penempatan suatu item ke dalam lokasi memori tertentu. Binding
dapat terjadi pada :
- Compile time : bila letak dan alamat memori sudah diketahui sebelumnya. Contoh:
program DOS dengan eksestensi COM.
- Load time : alamat awal belum diketahui. Saat program dibuat yang ada hanya
konstanta, variabel dan instruksi, pada saat di compile maka urutan dari konstanta,
variabel dan instruksi tersebut adalah tetap. Saat di-link, sejumlah modul disusun lebih
teratur dan pada saat akan dieksekusi program diletakkan secara fisik sesuai dengan
lokasi yang tersedia.
- Execute time : memungkinkan suatu proses dapat berpindah alamatnya.
Object Object
module module
lainnya
Linkage editor
Load time
Load
System module
library
Loader
System library
yg diload scr
dinamis
2016 Sistem Operasi Binary memory
Pusat Bahan Ajar dan eLearning
Execute time
4 Tim Dosen image (di memori)
http://www.mercubuana.ac.id
(run time)
Pemrosesan user program
b. Dynamic loading
Tidak semua bagian program diambil dari memori, hanya bagian yang diperlukan
saja yang harus tetap tinggal di memori, rutin – rutin yang dibutuhkan baru dipanggil saat
program memerlukan rutin tersebut. Sistem operasi tidak ikut campur dalam dynamic
loading tetai hanya menyediakan librarynya.
c. Dynamic linking
Konsep sama dengan dynamic loading, bedanya dilakukan pada saat link. Dengan
adanya dynamic link tidak perlu membuat duplikat rutin yang banyak, cukup dilakukan
sharing. Dynamic linking memerlukan campur tangan sistem operasi yaitu dalam hal
pengecekan rutin – rutin yang diminta proses di memori sistem operasi dapat mengijinkan
beberapa proses untuk mengakses memori pada alamat yang sama.
d. Overlay
Membagi program yang besar menjadi bagian yang lebih kecil sehingga dapat
dimuat dalam memori utama. Yang ada di memori utama adalah program penggerak
sedang bagian pendukungnya berada pada memori sekunder.
b. Kinerja :
- untuk yang sederhana : dibutuhkan untuk membandingkan atau menambah alamt
logika (proses cepat)
- untuk paging dan segmentasi : proses akan cepat apabila tabel menggunakan register
cepat
c. Fragmentation :
- untuk single partition dan paging : ada masalah dengan internal fragmentation
- untuk multiple partition dan segmentasi : masalah pada eksternal fragmentation
e. Swapping :
- Semua algoritma manajemen memori pasti mengalaminya
- Diatur oleh sistem operasi melalui kebijaksanaan CPU-schedulling
g. Proteksi : pentingnya batasan pada seksi (rutin) dalam bentuk read-only, execute-only
dan read-write.
Relokasi dinamis pengalokasian alamat oleh memori manajemen unit (MMU) dapat
digambarkan sebagai berikut :
Register
relokasi
14000 Alamat fisik
Alamat
CPU
logika
346 14346 Memori
+ utama
3. Swapping
Suatu proses dapat diambil alih sementara dari memori ke suatu tempat
penyimpanan, swapping terjadi pada multiprogramming dengan partisi dinamis, sedang
pada monoprogramming dan multiprogramming dengan partisi statis tidak ada swapping.
Tujuan untuk mengetahui memori utama yang masih kosong dan yang sudah terisi.
Ada dua cara pencatatan pemakaian memori yaitu :
2016 Sistem Operasi Pusat Bahan Ajar dan eLearning
7 Tim Dosen http://www.mercubuana.ac.id
a. Peta bit (bit map)
Memori dibagi menjadi beberapa alokasi unit, tiap unit terdiri dari beberapa word atau
kilobyte. Setiap unit berhubungan dengan 1 bit yang akan bernilai 0 bila masih kosong
dan 1 bila sudah terisi. Ukuran dari unit sangat penting karena :
b. Linked list
Setiap node list terdiri atas informasi yang menyatakan adanya proses (P) atau hole
(H), lokasi awal dan panjang lokasi. Memori yang digunakan lebih kecil, tidak
memerlukan penghitungan blok lubang memori yang sudah tercatat, sulit dealokasi
karena terjadi penggabungan beberapa mode.
A B C D E
1111100000111111111100001111111110000000
P 0 5 H 5 5 P 10 6 P 16 4 H 20 3 P 23 5 P 28 4
5. Monoprogramming
Tiga cara alokasi memori untuk monoprogramming :
a. Sistem operasi dan user program ditempatkan pada RAM
2016 Sistem Operasi Pusat Bahan Ajar dan eLearning
8 Tim Dosen http://www.mercubuana.ac.id
b. Sistem operasi diletakkan di ROM dan user program diletakkan di RAM
c. Sistem operasi diletakkan di RAM alamat bawah, user program di atasnya dan
device driver diletakkan di ROM dalam bentuk ROM BIOS.
Sistem Sistem
Operasi di operasi di
User program
RAM RAM
di RAM
Jika sistem operasi diletakkan pada lokasi yang lebih rendah sedang user diletakkan
pada lokasi yang lebih tinggi maka perlu adanya proteksi terhadap memori dengan
menggunakan base register dan limit register.
Limit Register
register relokasi
Alamat
logika Yes Alamat fisik
< +
CP Memori
U utama
No
Addressing error
Daftar Pustaka
5. Sri Kusuma Dewi, Sistem Operasi, Graha Ilmu, 2002.
6. William Stallings, Sistem Operasi Edisi Empat, PT. Indeks, Kelompok Gramedia, 2005.
7. Hariyanto, B.,"Sistem Operasi", Bandung: Informatika, Desember 1997
8. Silberschatz, A., Gagne, G. dan Galvin, P., "Applied Operating System Concept", John Wiley and
Sons Inc., 2000