Ýþletim Sistemleri Giriþ
Ýþletim sistemleri, bilgisayarlar üzerindeki kaynaklarýn paylaþýlmasýndan sorumlu yazýlýmlardýr.
Temel görevleri:
Hafýza yönetimi
Sistem taleplerinin önceliðinin belirlenmesi
Giriþ çýkýþ aygýtlarýnýn yönetimi
Að ve dosya sisteminin kontrolü
Çoðu iþletim sistemi kullanýcý arayüzü kullanmaktadýr (kullanýcý arayüzleri gui veya command line interpreter olabilir) dolayýsýyla kullanýcý iletiþimi de görevleri arasýnda sayýlabilir.
Çalýþan her program bir processtir.
Burada Von Neumann mimarisi bilinmelidir.

Her iþlemin tek bir iþlemcide çalýþmasý prensibine dayanýr. Günümüz çok iþlemcili ve paralel sistemlerinden farklýdýr. Ayrýca stored program mantýðýný içermez, yani control unit tamamen problem odaklý olarak tasarlanýr. Örnek günümüzde kullanýlan hesap makineleri.
Burada 3 seviye iþlem
Von neumann bottleneck (çýkmazý) . Ýþlemci ve hafýzanýn ayrýlmasý sonucunda ortaya çýkar, çünkü iþlemcinin iþlemek için daha çok veriye ihtiyacý oldukça, hafýza ile iþlemci arasýndaki iletiþim ihtiyacý artmaktadýr dolayýsýyla veri yolu dar kalýr.
Bu bilgisayar yapýsýnda universal Turing machine kullanýlýr.
Turin makinesinin anlaþýlmasý için önce FSM anlaþýlmalýdýr.

Baþlangýç ve bitiþ deðerleri (states) arasýnda eylemler bulunan makinedir.
Örnek Turing makinesi bu durumda:
Örneðimizdeki Turing makinesi sembol havuzu (yani alfabe) olarak {'B', '1'} kullanmaktadýr. Bu makineni amacý, verilen girdinin en saðýna 1 ekleyip girdinin en soluna geri dönmektir.
Bu amaca ulaþabilmek için, {'d0', 'd1', 'd2'} þeklinde üç durum kullanacaðýz. Bu durumlarýn geçiþ tablosu ise þu þekilde olacak:
Güncel Okunan Ýþlem Yeni
Durum Sembol Durum
- - - - - - - - - - - - - - - - - - - - - - - -
d0 1 Saða git d0
d0 B 1 yaz d1
d1 1 Sola git d1
d1 B Saða git d2
Makine, ilk baþta d0 durumunda olacak. Bu tabloya bakarak görebiliriz ki, d2 son durum olacak ve makinenin kafasý þu iþlemi yapacak:
Birkaç denemeyle bu makinenin istediðimiz iþlemi yaptýðýný görebiliriz.
Örnek 2.
Sürekli 1 0 1 0 … yazdýran bir Turing makinesi


Modern iþletim sistemleri bu yapýyý kullanmazlar, bunun yerine multi tasking desteklemektedirler. Ancak her task (iþ) kendi içinde bir tek iþ özelliði göstermektedir.
Multi Tasking kýsaca ayný anda birden fazla iþin çalýþmasý ve kaynaklarý paylaþmasý demektir.
Scheduling problemi çýkmaktadýr.
Ýþletim sisteminin bir programdan baþka programa geçiþine context switch denilmektedir.
Schedulerlar 3 grupta incelenebilir
Uzun dönem (long term scheduler) , admission scheduler olarak da kabul edilir, buradaki önemli nokta i/o intensive veya cpu intensive kararýný vermektir. Bir iþletim sisteminden çok real time (gerçek zamanlý) bilgisayarda kullanýlýr ve iþin bitiþ süresini takip etmeye dayanýr.
IO bound process: von neummann bottleneck’inin yaþanmasý mümkündür. Ayný zamanda cpu’nun iþlemini keserek bir i/o kaynaðýndan veri okumasý gerektiði unutulmamalýdýr (bottleneck tanýmýndan)
CPU bound process: kýsaca iþin çoðunun (çoðu zaman tamamýnýn) cpuda gerçekleþtiði iþlerdir.
Orta dönem (mid term scheduler) Virtual memory ve paging gibi iþlemlerde karþýmýza çýkar.
Short term scheduler (dispatcher olarak da bilinir) ve iþlemler (process) arasý düzenleme iþini yapar.
Örnekler: Shortest Job first
FIFO, LIFO, round robin
Önemli kavramlar : Starvation (bir processin sýrasýnýn gelmeme ihtimali)
Deadlock: Bir processe hiç sýra gelmemesi ihtimali
System Idle Process

Windows sistemlerinde kullanýlan bir process türüdür.
Linux iþletim sistemlerinde process 0 dýr. Görevi yeni bir interrupt gelene kadar cpu’yu durdurmaktýr (halt) böylelike enerji tasarrufu saðlamýþ olur ve fazla ýsýnmayý önler.
Register, cache ve random Access memory
Ýþletim sistemi tasarýmlarý kernel
Disk and file system
Networking and file system
Device Drivers