Bellek Yönetimi

3. Bellek Yönetimi

Özlü Söz

 

“Veri tabanı: Hafızanız çöktüğünde kaybettiğiniz bilgiler.”(Dave Barry)

Kazanımlar

∙ Bellek organizasyonu yöntemlerini öğrenebilir.

∙ İşletim sisteminin bellek yönetimi için gerçekleştirdiği aktiviteleri öğrenebilir.

∙ Bellek yönetim tekniklerini öğrenebilir.

∙ Bellek yönetiminde kullanılan algoritmaları tanıyabilir.

∙ Bellek problemlerini tanıyabilir ve çözüm üretebilir.

Birlikte Düşünelim

 

1. İşletim sistemi bellek yönetimi için hangi aktiviteleri gerçekleştirmektedir?2. Bellek kapasitesinden daha büyük boyutlardaki prosesler çalıştırılabilir mi? Nasıl?3. Bellek fiziksel ve mantıksal nasıl organize edilmektedir?

Başlamadan Önce

 

Bir önceki bölümde prosesler ve işletim sisteminin proses yönetimi için gerçekleştirdiği aktiviteler, proseslerin birbirleriyle uyumlu bir şekilde çalışabilmesi için gerekli koşullar, proseslerin birbirleriyle iletişim kurmasını sağlayan mekanizmalar, proseslerin oluşturabileceği sorunlar ve bu sorunları önlemek için kullanılan yaklaşımlar detaylıca açıklanmıştı. Bu bölümde bellek birimlerinin prosesler için nasıl düzenlendiği, işletim sisteminin güvenilir bir bellek yönetimi için gerçekleştirdiği aktiviteler anlatılmaktadır.

3.1. Bellek

Bellek, bilgisayar verilerinin saklandığı birimdir. Birincil ve ikincil bellek olarak 2 türü mevcuttur. Birincil bellek, ana bellek olarak isimlendirilir ve geçici olarak verilerin tutulmasını sağlar. İkincil bellek, disk olarak isimlendirilir ve elektrik kesintisi ile veriler kaybolmaz.

Bilgisayar 1 ve 0’ların oluşturduğu ikili sayı sistemini bilir. Veriler öncelikle ikili sayı sistemine çevrilir sonra belleğe yerleştirilir. Örneğin; bilgisayarda int x=3; yazdığımızda bilgisayarda öncelikle bu yazdığımız veri ikili sayı sistemine çevrilir, bellek bloklarına ikili sayı sistemindeki şekliyle yazılır.

32 bit sistemleri düşünelim. “Int” veri tipinin boyutu 2 byte yani 16 bittir. 1 bellek bloğu 1 bit saklar. int x=3; bellekte aşağıdaki gibi saklanır (LSB: düşük öncelikli bit, MSB: yüksek öncelikli bit).

 

En soldaki bit işaret bitidir. İşaret biti 0 ise pozitif sayıyı 1 ise negatif sayıyı temsil eder.

3.2. Proseslerin Ana Belleğe Yerleştirilmesi

Prosesleri uygun bir şekilde ana belleğe yerleştirmek, bellek yöneticisinin temel işlevlerinden biridir. Birden fazla prosesin ana belleğe yerleştirilmesi için kullanılan teknikler vardır.

3.2.1. Sabit Bölümleme

Sabit bölümleme tekniğinde bellek eşit veya farklı büyüklerde sabit bölümlere ayrılırlar. Bu bölümler sabittir. Prosesin büyüklüğüne göre dinamik olarak büyüyüp küçülemez. İşletim sistemi her zaman ilk bölümdedir. Diğer bölümler kullanıcıların işlemleri için kullanılır.

 

Çizim 14. Sabit Bölümleme

Sabit bölümlemede tekniği kullanıldığında oluşabilecek bazı problemler mevcuttur.

∙ Program bölümlenmiş alana sığmayabilir.

∙ Bellek kullanımı verimsizdir. İç parçalanma ve dış parçalanma durumları sebep olur.

∙ Proseslerin boyutu kısıtlanır. Proses boyutu, en yüksek boyuta sahip bölümün boyutundan büyük olamaz. Büyük olduğu takdirde proses belleğe yüklenemez.

∙ Aynı anda belleğe yüklenecek proses sayısı azdır.

İç parçalanma: Prosesin boyutu, bölümlenmiş alandan çok küçük olabilir. Proses küçük bir alan kaplasa dahi tahsis edilen bölümün tamamını elde tutar. Bu durum iç parçalanma (internal fragmentation) olarak bilinir. Çizim 14’te 4 MB’lık bölümlenmiş alana 3 MB boyuta sahip bir prosesin yerleştirildiğini düşünelim. Bu durumda 1 MB’lık bölge kullanılamaz durumda olur ve 1 MB boşa gider.

Dış parçalanma: Çeşitli bölümlerin kullanılmayan alanların toplamı, prosesi yüklemek için yeterli alana sahip olsa bile prosesin yüklenmesi için kullanılamaz. Çizim 14’te eşit bölümlendirme yapılmış ana belleğin her bir bölmesine 2 MB’lık bir proses yerleştirildiğini düşünelim. Bu durumda 2MB’dan toplam 10 MB’lık toplam kullanılmayan alan vardır.10 MB’lık kullanılmayan toplam alan olsa bile bu alanların hiçbirini kullanamayız.

Eşit büyüklükte bölümlemede prosesler belleğe rastgele yerleştirilebilir. Farklı büyüklükteki bölümleme de prosesler belleğe rastgele yerleştirilemezler. Prosesler bölüm boyutlarına göre gruplandırılır ve her boyuta ait kuyruklarda belleğe yerleştirilmek üzere beklerler. Farklı bölümlendirme de kullanılan farklı yöntemler bulunur. En basit yöntem ise sığabileceği en küçük bölüme prosesi yerleştirmektir.

 

Çizim 15. Farklı Bölümlemede Proseslere Bellek Tahsisi

3.2.2. Dinamik Bölümleme

Dinamik bölümlemede proseslerin gereksinim duyduğu alan kadar prosese bellekte yer ayrılır. Dinamik bölümlemede bölümler farklı boyuttadırlar ve farklı boyutlarda çok sayıda bölme vardır. Dinamik bölümleme ile sabit bölümlemede yaşanan problemlerin birçoğunun üstesinden gelinmektedir.

 

Çizim 16. Dinamik Bölümleme

Dinamik bölümlemede, iç parçalanma problemi oluşmaz. Proseslerin boyutuna göre dinamik olarak bellek bölümlendirilir. Proseslerin boyutu ile ilgili bir kısıtlama söz konusu değildir. Çünkü ana bellek başlangıçta belirli boyutlarda bölümlendirme gerçekleştirmemiştir. Aynı anda belleğe yüklenecek proses sayısı dinamiktir. Statik bölümlendirmeye göre daha fazladır.

Dinamik bölümlemede dış parçalanma problemi statik bölümleme de olduğu kadar kesin ve çok olmasa da bu problemin tamamen çözüme kavuştuğu söylenemez.

 

Çizim 17. Dinamik Bölümlemede Dış Parçalanma Problemi

Çizim 17’de görüldüğü gibi Proses2 ve Proses3’e ana bellekte yer tahsis edilmiştir. Ana bellekte toplam 11 MB’lık boş bir alan bulunmaktadır. Proses1’in boyutu 7 MB’dır. 5 MB ve 6 MB’lık bölümlere yerleştirilemez. Bellekte toplam 11 MB alan olmasına rağmen proses1’e bellekten yer tahsis edilemez. 5 MB’lık ve 6 MB’lık boş alanlar arda ardına olsaydı tahsis edilebilirdi. Harici bölümleme problemini çözebilmek için boş alanların arda ardına gelme kuralının değiştirilmesi gerekmektedir.

Belleğin farklı bölümleri prosese tahsis edilerek dış parçalanma problemi çözümlenebilir. Bir başka çözüm yöntemi olarak sıkıştırma işlemi uygulanabilir. Prosesler ana belleğe arda ardına yüklenerek, boş alanların bitişik olması sağlanabilir. Buna sıkıştırma denir. Sıkıştırma tekniği ile daha büyük boyutlardaki prosesler ana belleğe yüklenebilir. Sıkıştırma tekniği dış parçalanma problemine çözüm getirir fakat verimsizliğe neden olur. Birleştirme işlemi esnasında CPU boşta kalır.

Dinamik bölümlemede tahsis edilen bölümler ve boş alanların kayıtlarının tutulması gerekir. İşletim sistemi bu görev için bit haritası ve bağlantılı liste isimlerinde 2 veri yapısı kullanır. Bit haritası çok fazla tercih edilen bir veri yapısı değildir. Bağlantılı liste boş ve dolu olan bölümleri izlemek için kullanılan popüler bir veri yapısıdır.

Her bir alan için (dolu veya boş olabilir.) düğümün tanımlandığı bir bağlantılı liste vardır (Bk. Çizim 18). Her düğümün 3 alanı vardır:

∙ Düğümün ilk alanı bir bayrak bitidir. Bayrak biti düğümün temsil ettiği bölümün dolu mu yoksa boş mu olduğunu gösterir.

∙ Düğümün ikinci alanı bölümün başlangıç indisini gösterir.

∙ Düğümün son alanı bölümün son indisini gösterir.

 

Çizim 18. Bağlantılı Liste

3.2.3. Bölümleme Algoritmaları

Proseslerin dinamik bölümlere yerleştirilmesi için işletim sistemi tarafından kullanılan birçok yöntem vardır.

 

Şekil 6. Proseslerin Dinamik Bölümlere Yerleştirilmesi İçin İşletim Sistemi Tarafından Kullanılan Yöntemler

Örnek: Bellekte boş bölgelerin büyükleri sırasıyla 10K, 8K, 4K, 15K, 12K, 20K, 18K’dır. Büyüklükleri 12K, 10K ve 9K olan 3 proses belleğe yüklenmek isteniyor. Aşağıda verilen algoritmaları kullanarak 3 prosesi ana belleğe yerleştirelim.

a. First-fit algoritması

b. Next-fit algoritması

c. Best-fit algoritması

d. Worst-fit algoritması

 

First-fit algoritması:

12K prosesi 4. Boşluğa yerleştirilir. Boş bölmelerin listesi: 10K, 8K, 4K, 3K, 12K, 20K, 18K

10K prosesi 1. Boşluğa yerleştirilir. Boş bölmelerin listesi: 8K, 4K, 3K, 12K, 20K, 18K

9K prosesi 4. Boşluğa yerleştirilir. Boş bölmelerin listesi: 8K, 4K, 3K, 3K, 20K, 18K

Next-fit algoritması:

12K prosesi 4. Boşluğa yerleştirilir. Boş bölmelerin listesi: 10K, 8K, 4K, 3K, 12K, 20K, 18K

10K prosesi 5. Boşluğa yerleştirilir. Boş bölmelerin listesi: 10K, 8K, 4K, 3K, 2K, 20K, 18K

9K prosesi 6. Boşluğa yerleştirilir. Boş bölmelerin listesi: 10K, 8K, 4K, 3K, 2K, 11K, 18K

Best-fit algoritması:

12K prosesi 5. Boşluğa yerleştirilir. Boş bölmelerin listesi: 10K, 8K, 4K, 15K, 20K, 18K

10K prosesi 1. Boşluğa yerleştirilir. Boş bölmelerin listesi: 8K, 4K, 15K, 20K, 18K

9K prosesi 5. Boşluğa yerleştirilir. Boş bölmelerin listesi: 8K, 4K, 6K, 20K, 18K

Worst-fit algoritması:

12K prosesi 5. Boşluğa yerleştirilir. Boş bölmelerin listesi: 10K, 8K, 4K, 15K, 12K, 8K, 18K

10K prosesi 6. Boşluğa yerleştirilir. Boş bölmelerin listesi: 10K, 8K, 4K, 15K, 12K, 8K, 8K

9K prosesi 1. Boşluğa yerleştirilir. Boş bölmelerin listesi: 10K, 8K, 4K, 6K, 12K, 8K, 8K

3.2.4. Sayfalama

Belleğin daha verimli kullanılabilmesi ve bellek yönetiminin daha etkin bir şekilde yapılabilmesi için sayfalama tekniği kullanılmaktadır. Sayfalama tekniği ana bellekte yer alan arda ardına bulunmayan boş bellek alanlarından faydalanmayı hedeflenir. Proses sayfa (page) şeklinde küçük ve eşit boyutlarda bölümlendirilir. Ana bellek, sayfa ile aynı boyutta çerçeve (frame) ismini verdiğimiz bölümlere ayrılır (bk. Çizim 19. Sayfalama tekniği. ). Prosesin bir sayfası ana bellekteki bir çerçeve içerisinde depolanır. Aynı prosese ait sayfalar ana belleğin farklı yerlerinde bulunan çerçevelere kaydedilebilirler. Sayfa ve çerçeve boyutu işletim sistemi tarafından belirlenir.

 

Çizim 19. Sayfalama Tekniği

Örnek: Ana belleğin boyutu: 8 KB ve çerçeve boyutu 1 KB olsun. Çerçeve sayısı: 8 olur. 3 KB boyuta sahip 2 prosesin her biri 1 KB’lık 3 sayfa içerir. Çizim 20’de gösterilen bir bellek düzeni içerisinde Proses1 ve Proses2 ana belleğe yerleştirilir.

 

Çizim 20. Sayfalama Tekniği Uygulaması

CPU’da her bir sayfa için mantıksal bir adres üretilir. Her bir sayfanın bulunduğu çerçevenin gerçek adresi fiziksel adrestir. Mantıksal adresi kullanarak CPU bir sayfaya eriştiğinde işletim sistemi bu sayfaya fiziksel olarak erişebilmek için fiziksel adresi kullanır. Her prosese ait sayfa tablosu bulunur. Sayfa tabloları ana bellekte saklanır ve ana bellekte saklandığı adres sayfa tablosu temel kaydedicisindedir. Sayfa tablolarında sayfa numarası ve bu sayfaların yerleştirildiği çerçeveler ile ilgili bilgiler bulunur.

Mantıksal adresin 2 bölümü vardır: Sayfa numarası ve offset.

Örnek: Mantıksal adresin 12 bit ve sayfa boyutunun 1 KB olduğunu düşünelim. Program başına göre bağıl adresi 1453 olan bellek erişiminin mantıksal adres eş değerini bulalım.

12 bit ile 4 KB’lık bir alan adreslenebilir. 1 KB sayfa boyutundan ana bellekte 4 çerçevede vardır. 4 sayfa 2 bit ile temsil edilir. 12-2=10 bit offset değeridir.

(1453) 10 = ( 10110101101) 2 ‘dir.

Mantıksal adres: (010110101101). En anlamlı 2 bit sayfa numarasıdır. Sayfa no=2; 2. Sayfada ve offset değeri: 429 olan bellek erişimini temsil eder.

3.2.5. Adres Dönüşümü

Prosese ait sayfa tablosu kullanılarak mantıksal adres fiziksel adrese dönüştürülmelidir. Dönüştürülme adımları Çizim 21’de gösterilmektedir:

 

Çizim 21. Adres Dönüşümü

3.2.6. Sanal Bellek

Sanal bellek ana belleğin boyutunun daha büyük olduğu izlenimi veren aslında bir depolama şeklidir. Sanal bellekte disklerden faydalanılır. Kullanıcı uygulamaları diske yüklenir. İşletim sistemi çalıştırılması gereken uygulamaların çalışması gereken bölümlerini diskten ana belleğe getirir. Ana bellek içerisinde çalıştırılması gereken farklı uygulamaların çalıştırılması gereken bölümleri yer alır. Bilgisayar sistemi birden çok görevi yapabilir hale gelir. Ana belleğin kapasitesinin çok üstünde bir depolama işlevi yapılır. Sanal bellek tekniği ile CPU kullanımı artar.

Sanal bellek tekniğinde; proseslere ait olan sayfalar, ana belleğin boş alanlarından (çerçeve sayısından) daha fazla ise ana bellekte yer alan en az kullanılan veri ana bellekten diske taşınır ve prosese ait sayfalar ana belleğe yerleştirilir. Uygulamanın tüm sayfalarının bir anda ana belleğe yüklenmesine gerek yoktur. Gerekli olan sayfalar gerektiği sürece ana belleğe getirilir. Taşıma işlemi sırasında CPU başka bir uygulamanın görevini icra etmekle meşgul olur. Böylece CPU atıl durumda kalmaz.

Sanal bellek tekniği ile;

∙ Çoklu programlama derecesi artar.

∙ Kullanıcılar daha fazla uygulama ve daha büyük boyutlardaki uygulamaları çalıştırabilirler.

∙ Ana bellek ihtiyacı diskle karşılandığından daha fazla ana bellek satın alınmasına ihtiyaç yoktur.

3.2.7. Translation Look Aside Buffer (Tlb) Kullanımı

Sayfa tablosu ana bellekte saklanmaktadır. Fiziksel adresin hesaplanması için sayfa tablosuna tekrar tekrar erişim sağlanır. TLB bir önbellektir. CPU’nun TLB’ye erişmesi için geçen süre, ana belleğe erişmek için geçen süreden daha kısadır. TLB, ana bellekten daha küçük boyutta, kaydedicilerden daha büyük boyuttadır. TLB, sayfa tablosunun en çok kullanılan sayfalarıyla ile ilgili bilgileri tutar. TLB kullanılarak sanal adresin fiziksel adrese dönüşümü Çizim 22’de gösterilmektedir. 

 

Çizim 22. Sayfalamada TLB Kullanımı

CPU tarafından üretilen sanal adresin fiziksel adrese dönüştürülmesi gerekir. Sanal adres sayfa numarası ve offset değerlerine sahiptir. Öncelikle sayfa numarası TLB üzerinden aranır. Eğer TLB üzerinde bulunursa TLB hit olur ve çerçeve numarasının yanına offset konularak fiziksel adres elde edilir. Eğer TLB üzerinde bulunamadıysa TLB miss olur ve sayfa tablosunda arama yapılır. Sayfa tablosunda bulunursa sayfa tablosundaki çerçeve bilgisinin yanına offset bilgisini yazılarak fiziksel adres bulunur. TLB yeni bilgi ile güncellenir. Şayet sayfa tablosunda da bulunamaz ise o zaman sayfa hatası verir. Sayfa hatası ana bellek üzerinde aradığımız bilginin olmadığını gösterir. Bu bilgi diskte aranır ve ana belleğe getirilir. Sayfa tablosunda ve TLB’de güncellemeler gerçekleştirilir.

3.2.8. Sayfa Değiştirme Algoritmaları

İşletim sisteminin görevlerinden biri bellek yönetimidir. Belleğin güvenli ve verimli bir şekilde kullanılması hedeflenmektedir. Bellek yönetiminde karşılan iç parçalanma, dış parçalanma, büyük boyuttaki uygulamaların çalıştırılamaması gibi problemler sayfalama, sanal bellek teknikleri ile büyük ölçüde çözüme kavuşturulmuştur. Sayfalama tekniğinin kullanımı dış parçalanma problemini çözüme kavuşturur, iç parçalanma problemini de büyük ölçüde kontrol altına alır. Bellek yönetiminde karşılaşılan bir diğer problem ise bellek boyutunun yetersiz kalmasıdır. Bu problem sanal bellek ile çözümlenmiştir. Ana belleğe sığmayan bilgiler diske yazılır ve diskte yer alan bilgiler gerektiğinde de ana belleğe yüklenir. Hangi bilgilerin ana bellekte, hangi bilgilerin diskte olacağına ve ne zaman disk ile ana bellek arasında bilgi değişiminin olacağına sayfa değiştirme algoritmaları belirler.

Çeşitli sayfa değiştirme algoritmaları vardır.

1. Optimal sayfa değiştirme algoritması: Optimal sayfa değiştirme algoritmasında ana bellekte bulunan ve uzun süre ihtiyaç duyulmayacak olan sayfa diske taşır. Pratikte uygulanabilir değildir fakat diğer algoritmaların karşılaştırılmasında kullanılabilir.

2. En son kullanılan sayfa (LRU) değiştirme algoritması: En uzun süredir kullanılmamış sayfa diske taşınır. Optimal sayfa değiştirme algoritmasının tam tersi geleceğe değil geçmişe bakar. Sayfalara son erişim zamanı bilgisi tutulur. Bu bilgi sisteme ek yük getirir (Gülbağ, 2017).

3. İlk gelen ilk çıkar (FIFO) değiştirme algoritması: Sayfalar arasında en erken kullanılmış, ilk gelen sayfa diske taşınır. Uygulanması kolaydır fakat problemlere neden olabilir. Sürekli kullanımda olan sayfalar olabilir (Gülbağ, 2017).

Örnek:

İşletim sisteminden sırasıyla “3,4,3,5,2,3,1,2,5,1” şeklinde çerçeveler talep edildiğini varsayalım. Ana belleğe sadece 3 çerçeve anlık olarak sığabiliyor. Optimal, FIFO ve LRU sayfa değiştirme algoritmalarını kullanarak sayfa yer değiştirme dizinlerini oluşturalım.

Optimal:

İstekler3435231251
Çerçeve35555555
Çerçeve2444222222
Çerçeve13333331111
Miss/HitMissMissHitMissMissHitMissHitHitHit

Optimal algoritması kullanıldığında gerçekleşen sayfa hatası sayısı: 5

FIFO:

İstekler3435231251
Çerçeve35551111
Çerçeve2444433333
Çerçeve13333222255
Miss/HitMissMissHitMissMissMissMissHitMissHit

FIFO algoritması kullanıldığında gerçekleşen sayfa hatası sayısı: 7

LRU:

İstekler3435231251
Çerçeve35551111
Çerçeve2444222222
Çerçeve13333333355
Miss/HitMissMissHitMissMissHitMissHitMissHit

LRU algoritması kullanıldığında gerçekleşen sayfa hatası sayısı: 6

LRU ve optimal sayfa değiştirme algoritmalarında çerçeve sayısının arttırılmasının sayfa hatası sayısını azaltacağı görülmüştür. Balady, FIFO sayfa değiştirme algoritmasında ise çerçeve sayısının artmasının sayfa hatası sayısını arttıracağını bulmuştur. FIFO algoritmasının gösterdiği tuhaf bir davranıştır. Bu anomali Belady’s Anomaly olarak isimlendirilmiştir (javaTpoint, 2021).

3.2.9. Segmentasyon

Segmentasyon, ana belleğin farklı boyutlarda bölümlere ayrıldığı bir bellek yönetim tekniğidir. Ana bellekteki her bir bölüm segment olarak isimlendirilir ve proseslere segmentler tahsis edilirler.

Sayfalama işleminde prosesler eşit boyutlarda bölümlere ayrılmaktadır. Sayfalama tekniği aynı sayfaya yüklenmesi gereken proses bölümlerinin var olabileceği gerçeğini göz ardı etmektedir. Aynı görevi farklı sayfalara bölebilir ve bu sayfalar ana belleğe yüklenebilir veya yüklenemeyebilir. Verimin düşmesine neden olunur. Örneğin main metodu tek bir sayfa içerisinde olmayabilir. Segmentasyon ile bu problemin üstesinden gelinmektedir. Segmentasyonda her bir segment aynı türdeki fonksiyonları içerir (bk. Çizim 23). Örneğin main metodunu bir segment içerirken kütüphane fonksiyonlarını bir başka segment içerir.

 

Çizim 23. Segmentasyon Tekniği

Segmentasyonda mantıksal adres 2 içeriğe sahiptir: Segment numarası ve offset bilgisi. CPU tarafından üretilen mantıksal adresin segmentasyon tekniğinde fiziksel adrese dönüşüm adımları Çizim 24’te gösterilmektedir. Segment tablosu kaydedicisi segment tablosunun başlangıç adresini saklar. Segment numarası ve segment tablosunun başlangıç adresi toplanarak ilgili segmentin ana bellekte bulunduğu adres bulunur. İlgili segmentin başlangıç adresi tablodan alınır. Başlangıç adresine offset değeri eklenerek fiziksel adres elde edilmiş olur.

 

Çizim 24. Segmentasyonda Adres Dönüşümü

İşletim sistemleri segmentasyonu veya sayfalamayı tek başına kullanmayı genellikle tercih etmezler. Segmentasyon ile sayfalama beraber kullanıldığında her iki yöntemin avantajlarından faydalanılır. Segment ile sayfalamanın birlikte kullanıldığı yöntemde ana bellek değişken boyutlarda segmentlere ayrılır, segmentler aynı boyutlarda sayfalara bölünür. Sayfaların boyutu segmentlerin boyutundan küçüktür. Bu yöntemi kullanan işletim sistemlerinde CPU’nun ürettiği sanal adres segment numarası, sayfa numarası ve offset bilgilerinden oluşur. Segment tablosu sayfa tablolarının adreslerini tutar. Her bir sayfa tablosu da segmentin her bir sayfasını gösterir.

Segmentasyon ile sayfalama tekniklerinin bir arada kullanıldığında sanal adresin fiziksel adrese dönüşümü Çizim 25’te gösterilmektedir:

 

Çizim 25. Segmentasyon ve Sayfalama Tekniklerinin Bir Arada Kullanımı

Bölüm Özeti

∙ Bilgisayar sistemlerinde süreçlerin yürütülebilmesi için bilgisayar verilerinin saklandığı bellek birimlerine ihtiyaç vardır. Geçici verilerin tutulduğu bellek birimi birincil bellek (ana bellek) olarak isimlendirilmektedir. Ana bellekte tutulan veriler elektrik kesintisinde kaybolur. Elektrik kesintisinde verilerin kaybolmadığı, ana belleğe göre erişimin daha uzun sürdüğü bellek birimi ikincil bellek (disk) olarak anılır.

∙ İşletim sistemi bellek birimlerini kullanarak proseslerin güvenli bir şekilde işletilmesini sağlamaktadır. Proseslere ana bellekte uygun yerler tahsis edilmesi, ana bellek kapasitesi yeterli olmadığı durumlarda en uygun prosesin diske taşınması, proseslerin güvenliğini sağlamak adına bellek birimlerinin korunması, bellek birimlerinin güvenli bir şekilde paylaştırılması, bellek birimlerinin mantıksal ve fiziksel organizasyonunu gerçekleştirmek bilgisayar sisteminin güvenli bir işleyişi için işletim sisteminin gerçekleştirdiği bellek aktiviteleridir.

∙ Birden fazla prosesi ana belleğe yerleştirmek için sabit bölümleme, dinamik bölümleme, sayfalama, sanal bellek, segmentasyon teknikleri kullanılmaktadır.

∙ Prosesler dinamik bölümleme yöntemi ile bölümlenmiş ana bellek bölümlerine FCFS, Next-fit, best-fit, worst-fit gibi algoritmalar kullanılarak yerleştirilir.

∙ Dinamik bölümlemede boş kalan bellek bölümlerin arda ardına gelmemesi durumunda bellek bölümlerinin çöpe gitmesi problemini çözümlemek için sıkıştırma yöntemi kullanılmaktadır. Sıkıştırma yöntemi boş alanları bir araya toplamaya çalışmakta ve bu verimsizliğe neden olmaktadır. Sayfalama tekniği kullanılarak bellekte farklı bölgelerde bulunan boş bellek bölümlerine proses sayfalarının yerleştirilmesi sağlanmaktadır. Proses sayfaları eşit boyuttadır. Aynı sayfada bulunması gereken proses bölümlerinin farklı sayfalara ayrılması muhtemeldir.

∙ Segmentasyon yöntemi ile bellek bölümleri farklı boyutlarda dinamik olarak bölümlenebilmektedir. Segmentasyon yönteminde her bir segment ilgili fonksiyonları barındırmaktadır.

∙ Segmentasyon ve sayfalama tekniklerinin bir arada kullanımı her iki yöntemin avantajlarını bir araya getirmektedir.

∙ Sanal bellek ana belleğin boyutunu daha büyük olduğu izlenimi veren bir yöntemdir.

∙ Sanal bellekte; ana bellek ve disk uyumlu bir şekilde beraber kullanılmaktadır. Ana belleğe sığmayacak prosesler disklere konmakta ve ihtiyaç halinde ana belleğe getirilmektedir. Ana bellek kapasitesi dolduğunda ise prosesler diske taşınmaktadır. İşletim sistemi gerçekleştirdiği aktivitelerle güvenli bir bellek yönetimi hedeflemektedir.

Kaynakça

 (tarih yok).

(2021). Debian Manpages: https://manpages.debian.org/ adresinden alındı

Aksan, C. (2021). Paket Yöneticisi Nedir? Neden İhtiyaç Duyulur? ceaksan.com: https://ceaksan.com/tr/paket-yoneticisi adresinden alındı

Aladağ, M. (2015). Windows 10 Yenilikleri – PowerShell 5 ile Paket Yönetimi OneGet. cozumpark.com: https://www.cozumpark.com/windows-10-yenilikleri-powershell-5-ile-paket-yonetimi-oneget/ adresinden alındı

Alkar, A. (2015). Embedded system basics and application. Ankara.

Çobanoğlu, B. (2018). Herkes için Python. Pusula.

Doğu Akdeniz Üniversitesi, B. B. (2021). İşletim Sistemleri-Bellek Yönetimi.

Doğu Akdeniz Üniversitesi, B. V. (2021). İşletim sistemleri-Kilitlenmeler. Siirt.

Gülbağ, A. (2017). İşletim Sistemlerine Giriş.

javaTpoint. (2021). OS. javaTpoint: https://www.javatpoint.com/os-attributes-of-a-process adresinden alındı

Kaya, A. (2009). Symbian İşletim Sistemi. Akademik Bilişim’09 – XI. Akademik Bilişim Konferansı Bildirileri. Şanlıurfa.

Özdemir, H. (2018). Linux Paket Yöneticileri. pythontr.com: https://www.pythontr.com/makale/linux-paket-yoneticileri-632 adresinden alındı

Saatçi, A. (2002). Bilgisayar işletim sistemleri. Ankara: Hacettepe Üniversitesi. http://hilmi.trakya.edu.tr/ders_notlari/os/isleti_sistemleri.pdf adresinden alındı

Samet, R. (2018). Bilgisayar Sistemleri. (A. Ü. Enstitüsü, Dü.)

Shotts, W. (2013). The Linux Command Line- Second Internet Edition. No Starch Press.

Silberschatz, A., Gagne, G., & Galvin, P. (tarih yok). Operating System Concepts. içinde John Wiley & Sons, Inc. 2021 tarihinde alındı

Taşcı, T. (2017). İşletim Sistemleri-Temel Bilgi Teknolojileri Kullanımı.

Taşçı, T. (2017). İşletim Sistemleri-Temel Bilgi Teknolojileri Kullanımı.

Türkoğlu, İ. (tarih yok). İşletim Sistemleri (Ders Notları). Fırat Üniversitesi, Teknik Eğitim Fakültesi, Elektronik ve Bilgisayar Bölümü. Türkiye. 2021 tarihinde alındı

Wikipedia. (2021). Paket yönetim sistemi. Wikipedia.org: https://tr.wikipedia.org/wiki/Paket_y%C3%B6netim_sistemi adresinden alındı

Yıldırım, S. (tarih yok). Bilgi Teknolojilerine Giriş3. Atatürk Üniversitesi. 2021 tarihinde alındı

Yorum Gönderin