Tavsiye, 2024

Editörün Seçimi

Bitişik ve Bitişik Olmayan Bellek Tahsisi Arasındaki Fark

Bellek, her bir baytın kendi adresine sahip olduğu geniş bir bayt dizisidir. Bellek tahsisi, bitişik bellek tahsisi ve bitişik olmayan bellek tahsisi olmak üzere iki yöntemde sınıflandırılabilir. Bitişik ve Bitişik olmayan bellek tahsisi arasındaki en büyük fark, bitişik bellek tahsisinin ardışık bellek bloklarını bellek isteyen bir işleme tahsis etmesidir ; oysaki bitişik olmayan bellek tahsisi, birbirinden ardışık olmayan bir şekilde hafızadaki farklı konumdaki ayrı bellek bloklarını atar. bellek isteyen bir işlem. Aşağıda gösterilen karşılaştırma tablosu yardımıyla, bitişik ve bitişik olmayan bellek tahsisi arasındaki bazı farklılıkları tartışacağız.

Karşılaştırma Tablosu

Karşılaştırma EsaslarıBitişik Bellek TahsisiBitişik Olmayan Bellek Tahsisi
TemelArdışık bellek bloklarını bir işleme tahsis eder.Ayrı bellek bloklarını bir işleme tahsis eder.
Genel giderlerBir işlemin yürütülmesi sırasında bitişik bellek tahsisi, adres çevirme ek yüküne sahip değildir.Bitişik olmayan bellek tahsisi, bir işlemin yürütülmesi sırasında adres çevirisinin ek yüküne sahiptir.
Yürütme oranıBir işlem bitişik bellek tahsisinde yağlayıcıyı çalıştırırBir işlem bitişik olmayan bellek ayırmada nispeten daha yavaş yürütülür.
ÇözümBellek alanı, sabit boyutlu bölümlere ayrılmalıdır ve her bölüm yalnızca tek bir işleme ayrılır.İşlemi birkaç bloğa bölün ve mevcut hafıza boşluğuna göre hafızanın farklı kısımlarına yerleştirin.
tabloBellek alanındaki kullanılabilir ve dolu bölümlerin listesini tutan işletim sistemi tarafından bir tablo tutulur.Hafızada bir işlem tarafından elde edilen her bloğun temel adreslerini taşıyan her işlem için bir tablo tutulmalıdır.

Bitişik Bellek Tahsisinin Tanımı

İşletim sistemi ve kullanıcı süreçlerinin her ikisi de ana bellekte barındırılmalıdır. Dolayısıyla ana bellek iki bölüme ayrılmıştır : bir bölümde işletim sistemi ikamet eder, diğerinde ise kullanıcı işlemleri bulunur. Genel koşullarda, birkaç kullanıcı işlemi aynı anda bellekte kalmalıdır ve bu nedenle de işlemlere bellek tahsis edilmesinin dikkate alınması önemlidir.

Bitişik bellek ayırma, bellek ayırma yöntemlerinden biridir. Bitişik bellek tahsisinde, bir işlem bellek için talep ettiğinde, gereksinime göre işleme tek bir bitişik bellek bloğu bölümü atanır.

Bitişik bellek tahsisi, belleği sabit boyutlu bölüme bölerek ve her bölümü yalnızca tek bir işleme tahsis ederek elde edilebilir. Fakat bu, bellekte yapılan sabit bölüm sayısına bağlı olarak, çoklu programlama derecesine neden olacaktır. Bitişik bellek tahsisi de iç parçalanmaya yol açar. Örneğin, bir sürece tahsis edilmiş sabit boyutlu bir bellek bloğu gereksiniminden biraz daha büyükse, blokta kalan bellek alanı iç parçalanma olarak adlandırılır. Bölümde bulunan işlem sonlandırıldığında, bölüm başka bir işlem için uygun hale gelir.

Değişken bölümleme şemasında, işletim sistemi hafızanın hangi bölümünün boş olduğunu ve işlemler tarafından işgal edildiğini gösteren bir tablo tutar. Bitişik bellek tahsisi, adres çevirisinin genel giderlerini azaltarak bir işlemin yürütülmesini hızlandırır.

Tanımsız bitişik olmayan bellek tahsisi

Bitişik olmayan bellek tahsisi, bir işlemin ihtiyacına göre belleğin farklı bir yerindeki birkaç bellek bloğunu edinmesine izin verir. Bitişik olmayan bellek tahsisi ayrıca iç ve dış parçalanma nedeniyle oluşan bellek israfını azaltır . Dahili ve harici parçalanma sırasında yaratılan hafıza deliklerini kullanır.

Sayfalama ve bölümleme, bir işlemin fiziksel adres alanının bitişik olmamasını sağlayan iki yoldur. Bitişik olmayan bellek tahsisinde, işlem, belleğin uygunluğuna göre farklı bellek alanı alanına yerleştirilmiş bloklara (sayfalar veya bölümler) bölünür.

Bitişik olmayan bellek tahsisi, bellek israfını azaltma avantajına sahiptir, ancak adres çevirisinin genel giderlerini artırır . İşlemin bölümleri bellekte farklı bir yere yerleştirildiğinden, belleğin yürütülmesini yavaşlatır çünkü zaman adres çevirisinde harcanır.

Burada işletim sistemi, işlem tarafından elde edilen her bir bloğun ana adresini içeren her işlem için tabloyu hafıza alanında tutmalıdır.

Bitişik ve Bitişik Olmayan Bellek Tahsisi Arasındaki Temel Farklılıklar

  1. Bitişik ve bitişik olmayan bellek tahsisi arasındaki temel fark, bitişik tahsisatın bir tek bitişik bellek bloğunu prosese tahsis etmesine karşın, bitişik olmayan tahsis işlemi birkaç bloka böler ve bunları belleğin farklı adres alanına, yani bitişik olmayan bir şekilde yerleştirir. .
  2. Bitişik bellek tahsisinde, işlem bitişik bellek alanında saklanır; bu nedenle, yürütme sırasında adres çevirisinin ek yükü yoktur . Ancak bitişik olmayan bellek tahsisinde, işlem blokları bellek boşluğuna yayıldığı için işlem yürütülürken bir adres çevirme ek yükü vardır.
  3. Bitişik bellekte saklanan işlem, bitişik olmayan bellekte saklanan işleme kıyasla daha hızlı çalışır .
  4. Bitişik bellek tahsisi için çözüm , bellek alanını sabit boyutlu bölüme bölmek ve bir bölümü yalnızca tek bir işleme tahsis etmektir. Öte yandan, bitişik olmayan bellek tahsisinde, bir işlem birkaç bloğa bölünür ve her blok belleğin uygunluğuna göre belleğin farklı yerlerine yerleştirilir.
  5. Bitişik bellek tahsisinde, işletim sisteminin işlem için hangi bölümün mevcut olduğunu ve işlem tarafından işgal edildiğini gösteren bir tablo tutması gerekir. Bitişik olmayan bellek tahsisinde, bellek boşluğuna yerleştirilmiş olan her bir işlem bloğunun taban adresini gösteren her işlem için bir tablo tutulur.

Sonuç:

Bitişik bellek tahsisi genel giderler yaratmaz ve işlemin yürütme hızını arttırır ancak bellek israfını arttırır . Buna karşılık bitişik olmayan bellek tahsisi, adres çevirisinin genel giderlerini yaratır, bir işlemin yürütme hızını azaltır, ancak bellek kullanımını artırır . Yani her iki tahsis yönteminin artıları ve eksileri var.

Top