MEMORY MANAGEMENT

MEMORY MANAGEMENT


Memory Management Unit (MMU)
Konsep-konsep Dasar Memori
Memori sebagai tempat penyimpanan instruksi/ data dari program. Memori adalah pusat kegiatan pada sebuah komputer, karena setiap proses yang akan dijalankan, harus melalui memori terlebih dahulu. Supaya untuk dapat dieksekusi, program harus dibawa ke memori dan menjadi suatu proses.

Jenis-jenis  Memori :

– Memori Kerja
• ROM/PROM/EPROM/EEPROM
• RAM
• Cache memory
– Memori Dukung
Floppy, harddisk, CD, dll.

 Manajemen memori adalah salah satu bagian sistem operasi yang mempengaruhi dalam menentukan proses untuk mengelola memori komputer.

Pada umunmnya, fungsi Manajemen Memori antara lain:
•    Melacak pemakaian memori (siapa dan berapa besar)
•    Memilih program mana yang akan diload ke memori
•    Alokasi dan dealokasi memori fisik untuk program/ proses-proses dalam menggunakan address space
•    Mengelola informasi yang dipakai dan tidak dipakai.
•    Mengalokasikan memori ke proses yang memerlukan
•    Mendealokasikan memori dari proses telah selesai
•    Mengelola swapping atau paging antara memori utama dan disk.
Konsep Binding


Sebelum eksekusi, program berada di dalam disk, dan saat dieksekusi program tersebut perlu berada pada suatu lokasi dalam memori fisik. Address Binding adalah cara instruksi dan data (yang berada di disk sebagai file executable) dipetakan ke alamat memori. Alamat (address) pada source program umumnya merupakan alamat simbolik. Sebuah compiler biasanya membutuhkan “mengikat” (bind) alamat simbolik ke alamat relokasi.

Address Binding dapat berlangsung dalam 3 tahap yang berbeda, yaitu :
•    kompilasi,
•    load, atau
•    eksekusi dari suatu program

 Cara Sistem Operasi menempatkan program di dalam memori :
•    Kompilasi dan Linking menerjemahkan semua simbol data berdasarkan alamat acuan absolut
•    Proses relokasi (proses mapping program dari lokasi memori) terjadi apabila :
1.    Jika program berada di memori, maka semua alamat lojik dalam program harus dikonversi ke alamat fisik.
2.    Statis : relokasi alamat dilakukan sebelum program dijalankan
3.    Dinamis : relokasi alamat dilakukan pada saat referensi setiap instruksi atau data

PARTISI MEMORI

Apa Itu Partisi Pada Memory?


Dulu waktu pertama kali menggunakan perangkat Android mimin sempat memiliki masalah pada perangkat tersebut dimana ia selalu memunculkan pemberitahuan bahwa memory internal yang dimilikinya sudah penuh. Beberapa teman mimin menyarankan untuk menggunakan aplikasi Link2SD untuk mengatasi masalah tersebut dimana aplikasi ini konon dapat memindahkan beberapa file aplikasi ke SD card atau microSD.


Namun untuk dapat memanfaatkan aplikasi ini, perangkat harus sudah di root dan kita diwajibkan untuk melakukan partisi pada memory card atau microSD yang kita gunakan dimana partisi tersebut akan berperan sebagai “memory internal tambahan”. Nah disini yang sempat membuat mimin bingung adalah yang dimaksud dengan istilah partisi pada memory tersebut. Sebenarnya apa sih arti dari istilah ini?

Menurut beberapa sumber yang mimin baca, partisi pada memory adalah sebuah “pemetakan” atau pemisahan sarana penyimpanan dalam hal ini adalah memory card. Bingung? Iya mimin juga sama. Hihi 
 Gampangnya begini, saat kita mempartisi memory yang kita punya, itu hampir sama dengan kita membuat sebuah “sekat” sehingga seolah-olah memory tersebut terpisah menjadi beberapa bagian.

Misalnya memory yang kita miliki memiliki kapasitas penyimpanan sebesar 8 GB. Dari total 8 GB tersebut kita bisa membuat beberapa partisi misalnya partisi 1 kita set di kapasitas 5 GB, partisi 2 kita set di kapasitas 2.5 GB, sisanya (0.5 GB) bisa kita gunakan sebagai partisi 3. Tapi ingat ya, itu cuma perumpanaan saja karena sesungguhnya kapasitas penyimpanan yang “nyata” dari memory 8 GB adalah hanya sekitar tujuh koma sekian GB saja. Nah biasanya tujuan dari dibuatnya partisi ini adalah untuk memudahkan penggunanya dalam hal manajemen data.

Nah itulah arti dari partisi memory dalam versi simpel. Jika kamu ingin melakukan partisi pada memory card milikmu, kamu bisa mampir ke posting yang berjudul Cara membuat partisi pada SD card.

FRAGMENTASI

Fragmentasi merupakan fenomena munculnya lubang-lubang (ruang memori kosong) yang tidak cukup besar untuk menampung permintaan alokasi memori dari proses. Fragmentasi terdiri dari dua jenis:
1.     Fragmentasi Eksternal.Dalam kasus first fit dan juga best fit sebagaimana yang telah dijelaskan di atas, pada saat proses dimasukkan atau dipindahkan dari memori, ruang memori yang tidak terpakai akan dipecah menjadi bagian yang kecil (sisa dari alokasi sebuah proses pada sebuah ruang memori). Eksternal fragmentasi terjadi apabila jumlah keseluruhan memori bebas yang tersedia cukup untuk menampung permintaan ruang memori dari sebuah proses, namun dari ruang memori kosong tersebut terpisah-pisah sehingga proses tidak dapat menggunakannya. Hal ini sering terjadi pada alokasi penyimpanan yang dinamis. Sebagai contoh kita lihat contoh berikut ini: Sebuah proses meminta ruang memori sebesar 9 KB namun memori telah dipartisi menjadi blok-blok dengan ukuran masing-masing 4 KB. Maka proses tersebut akan mendapatkan bagiannya berupa 2 buah blok dengan kapasitas masing-masing 4 KB dan kapasitas tambahan sebesar 1 KB dari sebuah blok lain. Oleh karena masing-masing blok memiliki ukuran 4 KB dan ada sebuah blok yang hanya digunakan sebesar 1 KB maka blok ini masih akan memiliki sisa kapasitas sebesar 3 KB. Sisa tersebut dapat digunakan untuk menampung proses lain yang membutuhkannya atau jika ia terletak berurutan dengan sebuah blok kosong lain maka ia dapat digabungkan membentuk blok bebas yang lebih besar. Analisis statistik terhadap first fit menyatakan bahwa walaupun dengan optimisasi, sejumlah N blok yang dialokasikan maka setengahnya akan terbuang atau tidak berguna karena fragmentasi yang menyebabkan lebih dari setengah memori tidak dapat digunakan. Peristiwa ini disebut dengan 50-percent rule (aturan 50 persen). Masalah fragmentasi eksternal ini dapat diatasi dengan melakukan penghalaman, segmentasi (2 hal ini akan dijelaskan secara detail pada bab lain) serta compaction (pemadatan). Tujuan dari pemadatan adalah untuk mengatur ruang memori yang kosong agar terletak di posisi yang berurutan sehingga dapat membentuk sebuah ruang memori kosong yang besar. Ruang kosong itu pada akhirnya diharapkan dapat menampung proses lain yang membutuhkan alokasi memori.
2.     Fragmentasi Internal. Fragmentasi internal terjadi ketika kapasitas memori yang diberikan ke sebuah proses melebihi besarnya permintaan yang diajukan oleh proses. Selisih antara besarnya memori yang dialokasikan dengan besarnya permintaan proses disebut fragmentasi internal (memori yang ada di dalam sebuah partisi namun tidak digunakan). Hal ini sering terjadi pada partisi tetap karena besar lubang yang disediakan akan selalu tetap, berbeda halnya dengan sistem partisi dinamis yang memungkinkan suatu proses untuk diberikan alokasi memori sebesar yang ia butuhkan. Contoh solusi atas kasus diatas dengan fragmentasi internal adalah proses tersebut akan dialokasikan 3 buah blok yang masing-masing berukuran 4 KB sehingga ia akan mendapatkan jatah sebesar 12 KB, sisa 3 KB yang ada akan tetap menjadi miliknya walaupun ia tidak menggunakannya.

SISTEM PAGING
Sistem Paging Adalah sistem manajemen pada sistem operasi dalam mengatur program yang sedang berjalan. Program yang berjalan harus dimuat di memori utama. Kendala yang terjadi apabila suatu program lebih besar dibandingkan dengan memori utama yang tersedia.
Untuk mengatasi hal tersebut Sistem Paging mempunyai 2 solusi, yaitu:
- Konsep Overlay
Dimana program yang dijalankan dipecah menjadi beberapa bagian yang dapat dimuat memori (overlay). Overlay yang belum diperlukan pada saat program berjalan (tidak sedang di eksekusi) disimpan di disk, dimana nantinya overlay tersebut akan dimuat ke memori begitu diperlukan dalam eksekusinya.
- Konsep Memori Maya (virtual Memory)
Adalah kemampuan mengalamati ruang memori melebihi memori utama yang tersedia. Konsep ini pertama kali dikemukakan Fotheringham pada tahun 1961 untuk sistem komputer Atlas di Universitas Manchester, Inggris.
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 diperlukan maka bagian memori yang tidak diperlukan disingkirkan dan diganti bagian disk yang diperlukan.

A. Pengertian Memori Maya
Didalam menejemen memori dengan system partisi statis dan system dinamis sudah dapat menyelesaikan masalah menejemen memori didalam banyak hal, tetapi masih memiliki kekurangan atau keterbatasan di dalam pengakses. Dimana keterbatasan akses hanya sebatas addres memori yang ada secara fisik ( memori nyata ).
Misalnya memori 64 MB maka addres maksimum yang dapat diakses hanya sebesar 64 MB saja. Pada hal banyak program yang akan diakses yang melebihi 64 MB. Untuk mengatasi hal tersebut agar kemampuan akses lebih besar lagi maka dibentuklah memori maya ( yang pertama sekali di kemukakan oleh Fotheringham pada tahun 1961 untuk system komputer Atlas di Universitas Manchester, Inggris).
Dengan memori maya program yang besar tadi akan dapat diterapkan pada memori kecil saja, misalnya program 500 MB dapat ditempatkan secara maya di memori 64 MB. Untuk mengimplementasikan memori maya tersebut dapat dilakukan dengan tiga cara :
1. Sistem Paging
2. Sistem Segmentasi
3. Sistem kombinasi Paging dan Segmentasi
B. Memori system Paging
Untuk menginplementasikan addres maya yang besar ke dalam memori yang kecil diperlukan index register, base register, segment register dan MMU ( Memory Menegement Unit ).
· Pemetaan Memori Sistem Paging
Sistem kinerja komputer akan menerjemahkan alamat maya menjadi alamat fisik. Dengan kata lain dalam system memori maya alamat memori tidak langsung di tuliskan ke BUS tetapi terlebih dahulu dimasukkan ke MMU untukditerjemahkan. Ada dua kemungkinan keluaran MMU yaitu :
1. Alamat yang dicari ada dimemori nyata, maka proses dapat langsung dikerjakan.
2. Alamat yang dicari tidak ada didalam memori nyata, maka MMU mengeluarkan page fault, yaitu permintaan alokasi memori untuk proses itu.
MMU mempunyai fungsi untuk memetakan memori maya ke memori fisik. Apabila alamat memori yang dipetakan tidak tersedia di memori fisik, MMU menertibkan exception page fault yang melewatkan ke system operasi untuk menengani.

Gambar memperlihatkan Implementasi pemetaan memori system paging.


Gambar 1. Implementasi Pemetaan Memori sistem paging 

Apabila exception page fault meminta alokasi memori akan ditangani oleh system operasi yaitu memilih partisi yang telah selesai diakses dan kemungkinan proses ini akan digunakan lagi, dalam waktu yang lama lagi. Jika sudah dipilih maka program akan dikosongkan dari memori dan selanjutnya program yang alamatnya yang diminta akan dimasukkan ke memori.
·                     Proses Pemetaan Pada MMU
Dibawah ini adalah suatu proses pemetaaan memori yang terjadi pada MMU. Alamat maya terdiri dari bagian nomor page dan offset. Alamat ini dicarikan didalam tabel page, bila ketemu maka MMU mengeluarkan page frame ( register alamat fisik ).Register alamat fisik terdiri darei nomor page dan offset, dimana nomor page framelebih sedikit dari nomor page.
Apabila alamat tersebut tidak ada pada tabel page maka MMU mengeluarkan page fault.


C. Sistem Segmentasi
· Pengertian Segmentasi
Secara sederhana segmentasi bisa diartikan sebagai suatu ruang alamat atau segment yang berada di memori. Segment-segment itu dalam keadaan independent. Setiap segment berisi alamat 0 sampai maksimum secara linier. Panjang setiap segment berbeda-beda sampai panjang maksimun, perobahan panjang segment terjadi selama proses eksekusi.
Segment stack bertambah ketika terjadi operasi push dan turun saat operasi pop, dimana setiap segment merupakan ruang alamat terpisah segment-segment dapat tumbuh dan mengkerut secara bebas tanpa mempengaruhi yang lain.
Alamat terdiri dari dua bagian pada memori bersegment yaitu :
1. Nomor segment
2. Alamat pada segment ( offset ).
Segment dapat berisi :
1. Prosedure
2. Array
3. Stack
4. Kumpulan variable skala.
· Sistem Segmentasi
Sistem dengan memori maya dengan segmentasi murni adalah alamat maya adalah offset di segment, setiap proses mempunyai tabel segment dan pada saat proses running alamat awal maya tabel dimuatkan ke register dasar. Nomor segment digunakan mencari deskriptor segment di tabel segment yang menyediakan alamat fisik awal dari segment, panjang dan bit-bit proteksinya. Alamat fisik dihitung dengan menambahkan alamat dasar segment ke alamat maya.

Gambar 4. Skema Segmentasi
Keunggulan sistem ini dimana segment-segment tersebut saling berhubungan dengan unit-unit program, sehingga segment – segment indeal untuk proteksi dan pemakaian bersama.
Kelemahan sistem ini adalah dimana segment – segment berukuran bervariasi menyebabkan fragmentasi eksternal dan sulit menyelesaikan pertumbuhan dinamis. Segment-segment tidak memetakan blok-blok disk untuk memori maya secara alami.
D. Teknik Kombinasi Paging Dan Segmentasi
Teknik kombinasi pacing dan segmentasi adalah ruang alamat pemakai dibagi menjadi sejumlah segment sesuai dengan kehendak pemrogram. Segment tersebut dibagi menjadi sejumlah page berukuran tetap dan berukuran sama dengan page frame memori utama. Jika segment kurang dari ukuran page, maka segnent hanya memerlukan satu page.
Dari segi pandangan pemrogram, alamat maya masih berisi nomor segment dan offset di segment itu. Dari segi pandangan sistem, offset segment dipandang sebagai nomor pagedan offset page untuk page di segment yang dispesifiksikan. Penggabungan dengan proses adalah tabel segment dan sejumlah tabel page, merupakan satu tabel persegment proses.
Saat proses running, register menyimpan alamat awal tabel segment untuk proses, pemroses menggunakan bagian nomor segment untuk mengindeks tabel segment proses guna menemukan tabel page untuk segment. Bagian angka page alamat maya digunakan untuk indeks tabel page dan mencari nomor page korespondensi. Angka tersebut kemudian dikombinasikan dengan bagian offset alamat maya untuk menghasilkan alamat nyata yang diinginkan. 
 
Copyright © 2011. EightYolo - All Rights Reserved

Distributed By Free Blogger Templates | Lyrics | Songs.pk | Download Ringtones | HD Wallpapers For Mobile

Proudly powered by Blogger