Skip to main content

Apa itu daftar gratis?

Daftar gratis adalah struktur data yang menyimpan alamat lokasi memori komputer yang tersedia untuk digunakan oleh program yang sedang berjalan saat menggunakan alokasi memori dinamis. Daftar ini diperlukan ketika suatu program harus dialokasikanRuang dari area memori bebas yang disebut heap. Implementasi daftar gratis dapat berupa daftar tertaut sederhana atau bisa menjadi struktur data yang lebih kompleks sepertiSebuah pohon sortir. Sebagian besar bahasa pemrograman komputer tingkat tinggi secara otomatis menangani daftar gratis, menghapus kebutuhan untuk manajemen manual.

Ketika suatu program membutuhkan ruang untuk menyimpan informasi selama eksekusi program, TIHarus meminta sejumlah memori tertentu dari sistem operasi yang mendasarinya. Lokasi blok memori yang dapat digunakan disimpan dalam daftar gratis. Agar alokasi berhasil, jumlah memori yang diminta yang dimintaperlu tersedia di satu atau lebih blok ini. Saat pointer ke lokasi memori yang sesuain dikembalikan, elemen daftar itu dihapus.

Setelah program selesai menggunakan memori, dapat menghilangkannya. Ini melibatkan melewati pointer ke memoriBlokir kembali ke daftar bebas, di mana akan tersedia saat berikutnya alokasi dicoba. Mungkin saja alokasi memori gagal karena daftarnya kosong atau karena tidak ada blok memori yang tersedia cukup besar untuk memenuhiPermintaan Program.

Bentuk paling sederhana dari manajemen memori disebut sistem fit pertama. Sistem ini memelihara satu daftar lokasi memori gratis. Saat permintaan memori dikirim,Daftar ini dilalui dan blok pertama yang cukup besar dikembalikan. Jika blok lebih dari dua kali ukuran yang diminta, maka dibagi dua, dan setengah yang tidak digunakan ditambahkan kembali ke daftar. Metode ini memperdagangkan pengkodean sederhana dengan risiko memori terfragmentasiArea yang mungkin tidak pernah dikembalikan ke daftar.blok terbuka hanya satu ukuran tertentu. Ini berarti bahwa ketika permintaan alokasi diterima, daftar yang memegang blok yang cukup besar untuk mengisi permintaan dikonsultasikan, dan lokasi terbuka dikembalikan. Jika tidakBlok gratis yang kurang dari dua kali ukuran yang diminta tersedia, blok yang lebih besar dibagi dua untuk memenuhi persyaratan.atau dapat merujuk pada jenis struktur data yang jauh lebih kompleks. Berbagai jenis pohon sortir, jika tetap sederhana dan seimbang, dapat membantu meningkatkan kecepatan menemukan blok memori terbuka dengan mengorbankan rumitKode Sumber. Daftar Tertaut bisa lebih lambat dari pohon sortir khusus tetapi membuat programmkode yang jauh lebih mudah dibaca, debug, dan memodifikasi.

Beberapa bahasa pemrograman dan sistem operasi memanfaatkan mekanisme khusus yang disebut pengumpulan sampah. Ini adalah proses yang dapat membantu mengambil entri yang berbeda pada aDaftar gratis dan konsolidasi ruang bebas sehingga mereka berdekatan. Ini memiliki efek mencegah fragmentasi dan memungkinkan blok memori yang lebih besar dialokasikan.