Ýþletim Sistemleri Giriþ

 

Ýþletim Sistemi Nedir?

Ýþ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.

 

Process mng.

Ç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

  1. hot wired
  2. Control unit
  3. Processor

 

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.

 

Memory mng.

Register, cache ve random Access memory

 

Ýþletim sistemi tasarýmlarý kernel

 

Disk and file system

 

Networking and file system

 

Device Drivers