isletim sistemleri

download isletim sistemleri

of 46

description

isletim sistemleri

Transcript of isletim sistemleri

  • Dr. irin KARADENZ 1

    LETM SSTEMLERNE GR

    Von Neumann Mimarisi

    Modern bilgisayar alma prensipleri, Von Neumannn 1945de gelitirdii

    mimariyi temel almaktadr.

    ekil 1. Von Neumann Mimarisi

    letim sistemi (Operating System) tanm:

    Bir iletim sistemini orkestray yneten bir maestro gibi dnebilirsiniz. Bir

    orkestray yneten biri olmadnda, enstrmanlardan kan sesler birbiriyle uyumlu

    olmayacaktr. te iletim sistemi de bir bilgisayar sisteminin maestrosudur;

    bilgisayarn donanm elemanlarnn birbiri ile haberlemesini, birbirini tanmasn,

    ksacas birbiri ile uyumlu bir ekilde almasn salar.

    letim sistemi ayn zamanda, kullanc ve donanm, yazlm ve donanm ve son

    olarak yazlm ve yazlm arasndaki ara yazlmdr. Kullanc ve donanmn, donanm ve

    yazlmlarn ve birok farkl yazlmn etkileimini, birbirini anlamasn ve birbiri ile

    alabilmesini salar.

    Merkezi lem Birimi

    Donanm Aygtlar

    Aritmetik ve Mantk Birimi

    Ana Bellek

    Kontrol Birimi

    Adres yolu

    Veri yolu

  • Dr. irin KARADENZ 2

    ekil 2. Bir bilgisayar sisteminin genel grnm

    letim sistemi; bilgisayar sistemini oluturan donanm ve yazlm nitelikli

    kaynaklar kullanclar arasnda kolay, hzl ve gvenli bir iletim hizmetine olanak

    verecek biimde paylatrrken bu kaynaklarn kullanm verimliliini en st dzeyde

    tutmay amalayan bir yazlm sistemidir.

    Bir bilgisayar sistemindeki MB, bellek, soyut bellek, G/ aygtlar ve dosyalar

    gibi kaynaklar kontrol eden program modlleri topluluudur. Bu modller sistemin

    daha etkili ve performansl kullanlmasn salar. Bunlar kullanc ve donanm arasnda

    bir arabirim gibi alrlar.

    Tarihsel Geliim:

    1. Eski Sistemler (Mainframe)

    a) 1950lerdeki sistemlerdir. Tek kullancldrlar. letim sistemi

    kullanlmamtr. rn: Eniac da iletim sistemi yoktu

    b) Sadece tek bir i: Ayn anda sadece bir i yaplmaktayd. Ksacas dorusal

    alyorlard.

    Derleyici Word VBasic ... Veritaban

    Sistem ve uygulama programlar

    Bilgisayar donanm

    letim sistemi

    Kullanc 1

    Kullanc 2

    Kullanc 3 ...

    Kullanc n

  • Dr. irin KARADENZ 3

    c) Bilgi girii ve k iin kartlar kullanlmaktayd.

    2. Toplu lem Sistemleri (Batch Systems):

    a) Monitor programlar gelitirilerek otomatik olarak birden fazla iin arka

    arkaya yaplmas saland. Bir ie rnek olarak u program altr veya u

    program derle komutlar verilebilir.

    b) Kart okuyucular kullanlmaktayd.

    3. Zaman paylaml sistemler (Timesharing Systems)

    a) Diskteki veya bellekteki farkl ileri ayn anda yapabilmektedir.

    b) Bu ileri yaparken bir donanm belirli zamanlarda farkl ileri yaplmas iin

    tahsis ederdi. rnei MB farkl ileri ayn anda yapmyor ama bu ilerin

    belli grevlerini yerine getiriyordu. rnein ayn anda 3 i yapmas

    gerekiyorsa ncelikle 1. iin ilk grevini sonra 2. iin ilk grevini ve 3. iin ilk

    grevini yapyordu ve bu ekilde devam ediyordu. Kullanc bu ileri ayn anda

    yaptn zannetse de aslnda bu ilerin belli grevleri arasnda deiim

    yapyordu. te bu zellie ok grevli (Multitasking) denilmektedir. oklu

    programlama (multiprogramming) sistemleri ise ayn anda birden fazla

    programn altrlmas anlamna gelmektedir. Bu sistemlerde MB

    zamanlamas (scheduling), bellek ynetimi gibi ilemler sistem tarafndan

    yaplmaktayd.

    c) Kart okuyucu olmadan kullanc ile iletiimde bulunabilmektedir.

    4. Kiisel Bilgisayar sistemleri (Personal Computer Systems)

    a) Donanm ebatlarnn klmesi ile masastnde yer alan bilgisayarlardr.

    b) G/ aygtlar kullanlmaktadr. Farkl teknolojiler adapte edilebilmektedir.

    c) letim sistem

  • Dr. irin KARADENZ 4

    5. Paralel veya ok lemcili Sistemler (Paralell Systems):

    a) Birden fazla MBnin kullanlabildii sistemlerdir. MBleri, bellei ve dier

    donanm kaynaklarn paylarlar.

    b) Simetrik oklu ileme: Her ilemci iletim sisteminin ayr bir kopyas

    zerinde alr. htiya olduunda birbirleri ile haberleirler.

    c) Asimetrik oklu ileme: Her ilemci ayr bir i iin tahsil edilmitir. Master

    olan bir ilemci vardr ve grev ve i dalmlarn yapar, slave iin ileri

    sraya sokar ve zamanlar.

    6. Datk Sistemler (Distributed Systems):

    a) Bu sistemler internet ve a teknolojilerinin gelimesi ile ortaya kmtr. Bir

    a zerinde kuruludur. Ancak bir adan farkl olarak a zerinde gerekleen

    ilemler kullancya grnmektedir. Kullanc, bir ilemci ve bir arayz

    olduunu dnse de bu sistemler, deiik bilgisayar sistemleri zerindeki

    verileri ve ilemleri bir btn olarak ileyebilir ve altrabilirler.

    b) Her ilemcinin kendine ait bellei vardr ve dier ilemcilerle iletiim hatlar

    zerinden haberleirler.

    c) Kaynak paylam salanr. Bu kaynak MB, dier donanm elemanlar

    olabilecei gibi veriler, dosyalar da olabilir.

    d) Datk sistemlere; bilgisayar alar, Sunucu-stemci Sistemleri, Peer-to-

    Peer (Noktadan noktaya) ve Internet rnek olarak verilebilir.

    7. Gerek-Zamanl Sistemler (Real-Time Systems):

    a) ok ksa srelerde rnein milisaniyelerde alan sistemlerdir. Belli bir

    sistemi kontrol amacyla kullanlr. rnein bir ilemciye ok youn bir veri

    ak olduunda veya bir uygulamann kontrol iin ayrlan bir aygt iin

    kullanlr.

  • Dr. irin KARADENZ 5

    b) Bilimsel deneyleri kontrol eden, gsterim sistemleri, endstriyel kontrol

    sistemleri vb. gerek zamanl sistemlerdir.

    8. Gml Sistemler (Embedded Systems):

    a) Gerek-zamanl iletim sistemlerini altran sistemlerdir. Bunlarda

    genellikle bir kullanc arayz olmaz, sadece donanmlar izleme ve ynetme

    ilemlerini yaparlar.

    b) rnein routerlarda bulunan ayr iletim sistemleri, firewalllar, otomobil

    motorlar, nkleer reaktrn soutma ilemleri.

    Modern bir iletim sistemleri yukardaki farkl iletim sistemlerinin zelliklerini

    kapsamaktadr.

    letim Sisteminin Yerine Getirmesi Gereken Fonksiyonlar

    Bir iletim sistemi u fonksiyonlar yerine getirebilmelidir:

    1. leri sraya koymaldr

    2. i kontrol eden dili yorumlayabilmelidir

    3. Hata durumlarnda ilgili ilemleri sonulandrmaldr

    4. Giri/k ilemlerini sonulandrmaldr

    5. Kesmelerin gereini yerine getirmelidir

    6. lerde ncelik tanyabilmelidir

    7. Kaynaklar kontrol etmelidir

    8. Kullanclarn birbirlerinin haklarna mdahalelerini nlemelidir

    9. Bilgisayara birden fazla eriim salamaldr

    10. yi bir ara yz olmaldr

    11. Bilgisayar kaynaklarnn hesabn tutmaldr.

    12. Bilgileri uzun vadede saklamaldr.

  • Dr. irin KARADENZ 6

    Bir letim Sisteminde stenilen zellikler

    1. Etkinlik: letim sistemi, bir ii etkin ve verimli bir ekilde yapmaldr.

    2. ler arasndaki zaman: Bir ii bitirip dier ii balama sresi ksa olmaldr.

    3. Kullanlmayan MB zaman: Merkezi ilem birimin kullanmad sre ksa olmaldr.

    Yani mikroilemciden bellee aktarlacak veya bellekten alnacak bilginin eriim sresi

    ksa olmaldr.

    4. Toplu ilemler arasndaki zaman: Toplu ilem dosyalarnn ilenmesi arasndaki sre

    ksa olmaldr.

    5. Cevap verme sresi: Sistemin cevap verme sresi ksa olmaldr.

    6. Az zamanda ok i yaplmaldr.

    7. Gvenirlik: Sistem tamamen hatalardan arndrlm olmaldr.

    8. Sreklilik: Sistem bakm yaplabilir ve dokman bol olmaldr.

    9. Dk boyut: Sistem kendinden taviz vermeden kk boyutta olmaldr.

  • Dr. irin KARADENZ 1

    LETM SSTEMLERNE GR - 2

    Kaynaklarn Paylam (Resource Sharing)

    Sistem, sistem kaynaklarn belli bir hiyerari iinde kullancnn hizmetine

    sunar. Bir iletim sisteminde paylalan kaynaklar ise unlardr: Merkezi ilem birimi,

    Bellek, Giri/k birimleri gibi donanm elemanlar, Dosyalar ve klasrler, yazlmlar;

    uygulama programlar, eitli programlar.

    Kaynak paylam yaplmasnn nedenleri 4 faktr sylenebilir:

    Maliyet: Her kullancya birbirinden bamsz kaynak salamak zordur. Birinin gelitirdii bir program veya uygulamay dierleri de kullanabilir Ayn veri taban birden fazla kullanc tarafndan kullanlabilir Bir programn birden fazla kullanc tarafndan kullanlarak depolama

    birimlerinden tasarruf salanr ve geersiz kaynak kullanmnn nne geilebilir

    letim sisteminin paylam ilemini gerekletirebilmek iin ise u grevleri yerine

    getirmesi gerekir:

    a. Giri/k lemleri: Kullancdan bamsz donanma bal deien G/

    ilemlerini yerine getirme.

    b. Bellek lemleri: Makinedeki fiziksel bellekten farkl olarak kullanlan soyut

    bir bellek imkan sunmaldr.

    c. Dosya Sistemi: Soyut makinelerin ou program ve verilerin saklanmas iin

    bir dosya sistemi ierir. Kullancnn bu bilgilere ulam, adresler yerine

    sembolik isimlerle salanr.

    d. Koruma ve hata kontrol: Kullanclarn birbirlerinin alanlarna mdahale

    etmeleri nlenmeli ve kiisel bilgilerin gvenli bir ekilde saklanmas iin

    koruma salanmaldr.

  • Dr. irin KARADENZ 2

    e. Program kontrol: Soyut bir makine kullancya program ve ilemler zerinde

    ilem yapmaya izin verir.

    f. Etkileim: letim sistemi kullanclar arasnda karlkl etkileim olana

    verir.

    Kaynaklarn farkl kullanclar veya programlar arasnda paylatrlmas farkl

    teknikler kullanlarak yaplabilir;

    Ayn anda alma (Concurrent execution): Bir bilgisayarn birden fazla program ayn anda altrmasdr. Sistemde ayn anda farkl aktivitelerin yer almasdr.

    Mesela birden fazla kullanc G/ ilemi yapabilmeli bellei kullanabilmelidir. Bu

    durumda ilerin senkronize edilmesi gerekir. nk aslnda sistemde

    gerekletirilecek ilemler ayn anda yaplmamakta, sral olarak yaplmaktadr.

    Yani birden fazla program mantksal olarak ayn anda almakta iken fiziksel

    olarak sral olarak almaktadr. rnek olarak oklu programlama yaparken

    MBni programlarn paylamas verilebilir.

    Paralel alma (Paralel execution): Bir bilgisayarn birden fazla program gerekten ayn anda altrmasdr. Yani birden fazla program hem mantksal

    hem de fiziksel olarak ayn anda almaktadr.

    Ayn anda veya paralel alma srasndan bir bilgisayar kaynaklarn paylatrmak

    zorundadr. Bu paylamlar iki trl olabilir;

    Saydam paylam (Transparently sharing): Kaynaklarn paylamnn iletim sistemi tarafndan yrtmesidir. Burada kullanc kaynaklarn

    paylatrldndan habersizdir. Bu paylam trnn gerekletirilebilmesi

    iin soyut makineler kullanlmaktadr.

  • Dr. irin KARADENZ 3

    Ak paylam (Explict sharing): lemlerin genel kaynaklar kendi politikalarna gre kullanmalardr. letim sistemini kullancya makinedeki

    kaynaklar paylatrmasna da izin vermektedir.

    Soyut/Sanal bir makine (Abstract Machine) ve Saydam Paylam

    letim sisteminin ikinci grevi ise kullancya veya kullanclara yalnzca kendine tahsis

    edilmi bir makine varm gibi alma ortamnn salanmasdr. Her bir soyut makine

    fiziksel makinenin bir simlasyonudur. Bir fiziksel makine birden fazla soyut makineyi

    ayn anda altrabilir. Her program kendi soyut makinesinde alr. Bu ilemleri

    yapabilmek iin fiziksel makine donanmlarn saydam paylam tekniini kullanarak

    soyut makineler arasnda paylatrr. Soyut makine tarafndan altrlan programa

    genellikle process (ilem) denilmektedir.

    Soyut makinelerin oluturulmas iin saydam paylam tekniinin 2 tr paylam

    kullanlmaktadr;

    a. Alan oklama paylam (Space-multiplexed sharing): Bir kaynak bir veya

    daha fazla blme ayrlr, ardndan her bir blm bir ileme atanr. Bu

    Sonu

    Sonu

    Sonu

    Fiziksel Makine

    Sanal Makineler

    Program

    Program

    Program

  • Dr. irin KARADENZ 4

    paylam trne, bellek ve hard diskin belli blmlere ayrlarak her blmn

    farkl ilemler iin ayrlmas rnek olarak verilebilir.

    b. Zaman oklama paylam (Time-multiplexed sharing): Bu paylam trnde

    bir kaynak blmlere ayrlmaz, bunun yerine kaynak bir ilem tarafndan belli

    bir sre kullanlr yani o ileme adanr ardndan dier ilem bu kayna belli

    bir sre kullanr. rnein MBni ilemlerin belirli sreler iin kullanlmas bu

    duruma bir rnektir.

    letim istemi bu iki paylam trn beraber kullanabilir. rnein MBi iin

    zaman oklama, hard disk ve bellek iin ise alan oklama paylam trlerini kullanabilir.

    Bu paylamlar sayesinde ayn andan birden ok program alabilmektedir ksacas

    oklu programlama zellii kullanlabilmektedir. N tane soyut makine olduunu

    dnrsek;

    Soyut Makine 1 (S1) Soyut Makine 2 (S2) Soyut Makine 3 (S3)

    Alan oklama

    Zaman oklama

    Fiziksel MB Fiziksel Bellek

    ekil 2. oklu programlama (Multiprogramming)

    letim Sistemi Kaynak Paylam

    ...

    S1 Bellei

    S2 Bellei

    S3 Bellei

    Sn Bellei

  • Dr. irin KARADENZ 5

    oklu programlama bir ilemcinin dolays ile bir bilgisayar sistemin performansn

    arttrr.

    Ak paylam (Explict sharing)

    lemlerin genel kaynaklar kendi politikalarna gre kullanmalardr. Bu paylamda

    zaman veya alan oklama paylam yaplsa da dikkat edilmesi gereken 2 nemli

    nokta vardr;

    Kaynak yaltm (Resource isolation): Sistem yerleim politikasna gre kaynaklara ulam ayrabilmelidir. letim sistemi, bir soyut makine tarafndan

    kullanlan kaynaa dier yetkisiz ilemlerin ulamasn engellemelidir. rnein

    bellek yaltm mekanizmasnda, bellek belli blmlere ayrlarak her bir blm

    ayr bir soyut makine tarafndan kullanlmaktadr. Bu durumda sistem, bir soyut

    makineye ayrlm bir bellek blmne baka bir soyut makinenin mdahale

    etmesini engellemelidir. Ayn ekilde MBnin ilemler tarafndan sral olarak

    paylalmasnda da, bir ilem MBni kullanrken dier ilemlerin bellek alanlarna

    MB yoluyla mdahale etmemelidir.

    birlii yaparak paylam (Cooperatively sharing): Sistem ilemlerin kaynaklar istenildii takdirde ibirlii yaparak paylamalarna izin verebilmelidir. rnein

    bir ilem dier bir ilemin sonucunu kullanabilmeli veya belirli bir bellek

    blgesindeki bilgiler iki ilem tarafndan kullanlmas gerektiinde buna izin

    verebilmelidir. Fakat bu paylam son derece dikkatli yaplmas gerekmektedir.

    Kaynak paylamn yapmak ile grevli iletim sistemi yazlm bu paylam

    algoritma veya baka bir hata (bug) yznden gerekletiremediinde ise hatalar

    olumaktadr. Oysa gvenilir ve geliimi tamamlanm bir iletim sisteminde bu tr

    hatalarn olmas beklenmez. Gvenilir bir iletim sisteminde donanm kaynaklarnn

    doru bir biimde paylatrlmas ve birbirinden yaltlmas gerekmektedir. Bir iletim

    sisteminin soyutlamalar, sistem ar arayz (system call interface) olarak da bilinen

  • Dr. irin KARADENZ 6

    iletim sisteminin arayz kullanlarak gerekletirilebilir. Tm sistem yazlmlar bir

    uygulama programlama arayz API (Application Programming Interface) yoluyla

    ulalabilinir. API; bir yazlm veya sistem yazlm parasnn programlama arayzdr.

    Veritabanlar, VBasic editr gibi. Programclar uygulama programlama arayzlerini

    kullanrlarken, iletim sistemi, sistem ar arayzn kullanr. Uygulama programlama

    arayzleri sistem yazlm arayzlerine ulaarak bunlarn kullanc tarafndan

    kullanlabilmesini salar. Microsoft Windows sistem ar arayzn Win32 API

    olarak adlandrmtr.

    Uygulama yazlm, sistem yazlm ve iletim sistemi arasnda bir hiyerari

    vardr. letim sistemi, yazlm-donanm arayzn kullanarak iletim sistemi

    arayzne, sistem yazlm, iletim sistemi arayzn kullanarak APIye ve uygulama

    yazlm da APIyi kullanarak insan-bilgisayar arayznde gerekleecek olan yazlm

    oluturur.

    ekil 3. Uygulama yazlm, Sistem yazlm ve letim Sistemi

  • Dr. irin KARADENZ 7

    Bir letim Sisteminin Fonksiyonlar Asndan Mantksal Yaps

    Bir iletim sisteminin, temel olarak 4 bileeni bulunmaktadr;

    Aygt ynetimi (Device management)

    lem ynetimi (Process management)

    Bellek ynetimi (Memory management)

    Dosya ynetimi (File management)

    Aygt ynetimi (Device management)

    Bir iletim sistemi donanm aygtlarnn ynetiminden sorumludur. Birok iletim

    sistemi yazc, disk gibi donanm aygtlarna genelde ayn ekilde ynetirken ilemci ve

    bellein ynetiminde farkl yaklamlar kullanmaktadr.

    Aygt ynetiminin aygt baml ve bamsz olmak zere ki blm

    bulunmaktadr. Baml olan blme aygt srcs (device driver) de denilmektedir.

    letim sisteminin her bir aygt iin kulland ayr bir src vardr. Aygt ynetiminin

    bamsz olan blm ise aygt baml blmn yrtecei yazlm ortamn temsil

    etmektedir. rnein aygt bamsz alan, sistem ar arayzndeki arlar aygt

    srcsne iletmektedir. Aygt bamsz alan genellikle aygt ynetiminin kk bir

    blmdr, byk blm srclere ayrlmtr.

    lem Ynetimi

    Dosya Ynetimi

    Bellek

    Ynetimi

    Aygt Ynetimi

  • Dr. irin KARADENZ 8

    ekil 4. Aygt ynetimi

    Aygt ynetiminin bu ekilde ikiye ayrlmas ile bilgisayara yeni bir donanm

    eklemek ok kolay hale gelmitir. ncelikle iletim sistemi tasarmcs, aygtn hangi

    blmnn baml ve hangisinin bamsz olacan belirler. Bamsz olan blm temel

    iletim sistemi ierisinde, baml olan blm ise aygt srcs ierisinde uygulamaya

    geirilir. Bu; aygt ynetimin bamsz blmnn; bir aygta okuma ve/veya yazma

    ilemlerini yrten sistem arlarn ierdii anlamna gelmektedir. rnein yazc

    srcs bir yazc ile ilgili tm yazlmlar iermektedir. Bu yazc bilgisayara

    balanarak srcs yklendiinde aygt ynetiminin bamsz olan blm iletim

    sisteminin ierisinde hali hazrda bulunduu iin bu yazc kullanc tarafndan hemen

    kullanlabilir.

    lem Ynetimi (Process Management)

    Birok iletim sistemi ilem ve i parac (Thread) ve kaynak ynetimini

    birlikte ele almaktadr. parac, bilgisayarda en dk kaynaa ihtiya duyan bir

    program parasdr. Genellikle bir ilem ile birlikte kullanlr. lgili ileme ayrlm disk

    alan, dosyalar, bellek gibi kaynaklarn kullanarak alr. oklu kullanm

    Aygt Bamsz Blm

    Aygt Baml Blm Aygt Baml Blm Aygt Baml Blm

    Aygt Aygt Aygt

  • Dr. irin KARADENZ 9

    (multithreading) ise bir ilemin birden fazla i paracna blnerek ayn anda

    altrlmasdr. Bir ilem birden fazla i paracndan olumaktadr.

    Bir iletim sisteminin ilem ynetimi; birden fazla ilem ve i parasna ayn

    makinenin kaynaklarn paylamalar, ilemlerin ezamanl olarak alabilmeleri iin

    zamanlamann salanmas gibi grevleri vardr. lem ynetimi; ilemlerin kaynaklara

    ulamas srasnda nasl bir kaynak yaltm yapaca, bir kayna paylamas gereken

    birden fazla ilem olduunda hangi politikalar kullanarak bu kayna paylatraca gibi

    sorular cevaplamaya almaktadr. Bunlar yaparken de bellek ynetimi ile birlikte

    alarak bellein bu ilemler, i paracklar arasnda paylatrlmasn salar.

    ekil 5. lem ynetimi

    Bellek Ynetimi (Memory Management)

    Bellek ynetimi ilem ynetimi ile birlikte alarak ana bellekte ilemlerin

    yerleimini salamaktadr. Her ilem bir bellek blgesi istemekte ve bellek ynetimi de

    bu ilemlerin almas iin kaynak yaltmn da salayarak gerekli bellek blmn

    ayrmaktadr. Bylece bellek ynetimi bellekteki bloklarn paylatrlmas iin gerekli

    MB

    Parac

    oklu programlama

    lem Kaynak Ynetimi

    Kaynaklar Bellek

    Dier

  • Dr. irin KARADENZ 10

    stratejileri uygulamaktadr. Modern bellek ynetimleri sanal bellek (virtual memory)

    salayarak fiziksel bellekten ok daha byk bir bellek alannn kullanlmasn

    salamaktadr. Eer iletim sistemi sanal bellei destekliyorsa bellek ynetiminin bir

    ksm aygt ve dosya ynetimleri ile birlikte alarak bellei ynetir.

    ekil 6. Bellek ynetimi

    Dosya Ynetimi (File Management)

    Dosya ynetimi, bellek ve aygt ynetimi ile birlikte alarak dosyalarn hard

    disk ve CD-ROM gibi depolama birimlerine yazlmasn salamaktadr. letim sistemi

    bu ynetimi yapabilmek iin dosya sistemlerini kullanmaktadr. Bu dosya sistemlerine

    rnek olarak FAT, FAT32, NTFS, EXT2 verilebilir.

    Yaltm ve Paylam

    Blok Yerleimi

    lem Ynetimi

    Sanal Bellek

    Depolama Aygtlar

    Ana Bellek

  • Dr. irin KARADENZ 1

    LETM SSTEM KATMANLARI (ekirdek, kabuk ve dier temel kavramlar)

    Bir iletim sisteminin yazlm tasarmnda ele alnmas gereken iki nemli konu

    bulunmaktadr;

    1. Performans: letim sistemi, makine kaynaklarn (zellikle MB zaman ve

    bellek alan) en etkili ekilde kullanlmasn salayacak ekilde tasarlanmaldr.

    Makinenin donanmsal performansn en iyi ekilde kullanabilmelidir.

    2. Kaynaklarn zel kullanm: letim sistemi, kaynaklarn yaltmn salamaldr,

    dier bir deyile bir ilemin dier ileme ait kaynaklara olan mdahalesine veya

    bu ileme ait bilgilerin silinmesine izin vermeyen bir koruma mekanizmas

    gelitirmelidir. Her iletim sisteminin kaynaklara ulam ynetmede kulland

    stratejiyi belirleyen bir gvenlik politikas vardr.

    Her iletim sisteminin tasarmnda olan temel unsur ise unlardr;

    1. lemci modlar

    2. ekirdek (Kernel)

    3. Sistem servislerini uyarma metodu

    lemci Modlar

    lemcide, bir programn alma yeteneini gsteren bir mod biti

    bulunmaktadr. Bu bit supervisor (kernel) veya kullanc modunu belirlemede

    kullanlr. lemci supervisor modda iken donanmsal her tr komutu altrrken

    kullanc modunda ise baz komutlar altrabilir. Supervisor moda alan

    komutlara supervisor, ncelikli veya korunmu komutlar denilmektedir. letim

    sistemi programlar supervisor moda alrken dier tm yazlmlar kullanc

    modunda almaktadr. rnein giri/k ilemleri supervisor moda almakta,

    kullanc modunda yer alan bir program herhangi bir giri/k ilemi yaplmasn

    istediinde bunu iletim sisteminin yapmasn istemektedir.

  • Dr. irin KARADENZ 2

    Sistem ayn zamanda mod bitini kullanarak bellek alanlar tanmlar. Eer mod biti

    supervisor modda olacak ekilde ayarlandnda ilemcide alan ilem hem bellein

    supervisor hem de kullanc alanlarna ulaabilir. lemci kullanc modunda alrken

    ise bu ilem bellekte sadece kullanc alanna ulaabilir. letim sistemlerinde bu

    alanlara kullanc ve sistem (supervisor, ekirdek veya korunmu) alan denilmektedir.

    ekil 1. Supervisor ve Kullanc Bellei

    Genel olarak; mod biti iletim sisteminin koruma haklarndan biridir. letim

    sistemi supervisor modda almakta ve kullanc moduna gre bellee ve ncelikli

    komut kmesine ulamakta daha fazla haklara sahip olmaktadr.

    lemci supervisor moda getiinde iletim sisteminin kodlarn altrmaktadr.

    Kullanc modundaki bir ilem iletim sistemini ardnda ilemci hemen

    supervisor moda, mod bitini kullanarak geer ki bu duruma supervisor ar (veya

    sistem ars) denilmektedir. rnein; Wordde byk bellek gerektiren bir dosya

    anca baka ilemlerin alanlarna mdahale edilir. Bunu nlemek amacyla yeni bir

    alan bu dosya iin eklenmelidir. Burada supervisor ar yaplmtr.

    8086/8088 gibi eski ilemcilerde mod biti bulunmad iin supervisor ve

    kullanc komutlar arasnda bir ayrm yaplmamaktadr. Bu da kaynaklarn

    paylamn ve yaltmn gletirmekteydi.

    Kullanc

    Alan

    Supervisor Alan

    Kullanc lemleri

    Supervisor lemleri

  • Dr. irin KARADENZ 3

    ekil 2. letim sisteminin 2 mod aras geii

    ekirdek

    letim sisteminin supervisor modda alan ve dier paralar iin temel

    servisleri salayan en nemli parasdr. letim sisteminin uzantlar kullanc

    modunda alr ve daha snrl haklara sahip olur. ekirdekte alan iletim sistemi

    fonksiyonlar ise bellee ve ekirdein dier blmlerine ulamada daha fazla

    haklara sahiptir. Kabuk (shell) veya dier adyla komut yorumlaycs ise kullancnn

    sisteme verdii komutlar anlayan ve altran bir programdr. Kabuun genellikle

    bir arayz bulunmaktadr; rnein DOStaki C:> nin grnd komut istemi

    arayz ve kullancnn girdii DIR komutu. ekirdek ve kabuk baz iletim

    sistemlerinde ayr iken bazlarnda da sadece kavramsal olarak ayrlmtr.

    ekil 3. Kabuk (shell)

    Uygulama ve Sistem Yazlmlar

    letim Sistemi Sistem ar Arayz

    letim Sistemi

    Kabuk program

    Kullanc

  • Dr. irin KARADENZ 4

    Monolitik ekirdekler (monolithic kernel), 19701990 arasnda kullanlan ilk

    ekirdeklerdir. Burada tm yazlmlar, srcler iletim sisteminin ekirdeinde

    yer almaktadr. rnek olarak Unix verilebilmektedir. ekirdek byk olmasna

    karn her tr fonksiyonu ierdii iin genelde hzldr. Monolitik ekirdeklerin

    boyutlarnn ok byk olduu dncesi modler yapda olan mikro ekirdekleri

    (microkernel) yaratmtr. Bu ekirdeklerde sadece en nemli iletim sistemi

    fonksiyonlar bulunduu iin olduka kk boyutta olmaktadr. Yeni bir donanm

    eklendiinde onun srcs de ekirdee tantlmaktadr. Bu ekirdeklere rnek

    olarak MS-DOS verilebilir.

    Sistem servislerini uyarma metodu

    Kullanc ilemlerinin iletim sisteminden belli servisleri (program altrma,

    giri/k ve dosya ilemleri, a eriimi gibi) salamas istendiinde oluan bir

    durumdur. Bu bir sistem fonksiyonunun arlmas veya MBne bir mesaj gnderilmesi

    (message passing) ile gereklemektedir. Sistem arlar, iletim sistemi ve ilemler

    arasnda bir arayzdr. Bu arlar genellikle Assembly dili komutlar eklindedir. C ve

    C++ gibi baz programlama dilleri bunu direkt olarak yapabilmektedir. Microsoft

    Windows ise bunu Win32 API ile gerekletirmektedir.

  • Dr. irin KARADENZ 5

    Temel letim Sistemi Katmanlar

    Bir iletim sisteminde yer alan katmanlar unlardr; Donanm, ekirdek, kabuk ve

    uygulama katman.

    ekil 4. letim Sistemi Katmanlar

    Uygulama Katman: Kullanlan her tr program bu katmanda yer almaktadr.

    rnein Word, Excel vb...

    Kabuk Katman: Genellikle kullanc arayz de denilen kullanc ile bilgisayarn

    iletiimini salayan arabirimdir. Buna MS-DOSda komut istemi arayz (C:>), Linuxde

    root olarak giri yapldnda #, kullanc olarak giri yapldnda $ ile grnen

    arabirim rnek olarak verilebilir. Linuxde birden fazla kabuk bulunmakta ve chsh

    komutu ile bunlar arasnda gei yaplabilmektedir. Bu katman; uygulama katmannda

    kullancn verdii bir komutu alarak ekirdek katmanna iletmektedir.

    ekirdek katman: Kabuk katmanndan gelen komutlar dorultusunda donanm

    katman ile iletiime geerek gerekli ilemleri yrten ksmdr.

    Uygulama Katman

    Kabuk (Shell) Katman

    ekirdek (Kernel) Katman

    Donanm Katman

  • Dr. irin KARADENZ 6

    Donanm katman: Ekran kart, ses kart gibi donanm elemanlarnn bulunduu

    ksmdr.

    UNIX letim Sistemi Katmanlar

    UNIX, 1969 ylnda, Ken Thompson tarafndan Bell Laboratuvarlarnda

    gelitirilmi, ok kullancl, ok grevli yapy destekleyen bilgisayar iletim sistemidir.

    Gnmzde Windows tabanl sistemlerden sonra en ok kullanlan ve kkleri UNIX'e

    dayanan iletim sistemi GNU/Linux'tur.

    ekil 5. Unix iletim sistemi mimarisi

    Unix iletim sistemi ekirdeinde, iletim sisteminin temel fonksiyonlarn

    yapmas iin gerekli ilem, bellek, dosya ynetimi bulunmaktadr. Aygt ynetimi

    ncelikli olarak ekirdein iinde yer almaktayd. Ancak daha sonra tek bir donanmn

    eklenmesinin bile btn ekirdein tekrar derlenmesini gerektirmesi nedeni ile aygt

    ynetimi yine ekirdein iinde olmak zere ayr bir blm haline getirilmitir. Sistem

    ar arayz yani kabuk kullancnn uygulama katmannda gerekletirdii ilemleri ve

    komutlar alp yorumlayarak ekirdee iletmekte ve ekirdekte direkt olarak donanm

    ile iletiime geerek gerekli ilemleri yapmaktadr.

    Sr

    c A

    ray

    z Monolitik ekirdek Modlleri

    lem ynetimi Bellek ynetimi Dosya ynetimi Aygt ynetimi

    altyaps

    Sistem ar arayz

    Ktphaneler Komutlar Uygulama Programlar

    Src

    Src

    Src

    Donanm Katman

  • Dr. irin KARADENZ 7

    Windows NT/2000/XP Katmanlar

    Windows NT mimarisi donanm soyutlama katman, NT ekirdei, NT yrtcs

    ve birok alt sistemden olumaktadr. Donanm soyutlama katman, bir donanmn

    birok detaynn soyutlanmas (rnein kesme adresleri) ile iletim sisteminin

    donanmsal adresleri kullanmas yerine farkl soyutlamalar kullanmasn salamaktadr.

    NT ekirdei donanma en yakn iletim sistemi mekanizmalarn rnein kesmelerin ele

    alnmas ve i paracklarnn zamanlanmas gibi ilemleri yrtmektedir. NT

    yrtcs ise NT ekirdeinin en stnde ilemler ve kaynaklarla uraan ve ilem,

    bellek ve dosya ynetimini yapan ve aygt alt sistemini ieren blmdr. Sistem ar

    yorumlaycs Win32 API tarafndan gerekletirilmektedir. G/ alt sistemi, sistem

    ekirdek fonksiyonlarndan ayr bir alt sistem olarak tanmlanm ve aygt srclerini

    iermektedir. NT alt sistemleri ise kullanc tarafnda NT ekirdeinin baz ilemleri

    yapabilmesi iin gerekli servisleri salamaktadr.

    ekil 6. Windows NT/2000/XP iletim sistemleri mimarisi

    lemci Ana Bellek Aygtlar

    NT Yrtcs (Executive)

    Ktphaneler lem

    Supervisor

    lem ynetimi Bellek ynetimi Dosya ynetimi Aygt ynetimi altyaps

    G/ Alt sistemi

    Nt ekirdei

    Donanm Soyutlama Katman

    Kullanc Altsistem

  • Dr. irin KARADENZ 1

    lem Ynetimi (lem, Semafor ve Kilitlenme)

    lem (process) belli bir ilemi yerine getiren program parasdr. Ancak bir

    program parasnda sadece kodlar vardr oysa bir ilem alma srasnda gerekli olan

    tm bilgileri bnyesinde barndrmaktadr. Bir ilemin yapsnda; ilemin yazl olduu

    metin blm, bir sonraki iletilecek olan komutu gsteren saya ve ilemci

    kaydedicilerinin ierii olan program sayac (program counter) blm, yerel

    deikenler, dn adresleri gibi geici bilgileri tutan yn (stack) blm, genel

    deiken vb. bilgileri tutan veri blm bulunmaktadr. Baz ilemlerde ilemin alt

    srece kulland bir alan (heap) de bulunmaktadr.

    lem Kontrol Blou (Process Control Block): Her ilem iletim sistemi tarafndan

    ilem kontrol blou tarafndan gsterilir, yer alan eler ise unlardr;

    ekil 1. lem Kontrol Blou

    lem durumu

    lem numaras

    Program sayac

    Kaydediciler

    Bellek snrlar

    Alan dosyalarn says

    ...

  • Dr. irin KARADENZ 2

    lem durumu: lem yeni, alyor, bekliyor, hazr veya bitti eklinde olabilir.

    Program sayac: lemde altrlacak bir sonraki komutu gsterir. MB kaydedicileri: lemci mimarisini gre kaydedicilerin says ve tr

    deimektedir. lemde kullanlan kaydediciler (AX, BX vb.) ierisindeki

    bilgiler bir kesme geldiinde mutlaka saklanmaldr (ekil 2).

    MB zamanlanma bilgisi: Burada ilemin nceliini, zamanlama kuyruundaki iaretisi ve dier zamanlama parametreleri ile ilgili bilgiler bulunmaktadr.

    Bellek ynetimi bilgisi: letim sistemi tarafndan kullanlan bellek sistemleri; taban ve limit (tavan) kaydedicileri, sayfa tablosu veya blm

    tablosu gibi bilgileri iermektedir.

    Hesap bilgileri: lem tarafndan kullanlan MB ve dier parametrelerin kulanm zamanlarn iermektedir.

    G/ durum bilgisi: lem tarafndan kullanlan G/ aygtlarnn listesi, alan dosyalarn listesi vb. bilgileri iermektedir.

    ekil 2. MBnin ilemden ileme gei aamalar

  • Dr. irin KARADENZ 3

    lem durumu (Process state):

    Bir ilemin hangi durumda olduunu gsteren ve ilemin mr boyunca deiken

    bir durumu bulunmaktadr. Bunlar;

    Yeni: lemin oluturulduunu gsterir. alyor: lemin komutlar yrtlmektedir. Bekliyor: lem bir olayn gereklemesini beklemektedir. rnein bir

    G/ ilemi.

    Hazr: lem bir ilemciye atanmak iin beklemektedir. Bitti: lem almasn bitirdi.

    ekil 3. lem durumlar

    Paracklar (Threads)

    parac, ilemin bir parasdr. rnein bir ilemin bir kelime ilemci

    programnn almasn yrttn dnelim. Burada kullanc rnein bir satrdaki

    yazlar seerek kaln yapmak istediinde bu faaliyete i parac denilmektedir.

    Modern iletim sistemleri ayn ilem ierisinde birden fazla i paracnn

    yrtlmesine izin vermektedir.

  • Dr. irin KARADENZ 4

    lemlerin Zamanlanmas (Process Schedulers)

    Tm ilemler i kuyruuna (Job queue) alnmaktadr. altrlmaya hazr olan

    veya bekleyen ilemler hazr kuyruana (ready queue) alnarak MBne gnderilir.

    Datc (Dispatcher) altrlacak olan bir ilemi seerek MBne gnderdikten sonra

    aadaki olaylar meydana gelebilir;

    lem bir G/ isteinde bulunabilir ve bylece G/ kuyruuna yerletirilir.

    lem alt ilemler oluturabilir ve bunlarn bitmesini bekleyebilir. lem bir kesme olutuu iin MBde almas durdurularak kesmenin

    bitiminin ardndan kuyrua alnarak MBne gnderilebilir.

    lk iki durumda ilem hazr durumdan bekliyor durumuna getirilir ardndan

    ilemler gerekletikten sonra hazr durumuna getirilerek kuyrua tekrar girer. Bu

    dngde bir ilem bitirilinceye, tm kuyruklardan kncaya ve kulland kaynaklar

    brakncaya kadar kalr.

    ekil 4. lemlerin kuyrua alnarak zamanlanmas

  • Dr. irin KARADENZ 5

    Kilitlenme (Deadlock)

    Sonsuz dng anlamna da gelmektedir. Deiik ilemlerin/i paracklarnn

    birbirlerinin alanlarn kullanmalarndan ortaya kar. Windowsda sklkla karnza

    kan mavi ekrann sebebi! rnein bir ilem bir kayna (rnein A dosyasn)

    kullanrken dier bir kayna (rnein B dosyasn) kullanmak istemektedir. Ancak ayn

    zamanda baka bir ilem B dosyasn kullanrken A dosyasn kullanmak istemektedir.

    Bu durumda her iki ilem de istedikleri dosyalar alamayacaklar iin bu ilemler

    bloklanacaklardr.

    Semafor (Semaphore):

    Latincede deniz feneri anlamna gelen Semafor, negatif olmayan bir tamsay

    olup ilemin balang deyiminden itibaren wait ve signal ilemleri ile deeri

    deitirilebilen bir deikendir.

    Signal (S) : S = S + 1 (1 arttrma)

    Wait (W) : W = W 1 (1 azaltma)

    Vol (sem) = C(sem) + ns(sem) - nw(sem)

    Vol (sem): Semaforun deeri. Bu deer 0a eit veya byk olmaldr.

    C(sem) : Semaforun balang deeri

    ns(sem): Semafor zerindeki signal operasyon says

    nw(sem): Semafor zerindeki wait operasyon says

    Vol(sem) 0 Nw(sem) ns(sem) + C(sem)

  • Dr. irin KARADENZ 6

    ki ayr ilem ayn anda bellekte yrtlrken kaynaklara ayn anda erimeye

    alabilirler. Bu durumda kullanlan semafor, sistem kilitlenmelerine engel olur. Bir

    semaforun paylalabilmesi onun balang deerine baldr. Balang deeri n olan

    bir semafor n ilem tarafndan kullanlr.

    Wait ve signal ilemleri yanl yerletirilirse sistem hemen kilitlenir. Semaforlar

    ilemler aras iletiimi salayarak sonsuz dnglere ve sistem kilitlenmelerine engel

    olurlar. rnein; X ve Y balang deerleri 1 olan iki semafor olsun. P0 ve P1 ise bu iki

    semaforu kullanan ilemler olsun.

    P0 P1 . .

    wait (S) wait (Q) wait (Q) wait (S)

    . . Deadlock

    . . (ilemler bloklanr)

    . . signal (S) signal (Q) signal (Q) signal (S)

    Bloklama ve blou ama (Blocking and Unblocking): Bir wait ilemi eer ilgili

    semaphore deeri 0 ise o ilemin bloke edilmesine neden olur. Semaphoreun deeri

    signal ile 1 olunca bloke kaldrlarak ilem alabilir hale getirilir.

    rnek: ki ilemden bir tanesinin bir buffera eitli deerler aktardn, dierinin ise

    buradan bu bilgileri aldn farz edelim. Buna verilecek bir rnek bir satr

    uzunluundaki bir karakter dizisini her seferinde buffera atan bir ilem (process) ile

    her seferinde bufferdan bir satr alp bunu ekrana yazan bir ilem olabilir. Burada bir

    baka farz edi ise tampon (buffer) byklnn kstl olmasdr (n satr

    tutulabildii). Bu durumda bu iki ilem arasnda senkronizasyon gereklidir:

    1. Eer buffer dolu ise buraya bilgi aktarlmayacaktr.

    2. Eer buffer bo ise buradan bilgi alnmayacaktr.

  • Dr. irin KARADENZ 7

    0 d e N d: Buffera atlan satr says

    e: Bufferdan alnan satr says

    N: Space avaible (Bo alan says)

    Q: Item avaible (dolu alan says yani eleman says)

    Program for Producers

    Repeat indefinitely

    Begin

    Produce item;

    Wait (space avaible);

    Wait (buffer maniplation);

    Deposit item in buffer ;

    Signal (buffer maniplation);

    Signal (item avaible);

    End.

    Yukardaki program bir retici programdr. Buffera eleman ekler. Eleman

    retir, bo alan oluncaya kadar bekler, buffer kullanp kullanamayacan sorgular

  • Dr. irin KARADENZ 8

    (Buffer = 0), retilen satr buffera yerletirir, buffer serbest brakr ve eleman

    saysn 1 arttr.

    Program for consumers;

    Repeat indefinitely

    Begin

    Wait (item avaible);

    Wait (buffer maniplation);

    Extract item in buffer ;

    Signal (buffer maniplation);

    Signal (space avaible);

    End.

    Yukardaki program bir tketici programdr. Eleman says 0dan byk olana

    kadar- bufferda eleman oluncaya kadar bekler, buffer kullanp kullanamayacan

    sorgular (Buffer = 0), eleman alr, buffera ulam salar (Buffer maniplation bir

    arttrr), bo yer saysn bir artrr.

    Bu iki ilem bellekte ayn anda almalarna ramen buffer maniplation ile

    aralarndaki iletiim salanm ve kilitlenmeler nlenmitir. Bir anda ancak bir ilem

    buffera erimektedir.

  • Dr. irin KARADENZ 9

    Monitr Programlar

    Monitr programlar paylalan nesneye ulamada meydana gelebilecek problemleri

    ortadan kaldrmaya ynelik olarak gelitirilmitir. Yani izleyici programlardr.

    1. Paylalan nesneyi oluturan veri

    2. Bu nesneye ulamak iin kullanlan bir grup procedure

    3. Nesneyi balang durumuna getiren bir program parasndan olumaktadr.

    Daha nceki buffer rnei iin;

    1. Buffer alan ve buraya iaret eden pointerler

    2. Depolama ve karma ilemleri iin kullanlan iki procedure

    3. Buffer iaretilerini eski haline getiren bir program paras

    Monitr programlar, wait ve signal ilemleri yanl gerekletirildiinde oluan

    sistem kilitlenmeleri engeller. Semaforlarla ilemler aras kombinasyonu salarlar ve

    wait ve signal ilemleri arasndaki senkronizasyonu salarlar.

  • Mehmet EVRK 010535012

    H E E E H H

    Program balatlr. BM bayrann deeri kontrol edilir. BM=1 ise program bu bayran deeri sfr olana kadar bekler. BM bayra, buffern dier programlar tarafndan kullanlmasn nlemek zere 1 yaplr. Semafor deeri ile dolu alan says karlatrlr. Deerlerin birbirine eit kmas buffer zerinde bo alan olmad anlamna gelir. Bu durumda program bir uyar mesaj verir. Seenenee gre ilem devam eder. Program buffer zerindeki uygun alana konumlanarak verileri yazar. Semaforun deeri 1 arttrlr. BM bayra tekrar sfr yaplr. Program sonlandrlr.

    BALA

    BM = 0 0,02 sn. bekle

    BM = 1

    Val = Q Uyar

    Bilgi Yazm lemi

    Q=Q+1 N=N-1

    BM = 0

    SON

  • Dr. irin KARADENZ 1

    BELLEK YNETM

    Genellikle bir program hard diskte ikili kodda altrabilir dosya olarak

    tutulmaktadr. Bu program bellee bir ilem yardmyla getirilerek yerletirilir. Bellek

    ynetimine gre bu ilem alrken bellek ve hard disk arasnda gidip gelebilir.

    Diskteki ilemler bellee getirilerek altrlmak iin beklerken oluturduklar forma

    giri kuyruu denilmektedir.

    letim sisteminin bellek ynetiminin unsurlar unlardr:

    Bellekteki herhangi bir ilemi baka bir yere aktarabilmelidir. Birden fazla ilem veya kullanc olduunda bir kullancn dier kullancn

    alanlarna girmeleri nlenmelidir.

    Kullanclar aras kaynak paylamn salamaldr. Bellein mantksal alanlara blnmesini salayarak bilgiye eriimi

    kolaylatrmaldr.

    Bellein yetmedii durumlarda fiziksel baka bellek alanlarn yani hard diskleri kullanabilmelidir.

    Mantksal ve Fiziksel Adres

    MB tarafndan oluturulan adrese genellikle mantksal (veya sanal) adres,

    bellekte yer alan adrese ise fiziksel adres denilmektedir. Mantksal adresi MB

    tarafndan belirlenen bir kullanc ilemi bellee yerleirken fiziksel adresi

    belirlenerek yerletirilir ki bunun iin de tekrar yerletirme (relocation) da denilen

    taban (base) kaydedicisi kullanlr. Bu taban kaydedicisinin deeri ile mantksal adres

    toplanarak elde edilen adres ise fiziksel adrestir.

  • Dr. irin KARADENZ 2

    ekil 1. Taban kaydedicisini kullanarak bellee dinamik yerleim

    Taban ve Taban Kaydedicileri

    Bellee ilemlerin yerleimi Tavan (Limit) ve Taban (Base) kaydedicileriyle

    donanmsal olarak salanr. Tavan kaydedicisi uzunluu belirtmektedir ve taban ve

    tavan kaydedicisi toplanarak ilemin bittii adres bulunabilir. Taban adresi

    deitirilerek bir ilem bellekte yer deitirilir. rnein;

    a: Program adresi (O anda bulunulan adres)

    b: Taban adresi (Balang adresi, base adress) olsun.

    ekil 2de bu ilemin bellee yerleimi grlmektedir.

  • Dr. irin KARADENZ 3

    ekil 2. Taban ve tavan kaydedicileri iin adres haritas

    Bu adres haritas aadaki kriterlere gre donanmsal olarak adreslenir;

    eer a < 0 ise bellek koruma hatas a = B + a eer a > Tavan ise bellek koruma hatas a burada istenilen bellek yeridir.

    Bellek koruma: Yerletirilecek olan ilemin bellekte limit kaydedicisinin deerini

    amas durumunda bellek koruma hatas ortaya kmaktadr.

    ekil 3. Bellek koruma hatas

  • Dr. irin KARADENZ 4

    Bitiik Yerleim (Contiguous Memory Allocation)

    Ana bellekte hem iletim sisteminin hem de kullanc ilemlerinin yer almaktadr.

    Bu nedenle bellein en etkin ekilde kullanlmas gerekmektedir. Bellekte kullanc

    ilemleri boluklara (hole) bloklar halinde yerletirilmektedir. Yeni bir ilem geldiinde

    bu bellee ilemin yetecei kadar bir alan ayrlarak konumlandrlmakta ve iletim

    sistemi bo alanlar ve dolu alanlar ile ilgili bilgileri kayt altna almaktadr.

    ekil 4. Bitiik bellek yerleimi

    letim sistemi bellekteki n adet boluun bulunduu listeden ilem iin en uygun

    boluu nasl belirleyeceine ise 3 strateji kullanarak karar vermektedir.

    lk uyan (First-fit): Listeden ilem iin yeterli byklkte olan ilk boluun seilerek ilemin yerletirilmesidir.

    En iyi uyan (Best-fit): Listeden ileme uygun byklkteki boluklarn aranarak bulunmas ve bunlarn iinden en knn seilerek ilemin

    yerletirilmesidir.

    En kt uyan (Worst-fit): Listeden aratrma yapldktan sonra en byk boluun seilerek ilemin yerletirilmesidir.

    lemin bellee yerletirilme hz ve bellein etkili kullanm asndan ilk uyan ve

    en iyi uyan stratejileri en kt uyan stratejisinden ok daha kullanldr.

    l.Sis.

    ilem 5

    ilem 8

    ilem 2

    l.Sis.

    ilem 5

    ilem 2

    l.Sis.

    ilem 5

    ilem 2

    l.Sis.

    ilem 5

    ilem 9

    ilem 2

    ilem 9

    ilem 10

  • Dr. irin KARADENZ 5

    Sayfalama (Paging)

    Toplam bellek alannn eit byklkte sayfalara blnmesine denir. Faydalar ise

    unlardr:

    Adres aktrma ilemi: Bir program adresinde yer alan atfn hangi sayfaya yapldn tespit etmek ve eer bu sayfa hala bellekte ise bunun hangi bellek

    sayfas olduunu tespit etmektir. Bu ilem bilgilere eriimde hz kazanc salar.

    Sayfalarn gerektiinde ikincil bellek alanndan ana bellee aktarlmas ve bunun tersi ilem yaplmas bellekte yer kazanc salar.

    Fiziksel bellek zerindeki ayn uzunluktaki bloklara ereve (frame), mantksal

    bellek zerindeki ayn uzunluktaki bloklara ise sayfa (page) denilmektedir. Sayfalarn

    uzunluklar donanm tarafndan belirlenmektedir. Genellikle 2nin katlar; 512 byte, 16

    MB kullanlmaktadr.

    ekil 5. Fiziksel ve mantksal bellein sayfalama modelleri

    ereve numaras

    sayfa 0

    sayfa 1

    sayfa 2

    sayfa 3

    Mantksal Bellek

    1

    4

    3

    7

    0

    1

    2

    3

    sayfa 0

    sayfa 2

    sayfa 1

    sayfa 3

    0

    1

    2

    3

    4

    5

    6

    7

    Sayfa Tablosu

    Fiziksel Bellek

  • Dr. irin KARADENZ 6

    MBnin oluturduu adres iki blmden olumaktadr;

    a) sayfa numaras (p): fiziksel bellekteki her bir sayfann taban adresini tutan

    sayfa tablosundaki gsterge.

    b) sayfa ofseti (d): taban adresi ile birletirilerek fiziksel bellekte sayfann

    ierisindeki yerin belirlenmesinde kullanlr. Sayfa tablosunda hem sayfa hem de

    ofset adresi bulunmaktadr.

    ekil 6. Sayfalama

    MB p d f d

    f

    p

    Fiziksel Bellek

    Mantksal Address

    FizikselAddress

    f

    Sayfa Tablosu

  • Dr. irin KARADENZ 7

    Sayfalama rnei; 4 byte uzunluunda sayfalardan oluan 32 bytelk bir bellek

    olduunu dnelim.

    ekil 7. 4 bytelik sayfalardan oluan 32-bytelk bellekte sayfalama rnei

    Mantksal adresi 0da sayfa ve ofset adresi 0dr. Sayfa tablosuna bakldnda sayfa 0n ereve 5de olduu grlmektedir. Bylece mantksal adres 0, fiziksel bellekte 20ye ((5*4))+0) karlk gelmektedir.

    Mantksal adres 3 (sayfa 0,

    ofset 3) fiziksel bellekte 23 ((5*4))+3) adreslemektedir.

    Mantksal adres 4 (sayfa 1,

    ofset 0), sayfa tablosuna bakldnda ereve 6dadr ve fiziksel bellekte 24 ((6*4))+0) adreslemektedir.

    Mantksal adres 13, fiziksel

    adreste 9u ((2*4)+1) adreslemektedir.

    Modern iletim sistemlerinde; sayfalarn uzunluklar genelde 4 KB ile 8 KB

    arasndadr, baz sistemlerde bu artabilmektedir. rnein Solaris 8 KB ve 4 MB

    sayfalar kullanabilmektedir. Genellikle sayfa tablosunun iindeki her bir veri 4

    bytelktr.

    Bir ilem sistem tarafndan altrldnda, ilemin kullanmak istedii kadar

    sayfa saysna gre bellekte gerekli sayda ereve ayrlmaktadr. lk sayfa ayrlan bir

    ereveye yerletirilir ve bu erevenin numaras sayfa tablosuna konulur, dier bir

    sayfa bir ereveye yerletirildiinde o erevenin numaras da sayfa tablosuna

    ilenmektedir.

  • Dr. irin KARADENZ 8

    ekil 8. Bo ereveler (a) Yerleimden nce ve (b) Yerleimden sonra

    Burada en nemli sorun; sayfa tablosunda ereve adresini ararken kaybedilen

    sredir. Bunu nlemek iin zel, kk ve hzl bir n bellek olan TLB (Translation look-

    aside buffer) kullanlmaktadr. Bu hzl bir bellek alandr. Burada bir anahtar ve deer

    bulunmaktadr. Bulunmak istenen bilgi iin tm anahtarlara ayn anda hzl bir biimde

    baklmaktadr. TLB sayfa tablosu ile birlikte kullanlmaktadr. TLB sayfa tablosunun

    sadece bir ksmn kapsamaktadr. MB tarafndan mantksal bir adres

    tanmlandnda bu sayfa numaras TLBye iletilir. Sayfa numaras burada bulunursa

    ereve adresi hzl bir biimde kullanlarak bellee ulalr. Eer sayfa numaras

    TLBde bulunmazsa (TLBde eksik olarak bilinir) sayfa tablosuna gidilerek ereve

    adresi bulunur ve bu TBLye eklenir ki bylece bir daha ihtiya olduunda bu adres

  • Dr. irin KARADENZ 9

    hzl bir biimde bulunabilir. Eer TLB alan dolarsa, iletim sistemi buradaki en az

    kullanlan deerleri bularak bunlarn yerine yeni deerleri ekleyecektir.

    ekil 9. TLB ile sayfalama

    Blmleme (Segmantation)

    Bellek ynetiminin nemli bir yn, kullancnn bellei kullanmas ile gerek

    fiziksel bellein birbirinden ok farkl olmasdr. Daha nceki sayfalardan da

    anlalaca gibi kullancnn bellei grd biim ile gerek bellek birbirinden ok

    farkldr. rnein bir program yazldnda bu programn verileri, deikenleri yn

    ayr blmler halinde bellekte yer aldn dnen kullancnn bellei grd bu

    biimini blmleme desteklemektedir. Kullanc bir program yazdnda, temel olarak

  • Dr. irin KARADENZ 10

    kodlarn sakland kod blm, verilerin sakland veri blm ve alt programlara

    dallanmada kullanlan yn blm oluturulmaktadr.

    Kullanc alan Fiziksel bellek alan

    ekil 10. Kullanc ve fiziksel bellek alanlarnn gsterimi

    Blmlemede; mantksal adres alan blmlerden olumaktadr. Adres hem blm

    numaras hem de blm ierisindeki adresi belirten ofset numarasndan meydana

    gelmektedir (). Fiziksel bellek tek boyutlu olmasna karn

    burada adres iki boyutlu olarak gsterilmekte ve bu da adresin fiziksel bellee ulam

    iin evrilmesi gerektii anlamna gelmektedir. Blm tablosunda blmn balang

    yerini tutan blm taban ve blmn uzunluunu yani biti yerini belirlemede kullanlan

    blm tavan kaydedicileri bulunmaktadr. MB tarafndan oluturulan mantksal

    adreste s: blm numarasn ve d: blmdeki ofset adresi gstermektedir. Ofset

    adres taban ve tavan kaydedicisi deerleri arasnda olmaldr. Eer deeri fazla olursa

    mantksal adresin blm amas nedeniyle iletim sistemi devreye girmektedir. Eer

    1

    4

    2

    3

    1

    3

    2

    4

  • Dr. irin KARADENZ 11

    deeri bu belirtilen snrlar arasnda ise blm taban kaydedicisi ile bu adres

    toplanmakta ve bu ekilde istenilen bytea ulalabilinmektedir.

    ekil 11. Blmleme

    Blmleme iin u rnek verilebilir; bir program yazdmz dnelim. Bu

    program, belli blmler olumaktadr: ana program kodlar, alt programlar, yn, veri

    ve deikenlerin olduu blmler olsun. Bunlar blm tablosu kullanlarak bellee

    yerletirilmektedir. Bu blmlerin biti adresleri ise taban ve tavan kaydedici

    deerlerinin toplanmas sonucu elde edilmektedir. ekil 12de bu rnein gsterimi

    bulunmaktadr.

  • Dr. irin KARADENZ 12

    ekil 12. Blmleme iin rnek

    Sayfalama ve blmleme arasndaki farklar

    1. Blmlemenin amac adres alannn mantksal olarak dilimlenmesidir. Sayfalama

    ise bellein fiziksel olarak dilimlenip bir dzeyli bir bellek (sabit disk, bellek

    fark gzetmeden eriim) oluturulmas amacna yneliktir.

    2. Sayfalar makine donanmna bal olarak sabit boyuttadr. Blmler ise

    kullanc tarafndan belirlenecek boyuttadr. Yani program adresinin ilgili blm

    kaydedicisi snrlar erevesindedir.

  • Dr. irin KARADENZ 13

    3. Program adresinin sayfa ve ofset numaralarna ayrlmas donanmn bir

    ilevidir. Ofset numarasnn snr amas otomatik olarak sayfann evrilmesine

    sebep olur. Oysa blm ve ofset numarasnda bir snr ama hadisesi sz konusu

    deildir. Bu durumda bellek eriim hatas yani eriilmemesi gereken yere eriim

    hatas oluur.

    Blmlemenin sayfalama ile birlikte kullanlmas

    Hem sayfalama ve hem de blmlemenin avantajlar ve dezavantajlar

    bulunmaktadr. Bu nedenle bu ikisi birlikte de kullanlabilir. rnein 80*86 blmleme

    ve sayfalamay birlikte kullanmaktadr. Blmler kendi ierisinde sayfalara

    ayrlmaktadr. Mantksal adres paradan olumaktadr; blm, sayfa ve ofset

    adresi. ncelikle MB tarafndan oluturulan mantksal adresten blm numaras

    alnarak blm tablosuna baklmaktadr. Blmn gerek adresi bulunduktan sonra o

    blme ait sayfa tablosuna baklmaktadr. Buradan sayfann ereve adresi elde

    edilerek bellekte blm sayfa ve ofset adres toplanarak gerek adres elde

    edilmektedir.

    ekil 13. Blmleme ve sayfalamann birlikte kullanm

    Blm Tablosu Sayfa Tablosu Sayfa

    Sayfa Sayfadaki ofset adresi Blm

    Hafta2Hafta3Hafta4Hafta5akis_semasiHafta6