Bölüm 13: Giriş-Çıkış (I/O) Sistemleri

Benzer belgeler
İşletim Sistemleri. Hazırlayan: M. Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü

İşletim Sistemlerine Giriş

İşletim Sistemlerine Giriş

Background (Arka Plan)

İşletim Sistemleri (Operating Systems)

BİLGİSAYAR MİMARİSİ. << Bus Yapısı >> Özer Çelik Matematik-Bilgisayar Bölümü

BM-311 Bilgisayar Mimarisi. Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü

BM-311 Bilgisayar Mimarisi

Yrd.Doç.Dr. Celal Murat KANDEMİR

Bölüm 9: Sanal Bellek

İşletim Sistemlerine Genel Bakış

BİT in Temel Bileşenleri (Yazılım-1)

ASENKRON (Eş Zamanlı Olmayan) HABERLEŞME ARA YÜZEYİ

İŞLETİM SİSTEMİ İşletim sistemi kullanıcıyla bilgisayar donanımı arasında iletişim sağlayan programdır.

Sistem Programlama. (*)Dersimizin amaçları Kullanılan programlama dili: C. Giriş/Cıkış( I/O) Sürücülerinin programlaması

İŞLETİM SİSTEMİ KATMANLARI (Çekirdek, Kabuk ve diğer temel kavramlar) Öğr.Gör. Dr. Dr. Şirin KARADENİZ

İŞLETİM SİSTEMLERİ. (Operating Systems)

Bilgisayarların Gelişimi

İşletim Sistemi. BTEP205 - İşletim Sistemleri

x86 Ailesi Mikroişlemciler ve Mikrobilgisayarlar

DONANIM. 1-Sitem birimi (kasa ) ve iç donanım bileşenleri 2-Çevre birimleri ve tanımlamaları 3-Giriş ve çıkış donanım birimleri

Bilgisayar Sistemlerine Genel Bakış

Bölüm 8: Ana Bellek. Operating System Concepts with Java 8 th Edition

İşletim Sistemlerine Giriş

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi

Bilgisayar İşletim Sistemleri BLG 312

Bölüm 7: Kilitlenme (Deadlocks)

Sistem Programlama. Kesmeler(Interrupts): Kesme mikro işlemcinin üzerinde çalıştığı koda ara vererek başka bir kodu çalıştırması işlemidir.

İşletim Sistemlerinde Çok Prosesli Çalışma

İŞLETİM SİSTEMİ KATMANLARI (Çekirdek, kabuk ve diğer temel kavramlar) Bir işletim sisteminin yazılım tasarımında ele alınması gereken iki önemli konu

Chapter 12: Depolama Sistemleri

DERS 10 İŞLETİM SİSTEMİ ÇALIŞMA PRENSİBLERİ VE HATA MESAJLARI

Doğu Akdeniz Üniversitesi Bilgisayar ve Teknoloji Yüksek Okulu Bilgi teknolojileri ve Programcılığı Bölümü DERS 1 - BİLGİSAYAR VE ÇEVRE ÜNİTELERİ

Temel Bilgisayar Bilgisi

DERS 3 MİKROİŞLEMCİ SİSTEM MİMARİSİ. İçerik

Proses. Prosesler 2. İşletim Sistemleri

BM-311 Bilgisayar Mimarisi

PROSESLER. Proses. Proses

Bilgisayar Donanımı Dersi BİLGİSAYARIN MİMARI YAPISI VE ÇALIŞMA MANTIĞI

Bölüm 3: İşlemler Operating System Concepts with Java 8th Edition 3.1 Silberschatz, Galvin and Gagne 2009

Bölüm 3: İşlemler Operating System Concepts with Java 8th Edition 3.1 Silberschatz, Galvin and Gagne 2009

.. YILI BİLGİSAYAR SİSTEM KURULUM BAKIM ONARIM VE ARIZA GİDERME KURS PLANI MODÜL SÜRESİ

Bölüm 1: Giriş. Operating System Concepts 9 th Edit9on. Mehmet Demirci tarafından çevrilmiştir.

Temel Bilgisayar (Basic Computer) Yazılım (Software)

.. YILI BİLGİSAYAR SİSTEM KURULUM BAKIM ONARIM VE ARIZA GİDERME KURS PLANI MODÜL SÜRESİ

ANAKARTLAR. Anakartın Bileşenleri

Bilgisayar Donanımı. Temel Birimler ve Çevre Birimler. Öğr.Gör.Günay TEMÜR / KAYNAŞLI MESLEK YÜKSEOKULU

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 7. LINUX OS (Sistem Yapısı) BİLGİ & İLETİŞİM TEKNOLOJİLERİ. LINUX Yapısı

İŞLETİM SİSTEMİNİN TEMELLERİ VE POST (İLK AÇILIŞ)

Düşünelim? Günlük hayatta bilgisayar hangi alanlarda kullanılmaktadır? Bilgisayarın farklı tip ve özellikte olmasının sebepleri neler olabilir?

İşletim Sistemleri. Discovering Computers Living in a Digital World

4. Giriş/Çıkış Organizasyonu (I/O Organization) ve Yol Erişimleri

Bilgi ve iletişim teknolojileri

İşletim Sistemlerine Giriş

BİLİŞİM TEKNOLOJİLERİNİN TEMELLERİ

Temel Kavramlar-2. Aşağıda depolama aygıtlarının kapasitelerini inceleyebilirsiniz.

Sanal Makineler ve Linux Konteynerlerin Performans Karşılaştırması

8086 nın Bacak Bağlantısı ve İşlevleri. 8086, 16-bit veri yoluna (data bus) 8088 ise 8- bit veri yoluna sahip16-bit mikroişlemcilerdir.

WINDOWS 7. Eğitim ID 98 2/4 (Normal Seviye Kullanıcı) Konu ID Windows 7 Hakkında Genel Bilgi Ek Bilgi -

Yazılım Tanımlı Ağlar Ders 1 Yazılım Tanımlı Ağların Temelleri. Mehmet Demirci

Ağ Yönetiminin Fonksiyonel Mimarisi

İŞLETİM SİSTEMLERİNE GİRİŞ - 2. Sistem, sistem kaynaklarını belli bir hiyerarşi içinde kullanıcının hizmetine

Bölüm 4: Threads (İş Parçaları)

Öğr.Gör. Gökhan TURAN Gölhisar Meslek Yüksekokulu

Aşağıdaki sorularda doğru olan şıkları işaretleyerek değerlendiriniz.

Çekirdek Nedir? Ne yapar?

İşletim Sistemleri. B L M Mesleki Te r minoloji I I Ö ğ r e n c i S unumu

İŞLETİM SİSTEMLERİ DÖNEMİÇİ SINAVI

C) 19 inçlik CRT ile LCD monitörün görünebilir alanı farklıdır. D) Dijital sinyali, analog sinyale çevirmek için DAC kullanılır.

Bölüm 8: Ana Bellek. Operating System Concepts 9 th Edition. Mehmet Demirci tarafından çevrilmiştir.

Embedded(Gömülü)Sistem Nedir?

GİRİŞ-ÇIKIŞ (INPUT / OUTPUT) ORGANİZASYONU

Bilgisayar İşletim Sistemleri BLG 312

Çalışma Açısından Bilgisayarlar

Bilgisayar Mimarisi Nedir?

Bilgisayar Donanım ANAKART ÜZERĐNDE YER ALAN GĐRĐŞ/ÇIKIŞ (I/O) BAĞLANTI NOKTALARI

EYLÜL 2012 İŞLETİM SİSTEMLERİ. Enformatik Bölümü

Giriş/Çıkış Arabirimi MİKROİŞLEMCİ SİSTEMLERİ. Arabirim Özellikleri. Giriş/Çıkış Adresleri. G/Ç Arabirimlerinin Bağlanması

İşletim Sistemleri; İÇERİK. Yazılım BİLGİ TEKNOLOJİLERİ VE UYGULAMALARI Yazılım Türleri

Temel Bilgi Teknolojileri -1

SİSTEM İHTİYAÇLARI (Tiger Enterprise / Tiger 3 Enterprise)

DİSK DEPOLAMA ALANLARI

Wake-On-Lan& LDCM Nedir?

TEMEL BİLGİ TEKNOLOJİSİ KULLANIMI. Enformatik Bölümü

İŞLETİM SİSTEMLERİ TANIMI

Windows İşletim Sistemi

USB 2.0 Harici Disk Koruncağı 2.5"

USB 2.0 External HDD Enclosure 3.5" (8,89cm)

William Stallings Computer Organization and Architecture 9 th Edition

İŞLETİM SİSTEMLERİ DERS NOTLARI BÖLÜM 1 GİRİŞ. Yard. Doç. Dr. Deniz KILINÇ

İşletim Sistemlerine Genel Bakış

Bilgisayar Temel kavramlar - Donanım -Yazılım Ufuk ÇAKIOĞLU

İşletim Sistemlerine Giriş

İşletim Sistemleri. Hazırlayan: M. Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü

Yazılım Çeşitleri. Uygulama Yazılımları. İşletim Sistemleri. Donanım

Öğr.Gör. Mehmet Can HANAYLI

REALTIME LINUX. 3. Linux ve Özgür Yazılım Şenliği Murat Demirten, 16 Mayıs 2004, Ankara

Donanımlar Hafta 1 Donanım

PORTLAR Bilgisayar: VERİ:

Transkript:

Bölüm 13: Giriş-Çıkış (I/O) Sistemleri Mehmet Demirci tarafından çevrilmiştir. Silberschatz, Galvin and Gagne 2013

Bölüm 13: Giriş-Çıkış (I/O) Sistemleri Genel bakış I/O donanımı Uygulama I/O arayüzü Çekirdek I/O altsistemi I/O isteklerini donanım işlemlerine dönüştürme STREAMS Performans 13.2 Silberschatz, Galvin and Gagne 2013

Hedefler İşletim sistemindeki I/O altsisteminin yapısı I/O donanımı ve karmaşıklığı I/O donanım ve yazılımının performansını etkileyen unsurlar 13.3 Silberschatz, Galvin and Gagne 2013

Genel Bakış I/O yönetimi, OS tasarımı ve gerçekleştiriminde temel bir bileşendir. Bilgisayar işleyişinde önemli yeri var I/O cihazları çok çeşitli Denetleme yöntemleri çeşitli Performans yönetimi Sık sık yeni türde cihazlar gelir Port (kapı), bus (veriyolu), aygıt denetçileri ile çeşitli aygıtlara bağlantı sağlanır. Device drivers (aygıt sürücüleri) aygıt ayrıntılarını içerir. I/O altsistemine tek tip aygıt erişim arayüzü sunulur. 13.4 Silberschatz, Galvin and Gagne 2013

I/O Donanımı I/O aygıtları çok çeşitlilik gösterir Depolama Aktarım Kullanıcı arayüzü Ortak kavramlar I/O cihazlarından gelen sinyaller bilgisayara arayüzden iletilir. Port Aygıtın bağlantı noktası Bus - daisy chain (papatya zinciri) veya ortak doğrudan erişim PCI bus PC ler ve sunucularda yaygındır, PCI Express (PCIe) Expansion (genişletme) bus daha yavaş cihazları bağlar Denetçi (Controller/host adapter) port, bus ve aygıtı işleten elektronik Entegre veya ayrı devre kartı olabilir İşlemci, mikrokod, özel bellek, bus denetçisi vs. içerir 13.5 Silberschatz, Galvin and Gagne 2013

Tipik PC Bus Yapısı 13.6 Silberschatz, Galvin and Gagne 2013

I/O Donanımı I/O komutları aygıtları kontrol eder Aygıtlarda genellikle registerlar vardır, aygıt sürücüsü bunlara komut, adres, veri yazar. Bunlar ile komuttan sonra okuma veya yazma işlemi yapılır. Data-in (veri giriş) register, data-out (veri çıkış) register, status (durum) register, control (denetleme) register Genellikle 1-4 byte, veya FIFO arabellek Aygıtların adresleri vardır, kullanım alanları: Doğrudan I/O komutları Memory-mapped I/O (belleğe eşlenen I/O) Aygıt verisi ve komut registerları işlemcinin adres alanına eşlenir Özellikle büyük adres alanları için (grafik) 13.7 Silberschatz, Galvin and Gagne 2013

Yoklama (Polling) Her byte I/O için 1. 0 olana kadar meşgul bitini durum registerından oku 2. Host okuma veya yazma bitini 1 yapar, yazma varsa veriyi veri çıkış registerına kopyalar 3. Host komut hazır bitini 1 yapar 4. Denetçi meşgul bitini 1 yapar, aktarımı gerçekleştirir 5. Aktarım bitince denetçi meşgul bitini, hata bitini, komut hazır bitini 0 yapar Adım 1: aygıttan I/O gelmesi için meşgul bekleme (busy-wait) döngüsü Aygıt hızlıysa mantıklı Aygıt yavaşsa verimsiz 13.9 Silberschatz, Galvin and Gagne 2013

Kesmeler Yoklama 3 komut döngüsünde gerçekleştirilebilir Durumu oku, durum bitini mantıksal and ile çıkart, sıfır değilse dallan Sıfır olmaması nadir durumsa daha verimli hale nasıl getirilir? CPU kesme istek hattı (interrupt-request line) I/O cihazı tarafından tetiklenir Her komuttan sonra işlemci tarafından denetlenir Kesme yöneticisi (interrupt handler) kesmeleri alır Kesme vektörü ile kesme doğru yöneticiye sevk edilir Başta ve sonda bağlam değiştirme Önceliğe dayalı Kesme zinciri (interrupt chaining) if more than one device at same interrupt number 13.10 Silberschatz, Galvin and Gagne 2013

Kesmeye Dayalı I/O Döngüsü 13.11 Silberschatz, Galvin and Gagne 2013

Intel Pentium Olay-Vektör Tablosu 13.12 Silberschatz, Galvin and Gagne 2013

Kesmeler Kesme mekanizması istisnalar için de kullanılır Süreci sonlandır, donanım hatası nedeniyle sistemi çökert Bellek erişim hatası olunca sayfa hatası gerçekleşir Trap sonucu çekirdek tetiklenir ve sistem çağrısı yürütülür Çok işlemcili sistemler kesmeleri eşzamanlı yönetebilir Sık, hassas zamanlama => hızlı olmalı 13.13 Silberschatz, Galvin and Gagne 2013

Doğrudan Bellek Erişimi Büyük veri aktarımı için faydalı DMA denetçisi gerektirir CPU yu atlayarak I/O aygıtı ile bellek arasında veri aktarımı OS, DMA komut bloğunu belleğe yazar Kaynak ve varış adresleri Okuma veya yazma modu Byte sayısı DMA denetçisine komut bloğunun yerini bildirir DMA denetçisi bus ı CPU dan alır Cycle stealing (döngü çalma) olur ama yine de daha verimli İşi bitince kesme üretir 13.14 Silberschatz, Galvin and Gagne 2013

DMA içi Altı Adımlı Süreç 13.15 Silberschatz, Galvin and Gagne 2013

Uygulama I/O Arayüzü I/O sistem çağrıları aygıt davranışlarını genel sınıflarla tanımlar Aygıt sürücüsü I/O denetçileri arasındaki farkları çekirdekten gizler Yeni aygıtlar hazır protokolleri kullanırsa fazladan iş çıkmaz Her OS kendi I/O altsistem ve aygıt sürücüsü yapısına sahiptir 13.16 Silberschatz, Galvin and Gagne 2013

Çekirdek I/O Yapısı 13.17 Silberschatz, Galvin and Gagne 2013

I/O Aygıtlarının Özellikleri 13.18 Silberschatz, Galvin and Gagne 2013

I/O Aygıtlarının Özellikleri I/O aygıtları kabaca şu sınıflara ayrılabilir Blok I/O Karakter I/O (Stream - akış) Belleğe eşlenen dosya erişimi Ağ soketleri I/O aygıtına özgü özellikleri kullanmak için arka kapılar bulunur Unix ioctl() çağrısı aygıtın denetleme registerına bitler ve veri registerına veri gönderir 13.19 Silberschatz, Galvin and Gagne 2013

Blok ve Karakter Aygıtları Disk drives Okuma, yazma, arama komutları Raw I/O, direct I/O, veya dosya sistemi erişimi Belleğe eşlenen dosya erişimi mümkün DMA Karakter aygıtları: klavye, fare, seri portlar get(), put() komutları Kütüphanelerle satır düzenleme 13.20 Silberschatz, Galvin and Gagne 2013

Ağ Aygıtları Linux, Unix, Windows içinde socket arayüzü vardır Ağ protokolünü ağ işletiminden ayırır select() işlevi barındırır Farklı yaklaşımlar (borular, FIFO lar, akışlar, kuyruklar, mesaj kutuları) 13.21 Silberschatz, Galvin and Gagne 2013

Saatler ve Zamanlayıcılar Şimdiki zaman, geçen zaman Normal çözünürlük saniyenin 1/60 ı civarında Programmable interval timer (programlanabilir aralık zamanlayıcı) kullanılır, periyodik kesmeler gelir ioctl() (UNIX) 13.22 Silberschatz, Galvin and Gagne 2013

Engellemeyen ve Asenkron I/O Blocking (engelleyen) - I/O bitene kadar süreç askıda Kullanımı ve anlaması kolay Bazen yetersiz Nonblocking (engellemeyen) - I/O çağrısı hızlı döner Kullanıcı arayüzü, veri kopyalama Çok threadli yapı kullanılır Okunan veya yazılan byte sayısını hızlıca döndürür select() ile verinin hazır olup olmadığı anlaşılır, sonra aktarım için read() veya write() Asynchronous (asenkron) - I/O yürütülürken süreç de çalışır Kullanımı zor I/O altsistemi I/O bitince sürece sinyal verir 13.23 Silberschatz, Galvin and Gagne 2013

İki I/O Yöntemi Synchronous Asynchronous 13.24 Silberschatz, Galvin and Gagne 2013

Vektörlü I/O Vektörlü I/O tek sistem çağrısının birkaç I/O işlemi yapmasına izin verir Unix readve()çağrısı okuma-yazma yapacak birden fazla arabellek alır Bu yöntem birden fazla tekli I/O çağrısından daha iyidir Bağlam değiştirme ve sistem çağrısı yükünü azaltır Bazı versiyonlar atomiklik sağlar 13.25 Silberschatz, Galvin and Gagne 2013

Çekirdek I/O Altsistemi Planlama I/O istek sıralamada cihaza özel kuyruk Bazı OS ler adil paylaşım algoritmaları kullanır Bazılarında Quality Of Service (hizmet kalitesi) (örn. IPQOS) Buffering cihazlar arasında aktarım sırasında veriyi bellekte tutma Aygıt hızları, aktarım boyutları arasında dengesizliğe karşı çözüm Çift buffering verinin iki kopyası Çekirdek ve kullanıcı Copy-on-write bazı durumlarda verimlilik için kullanılır 13.26 Silberschatz, Galvin and Gagne 2013

Aygıt Durum Tablosu 13.27 Silberschatz, Galvin and Gagne 2013

Çekirdek I/O Altsistemi Caching verinin kopyasının daha hızlı aygıtta tutulması Sadece bir kopyadır Performans için önemli Buffering ile birleştirilebilir Spooling (bekletme) aygıt için çıktı tutma Eğer aygıt sadece tek isteğe hizmet verebiliyorsa örn. yazdırma işlemi Aygıt rezervasyonu aygıta tek yerden erişim Atama ve atamayı kaldırma için sistem çağrıları Kilitlenmeye dikkat 13.29 Silberschatz, Galvin and Gagne 2013

I/O Koruma Kullanıcı süreci hatayla veya kasten normal işletimi bozmak için geçersiz I/O komutları gönderebilir. Bütün I/O komutları ayrıcalıklı olarak tanımlanmıştır. I/O sistem çağrılarıyla yapılmalıdır. 13.30 Silberschatz, Galvin and Gagne 2013

I/O için Sistem Çağrısı Kullanımı 13.31 Silberschatz, Galvin and Gagne 2013

Bölüm 13 Sonu Silberschatz, Galvin and Gagne 2013