Manajemen Memori


l Binding

Binding adalah proses penempatan suatu item ke dalam lokasi memori tertentu. Secara sederhana, data binding adalah menarik informasi dari suatu obyek dan menampilkan pada user interface Anda tanpa menulis banyak kode.

Pada dasarnya data binding di WPF sama dengan pendekatan di Windows Form. Seperti pada Windows Form, pada WPF disediakan fasilitas untuk mem-binding semua informasi pada property dan object dan memasukan ke dalam property dari elemen lain. Jadi disini, tidak mesti binding itu adalah dengan object database.

Ada tiga model Binding Direction :

  • OneWay : Target property akan terupdate jika source property berubah
  • TwoWay : Target property akan terupdate jika source property dan begitu pula sebaliknya
  • OneTime : Target property inisial set berdasarkan nilai dari source property.

Berikut adalah gambar Binding Direction :


l Dynamic Loading

Dynamic loading adalah salah satu konsep manajemen memori dimana tidak semua bagian program diambil ke memori, hanya bagian-bagian yang diperlukan saja yang harus tetap tinggal dalam memori.

Dengan dynamic loading ini, suatu rutin tidak akan diambil sampai rutin tersebut dibutuhkan (dipanggil). Pada saat suatu rutin butuh memanggil rutin yang lainnya, maka pertama-tama rutin pemanggil tersebut akan memeriksa apakah rutin yg dibutuhkan tsb sudah pernah diambil. Jika

belum maka rutin yg dipanggil tersebut diambil dan dialokasikan di memori utama.

l Dynamic Linking

Dynamic Linking konsepnya sama dengan dynamic loading, hanya saja tekanannya pada proses linking. Dengan adanya dynamic linking ini dimungkinkan adanya share library yang dibuat oleh suatu aplikasi untuk digunakan oleh aplikasi lainnya. Ada beberapa file yang mendukung adanya dinamic linking, yaitu file-file yang berekstensi .dll (dynamic link libraries), .sys, atau .drv .

Tanpa adanya dynamic linking, maka semua program aplikasi perlu untuk menduplikat library ke dalam bahasanya, jika ini terjadi maka akan menimbulkan pemborosan ruang memori utama maupun disk.

l Swapping – Overlay

Swapping adalah suatu proses yang dapat dialihkan sementara dari memori ke suatu tempat penyimpanan, dan dipanggil kembali ke memori jika akan melanjutkan eksekusi. Contohnya adalah proses multiprogramming (mengguna-kan algoritma penjadwalan CPU Round Robin).

Salah satu klasifikasi manajemen memori didasarkan pada ada/tidaknya swapping. Manajemen memori tanpa swapping terdiri dari manajemen monoprogramming dan multiprogramming dengan partisi statis. Sedangkan multi programming dengan partisi dinamis termasuk manajemen memori dengan swapping.

Overlay adalah membagi program yang besar menjadi bagian bagian yang lebih kecil dan dapat dimuat dalam memori utama. Yang harus selalu ada dalam memori utama biasanya adalah program penggeraknya, sedangkan bagian-bagian pendukungnya diletakkan dalam memori sekunder.

l Compaction

Compactation, yaitu mengatur kembali isi memori agar memori yang kosong diletakkan bersama di suatu bagian yang besar.

Compactation hanya dapat dilakukan apabila relokasi bersifat dinamis dan pengalamatan dilakukan pada saat proses dijalankan. Dapat menyebabkan suatu

proses menempati lokasi memori yang berbeda selama

proses tersebut dijalankan.

l Memori Maya – Memori Nyata

Memori maya adalah kemampuan mengalamati ruang memori melebihi memori utama yang tersedia.

Gagasan memori maya adalah ukuran gabungan program, data dan stack melampaui jumlah memori fisik yang tersedia. Sistem Operasi menyimpan bagian-bagian proses yang sedang digunakan di memori utama dan sisanya di disk. Begitu bagian di disk diperlu kan maka bagian di memori yang tidak diperLukan disingkirkan diganti bagian di disk yang diperlukan itu. Memori maya dapat dilakukan dengan tiga cara, yaitu:

  1. Paging.
  2. Segmentasi.
  3. Kombinasi paging dan segmentasi.

Alamat Maya (Virtual Address)

Alamat yang dihasilkan dengan perhitungan menggunakan

index register, base register, segment register dan sebagainya.

Alamat Nyata (Real Address)

Alamat yang tersedia di memori utama fisik.

l Dynamic Partitions – Static Partitions

Partisi tunggal adalah alamat pertama yang dialokasikan untuk proses adalah yang berikutnya dari alamat yang dialokasikan untuk proses sebelumnya.

Partisi banyak adalah dimana Sistem Operasi menyimpan informasi tentang semua bagian memori yang tersedia untuk digunakan (disebut hole).

Proses yang akan dialokasikan dimasukkan ke dalam antrian dan algoritma penjadualan digunakan untuk menentukan proses mana yang akan dialokasikan berikutnya.

Pemartisan Menjadi Partisi-Partisi Berukuran Sama

Beberapa proses yang ukurannya kurang atau sama dengan ukuran partisi dimasukkan ke sembarang partisi yang tersedia.

Kelemahan

Bila program ukurannya lebih besar dibanding partisi yang tersedia maka tidak dapat dimuatkan, tidak dapat dijalankan .Pemrogram harus mempersiapkan overlay sehingga hanya bagian program yang benar-benar dieksekusi yang dimasukkan ke memori utama dan saling bergantian. Untuk overlay diperlukan sistem operasi yang mendukung swapping.

Untuk program yang sangat kecil dibanding ukuran partisi yang ditetapkan, maka banyak ruang yang tak dipakai yang diboroskan, disebut fragmentasi internal.

Pemartisan Menjadi Partisi-Partisi Berukuran Beda

Terdapat dua strategi penempatan program ke partisi, yaitu:

  1. Satu antrian untuk tiap partisi (banyak antrian untuk seluruh partisi).
  1. Satu antrian untuk seluruh partisi.

Satu Antrian untuk Tiap Partisi

(Banyak Antrian untuk Seluruh Partisi)

Proses ditempatkan ke partisi paling kecil yang dapat memuatnya.

Keuntungan

Teknik ini adalah meminimalkan pemborosan memori

Kelemahan

Dapat terjadi antrian panjang di suatu partisi sementara antrian partisi-partisi lain kosong.

l Monoprogramming – Multiprogramming

Monoprogramming sederhana tanpa swapping merupakan manajemen memori

paling sederhana, sistem komputer hanya mengijinkan satu program/pemakai berjalan pada satu waktu. Semua sumber daya sepenuhnya dkuasi proses yang sedang berjalan.

Manajemen memori monoprogramming sederhana mempunyai ciri-ciri berikut :

a. Hanya terdapat satu proses pada satu saat, sehingga proses baru akan

menimpa proses lama yang sudah selesai eksekusi.

b. Hanya satu proses mengunakan semua memori.

c. Pemakai memusatkan program keseluruh memori dari disk atau tape.

d. Program mengambil kendali seluruh mesin.

Karena hanya terdapat satu proses dan menguasai seluruh sistem, maka

eksekusi memori dilakukan secara berurutan.

Teknik ini digunakan sampai sekitar 1960, ditinggalkan bahkan untuk

komputer pribadi karena tiap proses harus berisi device driver perangkat

I/O yang digunakan.

Multiprogramming, dilakukan dengan cara membagi memori menjadi beberapa partisi dengan ukuran tetap. Jika ada beberapa proses yang menggunakan memori utama dalam waktu yang bersamaan, maka memori harus dibagi menjadi beberapa partisi dengan ukuran tertentu. Tiap-tiap partisi digunakan oleh satu proses.

Jika proses telah selesai, maka lokasi partisi tersebut akan digunakan oleh proses yang lain. SO yang menggunakan model ini adalah: IBM OS2/360 yaitu Multiprogramming with a Fixed number of Tasks (MFT).

Terdapat beberapa alasan kenapa multiprogramming digunakan, yaitu:

Mempermudah pemrogram.

Agar dapat memberi layanan interaktif ke beberapa orang secara simultan.

Efisiensi penggunaan sumber daya.

Eksekusi lebih murah jika proses besar dipecah menjadi beberapa proses kecil.

Dapat mengerjakan sejumlah job secara simultan.

No comments

Powered by Blogger.