1 Manajemen Memori2 Latar Belakang Memori merupakan pusat kegiatan pada sebuah komputer. Setiap proses yang akan dijalankan harus melalui memori. CPU ...
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 alamat di memori. Tugas sistem operasi adalah mengatur peletakan proses pada suatu memori. Memori harus dapat digunakan dengan baik, sehingga dapat memuat banyak proses pada suatu waktu.
1. Address 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 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 lain.
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 Execution Time. Binding harus ditunda sampai waktu proses berjalan selesai.
Gb. Multistep processing dari program user
2. Pengalamatan Logika dan 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. 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
yang sama alamat ini dikirimkan ke memori
Gb. Relokasi dinamis menggunakan register relokasi
3. Pemanggilan Dinamis (Dynamic 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. Dengan pemanggilan dinamis, sebuah rutin tidak akan dipanggil jika tidak diperlukan.
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
Gb. Skema view dari Swapping
5. Proteksi 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 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.
Gb. Dukungan perangkat keras untuk relokasi dan pembatasan register-register
6. Penghalaman 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 disebut frame. Memori logika juga dibagi ke dalam blokblok dg ukuran yang sama yang disebut page. Tabel page (page table) digunakan untuk menterjemahkan alamat logika ke alamat fisik.
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 untuk mendefinisikan alamat memori fisik yang dikirim ke unit memori.
Gb. Arsitektur penghalaman 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. Jika kita membuat ukuran dari masing-masing halaman
menjadi lebih kecil. Keuntungan. Kemungkinan terjadinya internal Fragmentasi akan
menjadi lebih kecil. Kerugian. Akses memori akan relatif lebih lambat.
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 alamat logika menunjukkan nomor page (page number) dan n bit orde rendah menunjukkan page offset.
Gb. Model penghalaman
cont,. Gb. Model Penghalaman
Proses pemetaan dari alamat logika ke alamat fisik Menggunakan ukuran page 4 byte dan memori fisik 32 byte
(8 page).
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, sehingga alamat fisiknya adalah (1 X 4) + 1 = 5. Alamat logika 15 berada pada page 4 akan dipetakan ke frame 2, sehingga alamat fisiknya adalah (2 X 4) + 3 = 11.
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. Jika tersedia n frame, maka memori dialokasikan untuk proses tersebut. Alokasi page pada frame bebas
Gb. Alokasi frame: (a) Sebelum alokasi (b) Setelah alokasi
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 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.