Direkomendasikan, 2024

Pilihan Editor

Perbedaan Antara Alokasi Memori Bersebelahan dan Tidak Bersebelahan

Memori adalah array besar byte, di mana setiap byte memiliki alamatnya sendiri. Alokasi memori dapat diklasifikasikan menjadi dua metode alokasi memori yang berdekatan dan alokasi memori yang tidak berdekatan. Perbedaan utama antara alokasi memori Bersebelahan dan Tidak Bersebelahan adalah bahwa alokasi memori bersebelahan memberikan blok memori berturut-turut ke proses yang meminta memori sedangkan, alokasi memori tak-bersebelahan memberikan blok memori terpisah di lokasi yang berbeda di ruang memori dengan cara yang tidak berurutan untuk sebuah proses yang meminta memori. Kami akan membahas beberapa perbedaan lagi antara alokasi memori bersebelahan dan tidak bersebelahan dengan bantuan grafik perbandingan yang ditunjukkan di bawah ini.

Grafik perbandingan

Dasar perbandinganAlokasi Memori BersebelahanAlokasi Memori yang Tidak Bersebelahan
DasarMengalokasikan blok memori yang berurutan ke suatu proses.Mengalokasikan blok memori yang terpisah untuk suatu proses.
OverheadAlokasi memori yang berdekatan tidak memiliki overhead terjemahan alamat saat eksekusi suatu proses.Alokasi memori yang tidak berdampingan memiliki overhead terjemahan alamat saat eksekusi suatu proses.
Tingkat eksekusiSebuah proses mengeksekusi fatser dalam alokasi memori yang berdekatanSebuah proses dieksekusi lebih lambat secara komparatif dalam alokasi memori yang tidak bersebelahan.
LarutanRuang memori harus dibagi menjadi partisi berukuran tetap dan setiap partisi dialokasikan hanya untuk satu proses.Bagilah proses menjadi beberapa blok dan letakkan di berbagai bagian memori sesuai dengan ketersediaan ruang memori yang tersedia.
MejaTabel dikelola oleh sistem operasi yang memelihara daftar partisi yang tersedia dan ditempati di ruang memoriTabel harus dipertahankan untuk setiap proses yang membawa alamat dasar dari setiap blok yang telah diperoleh oleh suatu proses dalam memori.

Definisi Alokasi Memori Bersebelahan

Sistem operasi dan proses pengguna keduanya harus ditampung dalam memori utama. Oleh karena itu memori utama dibagi menjadi dua partisi: di satu partisi sistem operasi berada dan di lain proses pengguna berada. Dalam kondisi biasa, beberapa proses pengguna harus berada di memori pada saat yang sama, dan oleh karena itu, penting untuk mempertimbangkan alokasi memori untuk proses.

Alokasi memori yang berdekatan adalah salah satu metode alokasi memori. Dalam alokasi memori yang berdekatan, ketika suatu proses meminta memori, satu bagian blok memori yang berdekatan ditempatkan pada proses sesuai dengan kebutuhannya.

Alokasi memori yang berdekatan dapat dicapai dengan membagi memori ke dalam partisi berukuran tetap dan mengalokasikan setiap partisi hanya untuk satu proses. Tetapi ini akan menyebabkan tingkat multiprogramming, membatasi jumlah partisi tetap yang dilakukan dalam memori. Alokasi memori yang berdekatan juga mengarah ke fragmentasi internal . Seperti, jika blok memori berukuran tetap yang dialokasikan untuk suatu proses sedikit lebih besar dari kebutuhannya maka ruang memori yang tersisa dalam blok tersebut disebut fragmentasi internal. Ketika proses yang berada di partisi berakhir, partisi menjadi tersedia untuk proses lain.

Dalam skema partisi variabel, sistem operasi memelihara tabel yang menunjukkan, partisi mana dari memori yang bebas dan yang ditempati oleh proses. Alokasi memori yang berdekatan mempercepat pelaksanaan suatu proses dengan mengurangi overhead terjemahan alamat.

Definisi Alokasi Memori Non-Bersebelahan

Alokasi memori yang tidak berdekatan memungkinkan proses untuk memperoleh beberapa blok memori di lokasi yang berbeda dalam memori sesuai dengan kebutuhannya. Alokasi memori yang tidak berdampingan juga mengurangi pemborosan memori yang disebabkan oleh fragmentasi internal dan eksternal. Karena memanfaatkan lubang memori, dibuat selama fragmentasi internal dan eksternal.

Paging dan segmentasi adalah dua cara yang memungkinkan ruang alamat fisik suatu proses menjadi tidak bersebelahan. Dalam alokasi memori yang tidak bersebelahan, proses ini dibagi menjadi beberapa blok (halaman atau segmen) yang ditempatkan ke area ruang memori yang berbeda sesuai dengan ketersediaan memori.

Alokasi memori yang tidak berdampingan memiliki keuntungan mengurangi pemborosan memori tetapi, tetapi meningkatkan overhead terjemahan alamat. Karena bagian-bagian proses ditempatkan di lokasi yang berbeda di memori, ini memperlambat eksekusi memori karena waktu dikonsumsi dalam terjemahan alamat.

Di sini, sistem operasi perlu mempertahankan tabel untuk setiap proses yang berisi alamat dasar dari setiap blok yang diperoleh oleh proses dalam ruang memori.

Perbedaan Kunci antara Alokasi Memori Bersebelahan dan Tidak Bersebelahan

  1. Perbedaan mendasar antara alokasi memori yang berdekatan dan tidak bersebelahan adalah bahwa alokasi yang berdekatan mengalokasikan satu blok memori yang berdekatan untuk proses sedangkan, alokasi yang tidak berdampingan membagi proses menjadi beberapa blok dan menempatkannya di ruang alamat memori yang berbeda yaitu dengan cara yang tidak berdekatan. .
  2. Dalam alokasi memori yang berdekatan, proses disimpan dalam ruang memori yang berdekatan; jadi tidak ada overhead terjemahan alamat selama eksekusi. Tetapi dalam alokasi memori yang tidak berdampingan, ada overhead terjemahan alamat saat proses dieksekusi, karena blok proses tersebar di ruang memori.
  3. Proses yang disimpan dalam memori yang berdekatan dijalankan lebih cepat dibandingkan dengan proses yang disimpan dalam ruang memori yang tidak bersebelahan.
  4. Solusi untuk alokasi memori yang berdekatan adalah untuk membagi ruang memori ke dalam partisi berukuran tetap dan mengalokasikan partisi hanya untuk satu proses. Di sisi lain, dalam alokasi memori non-contigous, suatu proses dibagi menjadi beberapa blok dan setiap blok ditempatkan di tempat yang berbeda dalam memori sesuai dengan ketersediaan memori.
  5. Dalam alokasi memori yang bersebelahan, sistem operasi harus memelihara tabel yang menunjukkan partisi mana yang tersedia untuk proses dan mana yang ditempati oleh proses. Dalam alokasi memori yang tidak berdampingan, sebuah tabel dipertahankan untuk setiap proses yang menunjukkan alamat dasar dari setiap blok proses yang ditempatkan di ruang memori.

Kesimpulan:

Alokasi memori yang berdekatan tidak membuat overhead dan mempercepat kecepatan eksekusi proses tetapi meningkatkan pemborosan memori . Pada gilirannya alokasi memori yang tidak berdampingan menciptakan overhead terjemahan alamat, mengurangi kecepatan eksekusi suatu proses tetapi, meningkatkan pemanfaatan memori . Jadi ada pro dan kontra dari kedua metode alokasi ini.

Top