2. Latar Belakang
Memory merupakan tempat menampung data dan
kode instruksi program
Memori adalah pusat kegiatan pada sebuah
komputer, karena setiap proses yang akan
dijalankan, harus melalui memori terlebih dahulu.
Sistem Operasi bertugas untuk mengatur peletakan
banyak proses pada suatu memori
Manajemen memory berkaitan dengan aktifitas
pengelolaan penggunaan memori pada saat
komputer aktif dan menjalankan proses-proses
4. Register
Contoh memori register
IR (instruction Register) untuk menampung
kode instruksi yang akan dieksekusi
AX,BX,CX,DX dan lainnya untuk menampung
data dan informasi.
Kapasitas memori register sangat terbatas
agar ukuran chip processor tetap kecil.
Itulah sebabnya diperlukan memori utama.
5. Memori Utama
Memori utama pada umumnya dapat diakses
secara random RAM (Random Access Memory)
dan volatile.
Namun sayangnya kecepatan transfer data dari
memori utama ke prosesor sangat lambat jika
dibandingkan dengan eksekusi prosesor
Contoh: Pentium IV 1.7GHz memiliki front bus
400MHz, artinya terdapat selisih kecepatan 4X,
berarti setiap kali terjadi transfer data dari memori
utama ke register prosesor, prosesor harus
menunggu sebanyak 4 siklus eksekusi.
6. Memori cache
Untuk mengatasi perbedaan kecepatan,
digunakan teknik caching untuk memori
utama dengan menggunakan memori cache.
Umumnya berada dalam prosessor
Kapasitas jauh lebih kecil dari memori utama
Kecepatan transfer mengikuti clock processor
Prinsip kerja sebagai salinan bayangan dari
data dan kode instruksi di memori utama
7. Memori sekunder
Memori sekunder umumnya berupa disk dan
bersifat non-volatile
Kecepatan transfer jauh lebih lambat dari
memori utama
Untuk mengatasi kekurangan tempat pada
ruang memori utama teknik virtual
memory
8. Tujuan pengorganisasian memori komputer:
Meningkatkan kecepatan akses kode instruksi dan data
oleh prosesor
Mengurangi waktu menganggur(idle) prosesor
Memperbesar kapasitas penyimpanan sistem memori
komputer
Secara umum, semakin bawah tingkatan pada
hirarki organisasi komputer, maka:
Harga per satuan byte semakin rendah
Kapasitas penyimpanan semakin besar
Frekuensi pengaksesan semakin kurang
Kecepatan akses semakin lambat
9. Pengalamatan Memori
Tugas untuk mereferensi kode instruksi atau data di
memori utama secara tepat merupakan tanggung
jawab dari compiler
Compiler berfungsi mengubah source code yang
ditulis programmer menjadi file yang berisi kode
instruksi program yang dapat dijalankan prosessor
Dalam menentukan alamat instruksi atau data,
compiler mengacu pada metode pengalamatan
memori yang dipakai sistem komputer
10. Metode pengalamatan memori
mendefinisikan:
Model alamat yang dituliskan pada kode instruksi
program
Mekanisme penyalinan
Kapan dan bagaimana alamat dalam kode
instruksi program diterjemahkan dalam alamat
fisik memori sesungguhnya.
11. Secara garis besar metode pengalamatan
memori dapat dibedakan atas :
1. Pengalamatan secara fisik (Physical /
absolute address)
alamat yang ditulis pada kode instruksi
adalah alamat fisik memori utama yang
sesungguhnya.
12. 2. Pengalamatan secara logika (Logical Addressing)
perlu ditranslasikan ke alamat fisik memori utama.
Pada saat eksekusi, pengaksesan alamat akan
ditranslasi dengan menjumlahkan alamat referensi
awal pada instruksi dengan isi register alokasi untuk
mendapatkan alamat fisik memori
Relokasi program dapat dilakukan secara fleksibel
13. ADDRESS BINDING
Alamat yang terdapat dalam kode instruksi
tidak selamanya berupa alamat fisik, tapi
dapat berupa alamat logika yang perlu
ditranslasi lebih dahulu.
Aktivitas translasi alamat ini disebut dengan
address binding.
14. Address binding dapat terjadi pada saat:
Compile Time
apabila dimungkinkan letak / alamat fisik memori diketahui
sebelum diekseskusi agar langsung dapat ditulis pada
source code.
Kelemahan: program tidak dapat direlokasi selama
eksekusi.
Loading Time
Dilakukan pada saat loading program ke memori utama
Hasil kompilasi disimpan dalam file yang berisi alamat fisik.
Jika terjadi perubahan relokasi maka code di-load
ulang
15. Execution Time
membutuhkan perangkat keras seperti MMU (Memory
Management Unit)
MMU bertanggung jawab membantu proses
perhitungan transasi alamat logika ke alamat fisik
pada saat eksekusi.
Dimungkinkan suatu proses berpindah alamat
sewaktu dieksekusi.
16. Memory-Management Unit
(MMU)
Perangkat Hardware yang memetakan alamat logik
(virtual) ke alamat fisik.
Dalam skema MMU
Menyediakan perangkat register yang dapat di set oleh
setiap CPU: setiap proses mempunyai data set register tsb
(disimpan di PCB).
Base register dan limit register.
Harga dalam register base/relokasi ditambahkan ke setiap
address proses user pada saat run di memori
Program user hanya berurusan dengan address logik saja
17. Dynamic Loading
Tidak semua bagian program diambil ke memori.
Dengan dynamic loading, Routine yang tidak digunakan tak akan
pernah di-load ke memori.
Mekanisme dasar:
Program utama di-load dan dieksekusi.
Pada saat suatu routine butuh memanggil routine yang lain,
maka pertama routine pemanggil mengecek apakah rotine yang
dibutuhkan sudah pernah diambil. Jika belum, maka routine yang
dipanggil tersebut akan diambil dan dialokasikan di memori
utama
Keuntungan dynamic loading :
Rutin yang tidak digunakan tak akan pernah di-load ke memori.
Untuk menghindari pemakaian rutin yang salah dalam program
dengan jumlah kode yang besar.
Tidak memerlukan bantuan sistem operasi. Metode ini menjadi
tanggung jawab user/programmer. SO hanya menyediakan
routine library
18. Dynamic Linking
Konsep sama dengan dynamic loading, hanya saja
penekanan pada proses linking.
Dimungkinkan adanya share library yang dibuat
oleh suatu aplikasi untuk digunakan oleh aplikasi
lainnya.
Mengurangi pemakaian space: satu routine library di
memory digunakan secara bersama oleh sekumpulan
proses.
dapat digunakan untuk pembaharuan library secara
otomatis bila ada versi yang lebih baru.
File yang mendukung dynamic linking:
.dll (Dynamic Link Libraries), .sys , .drv
sistem operasi dibutuhkan untuk memeriksa apakah
routine yang diperlukan ada di ruang memori proses
yang lain.
19. Overlay
Overlay membagi program yang besar menjadi
bagian-bagian yang lebih kecil dan dapat dimuat
dalam memori utama.
Dibutuhkan ketika proses yang ada lebih besar
dibandingkan memori yang tersedia
Diimplementasikan oleh user, tidak ada dukungan
khusus dari sistem operasi, desain program pada
struktrur overlay cukup kompleks.
20. Ide dari overlay adalah yang disimpan di
memori adalah hanya instruksi dan data yang
diperlukan pada waktu tertentu. Bila instruksi
lain yang diperlukan, maka akan diletakkan
ditempat instruksi lama yang tidak diperlukan
lagi.
21. Untuk load keseluruhan dibutuhkan memori
200K. Jika yang tersedia hanya 150K, maka
tidak bisa dieksekusi.
Dengan menggunakan overlay, maka routine
dibagi menjadi 2 overlay
Overlay A terdiri dari symbol table, common
routine dan pass 1 (butuh 120K)
Overlay B terdiri dari symbol table, common
routine dan pass 2 (butuh 130K)
Membutuhkan overlay driver 10K
22. Swapping
Suatu proses dapat di-swap secara temporary keluar dari memori
dan dimasukkan ke backing store, dan dapat dimasukkan kembali
ke dalam memori pada eksekusi selanjutnya.
Backing store –disk cepat yang cukup besar untuk mengakomodasi
copy semua memori image pada semua user; menyediakan akses
langsung ke memori image.
Roll out, roll in – varian swapping yang digunakan dalam
penjadualan prioritas; proses dengan prioritas rendah di-swap out,
sehingga proses dengan prioritas tinggi dapat di-load dan
dieksekusi.
Bagian terbesar dari swap time adalah transfer time, total transfer
time secara proporsional dihitung dari jumlah memori yang di swap.