manajemen memori - putuastawa.files.wordpress.com · binding instruksidan data ke memori...
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](https://reader031.vdocuments.pub/reader031/viewer/2022012003/60b181144c3c4d2f84050ad0/html5/thumbnails/1.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012003/60b181144c3c4d2f84050ad0/html5/thumbnails/2.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012003/60b181144c3c4d2f84050ad0/html5/thumbnails/3.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012003/60b181144c3c4d2f84050ad0/html5/thumbnails/4.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012003/60b181144c3c4d2f84050ad0/html5/thumbnails/5.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012003/60b181144c3c4d2f84050ad0/html5/thumbnails/6.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012003/60b181144c3c4d2f84050ad0/html5/thumbnails/7.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012003/60b181144c3c4d2f84050ad0/html5/thumbnails/8.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012003/60b181144c3c4d2f84050ad0/html5/thumbnails/9.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012003/60b181144c3c4d2f84050ad0/html5/thumbnails/10.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012003/60b181144c3c4d2f84050ad0/html5/thumbnails/11.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012003/60b181144c3c4d2f84050ad0/html5/thumbnails/12.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012003/60b181144c3c4d2f84050ad0/html5/thumbnails/13.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012003/60b181144c3c4d2f84050ad0/html5/thumbnails/14.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012003/60b181144c3c4d2f84050ad0/html5/thumbnails/15.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012003/60b181144c3c4d2f84050ad0/html5/thumbnails/16.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012003/60b181144c3c4d2f84050ad0/html5/thumbnails/17.jpg)
� 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](https://reader031.vdocuments.pub/reader031/viewer/2022012003/60b181144c3c4d2f84050ad0/html5/thumbnails/18.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012003/60b181144c3c4d2f84050ad0/html5/thumbnails/19.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012003/60b181144c3c4d2f84050ad0/html5/thumbnails/20.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012003/60b181144c3c4d2f84050ad0/html5/thumbnails/21.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012003/60b181144c3c4d2f84050ad0/html5/thumbnails/22.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012003/60b181144c3c4d2f84050ad0/html5/thumbnails/23.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012003/60b181144c3c4d2f84050ad0/html5/thumbnails/24.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012003/60b181144c3c4d2f84050ad0/html5/thumbnails/25.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012003/60b181144c3c4d2f84050ad0/html5/thumbnails/26.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012003/60b181144c3c4d2f84050ad0/html5/thumbnails/27.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012003/60b181144c3c4d2f84050ad0/html5/thumbnails/28.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012003/60b181144c3c4d2f84050ad0/html5/thumbnails/29.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012003/60b181144c3c4d2f84050ad0/html5/thumbnails/30.jpg)