İşletim Sistemlerine Giriş



Benzer belgeler
İşletim Sistemlerine Giriş

Bölüm 8: Ana Bellek. Operating System Concepts with Java 8 th Edition

Görüntü Bellek. Ana Bellek. Fiziksel Adres. Belek Uzayı. Bellek hiyerarşisi. Hız Maliyet (+) Ana Bellek. Boyut (+) DISK. Görüntü Adres.

Sanal Bellek (Virtual Memory)

Windows Eski Sürümleri Bellek Yapısı

İşletim Sistemlerine Giriş

İşletim Sistemlerine Giriş

Bölüm 8: Ana Bellek 8.1

İşletim sistemlerinde, gerçekleştirilen işlemlerin geçici olarak saklandığı merkeze ana bellek (RAM) denir.

Bölüm 8: Ana Bellek. Operating System Concepts 9 th Edition. Mehmet Demirci tarafından çevrilmiştir.

BELLEK YÖNETY. Bellek Yönetimi

İşletim Sistemlerine Giriş

Background (Arka Plan)

(Random-Access Memory)

İŞLETİM SİSTEMLERİ DERS 9 BELLEK YONETİMİ

İşletim Sistemlerine Giriş

İşletim Sistemleri (Operating Systems)

İşletim Sistemi. BTEP205 - İşletim Sistemleri

9. MERKEZİ İŞLEM BİRİM MODÜLÜ TASARIMI

BM-311 Bilgisayar Mimarisi

BELLEK YÖNETY NETİMİ. Bellek Yönetiminin Gerektirdikleri. Bellek Yönetimi. Bellek Yönetiminin Gerektirdikleri. Bellek Yönetimi Teknikleri

BİLGİSAYAR MİMARİSİNDE YENİ YAKLAŞIMLAR DÖNEM PROJESİ

Bilgisayar İşletim Sistemleri BLG 312

DERS 3 MİKROİŞLEMCİ SİSTEM MİMARİSİ. İçerik

İşletim Sistemleri (Operating Systems)

İşletim Sistemlerine Giriş

BM-311 Bilgisayar Mimarisi

MİKROİŞLEMCİLER 1 Ders 1

İşletim Sistemleri. Dr. Binnur Kurt Omega Eğitim ve Danışmanlık İşletim Sistemleri

İşletim Sistemlerine Giriş

Sistem Programlama. Kesmeler(Interrupts): Kesme mikro işlemcinin üzerinde çalıştığı koda ara vererek başka bir kodu çalıştırması işlemidir.

Ders 3 ADRESLEME MODLARI ve TEMEL KOMUTLAR

İşletim Sistemleri. Hazırlayan: M. Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü

BELLEK Yönetimi. Ana Bellek Yönetimi. Ana Bellek Yönetimi

BM-311 Bilgisayar Mimarisi

Bahar Dönemi. Öğr.Gör. Vedat MARTTİN

Bölüm 9: Sanal Bellek

İşletim Sistemleri. Hazırlayan: M. Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi

BTP 205 İŞLETİM SİSTEMLERİ

BM-311 Bilgisayar Mimarisi. Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü

Assembly Dili Nedir? Assembly dili biliyorum derken hangi işlemci ve hangi işletim sistemi için olduğunu da ifade etmek gerekir.

İŞLETİM SİSTEMİ İşletim sistemi kullanıcıyla bilgisayar donanımı arasında iletişim sağlayan programdır.

Öğr. Gör. Ümit ATİLA

Sanal Makineler ve Linux Konteynerlerin Performans Karşılaştırması

İŞLEMCİLER (CPU) İşlemciler bir cihazdaki tüm girdilerin tabii tutulduğu ve çıkış bilgilerinin üretildiği bölümdür.

Bileenler arasndaki iletiim ise iletiim yollar ad verilen kanallar yardm ile gerçekleir: 1 Veri Yollar 2 Adres Yollar 3 Kontrol Yollar

Mikrobilgisayarlar ve Assembler. Bahar Dönemi. Vedat Marttin

DOSYA NEDİR? Verilerin HDD de saklanması. Verilerin HDD de saklanması DOSYA SİSTEMİ NEDİR?

Bilgisayar Mimarisi ve Organizasyonu Giriş

Mikrobilgisayar Donanımı

Bilgisayar Programcılığı

Bilgisayarların Gelişimi

CUMHURİYET MESLEKİ VE TEKNİK ANADOLU LİSESİ BİLİŞİM TEKNOLOJİLERİNİN TEMELLERİ DERSİ DERS NOTLARI BELLEKLER

x86 Ailesi Mikroişlemciler ve Mikrobilgisayarlar

8086 Mikroişlemcisi Komut Seti

MİKROBİLGİSAYAR SİSTEMLERİ. Teknik Bilimler Meslek Yüksekokulu

William Stallings Computer Organization and Architecture 9 th Edition

BİLGİSAYAR MİMARİSİ. Bilgisayar Bileşenleri Ve Programların Yürütülmesi. Özer Çelik Matematik-Bilgisayar Bölümü

Quiz:8086 Mikroişlemcisi Mimarisi ve Emirleri

MTM 305 MĠKROĠġLEMCĠLER

BM-311 Bilgisayar Mimarisi

Adresleme Modları. Mikroişlemciler ve Mikrobilgisayarlar

DIGIAC 2000 Deney Seti PAT İŞLEMCİ KARTI :

DİSK DEPOLAMA ALANLARI

Şekil. 64 Kelimelik Yığıtın Blok Şeması

BM-311 Bilgisayar Mimarisi

Bölüm 3: Adresleme Modları. Chapter 3: Addressing Modes

Bölüm 13: Giriş-Çıkış (I/O) Sistemleri

Öğr. Gör. Serkan AKSU

YZM 3102 İşletim Sistemleri

Von Neumann Mimarisi. Mikroişlemciler ve Mikrobilgisayarlar 1

Windows XP: Virtual Memory / Sanal Bellek Perşembe, 07 Eylül :51 - Son Güncelleme Salı, 12 Eylül :07

BM-311 Bilgisayar Mimarisi

Dosya, disk üzerinde depolanmış verilerin bütününe verilen isimdir. İşletim sistemi genel olarak iki çeşit dosya içerir.

2. SAYI SİSTEMLERİ. M.İLKUÇAR - imuammer@yahoo.com

PARDUS TOPLULUK SÜRÜMÜ 3.0 KDE KURULUMU

BİLGİSAYAR KULLANMA KURSU

Yrd. Doç. Dr. Caner ÖZCAN

Bilgisayarım My Computer

BİLİŞİM TEKNOLOJİLERİ VE YAZILIM DERSİ 6. SINIF DERS NOTLARI

Bilgisayarım My Computer. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

Bölüm Bazı Temel Konseptler

Embedded(Gömülü)Sistem Nedir?

AĞ TEMELLERI. İSİM SOYİSİM: EMRE BOSTAN BÖLÜM: BİLGİSAYAR PROGRAMCILIĞI ÜNİVERSİTE: NİŞANTAŞI KONU: Konu 5. TCP/IP


BTP 205 İŞLETİM SİSTEMLERİ

2. TEMEL İŞLETİM SİSTEMLERİ KAVRAMLARINA GİRİŞ FAT12 DOSYA SİSTEMİ İNTEL 386 AİLESİ MİMARİSİ VE KORUMALI MOD...18

MCR02/04/05/08 Serileri Temassız Kart Okuyucular

DERS 5 PIC 16F84 PROGRAMLAMA İÇERİK. PIC 16F84 bacak bağlantıları PIC 16F84 bellek yapısı Program belleği RAM bellek Değişken kullanımı Komutlar

Komutların Yürütülmesi

Hem lw hem de sw komutlarının ofseti 16-bitlik işaretli tamsayıdır.

8086 dan core2 ya yazaç yapısını tanımak. Bayrak yazacının içeriğinde yer alan bayrakların görevlerini tanımlamak. Real mod çalışmada bellek

BM-311 Bilgisayar Mimarisi

TEMEL BİLGİ TEKNOLOJİLERİ KULLANIMI. Bilgisayar I ve Bilgi İletişim Teknolojileri Dersi Öğr.Gör. Günay TEMUR

Computer Architecture. RAID: (Redundant Array of Independent/Inexpensive Disks)

Donanımlar Hafta 1 Donanım

Yrd. Doç. Dr. Caner ÖZCAN

Özyineleme (Recursion)

Transkript:

İşletim Sistemlerine Giriş Bellek Yönetimi (Memory Management) İşletim Sistemlerine Giriş - Ders09 1

SANAL BELLEK(Virtual Memory) Yıllar önce insanlar kullanılabilir olan belleğe sığmayan programlar ile karşılaştılar. Bu programların çalışabilmesi problemini programı yer paylaşan(overlay) adı verilen parçalara bölerek çözdüler. 0. overlay ilk çalışmaya başlayacaktı ve bittiğinde diğer overlay i çağıracaktı. Bazen birden fazla overlay in aynı anda bellekte olması gerekebilir. Overlay ler diskte bulunurlar ve işletim sistemince dinamik olarak takaslanırlar. İşletim Sistemlerine Giriş - Ders09 2

SANAL BELLEK(Virtual Memory) Programın overlay lere parçalanması işlemini programcı yapmalıydı. Bu işlem sıkıcı ve uzun süre gerektiren bir iştir. Bu problemi ortadan kaldırmak için sanal bellek(virtual memory) fikri ortaya çıkmıştır. Temel fikir; programın büyüklüğü, verisi ve yığın(stack) toplamı fiziksel belleği aşabilir. İşletim sistemi programın çalışan parçasını bellekte, diğer kısmını diskte tutar. İşletim Sistemlerine Giriş - Ders09 3

SANAL BELLEK(Virtual Memory) Örneğin; 16 MB boyutundaki bir program 4 MB lık bir bellekte çalışabilir. Bu işlem için programın hangi parçasının şu anda bellekte bulunması gerektiğine iyi karar verilmesi gerekmektedir. İstek yapıldıkça parçalar disk ver bellek arasında değiş tokuş yapılır. İşletim Sistemlerine Giriş - Ders09 4

Sayfalama (Paging) Sanal bellek sistemleri genellikle sayfalama (paging) adı verilen bir teknik kullanır. Bilgisayarda her bellek bölgesinin bir adresi vardır. Programda şu şekilde bir komut (instruction) olabilir: mov eax,1000 Bu komut 1000 adresinin içerisindeki veriyi eax yazmacına (register) kopyalar (ya da tam tersi). Adresler indeksleme (indexing), taban yazmacı(base register) ve parça yazmaçları (segment register) kullanılarak oluşturulabilir. İşletim Sistemlerine Giriş - Ders09 5

Sayfalama (Paging) Program tarafından oluşturulan bu adreslere sanal adresler (virtual address) denilir. Sanal adres MMU (Memory Manegement Unit) tarafından fiziksel adreslere dönüştürülür. İşletim Sistemlerine Giriş - Ders09 6

Sayfalama (Paging) Basit bir örneği inceleyelim. Bilgisayarımız 16 bitlik adres üretsin. (0-64 KB) adres olabilir. Bu adresler sanal adreslerdir. Bilgisayarımızın 32 KB fiziksel belleği olduğunu düşünelim. Tüm sanal adres uzayı(virtual memory space =0-64 KB) sayfa (page) adı verilen birimlere bölünür. Her sanal adres sayfasına karşılık gelmesi için fiziksel bellek de aynı boyuttaki sayfalara bölünür. Fiziksel bellekte bulunan birimlere sayfa çerçeveleri (page frames) denilir. İşletim Sistemlerine Giriş - Ders09 7

Sayfalama (Paging) Sayfalar(sanal sayfa) ve sayfa çerçeveleri(fiziksel sayfa) her zaman aynı boyuttadır. Örneğimizde bu değer 4KB (4096 byte= 2 12 ) olsun. Gerçek sistemlerde bu değer 512 byte-64 KB değişebilir. 64 KB sanal bellek = 4kb x 16 sayfadır. 32 KB fiziksel bellek= 4kb x 8 sayfa çerçevesidir. Fiziksel bellek(ram) ile disk arasında her zaman bir sayfa değiş tokuş yapılır. İşletim Sistemlerine Giriş - Ders09 8

Sayfalama (Paging) Program örneğin aşağıdaki komut ile 0. sayfaya erişmek istesin. mov eax,0 0 sanal adresi MMU ya gönderilir. MMU bu adresin 0. sayfada olduğunu görür (0-4095). İşletim Sistemlerine Giriş - Ders09 9

Sayfalama (Paging) 0 sanal adresi MMU ya gönderilir. MMU bu adresin 0. sayfada olduğunu görür (0-4095). Şekilden görüldüğü gibi bu adres 2. sayfa çerçevesine karşılık gelmektedir. Böylece 0 adresini 8192 ye çevirir ve yola (bus) bu adres bilgisini koyar. İşletim Sistemlerine Giriş - Ders09 10

Sayfalama (Paging) 16 sanal sayfanın 8 sayfa çerçevesine dönüştürülmesi, sanal adres uzayının fiziksel bellekten büyük olması problemini çözmez. Şekildeki gibi X ile gösterilen sanal sayfalar fiziksel bellek ile eşleştirilmemiştir. Donanımda hangi sayfaların bellekte olup olmadığını tutan bir bit mevcuttur. Program eşlenmemiş bir belleğe erişmek isterse? mov eax,32780 { 8.sayfanın başı = 32768 +12. byte} 8. sanal sayfanın 12. byte na erişmek istesin. İşletim Sistemlerine Giriş - Ders09 11

Sayfalama (Paging) MMU bu sayfanın eşlenmediğini fark ettiği zaman işletim sistemine uyarı verir(trap). İşletim sistemine gönderilen bu hataya sayfa hatası (page fault) denilir. İşletim sistemi mevcut bellekteki sayfalardan az kullanılan bir tanesini seçer ve diske yazar. Boşalan yere istenilen sayfayı getirir ve sayfa hatasına neden olan komutu tekrar çalıştırır. İşletim sistemi ayrıca MMU haritasında yeni getirilen sayfanın sanal sayfasını işaretler ve fiziksel sayfa ile eşleştirir. İşletim Sistemlerine Giriş - Ders09 12

Sayfalama (Paging) 8196 sanal adresi MMU ya gelsin. Gelen 16 bitlik sanal adres, 4 bit sayfa numarasına (page number) ve 12 bit göreli konuma (offset) ayrılır. 12 bitlik göreli konum(offset) ile 2 12 =4096 byte lık olan sayfanın içerisindeki adres gösterilir. 2 4 =16 ile sanal sayfalar gösterilir. İşletim Sistemlerine Giriş - Ders09 13

Sayfalama (Paging) Sayfa numarası (page number) sayfa tablosu (page table) içerinseki indeks numrasıdır. Sayfa tablosu sanal tabloya karşılık gelen fiziksel sayfa çerçevesinin bulunması için kullanılır. Eğer sayfa tablosunda sayfa eşlemesi yok ise (bu durum present/absent biti ile bilinir) işletim sistemine sayfa hatası (page fault) gönderilir. Eşleme var ise; sayfa çerçevesi bulunur, bu değerin sağına göreli konum(offset) eklenir ve bu değer çıktı yazmacı vasıtasıyla yola (bus) konulur. İşletim Sistemlerine Giriş - Ders09 14

Sayfa Tabloları (Page Tables) Sanal adresi (virtual address) fiziksel adrese çevirebilmek için sanal adres, sanal sayfa numarası(virtual page b- number) ve göreli konum (offset) e parçalanır. Örneğin; 16 bitlik adres, 4kb lık sayfa boyutu ile 16 bit adres =4 bit sanal sayfa numarası + 12 bit göreli konuma parçalanır. Sayfa boyutuna göre farklı parçalama yapılabilir. Sanal sayfa numarası sayfa tablolarında indeks değeri olarak kullanılır. İşletim Sistemlerine Giriş - Ders09 15

Sayfa Tabloları (Page Tables) Sayfa tablosundan sanal sayfa numarasına karşılık gelen sayfa çerçevesi bulunur. Bulunan adres göreli konum(offset) ile birleştirilir ve fiziksel adres oluşturulur. Bu adres belleğe gönderilir. Bu yaklaşımda iki temel problem ortaya çıkabilir : 1. Sayfa tabloları oldukça büyük olabilir. 2. Eşleme işlemi çok hızlı yapılmalıdır. Modern bilgisayarlarda 32 bit sanal adres kullanırlar. Eğer sayfa boyutunu 4 kb seçersek, 1 milyon sanal sayfa olmalıdır. Sayfa tablosunda 1 milyon girdi bulunmalıdır. Her sürecin kendi sanal adres uzayı olduğu için kendi sayfa tablosu da olmalıdır. İşletim Sistemlerine Giriş - Ders09 16

Çok seviyeli sayfa tabloları (multi level page tables) Büyük sayfa tablolarını bellekte tutma problemini çözmek için çok seviyeli sayfa tabloları (multilevel page tables) kullanılmaktadır. 32 bitlik sanal adres = 10 bit PT1 + 10 bit PT2 +12 bit göreli konum a parçalanır. Sayfa boyutları 4 kb olduğu için sayfa tablosunda adet girdi vardır. 2 20 Çok seviyeli sayfa tablolarında tüm sayfalar aynı anda bellekte bulunmaz. İşletim Sistemlerine Giriş - Ders09 17

Çok seviyeli sayfa tabloları (multi level page tables) Sanal adres MMU ya verildiğinde, PT1 ayrılır. Bu değer ilk seviyeli tabloda indeks olarak kullanılır.ilk seviyedeki tablo girdisi ikinci seviyedeki tablo indeksini ya da adresini verir. İlk tablodaki 1024 girdiden her biri 4MB lık sanal belleğe karşılık gelmektedir. PT2 2. seviyedeki tablonun indeks değeri olarak kullanılır ve sayfa çerçevesi numarasını bulmak için kullanılır. İşletim Sistemlerine Giriş - Ders09 18

Çok seviyeli sayfa tabloları (multi level page tables) Sanal adres MMU ya verildiğinde, PT1 ayrılır. Bu değer ilk seviyeli tabloda indeks olarak kullanılır.ilk seviyedeki tablo girdisi ikinci seviyedeki tablo indeksini ya da adresini verir. İlk tablodaki 1024 girdiden her biri 4MB lık sanal belleğe karşılık gelmektedir. PT2 2. seviyedeki tablonun indeks değeri olarak kullanılır ve sayfa çerçevesi numarasını bulmak için kullanılır. İşletim Sistemlerine Giriş - Ders09 19

İşletim Sistemlerine Giriş - Ders09 20

Sayfa tablosu girdilerinin yapısı Bu girdinin tam şekli makineye göre değişir fakat kabaca içerisindeki bilgiler aynıdır. Boyutu değişebilir ama genellikle 32 bit dir. Sağdan sola doğru sayfa çerçeve numarası, eşleme var ya da yok, koruma bitleri (RWX) (R / W), M biti sayfaya yazma olduğunda 1 lenir(dirty biti), R biti sayfaya okuma ya da yazma olduğunda 1 yapılır. İşletim Sistemlerine Giriş - Ders09 21

Sayfa tablosu girdilerinin yapısı Caching disabled biti cache(ön bellekleme) işleminin sayfa için yapılmasını engeller. Bu özellik bellek yerine aygıt yazmaçlarına eşlenmiş olan sayfalar için önemlidir. Eğer bellek ile I/O eşlemesi yok ise bu bit kullanılmaz. İşletim Sistemlerine Giriş - Ders09 22

İşletim Sistemlerine Giriş Bellek Yönetimi (Memory Management) İşletim Sistemlerine Giriş - Ders09 23