manajemen memori - putuastawa.files.wordpress.com · binding instruksidan data ke memori...

30
Manajemen Memori

Upload: others

Post on 24-Jan-2021

13 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Manajemen Memori - putuastawa.files.wordpress.com · Binding instruksidan data ke memori Terjadidalam3 cara: Compilation Time. proses akan ditempatkan di memori pada saat mengkompilasi

Manajemen Memori

Page 2: Manajemen Memori - putuastawa.files.wordpress.com · Binding instruksidan data ke memori Terjadidalam3 cara: Compilation Time. proses akan ditempatkan di memori pada saat mengkompilasi

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 padaprogram counter.

� Instruksi memerlukan proses memasukkan/menyimpan ke� Instruksi memerlukan proses memasukkan/menyimpan kealamat di memori.

� Tugas sistem operasi adalah mengatur peletakan proses padasuatu memori.

� Memori harus dapat digunakan dengan baik, sehingga dapatmemuat banyak proses pada suatu waktu.

Page 3: Manajemen Memori - putuastawa.files.wordpress.com · Binding instruksidan data ke memori Terjadidalam3 cara: Compilation Time. proses akan ditempatkan di memori pada saat mengkompilasi

1. Address 1. Address 1. Address 1. Address BindingBindingBindingBinding� Sebuah program ditempatkan dalam disk dalam bentuk berkas biner

� Sebelum dieksekusi, sebuah program harus ditempatkan dimemori.

� Prosedur penempatan adalah dengan memilih salah satu proses diProsedur penempatan adalah dengan memilih salah satu proses diinput queue, kemudian proses tersebut ditempatkan ke memori.

� Sebuah kompilator akan memetakan simbol-simbol ini ke alamatrelokasi.

� Pengikatan alamat adalah cara instruksi dan data (yang berada didisk sebagai file yang dapat dieksekusi) dipetakan ke alamatmemori

Page 4: Manajemen Memori - putuastawa.files.wordpress.com · Binding instruksidan data ke memori Terjadidalam3 cara: Compilation Time. proses akan ditempatkan di memori pada saat mengkompilasi

Cont,.� Linkage editor akan memetakan alamat relokasi ini menjadialamat absolut.

� Binding adalah pemetaan dari satu ruang alamat ke alamat yang lain.

Page 5: Manajemen Memori - putuastawa.files.wordpress.com · Binding instruksidan data ke memori Terjadidalam3 cara: Compilation Time. proses akan ditempatkan di memori pada saat mengkompilasi

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 memoritidak mengetahui proses yang akan ditempatkan dalam memori

� Execution Time. Binding harus ditunda sampai waktu proses berjalan selesai.

Page 6: Manajemen Memori - putuastawa.files.wordpress.com · Binding instruksidan data ke memori Terjadidalam3 cara: Compilation Time. proses akan ditempatkan di memori pada saat mengkompilasi

Gb. Multistep processing dari program user

Page 7: Manajemen Memori - putuastawa.files.wordpress.com · Binding instruksidan data ke memori Terjadidalam3 cara: Compilation Time. proses akan ditempatkan di memori pada saat mengkompilasi

2. 2. 2. 2. PengalamatanPengalamatanPengalamatanPengalamatan LogikaLogikaLogikaLogika dandandandan FisikFisikFisikFisik� 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).

Page 8: Manajemen Memori - putuastawa.files.wordpress.com · Binding instruksidan data ke memori Terjadidalam3 cara: Compilation Time. proses akan ditempatkan di memori pada saat mengkompilasi

Cont,.� Register utamanya disebut register relokasi.

� Nilai pada register relokasi akan bertambah

� Setiap alamat dibuat oleh proses pengguna dan pada waktuyang sama alamat ini dikirimkan ke memori

Page 9: Manajemen Memori - putuastawa.files.wordpress.com · Binding instruksidan data ke memori Terjadidalam3 cara: Compilation Time. proses akan ditempatkan di memori pada saat mengkompilasi

Gb. Relokasi dinamis menggunakan register relokasi

Page 10: Manajemen Memori - putuastawa.files.wordpress.com · Binding instruksidan data ke memori Terjadidalam3 cara: Compilation Time. proses akan ditempatkan di memori pada saat mengkompilasi

3. 3. 3. 3. PemanggilanPemanggilanPemanggilanPemanggilan DinamisDinamisDinamisDinamis (Dynamic (Dynamic (Dynamic (Dynamic

Loading)Loading)Loading)Loading)

� Seluruh proses dan data berada di memori fisik ketikadieksekusi.

� 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 akandipanggil jika tidak diperlukan.

Page 11: Manajemen Memori - putuastawa.files.wordpress.com · Binding instruksidan data ke memori Terjadidalam3 cara: Compilation Time. proses akan ditempatkan di memori pada saat mengkompilasi

4. Swapping4. Swapping4. Swapping4. Swapping� Swapping adalah suatu proses penukaran sementara keluarmemori ke sebuah penyimpanan sementara dan kemudiandibawa lagi ke memori untuk melanjutkan pengeksekusian

� Penyimpanan sementara pada umumnya adalah sebuah fast diskdisk

Page 12: Manajemen Memori - putuastawa.files.wordpress.com · Binding instruksidan data ke memori Terjadidalam3 cara: Compilation Time. proses akan ditempatkan di memori pada saat mengkompilasi

Gb. Skema view dari Swapping

Page 13: Manajemen Memori - putuastawa.files.wordpress.com · Binding instruksidan data ke memori Terjadidalam3 cara: Compilation Time. proses akan ditempatkan di memori pada saat mengkompilasi

5. 5. 5. 5. ProteksiProteksiProteksiProteksi MemoriMemoriMemoriMemori� Proteksi memori adalah sebuah sistem yang mencegah sebuahproses dari pengambilan memori proses lain yang sedangberjalan pada saat yang sama

� Proteksi memori dapat menggunakan Relocation Register dengan Limit Registerdengan Limit Register� Relocation Register berisi nilai terkecil alamat fisik.

� Limit Register berisi rentang nilai alamat logika

Page 14: Manajemen Memori - putuastawa.files.wordpress.com · Binding instruksidan data ke memori Terjadidalam3 cara: Compilation Time. proses akan ditempatkan di memori pada saat mengkompilasi

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.

Page 15: Manajemen Memori - putuastawa.files.wordpress.com · Binding instruksidan data ke memori Terjadidalam3 cara: Compilation Time. proses akan ditempatkan di memori pada saat mengkompilasi

Gb. Dukungan perangkat keras untuk relokasi dan pembatasan register-register

Page 16: Manajemen Memori - putuastawa.files.wordpress.com · Binding instruksidan data ke memori Terjadidalam3 cara: Compilation Time. proses akan ditempatkan di memori pada saat mengkompilasi

6. 6. 6. 6. PenghalamanPenghalamanPenghalamanPenghalaman MemoriMemoriMemoriMemori� Penghalaman merupakan kemungkinan solusi untukpermasalahan fragmentasi eksternal dimana ruang alamatlogika tidak berurutan.

� Mengijinkan sebuah proses dialokasikan pada memori fisikyang 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 logika ke alamat fisik.

Page 17: Manajemen Memori - putuastawa.files.wordpress.com · Binding instruksidan data ke memori Terjadidalam3 cara: Compilation Time. proses akan ditempatkan di memori pada saat mengkompilasi

� 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.

Page 18: Manajemen Memori - putuastawa.files.wordpress.com · Binding instruksidan data ke memori Terjadidalam3 cara: Compilation Time. proses akan ditempatkan di memori pada saat mengkompilasi

Gb. Arsitektur penghalaman memori

Page 19: Manajemen Memori - putuastawa.files.wordpress.com · Binding instruksidan data ke memori Terjadidalam3 cara: Compilation Time. proses akan ditempatkan di memori pada saat mengkompilasi

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 sangatbesar.besar.

� Jika kita membuat ukuran dari masing-masing halamanmenjadi lebih kecil.� Keuntungan. Kemungkinan terjadinya internal Fragmentasi akanmenjadi lebih kecil.

� Kerugian. Akses memori akan relatif lebih lambat.

Page 20: Manajemen Memori - putuastawa.files.wordpress.com · Binding instruksidan data ke memori Terjadidalam3 cara: Compilation Time. proses akan ditempatkan di memori pada saat mengkompilasi

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 dari2n address unit (byte/word) maka (m-n) bit orde tinggi darialamat logika menunjukkan nomor page (page number) dan n bit orde rendah menunjukkan page offset.

Page 21: Manajemen Memori - putuastawa.files.wordpress.com · Binding instruksidan data ke memori Terjadidalam3 cara: Compilation Time. proses akan ditempatkan di memori pada saat mengkompilasi

Gb. Model penghalaman

Page 22: Manajemen Memori - putuastawa.files.wordpress.com · Binding instruksidan data ke memori Terjadidalam3 cara: Compilation Time. proses akan ditempatkan di memori pada saat mengkompilasi

cont,.Gb. Model Penghalaman

Page 23: Manajemen Memori - putuastawa.files.wordpress.com · Binding instruksidan data ke memori Terjadidalam3 cara: Compilation Time. proses akan ditempatkan di memori pada saat mengkompilasi

Proses pemetaan dari alamat logika ke

alamat fisik

� Menggunakan ukuran page 4 byte dan memori fisik 32 byte (8 page).

Page 24: Manajemen Memori - putuastawa.files.wordpress.com · Binding instruksidan data ke memori Terjadidalam3 cara: Compilation Time. proses akan ditempatkan di memori pada saat mengkompilasi

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, sehingga alamat fisiknya adalah (2 X 4) + 3 = 11.

Page 25: Manajemen Memori - putuastawa.files.wordpress.com · Binding instruksidan data ke memori Terjadidalam3 cara: Compilation Time. proses akan ditempatkan di memori pada saat mengkompilasi

Gb. Pemetaan alamat logika ke alamat fisik

Page 26: Manajemen Memori - putuastawa.files.wordpress.com · Binding instruksidan data ke memori Terjadidalam3 cara: Compilation Time. proses akan ditempatkan di memori pada saat mengkompilasi

Pengalokasian memori pada saat

proses di eksekusi

� Suatu proses datang untuk dieksekusi, maka ukurannyadiekspresikan dengan page� Setiap page membutuhkan satu frame.

� Bila proses membutuhkan n page, maka proses tersebut jugamembutuhkan n frame.membutuhkan n frame.

� Jika tersedia n frame, maka memori dialokasikan untuk prosestersebut.

� Alokasi page pada frame bebas

Page 27: Manajemen Memori - putuastawa.files.wordpress.com · Binding instruksidan data ke memori Terjadidalam3 cara: Compilation Time. proses akan ditempatkan di memori pada saat mengkompilasi

Gb. Alokasi frame: (a) Sebelum alokasi (b) Setelah alokasiGb. Alokasi frame: (a) Sebelum alokasi (b) Setelah alokasiGb. Alokasi frame: (a) Sebelum alokasi (b) Setelah alokasiGb. Alokasi frame: (a) Sebelum alokasi (b) Setelah alokasi

Page 28: Manajemen Memori - putuastawa.files.wordpress.com · Binding instruksidan data ke memori Terjadidalam3 cara: Compilation Time. proses akan ditempatkan di memori pada saat mengkompilasi

VIRTUAL MEMORIVIRTUAL MEMORIVIRTUAL MEMORIVIRTUAL MEMORI� Memori virtual adalah suatu teknik yang memisahkan antaramemori 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 penggunadengan 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 memorilogis ke disk sekunder dan hanya membawa halaman yang diperlukan ke memori utama.

Page 29: Manajemen Memori - putuastawa.files.wordpress.com · Binding instruksidan data ke memori Terjadidalam3 cara: Compilation Time. proses akan ditempatkan di memori pada saat mengkompilasi

Gb. Arsitektur Memori virtual dan memori fisikGb. Arsitektur Memori virtual dan memori fisikGb. Arsitektur Memori virtual dan memori fisikGb. Arsitektur Memori virtual dan memori fisik

Page 30: Manajemen Memori - putuastawa.files.wordpress.com · Binding instruksidan data ke memori Terjadidalam3 cara: Compilation Time. proses akan ditempatkan di memori pada saat mengkompilasi