Latar Belakang
Memori merupakan pusat kegiatan pada sebuah komputer. Setiap proses yang akan dijalankan harus melalui memori. CPU mengambil instruksi dari memori sesuai yang ada pada
program counter.
Instruksi memerlukan proses memasukkan/menyimpan ke Instruksi memerlukan proses memasukkan/menyimpan ke
alamat di memori.
Tugas sistem operasi adalah mengatur peletakan proses pada
suatu memori.
Memori harus dapat digunakan dengan baik, sehingga dapat
1. Address
1. Address
1. Address
1. Address Binding
Binding
Binding
Binding
Sebuah program ditempatkan dalam disk dalam bentuk berkas
biner
Sebelum dieksekusi, sebuah program harus ditempatkan di
memori.
Prosedur penempatan adalah dengan memilih salah satu proses diProsedur penempatan adalah dengan memilih salah satu proses di
input queue, kemudian proses tersebut ditempatkan ke memori.
Sebuah kompilator akan memetakan simbol-simbol ini ke alamat
relokasi.
Pengikatan alamat adalah cara instruksi dan data (yang berada di
disk sebagai file yang dapat dieksekusi) dipetakan ke alamat memori
Cont,.
Linkage editor akan memetakan alamat relokasi ini menjadi
alamat absolut.
Binding adalah pemetaan dari satu ruang alamat ke alamat yang
Binding instruksi
dan data ke memori
Terjadi dalam 3 cara:
Compilation Time. proses akan ditempatkan di memori pada saat
mengkompilasi
Load Time. membuat kode relokasi jika pada saat mengkompilasi ,
tidak mengetahui proses yang akan ditempatkan dalam memori
tidak mengetahui proses yang akan ditempatkan dalam memori
Execution Time. Binding harus ditunda sampai waktu proses
2.
2.
2.
2. Pengalamatan
Pengalamatan
Pengalamatan
Pengalamatan Logika
Logika
Logika
Logika dan
dan
dan
dan Fisik
Fisik
Fisik
Fisik
Alamat logika adalah alamat yang dihasilkan oleh CPU,
disebut juga alamat virtual.
Alamat fisik adalah alamat memori yang sebenarnya Kumpulan alamat virtual disebut ruang alamat virtual. Kumpulan alamat fisik disebut ruang alamat fisik.
Kumpulan alamat fisik disebut ruang alamat fisik.
Untuk mengubah alamat virtual ke alamat fisik diperlukan
suatu perangkat keras yang bernama Memory Management Unit (MMU).
Cont,.
Register utamanya disebut register relokasi. Nilai pada register relokasi akan bertambah
Setiap alamat dibuat oleh proses pengguna dan pada waktu
3.
3.
3.
3. Pemanggilan
Pemanggilan
Pemanggilan Dinamis
Pemanggilan
Dinamis
Dinamis
Dinamis (Dynamic
(Dynamic
(Dynamic
(Dynamic
Loading)
Loading)
Loading)
Loading)
Seluruh proses dan data berada di memori fisik ketika
dieksekusi.
Ukuran dari memori fisik terbatas.
Untuk mendapatkan penggunaan ruang memori yang baik,
melakukan pemanggilan secara dinamis. melakukan pemanggilan secara dinamis.
Dengan pemanggilan dinamis, sebuah rutin tidak akan
4. Swapping
4. Swapping
4. Swapping
4. Swapping
Swapping adalah suatu proses penukaran sementara keluar
memori ke sebuah penyimpanan sementara dan kemudian dibawa lagi ke memori untuk melanjutkan pengeksekusian
Penyimpanan sementara pada umumnya adalah sebuah fast
disk disk
5.
5.
5.
5. Proteksi
Proteksi
Proteksi
Proteksi Memori
Memori
Memori
Memori
Proteksi memori adalah sebuah sistem yang mencegah sebuah
proses dari pengambilan memori proses lain yang sedang berjalan pada saat yang sama
Proteksi memori dapat menggunakan Relocation Register
dengan Limit Register dengan Limit Register
Relocation Register berisi nilai terkecil alamat fisik. Limit Register berisi rentang nilai alamat logika
Cont,.
Dengan Relokasi dan Limit Register, tiap alamat logika harus
lebih kecil dari Limit Register.
MMU memetakan alamat logika secara dinamis dengan
menambahkan nilai di Relocation Register.
Alamat pemetaan ini kemudian dikirimkan ke memori. Alamat pemetaan ini kemudian dikirimkan ke memori.
6.
6.
6.
6. Penghalaman
Penghalaman
Penghalaman
Penghalaman Memori
Memori
Memori
Memori
Penghalaman merupakan kemungkinan solusi untuk
permasalahan fragmentasi eksternal dimana ruang alamat logika tidak berurutan.
Mengijinkan sebuah proses dialokasikan pada memori fisik
yang terakhir tersedia.
Memori fisik dibagi ke dalam blok-blok ukuran tetap yang
Memori fisik dibagi ke dalam blok-blok ukuran tetap yang
disebut frame.
Memori logika juga dibagi ke dalam blokblok dg ukuran yang
sama yang disebut page.
Tabel page (page table) digunakan untuk menterjemahkan
Alamat dibangkitkan oleh CPU dengan membagi ke dalam 2
bagian yaitu :
Page number (p) digunakan sebagai indeks ke dalam table page (page
table). Page table berisi alamat basis dari setiap page pada memori fisik.
Page offset (d) mengkombinasikan alamat basis dengan page offset Page offset (d) mengkombinasikan alamat basis dengan page offset
untuk mendefinisikan alamat memori fisik yang dikirim ke unit memori.
Keuntungan dan kerugian pemberian
halaman
Jika membuat ukuran dari masing-masing halaman menjadi
lebih besar.
Keuntungan. Akses memori akan relatif lebih cepat.
Kerugian. Kemungkinan terjadinya fragmentasi intern sangat
besar. besar.
Jika kita membuat ukuran dari masing-masing halaman
menjadi lebih kecil.
Keuntungan. Kemungkinan terjadinya internal Fragmentasi akan
menjadi lebih kecil.
Model Penghalaman
Ukuran page (juga frame) didefinisikan oleh perangkat keras.
Ukuran page merupakan bilangan 2 pangkat k, mulai 512 (29)
s/d 8192 (213) tergantung arsitektur computer.
Bila ukuran ruang alamat logika 2m dan ukuran satu page adalah
2n address unit (byte/word) maka (m-n) bit orde tinggi dari
2n address unit (byte/word) maka (m-n) bit orde tinggi dari
alamat logika menunjukkan nomor page (page number) dan n bit orde rendah menunjukkan page offset.
cont,.
Proses pemetaan dari alamat logika ke
alamat fisik
Menggunakan ukuran page 4 byte dan memori fisik 32 byte
Contoh. Pemetaan alamat
Alamat logika 2 berada pada page 0 akan dipetakan ke frame 5,
sehingga alamat fisiknya adalah (5 X 4) + 2 = 22.
Alamat logika 4 berada pada page 1 akan dipetakan ke frame 6,
sehingga alamat fisiknya adalah (6 X 4) + 0 = 24.
Alamat logika 9 berada pada page 3 akan dipetakan ke frame 1, Alamat logika 9 berada pada page 3 akan dipetakan ke frame 1,
sehingga alamat fisiknya adalah (1 X 4) + 1 = 5.
Alamat logika 15 berada pada page 4 akan dipetakan ke frame 2,
Gb. Pemetaan alamat logika ke alamat fisik
Pengalokasian memori pada saat
proses di eksekusi
Suatu proses datang untuk dieksekusi, maka ukurannya
diekspresikan dengan page
Setiap page membutuhkan satu frame.
Bila proses membutuhkan n page, maka proses tersebut juga
membutuhkan n frame. membutuhkan n frame.
Jika tersedia n frame, maka memori dialokasikan untuk proses
tersebut.
Gb. Alokasi frame: (a) Sebelum alokasi (b) Setelah alokasi Gb. Alokasi frame: (a) Sebelum alokasi (b) Setelah alokasi Gb. Alokasi frame: (a) Sebelum alokasi (b) Setelah alokasi Gb. Alokasi frame: (a) Sebelum alokasi (b) Setelah alokasi
VIRTUAL MEMORI
VIRTUAL MEMORI
VIRTUAL MEMORI
VIRTUAL MEMORI
Memori virtual adalah suatu teknik yang memisahkan antara
memori logis dan memori fisiknya.
Dengan pengaturan oleh sistem operasi memori virtual dapat
mengatasi masalah kebutuhan memori yang besar.
Teknik ini menyembunyikan aspek-aspek fisik memori dari pengguna
dengan menjadikan memori sebagai lokasi alamat virtual berupa byte dengan menjadikan memori sebagai lokasi alamat virtual berupa byte yang tidak terbatas.
Menaruh beberapa bagian dari memori virtual yang berada di memori
logis.
Memori virtual melakukan pemisahan dengan menaruh memori
logis ke disk sekunder dan hanya membawa halaman yang diperlukan ke memori utama.