Sunuyu indir
Sunum yükleniyor. Lütfen bekleyiniz
1
İşletim Sistemi
2
Bolüm 1 Genel Tanım ve Kavramlar
3
Bilgisayar Nedir? Bilgisayar aritmetiksel ve mantıksal işlemler yapabilen elektronik bir cihazdır. Herhangi bir problemi bilgisayar kullanarak çözmek için yapılması gereken işlemleri şöyle tanımlayabiliriz: Problemi aritmetik ve mantıksal işlemler cinsinden tanımlama Bu işlemlerce kullanılacak verilerin girişi Üretilen sonuçların çıkışı
4
Bilgisayar nasıl çalışır?
von Neumann mimarisi (1947) Tek bir veri yolu üzerinden komut ve verilerin iletişimini yapan işlemci, bellek, ve giriş cıkış birimlerinden oluşan mimari. Adres yolu Denetim Birimi Veri yolu Bellek Aritmetik/ Mantık Birimi Girdi/ Çıktı Birimi İşlemci (CPU) Kontrol yolu
5
İntel 8080 (1974) Veri yolu yazmacı 8-bit veri yolu
8-bit dahili veri yolu Yazmaç A Akümülatör Geçici yazmaç Komut yazmacı Çoğullayıcı Geçici Yazmaç W Geçici Yazmaç Z Flip-flop yazmaç komut kod çözücü Yazmaç B Yazmaç C Akümülatör mandalı Yazmaç D Yazmaç E Yazmaç seçicisi Yazmaç H Yazmaç L Aritmetik Mantık Birimi Yığıt işaretçisi Komut adres yazmacı Komut yazmaçı Basamak ayarlama Adres arabelleği 16-bit adres yolu Zamanlama ve kontrol devreleri
6
Yazmaçlar (Register) niye var
İşlemci çok hızlı (4 Ghz.. Her 2.5 nanosaniyede bir işlem) Sistem yolları hızlı (PC133… 133 MHz.. 32-bit wide) Bellek yavaş Girdi/çıktı üniteleri çok yavaş Bellek İşlemci Veri 1 Veri 2 Veri 3 Veri 4 Veri yolu 7,5 ns 30 ns 150 ns Birimler arasındaki hız farklılığın tampon görevi yapar Sistem yolu bir çok birim tarafından paylaşılır
7
İşlemci/Bellek İletişimi
İşlemcinin bellek den bir veri veya komut okumak istediğinde yapılan işlemler zinciri özetle şöyle gelişir: Okunulması istenen veri veya komutun bulunduğu adres, adres yolu ile bellek adres yazmacına yazılır Kontrol yolu kullanılarak işlemin okuma işlemi olduğu bellek kontrol yazmacına yazılır Belleğin kontrol devresi tanımlanan bellek adresinde saklanan veriyi bellek veri yazmacına yazar Bellek veri yazmacındaki veri, veri yolu kullanılarak işlemciye iletilir. İşlemcinin belleğe bir veri veya komut yazmak istediğinde yapılan işlemler zinciri özetle şöyle gelişir: Yazılması istenen veri veya komutun bulunduğu adres, adres yolu ile bellek adres yazmacına yazılır İşlemcinin belleğe yazmak istediği veri veya komut veri yolu kullanılarak bellek veri yazmacına yazılır. Kontrol yolu kullanılarak işlemin yazma işlemi olduğu bellek kontrol yazmacına yazılır Belleğin kontrol devresi bellek veri yazmacındaki veriyi bellek adres yazmacındaki adrese yazar.
8
Paralel İşlem 4 verinin 1 belleğe yazılması
Bellek İşlemci Veri 1 Veri 2 Veri 3 Veri 4 Veri yolu 7,5 ns 30 ns 150 ns 4 verinin 4 ayrı belleğe yazılması Bellek 1 2 3 4 İşlemci Veri yolu Bellek 1 60 ns 30 ns Bellek 2 Bellek 3 Bellek 4
9
İşlemci Komut mimarisi
İşlemci işlemleri kullanıcısının verdiği komutlara göre yerine getirir. Bir işlemcinin anlayabileceği komutları ve her bir komutun formatını o işlemcinin üreticisi tanımlar. Örneğin bir ARM işlemcisinin kullandığı komut set mimarisi, İNTEL işlemcisinin komut set mimarisinden farklıdır. İşlem kodu (Op-code) İşlenen (Operand)
10
4+2=6 Bellek Bellek 200 201 202 1100 1101 4 2 LD A, 1100 ADD 1101
MOV 1100 Komut yazmacı Komut adres yazmacı Yazmaç A (akümülatör) 1. adım 2. adım 3. adım 4. adım 5. adım 6. adım 6 7. adım MOV 1101
11
Efektif Kullanım/Gecikmeler
PC MHz.. Her 7.5 ns da 32-bit veri transferi 4 GHz İşlemci.. Her 2.5 ns da bir komut çalıştırabilir Bellek 30 ns da 32-bitlik bir veriyi okuyabiliyor/yazabiliyor (Gerçekte belleğe yazma işlemi okuma işleminden uzun sürer) 4+2=6 probleminin zamanlamasına tekrar (basitleştirilmiş şekilde) bakarsak LD A, 1100 komutunun bellekten okunması ve çalıştırılması Bellekten 4 rakamının okunması ve akümülatöre yazılması Komut yazmaçının arttırılması Bellek çok yavaş çalışıyor CPU komut çalıştırma zamanı (2.5 ns) Sistem yolu ile verinin iletişimi (7.5 ns) Bellekten veri okuma zamanı (30 ns)
12
Bellek Sistemi ALU Komutlar Bellek adres yazmacı İşlemci
Ön Bellek Kontrol Birimi I/O arabellek yazmacı I/O arabellek yazmacı Sistem veri yolu Veri Komut yazmacı Ana Bellek Arabellek I/O Kontrol Birimleri
13
Ön Bellek Ön bellek ana bellek den daha hızlı ancak çok daha pahalı
İşlemcinin hızı ana belleğin hızından çok fazla Ana Bellek CPU Ön bellek Kelime nakli Blok nakli Ana bellek deki veri ve komutların bir kısmı ön belleğe yerleştirilir İşlemci önce ön belleğe bakar Ön bellek de aradığını bulamazsa, veri ve komutların bulunduğu blok ana bellek den ön belleğe nakledilir
14
Ön Bellek Ön bellek ne kadar büyük olmalıdır Blok büyüklüğü
Ne kadar büyük olsa o kadar iyi olur (performansı arttırır) Ancak küçük büyüklükteki ön belleklerin performansı çok arttırdığı biliniyor Blok büyüklüğü Ana bellek ile ön bellek arasında değiş tokuş edilen veriler Başarı oranı işlemcinin aradığı verilerin ön bellek de bulunma yüzdesi Büyük bloklar başarı oranını arttırır. Ancak büyük bloklar ön bellekteki değişik blok sayısını azaltır. Bu ikisi arasında bir optimizasyon gerekir.
15
Ön Bellek Eşleme işi Değiştirme algoritması Blok 4
Bloğun ön bellekte nereye yerleştirileceğine karar verir Değiştirme algoritması Hangi bloğun ön bellekten çıkarılacağına karar verir Genelde en uzun zamandır kullanılmayan blok değiştirilir (Least-Recently-Used (LRU)) Blok 2 Blok 1 Blok 3
16
Temel Komut Çevrimi İşlemci bellekten bir sonraki komutu getirir
Bir sonraki komutu getirme çevrimi Bir sonraki komutu getir Komutu çalıştır DURDUR BAŞLA Çalıştırma çevrimi İşlemci bellekten bir sonraki komutu getirir Komut adres yazmacısı (PC) ana bellekten getirilecek bir sonraki komutun adresini tutar Her komut getiriminden sonra komut adres yazmacı bir arttırılır
17
Girdi/Çıktı İşlemleri
Dakikada 30 sayfa basan bir yazıcı (2 s/sayfa) Saniyede 24 kez yenilenen 1024x768 pixel bilgisayar ekranı (41.6 ms) 8x/4x/24x R/RW CD Her bir x 150 KB hız belirtir. (1.2 MB yazma/0.6 MB tekrar yazma/3.6 MB okuma hızı) … Bu süre zarfında işlemci ne yapacak?
18
Çoklu Programlama Aynı anda birden fazla program ana bellekte işlemci tarafından çalıştırılmaya hazır bekleyebilir Bir program girdi/çıktı işlemi isterse bu işlem başka bir birime aktarılabilir (bellekten oku, harici birime veriyi ve komutları gönder).. Başka bir birim ne?? İşlemci başka bir programı çalıştırmaya başlayabilir
19
Doğrudan Belleğe Erişim (DMA)
Girdi/Çıktı transferi direk bellekle olur İşlemci DMA birimine Girdi/Çıktı transferleri için komut verir İşlemci Girdi/Çıktı transferleri için sorumlu olmaz İşlemci Girdi/Çıktı işlemi sürecince başka işler yapabilir
20
Çoklu Programlamada Bellek kullanımı
Hangi programlar bellekte duracak Bellekte yer kalmadığında hangi program çıkacak Eşleme işi Bloğun ön bellekte nereye yerleştirileceğine karar verir Prog 1 Prog 2 Değiştirme algoritması Hangi bloğun ön bellekten çıkarılacağına karar verir Genelde en uzun zamandır kullanılmayan blok değiştirilir (Least-Recently-Used (LRU)) Öncelik Fregmentation Bir programda meydana gelen hataların diğerlerine etkisi Kuyruk Birden fazla program nasıl aynı anda çalışır gibi olacak Çoklu ama ne kadar çok Prog 3 Prog 4
21
İş kesme Program Zamanlayıcı Girdi/Çıktı
Aritmetik taşma durumunda Sıfıra bölmede Yasak bir komut çalıştırıldığında Kullanıcıya bellekte ayrılan yerin dışında bir yere ulaşma durumunda Zamanlayıcı Girdi/Çıktı Donanımda bir bozukluk olduğunda
22
İş Kesme (Interrupts) İş kesme altprogramı
Bir prosesin kendi kontrolünün dışında harici bir olay yüzünden askıya alınması ve askıya alınmış bir prosesin tekrar başlatılması için kullanılan mekanizma İşlemcinin kullanımını arttırır Prosesler arasında işlemci kullanımını paylaştırır İşlemcinin I/O nun tamamlanmasını beklerken başka işler yapmasına olanak sağlar İş kesme altprogramı İş kesme olduğunda kontrol bu programa geçer İş kesmenin sebebini tayin eder ve gereken işlemlerin yapılması için gerekli prosesi çalıştırır İşletim sisteminin bir parçasıdır
23
İşkesme Çevrimi Komutu getirme çevrimi Çalıştırma çevrimi
İşkesme işlemi durduruldu Bir sonraki komutu getir Komutu çalıştır İş kesme BAŞLA İş kesme aktif DURDUR İşlemci iş kesme durumunu kontrol eder İş kesme yoksa bir sonraki komutu getir Eğer bir iş kesme durumu varsa, prosesi geçici olarak durdurur ve iş kesme alt programını çalıştırır
24
Bir den çok iş kesme aynı anda aktif olabilir
Bir iş kesme servis edilirken diğer iş kesme istekleri durdurulur İşlemci iş kesme isteklerini aktif hale getirinceye kadar iş kesme istekleri bir sıralamaya göre bekler İşlemci işini bitirince iş kesme isteklerini aktif hale getirir ve bekleyen iş kesme isteklerini kontrol eder Bazı iş kesme istekleri diğerlerinden daha önemlidir İş kesme isteklerine öncelik verilir Bekleyen iş kesme istekleri içinde bekleyen en öncelikli istek servis edilir Bir iş kesme isteğine servis verilirken daha öncelikli başka bir iş kesme isteği gelirse halihazırda servis verilen istek geçici olarak durdurulur
25
İşletim Sistemlerinin Gelişimi
Seri İşlemler İşletim sistemi yok Sadece bir kullanıcı, kullanıcılara zaman çizelgesi ile kullanma imkanı. Kullanıcı kendi zamanında her şeyi kendi yapma zorunda: kullanıcağı derleyiciyi (compiler), programını, verisini yükler. Her kullanışta bu işlemleri yapmak zorunda. Toplu yürütüm sistemleri Birçok programı (jobs) bir araya topla İşletim sistemi vari bir yazılım (monitor) bu programların çalıştırılmaları için temel işlemleri sunuyor Bir program işlemini bitirmeden bir diğeri bilgisayarı kullanamaz Monitor her zaman bellek de çalışmaya hazır bir şekilde bekliyor
26
Job Control Language (JCL)
Monitor a bir programın işlemlerinin yapılabilmesi için gerekli bilgisayar işlemlerini tanımlamak için kullanılır. Hangi derleyici (compiler) kullanılacak Verinin tutulduğu araçı tanımlar Zamanlayıcı (timer) bilgisayarın bir program tarafından en çok ne kadar zaman kullanılabileceğini tanımlar. Monitor un kullandığı bellek bölgesine kullanıcıların ulaşmasını engeller
27
Bir programın çalışması (uniprogramming)
İşlemci I/O komutlarının tamamlanmasını beklemek zorunda Program A çalışmaya başlar Program A I/O isteğinde bulunur Program A tekrar çalışmaya başlar Program A I/O isteğinde bulunur Program A tekrar çalışmaya başlar İşlemci bekler İşlemci bekler zaman
28
Coklu Programlama (Multiprogramming)
When one job needs to wait for I/O, the processor can switch to the other job bekle bekle Program A bekle bekle Program B bekle bekle bekle Çoklu programlama zaman
29
Örnek Proses 1 Proses 2 Proses 3
İş tipi CPU ağırlıklı I/O ağırlıklı I/O ağırlıklı Proses zamanı 5 sn. 15 sn. 10 sn. Gereken bellek 50KB 100 KB 80 KB Diski kullanıyormu Hayır Hayır Evet (2) (5 sn de bir) Terminal kullanıyormu Hayır Evet (10) Hayır (1.5 sn de bir) Yazıcı kullanıyormu Hayır Hayır Evet (1) (bitince) Bellek erişim zamanı = 100 ns Terminal erişim zamanı = 50 ns Disk erişim zamanı = ns Belleğin kapasitesi = 256 KB Yazıcı zamanı = 10 sn
30
Kullanım yüzdeleri Çoklu programlama İşlemci kullanımı
1. Üç işi bitirmek için toplam zamanı hesaplayın… a) Tekli programlama uygulanırsa b) Çoklu programlama uygulanırsa c) (b) şıkkında sıralama fark yaratır mı? Çoklu programlama İşlemci kullanımı Bellek kullanımı Disk kullanımı Yazıcı kullanımı Toplam zaman Ortalama iş bitirme zamanı
31
Çözüm!!! İşletim Sistemi…
Problem!!! Bilgisayarda çalışacak programın tüm bu cihazların nasıl çalıştığını ve bu cihazlarla nasıl iletişim kuracağını bilmesi ve gerekli komutları girmesi lazım. İşlemci Çözüm!!! İşletim Sistemi… İşletim sistemleri donanıma hangi işlemlerin yapılacağını anlatan, bilgisayar kaynaklarını kolayca kullanılabilir hale getiren yazılımlardır. Donanım "ham bilgi işlem gücünü" sağlar. İşletim sistemi bilgisayar kaynaklarının idarecisi olarak, üç ana servis verir. Girdi/çıktı cihazları, işlemci, bellek, değişik yazılımlar gibi sistem kaynaklarının ataması ve tahsisi Bilgisayar kaynaklarının kullanımının koordinasyonu ve zamanlaması Kaynak kullanımının izleme, hata durumlarını tespit etme ve raporlama, güvenlik önlemlerini alma ve sorunları raporlama
Benzer bir sunumlar
© 2024 SlidePlayer.biz.tr Inc.
All rights reserved.