Sistem Programlama Sanal Bellek Kullanımı: Programın yalnızca bir kısmının fiziksel olarak RAM'e yüklenip çalıştırılmasına ilişkin sisteme sanal bellek kullanımı denir. Intel işlemcileri 80286 ile birlikte segment tabanlı, 80386 ile birlikte de sayfa tabanlı sanal bellek kullanımını destekler. DOS sistemi 8086'lar zamanında tasarlandığı için sanal bellek kullanımı DOS'ta mümkün değildir. Windows 3.x segment tabanlı, Win32 sistemleriyse sayfa tabanlı sanal bellek mekanizmasını desteklerler. Bir exe programının %10-20'lik bir kısmı çok fazla çalıştırılmaktadır. Programın büyük kısmı belki yalnızca bir kez işlem gören ya da hiç işlem görmeyen parçalara sahiptir. Gazi Üniversitesi Bilgisayar Eğitimi Bölümü Öğr. Gör. Dr. Tuncay YİĞİT Sistem Programlama Doğrusal ve Fiziksel adresler: Bir programın 4 K lık parçalarına sayfa denir. Fiziksel RAM de 4 K lıksayfalara ayrılmıştır. Böylece programın sayfaları RAM'deki rastgele sayfalarda bulunabilir. Programın hangi parçalarının hangi RAM sayfalarında bulunduğu bir tabloda tutulur. Bu tabloya sayfa tablosu denir. Korumalı mod da bir adres bilgisi 32 bit uzunluğundadır. 32 bit uzunluğundaki bu adres bilgisine doğrusal adres denir. Windows ve UNIX sistemlerinde programcının kullanıdığı bütün adresler doğrusal adreslerdir. Örneğin C'de bir değişkenin adresini aldığımızda biz gerçekte doğrusal adresini elde ederiz. Doğrusal adresler işlemci tarafından RAM'deki gerçek fiziksel adreslere dönüştürülür. Gazi Üniversitesi Bilgisayar Eğitimi Bölümü Öğr. Gör. Dr. Tuncay YİĞİT Sistem Programlama Sayfalama ve Sanal Bellek ilişkisi: Sanal bellek sisteminde programın bütün hepsi fiziksel RAM'e yerleştirilmediği için sayfa tablosunun yalnızca programın RAM'e yerleştirildiği kadar kısmı doldurulur. Sayfa tablosunun diğer elemanları boş bırakılır. Tabii bu durumda programın çalışması kod ve data bakımından sayfa tablosunda karşılığı bulunmayan bir doğrusal adrese gelebilir. Bu durumda işlemci "page fault" denilen özel bir içsel kesme oluşturur. Bu kesme işletim sistemi tarafından hook edilmiştir. İşletim sistemi önce habngi doğrusal adresten dolayı böyle bir hatanın çıktığını tespit eder. Sonra bu adresin swap dosyasındaki yerini bulur. Programın o sayfasını fiziksel RAM'e yükler. Yüklediği RAM'in fiziksel sayfa numarasını sayfa tablosuna yazar. Artık ilgili adres fiziksel RAM'dedir, çalışma devam edebilir. Gazi Üniversitesi Bilgisayar Eğitimi Bölümü Öğr. Gör. Dr. Tuncay YİĞİT