Sanal bellek ve sayfalama (paging) nasıl çalışır?
Sanal Bellek ve Sayfalama (Paging) Nedir?
Sanal bellek, bilgisayarın fiziksel belleğinden daha fazla bellek alanı sağlamak için kullanılan bir tekniktir. İşletim sistemi, uygulamalara geniş bir bellek alanı sağlarken, fiziksel bellek kullanımını optimize eder. Bu süreçte, veriler diskte belirli bölümler halinde saklanır ve gerektiğinde bu veriler belleğe yüklenir.Sayımlar
Sayfalama (paging), sanal belleği yönetmek için yaygın bir yöntemdir. Bu yöntemde, sanal bellek ve fiziksel bellek eşit boyutlu sayfalara bölünür.- Sanal Bellek Sayfaları: Uygulama her zaman tüm veriyi içinde bulunduramaz; sadece ihtiyaç duyduğu sayfalar belleğe yüklenir.
- Fiziksel Bellek Sayfaları: Fiziksel bellek de sayfalara ayrılmıştır. İki bellek arasındaki eşleme tablo ile gerçekleştirilir.
- Sayfa Tablosu: İşletim sistemi, sanal bellek adreslerini fiziksel bellek adreslerine dönüştüren bir sayfa tablosu kullanır.
Çalışma Prensibi
1. Uygulama bir bellek adresine erişmek istediğinde, işletim sistemi bu adresi sayfa tablosuna başvurarak fiziksel bir adrese çevirir. 2. Eğer istenen sayfa fiziksel bellekte yoksa, işletim sistemi sayfayı diskteki takas alanından (swap) alır ve belleğe yükler. 3. Bellek dolduğunda, işletim sistemi kullanılmayan veya en az kullanılan sayfaları diske yazar ve gerekli sayfayı yükler.Avantajlar ve Dezavantajlar
Avantajlar:- Daha büyük bir sanal bellek alanı sağlar.
- Fiziksel bellek verimli bir şekilde kullanılır.
- Disk erişim süresi, bellek erişim süresinden daha uzun olduğu için performans etkilenebilir.
- Sık takas işlemleri sistemin yavaşlamasına yol açabilir.
Cevap yazmak için lütfen
.
Aynı kategoriden
- Veritabanı yönetimi nedir?
- Döngüler (loops) nedir?
- CI/CD nedir ve nasıl kurulur?
- Veri analitiği projelerinde veri güvenliği nasıl sağlanır?
- Bilgisayarda işletim sistemi nedir?
- Yeni başladım: Mühendislikte Agile yöntemi nedir ve nasıl uygulanır?
- Temel saldırı türleri: phishing, malware, ransomware nedir?
- Sanal makine nedir?
- İlişkisel veritabanı nedir?
- Dosya sistemleri nasıl organize edilir?
- Veri tabanı tasarımında en çok tercih edilen ilişki türleri nelerdir?
- İşletim sistemi çekirdeği (kernel) nedir?
- Yeni başladım: Mühendislik alanında hangi programlama dillerini öğrenmek faydalı olabilir?
- Sıralama algoritmaları arasındaki farklar nelerdir?
- Dinamik programlama nedir ve hangi durumlarda kullanılır?
- Shell script ile otomasyon nasıl yapılır?
- Bilgisayarların temel bileşenleri nelerdir?
- Terminal komutları nasıl kullanılır?
- WebSocket nedir, hangi senaryolarda tercih edilir?
- Yeni başladım: Python’da bir stringin uzunluğunu nasıl bulabilirim?