isletim sistemleri
-
Upload
nevzat-oernek -
Category
Documents
-
view
230 -
download
0
description
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