Memory Management

Nama kelompok :

  • Dwiki Fahliandhini
  • Yeti Faradisa
  • Iis Ariska
  • Nurlela

Pengertian Memory Management
Memori manajemen adalah tindakan mengelola memori komputer. Kebutuhan utama manajemen memori adalah untuk menyediakan cara untuk secara dinamis mengalokasikan bagian-bagian dari memori untuk program atas permintaan mereka, dan membebaskan untuk digunakan kembali ketika tidak lagi diperlukan. Ini sangat penting untuk setiap sistem komputer canggih di mana lebih dari satu proses mungkin berlangsung setiap saat.
Beberapa metode telah dirancang yang meningkatkan efektivitas manajemen memori. Sistem memori virtual memisahkan alamat memori yang digunakan oleh suatu proses dari alamat fisik yang sebenarnya, yang memungkinkan proses pemisahan dan efektif meningkatkan jumlah RAM yang tersedia menggunakan paging atau swapping ke penyimpanan sekunder. Kualitas manajer memori virtual dapat memiliki efek luas pada kinerja sistem secara keseluruhan.
Note :
*Memori virtual -> memori virtual adalah teknik manajemen memori yang diimplementasikan menggunakan hardware dan software.
*Paging -> Dalam sistem operasi komputer, paging adalah salah satu skema manajemen memori di mana sebuah komputer dapat menyimpan dan mengambil data dari penyimpanan sekunder untuk digunakan dalam memori utama.

image
Detail

Tugas memenuhi permintaan alokasi terdiri dari menemukan sebuah blok memori yang tidal terpakai dari ukuran yang cukup. Permintaan memori puas dengan mengalokasikan bagian dari kolam besar memori yang disebut heap. Pada waktu tertentu, beberapa bagian tumpukan sedang digunakan, sementara beberapa yang “bebas” (tidak terpakai) dan dengan demikian tersedia untuk alokasi masa depan. Beberapa isu mempersulit implementasi, seperti fragmentasi internal dan eksternal, yang timbul ketika ada banyak celah kecil di antara blok memori yang dialokasikan, yang membatalkan penggunaan untuk permintaan alokasi. Metadata pengalokasi juga dapat mengembang ukuran (individual) alokasi kecil. Ini dikelola sering dengan chunking. Sistem manajemen memori harus melacak alokasi luar biasa untuk memastikan bahwa mereka tidak tumpang tindih dan tidak ada memori yang pernah “hilang” sebagai kebocoran memori.
Note :
*Fragmentasi -> Dalam penyimpanan komputer, fragmentasi adalah sebuah fenomena di mana ruang penyimpanan yang digunakan tidak efisien, mengurangi kapasitas dan kinerja sering. Fragmentasi mengarah ke ruang penyimpanan yang “terbuang”, dan istilah juga mengacu pada ruang kosong itu sendiri.
*Chunking -> Chunking adalah fitur spesifik dari protokol HTTP. Di sini, artinya adalah kebalikan dari yang digunakan dalam psikologi dan manajemen memori. Hal ini mengacu pada fasilitas yang memungkinkan pesan inconveniently besar harus dibagi menjadi nyaman berukuran kecil “potongan.”
*Kebocoran memori -> Dalam ilmu komputer, kebocoran memori terjadi ketika sebuah program komputer salah mengelola alokasi memori Dalam pemrograman berorientasi objek, kebocoran memori mungkin terjadi ketika suatu objek disimpan dalam memori, tetapi tidak dapat diakses oleh kode yang berjalan. Kebocoran memori memiliki gejala yang mirip dengan sejumlah masalah lainnya dan umumnya hanya dapat didiagnosis oleh seorang programmer dengan akses ke program.

Efisiensi

Algoritma alokasi memori dinamis yang spesifik dilaksanakan dapat mempengaruhi kinerja secara signifikan. Sebuah studi yang dilakukan pada tahun 1994 oleh Digital Equipment Corporation menggambarkan overhead yang terlibat untuk berbagai penyalur. Rata-rata terendah jalan panjang instruksi yang diperlukan untuk mengalokasikan slot memori tunggal adalah 52 (yang diukur dengan tingkat profiler instruksi pada berbagai perangkat lunak).
Note :
*Overhead -> Dalam ilmu komputer, overhead adalah kombinasi waktu kelebihan atau tidak langsung perhitungan, memori, bandwidth, atau sumber daya lain yang diperlukan untuk mencapai tujuan tertentu.
*Proviler -> Dalam rekayasa perangkat lunak, profiling (“Program profiling”, “profiling software”) adalah bentuk analisis program dinamis yang langkah-langkah, misalnya, kompleksitas ruang (memori) atau waktu dari sebuah program, penggunaan instruksi tertentu, atau frekuensi dan durasi panggilan fungsi.

Implementasi

Karena lokasi yang tepat dari alokasi tersebut tidak diketahui sebelumnya, memori diakses langsung, biasanya melalui referensi pointer. Algoritma khusus yang digunakan untuk mengatur area memori dan mengalokasikan dan deallocate potongan dapat saling berhubungan dengan kernel, dan dapat menggunakan salah satu metode berikut:
Note :
*Pointer -> Dalam ilmu komputer, pointer adalah bahasa pemrograman tipe data yang nilainya mengacu langsung ke (atau “menunjuk ke”) nilai lain disimpan di tempat lain dalam memori komputer menggunakan alamat.
*Kernel ->Dalam komputasi, kernel adalah program komputer yang mengelola input / output permintaan dari perangkat lunak dan menerjemahkannya ke instruksi pemrosesan data untuk central processing unit dan komponen elektronik lainnya dari sebuah komputer
.

Alokasi Fixed-ukuran-blok

Alokasi Fixed-ukuran blok, juga disebut kolam renang alokasi memori, menggunakan daftar gratis blok berukuran tetap memori (sering semua dengan ukuran yang sama). Ini bekerja baik untuk embedded system sederhana di mana tidak ada benda besar perlu dialokasikan, tapi menderita dari fragmentasi, terutama dengan alamat memori panjang. Namun, karena secara signifikan mengurangi biaya overhead metode ini secara substansial dapat meningkatkan kinerja untuk objek yang perlu sering alokasi / de-alokasi dan sering digunakan dalam video game.
Note :
*Embedded system -> sistem komputer dengan fungsi khusus dalam sistem mekanis atau listrik yang lebih besar, seringkali dengan kendala komputasi real-time.
*Fragmentasi -> Dalam penyimpanan komputer, fragmentasi adalah sebuah fenomena di mana ruang penyimpanan yang digunakan tidak efisien, mengurangi kapasitas dan kinerja sering. Fragmentasi mengarah ke ruang penyimpanan yang “terbuang”, dan istilah juga mengacu pada ruang ko song itu sendiri.

Blok Buddy

Untuk detail lebih lanjut tentang topik ini, lihat alokasi memori Buddy.
Dalam sistem ini, memori dialokasikan ke beberapa kolam memori bukan hanya satu, dimana setiap pool mewakili blok memori dari kekuatan tertentu dari dua ukuran. Semua blok ukuran tertentu yang disimpan dalam daftar diurutkan dihubungkan atau pohon dan semua blok baru yang terbentuk selama alokasi ditambahkan ke kolam memori masing-masing untuk digunakan nanti. Jika ukuran yang lebih kecil diminta daripada yang tersedia, ukuran terkecil yang tersedia dipilih dan dibelah dua. Salah satu yang dihasilkan bagian dipilih, dan proses mengulangi sampai permintaan selesai. Ketika dialokasikan, pengalokasi akan mulai dengan yang terkecil blok cukup besar untuk menghindari sia-sia melanggar blok. Ketika blok dibebaskan, itu dibandingkan dengan teman nya. Jika mereka berdua bebas, mereka digabungkan dan ditempatkan dalam ukuran terbesar berikutnya daftar teman-blok.

Sistem dengan memori virtual

Virtual memory adalah metode decoupling organisasi memori dari perangkat keras fisik. Aplikasi mengoperasikan memori melalui alamat virtual. Setiap kali upaya untuk mengakses data yang tersimpan dibuat, virtual data pesanan memori menerjemahkan alamat virtual ke alamat fisik. Dengan cara ini penambahan memori virtual memungkinkan kontrol granular atas sistem memori dan metode akses.

 

image
Perlindungan

Dalam sistem memori virtual sistem operasi membatasi bagaimana proses dapat mengakses memori. Fitur ini dapat digunakan untuk melarang proses untuk membaca atau menulis ke memory yang tidak dialokasikan untuk itu, mencegah kode berbahaya atau tidak berfungsi dalam salah satu program dari mengganggu pengoperasian lain.

Berbagi

Meskipun memori yang dialokasikan untuk proses tertentu biasanya terisolasi, proses kadang-kadang perlu untuk dapat berbagi informasi. Shared memory adalah salah satu teknik tercepat untuk inter-process communication (IPC).
Note :
*Inter-process communication (IPC) -> seperangkat metode untuk pertukaran data antara beberapa thread dalam satu atau lebih proses. Proses dapat berjalan pada satu atau lebih komputer yang terhubung dengan jaringan.

Fisik organisasi

Memori biasanya digolongkan oleh tingkat akses seperti penyimpanan primer dan penyimpanan sekunder. Sistem manajemen memori menangani memindahkan informasi antara kedua tingkat memori.

Leave a Reply