Bellek Yönetimi nedir?
Bellek Yönetimi , sistemin genel performansını optimize etmek için bilgisayar belleğini kontrol etme ve koordine etme, blok olarak bilinen bölümleri çeşitli çalışan programlara atama sürecidir.
Birincil belleği yöneten bir işletim sisteminin en önemli işlevidir. İşlemlerin ana bellek ve yürütme diski arasında ileri geri hareket etmesine yardımcı olur. İşletim sisteminin, bir işleme tahsis edilip edilmediğine veya boş kalmasına bakılmaksızın her bellek konumunu takip etmesine yardımcı olur.
Bu, işletim sistemi eğitiminde şunları öğreneceksiniz:
- Bellek Yönetimi nedir?
- Neden Bellek Yönetimini Kullanmalı?
- Bellek Yönetimi Teknikleri
- Takas nedir?
- Bellek ayırma nedir?
- Çağrı nedir?
- Parçalanma Yöntemi nedir?
- Segmentasyon nedir?
- Dinamik Yükleme nedir?
- Dinamik Bağlama nedir?
- Statik ve Dinamik Yükleme Arasındaki Fark
- Statik ve Dinamik Bağlama Arasındaki Fark
Neden Bellek Yönetimini Kullanmalı?
Bellek yönetimini kullanmanın nedenleri şunlardır:
- Hangi işlemcinin ne zaman bellek alması gerektiğine karar veren işlemlere ne kadar bellek ayrılması gerektiğini kontrol etmenizi sağlar.
- Envanter serbest kaldığında veya ayrılmadığında izler. Buna göre durumu güncelleyecektir.
- Alanı uygulama rutinlerine ayırır.
- Ayrıca bu uygulamaların birbirine karışmamasına da dikkat edin.
- Farklı süreçleri birbirinden korumaya yardımcı olur
- Programları hafızaya yerleştirir, böylece hafızanın tamamı kullanılır.
Bellek Yönetimi Teknikleri
İşte en önemli bellek yönetimi tekniklerinden bazıları:
Tek Bitişik Tahsis
En kolay bellek yönetimi tekniğidir. Bu yöntemde, işletim sistemi için ayrılan küçük bir kısım dışında her tür bilgisayar belleği tek bir uygulama için kullanılabilir. Örneğin, MS-DOS işletim sistemi belleği bu şekilde ayırır. Gömülü bir sistem de tek bir uygulama üzerinde çalışır.
Bölümlendirilmiş Tahsis
Birincil belleği, belleğin çoğunlukla bitişik alanları olan çeşitli bellek bölümlerine ayırır. Her bölüm, belirli bir görev veya iş için tüm bilgileri depolar. Bu yöntem, başladığında bir işe bir bölüm tahsis etmekten ve bittiğinde ayrılmasından ibarettir.
Sayfalı Bellek Yönetimi
Bu yöntem, bilgisayarın ana belleğini sayfa çerçeveleri olarak bilinen sabit boyutlu birimlere böler. Bu donanım bellek yönetim birimi, sayfaları, sayfa bazında tahsis edilmesi gereken çerçevelere eşler.
Bölümlenmiş Bellek Yönetimi
Bölümlenmiş bellek, kullanıcının programına doğrusal ve bitişik bir adres alanı sağlamayan tek bellek yönetimi yöntemidir.
Segmentler, segment tablosu şeklinde donanım desteğine ihtiyaç duyar. Bölümün fiziksel adresini bellekte, boyutta ve erişim koruma bitleri ve durum gibi diğer verileri içerir.
Takas nedir?
Değiştirme, işlemin geçici olarak ana bellekten destek deposuna değiştirilmesi gereken bir yöntemdir. Yürütmeye devam etmek için daha sonra belleğe geri getirilecektir.
Yedekleme deposu, tüm kullanıcılar için tüm bellek görüntülerinin kopyalarını barındırmak için yeterince büyük olması gereken bir sabit disk veya başka bir ikincil depolama aygıtıdır. Ayrıca bu hafıza görüntülerine doğrudan erişim sunabilir.
Değişimin Yararları
İşte takasın başlıca faydaları / artıları:
- Daha yüksek derecede çoklu programlama sunar.
- Dinamik yer değiştirmeye izin verir. Örneğin, yürütme zamanında adres bağlama kullanılıyorsa, işlemler farklı yerlerde değiştirilebilir. Derleme ve yükleme süresi bağlamaları durumunda, işlemler aynı konuma taşınmalıdır.
- Belleğin daha iyi kullanılmasına yardımcı olur.
- Tamamlandığında minimum CPU zamanı israfı, böylece performansını artırmak için önceliğe dayalı bir zamanlama yöntemine kolayca uygulanabilir.
Bellek ayırma nedir?
Bellek ayırma, bilgisayar programlarına bellek veya alan atanan bir işlemdir.
Burada, ana bellek iki tür bölüme ayrılmıştır.
- Düşük Bellek - İşletim sistemi bu tür bellekte bulunur.
- Yüksek Bellek - Kullanıcı işlemleri yüksek bellekte tutulur.
Bölüm Tahsisi
Bellek, farklı bloklara veya bölümlere ayrılmıştır. Her süreç ihtiyaca göre tahsis edilir. Bölüm tahsisi, dahili parçalanmayı önlemek için ideal bir yöntemdir.
Aşağıda çeşitli bölüm tahsis şemaları verilmiştir:
- İlk Yerleşim : Bu tür uyumda, ana belleğin başlangıcından itibaren yeterli ilk blok olan bölüm ayrılır.
- Best Fit: İşlemi, ücretsiz bölümler arasında ilk en küçük bölüm olan bölüme tahsis eder.
- En Kötü Uyum: İşlemi , ana bellekte serbestçe kullanılabilen yeterli en büyük bölüm olan bölüme tahsis eder .
- Next Fit: Çoğunlukla ilk Fit'e benzer, ancak bu Fit, son tahsis noktasından itibaren yeterli ilk bölümü arar.
Çağrı nedir?
Sayfalama, işletim sisteminin süreçleri ikincil depolamadan ana belleğe sayfalar biçiminde almasını sağlayan bir depolama mekanizmasıdır. Sayfalama yönteminde, ana bellek, çerçeveler adı verilen küçük sabit boyutlu fiziksel bellek bloklarına bölünür. Ana hafızadan maksimum düzeyde faydalanmak ve harici parçalanmayı önlemek için çerçevenin boyutu sayfanınki ile aynı tutulmalıdır. Sayfalama, verilere daha hızlı erişim için kullanılır ve mantıklı bir kavramdır.
Parçalanma nedir?
İşlemler depolanır ve bellekten kaldırılır, bu da diğer işlemler tarafından kullanılamayacak kadar küçük olan boş bellek alanı oluşturur.
Bazen, küçük boyutu ve bellek blokları her zaman kullanılmadan kaldığı için bu işlemlerin bellek bloklarına ayrılamaması, parçalanma olarak adlandırılır. Bu tür bir sorun, dinamik bellek ayırma sistemi sırasında serbest bloklar oldukça küçük olduğunda meydana gelir, bu nedenle herhangi bir isteği yerine getiremez.
İki tür Parçalama yöntemi şunlardır:
- Dış parçalanma
- İç parçalanma
- Dış parçalanma, tüm boş belleği tek bir blokta bir araya getirmek için bellek içeriklerini yeniden düzenleyerek azaltılabilir.
- Dahili parçalanma, tüm süreci taşıyacak kadar iyi olan en küçük bölüm atanarak azaltılabilir.
Segmentasyon nedir?
Segmentasyon yöntemi neredeyse sayfalandırmaya benzer şekilde çalışır. İkisi arasındaki tek fark, segmentlerin değişken uzunlukta olmasıdır, oysa sayfalama yönteminde sayfalar her zaman sabit boyuttadır.
Bir program bölümü, programın ana işlevini, veri yapılarını, yardımcı program işlevlerini, vb. İçerir. İşletim sistemi, tüm işlemler için bir bölüm eşleme tablosu tutar. Ayrıca, boyutu, segment numaraları ve ana bellekteki veya sanal bellekteki bellek konumları ile birlikte boş bellek bloklarının bir listesini de içerir.
Dinamik Yükleme nedir?
Dinamik yükleme, program onu çağırana kadar yüklenmeyen bir programın rutinidir. Tüm rutinler diskte yeniden konumlandırılabilir bir yükleme biçiminde bulunmalıdır. Ana program belleğe yüklenecek ve çalıştırılacaktır. Dinamik yükleme ayrıca daha iyi bellek alanı kullanımı sağlar.
Dinamik Bağlama nedir?
Bağlama, işletim sisteminin çeşitli kod ve veri modüllerini tek bir yürütülebilir dosyada toplamasına ve birleştirmesine yardımcı olan bir yöntemdir. Dosya belleğe yüklenebilir ve çalıştırılabilir. İşletim sistemi, sistem düzeyindeki kitaplıkları yükleme sırasında kitaplıkları birleştiren bir programa bağlayabilir. Dinamik bağlama yönteminde, kitaplıklar yürütme sırasında bağlanır, bu nedenle program kod boyutu küçük kalabilir.
Statik ve Dinamik Yükleme Arasındaki Fark
Statik Yükleme | Dinamik Yükleme |
Statik yükleme, programınızı statik olarak yüklemek istediğinizde kullanılır. Daha sonra derleme sırasında, herhangi bir harici modüle veya program bağımlılığına ihtiyaç duymadan tüm program bağlanacak ve derlenecektir. | Dinamik olarak yüklenen bir programda, referanslar sağlanacak ve yükleme yürütme sırasında yapılacaktır. |
Yükleme zamanında, tüm program belleğe yüklenir ve yürütülmeye başlar. | Kütüphanenin rutinleri, yalnızca programda ihtiyaç duyulduğunda belleğe yüklenir. |
Statik ve Dinamik Bağlama Arasındaki Fark
Statik ve Dinamik Bağlantı arasındaki temel farklar şunlardır:
Statik Bağlama | Dinamik Bağlantı |
Statik bağlantı, bir programın gerektirdiği diğer tüm modülleri tek bir çalıştırılabilir kodda birleştirmek için kullanılır. Bu, işletim sisteminin herhangi bir çalışma zamanı bağımlılığını önlemesine yardımcı olur. | Dinamik bağlantı kullanıldığında, gerçek modül veya kitaplığı programa bağlamasına gerek yoktur. Bunun yerine, derleme ve bağlama sırasında sağlanan dinamik modüle bir referans kullanın. |
Özet:
- Bellek yönetimi, sistemin genel performansını optimize etmek için bilgisayar belleğini kontrol etme ve koordine etme, blok adı verilen bölümleri çeşitli çalışan programlara atama sürecidir.
- Hangi işlemcinin ne zaman bellek alması gerektiğine karar veren işlemlere ne kadar bellek ayrılması gerektiğini kontrol etmenizi sağlar.
- Tek Bitişik Ayırma'da, işletim sistemi için ayrılmış küçük bir bölüm dışında tüm bilgisayar belleği türleri tek bir uygulama için kullanılabilir.
- Bölümlenmiş Ayırma yöntemi, birincil belleği, çoğunlukla belleğin bitişik alanları olan çeşitli bellek bölümlerine böler.
- Sayfalı Bellek Yönetimi yöntemi, bilgisayarın ana belleğini sayfa çerçeveleri olarak bilinen sabit boyutlu birimlere böler
- Bölümlenmiş bellek, kullanıcının programına doğrusal ve bitişik bir adres alanı sağlamayan tek bellek yönetimi yöntemidir.
- Değiştirme, işlemin geçici olarak ana bellekten destek deposuna değiştirilmesi gereken bir yöntemdir. Yürütmeye devam etmek için daha sonra belleğe geri getirilecektir.
- Bellek ayırma, bilgisayar programlarına bellek veya alan atanan bir işlemdir.
- Sayfalama, işletim sisteminin süreçleri ikincil depolamadan ana belleğe sayfalar biçiminde almasını sağlayan bir depolama mekanizmasıdır.
- Parçalanma, dosyaların diskin etrafına dağılmış parçalara bölündüğü bir diskin durumunu ifade eder.
- Segmentasyon yöntemi neredeyse sayfalandırmaya benzer şekilde çalışır. İkisi arasındaki tek fark, segmentlerin değişken uzunlukta olmasıdır, oysa sayfalama yönteminde sayfalar her zaman sabit boyuttadır.
- Dinamik yükleme, program onu çağırana kadar yüklenmeyen bir programın rutinidir.
- Bağlama, işletim sisteminin çeşitli kod ve veri modüllerini tek bir yürütülebilir dosyada toplamasına ve birleştirmesine yardımcı olan bir yöntemdir.