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 menjadi penting ketika sebuah program harus mengalokasikan ruang dari area memori bebas yang disebut heap. Implementasi daftar gratis dapat berupa daftar tertaut sederhana atau dapat berupa struktur data yang lebih kompleks seperti pohon pengurutan. Sebagian besar bahasa pemrograman komputer tingkat tinggi secara otomatis menangani daftar gratis, menghilangkan kebutuhan akan manajemen manual.

Daftar gratis menyimpan lokasi area memori komputer yang tersedia.

Ketika sebuah program membutuhkan ruang untuk menyimpan informasi selama eksekusi program, ia harus 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 harus tersedia di satu atau lebih blok ini. Ketika pointer ke lokasi memori yang sesuai dikembalikan, unsur daftar tersebut akan dihapus.

Setelah program selesai menggunakan memori, program dapat melakukan de-alokasi. Ini melibatkan melewatkan pointer ke blok memori kembali ke daftar bebas, di mana itu akan tersedia saat alokasi berikutnya dicoba. Ada kemungkinan alokasi memori gagal karena daftar kosong atau karena tidak tersedia blok memori yang cukup besar untuk memenuhi permintaan program.

Bentuk paling sederhana dari manajemen memori disebut sistem fit pertama. Sistem ini menyimpan satu daftar lokasi memori bebas. Ketika permintaan memori dikirim, daftar dilintasi dan blok pertama yang cukup besar dikembalikan. Jika blok lebih dari dua kali ukuran yang diminta, maka itu dibelah dua, dan setengah yang tidak terpakai ditambahkan kembali ke daftar. Metode ini memperdagangkan pengkodean sederhana untuk risiko memiliki area memori yang terfragmentasi yang mungkin tidak akan pernah dikembalikan ke daftar.

Bentuk manajemen memori yang berbeda disebut sistem alokasi teman. Tidak seperti sistem fit pertama, alokasi teman menyimpan beberapa daftar gratis, masing-masing hanya berisi satu blok terbuka dengan ukuran tertentu. Ini berarti bahwa ketika permintaan alokasi diterima, daftar yang menampung blok yang cukup besar untuk memenuhi permintaan dikonsultasikan, dan lokasi terbuka dikembalikan. Jika tidak ada blok gratis yang kurang dari dua kali ukuran yang diminta tersedia, blok yang lebih besar dibagi dua untuk memenuhi persyaratan.

Istilah “daftar gratis” dapat merujuk pada satu daftar alamat memori yang ditautkan, atau dapat merujuk pada jenis struktur data yang jauh lebih kompleks. Berbagai jenis pohon pengurutan, jika dibuat sederhana dan seimbang, dapat membantu meningkatkan kecepatan menemukan blok memori terbuka dengan mengorbankan kode sumber yang rumit. Daftar tertaut bisa lebih lambat daripada pohon pengurutan khusus tetapi membuat kode pemrograman yang jauh lebih mudah dibaca, di-debug, dan dimodifikasi.

Beberapa bahasa pemrograman dan sistem operasi menggunakan mekanisme khusus yang disebut pengumpulan sampah. Ini adalah proses yang dapat membantu mengambil entri yang berbeda pada daftar gratis dan mengkonsolidasikan ruang kosong sehingga mereka bersebelahan. Ini memiliki efek mencegah fragmentasi dan memungkinkan alokasi blok memori yang lebih besar.

Related Posts