İşletim Sistemlerine Giriş



Benzer belgeler
İşletim Sistemlerine Giriş

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

İşletim Sistemlerine Giriş

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

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

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

İŞ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

BM-311 Bilgisayar Mimarisi

İşletim Sistemlerine Giriş

İşletim Sistemlerine Giriş

Bilgisayar İşletim Sistemleri BLG 312

İşletim Sistemleri (Operating Systems)

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

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

İşletim Sistemi. BTEP205 - İşletim Sistemleri

BM-311 Bilgisayar Mimarisi

DİSK DEPOLAMA ALANLARI

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

icono Kullanıcı Kılavuzu

Proses. Prosesler 2. İşletim Sistemleri

Dosya Saklama Ortamları (Sabit Diskler) Kütük Organizasyonu 1

PROSESLER. Proses. Proses

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

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

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

İşletim Sistemlerine Giriş

Dersin Konusu ve Amaçları: Ders P lanı: Bölüm 1: Bilgi Teknolojilerinde Temel Kavramlar

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

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

İşletim Sistemlerine Genel Bakış

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

Temel Bilgisayar Programlama

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

Linux altında komut satırında...

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

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

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

Sanal Bellek (Virtual Memory)

Donanımlar Hafta 1 Donanım

Fatura Dosyalarını Yükleme ile ilgili Detaylar. 14 Temmuz 2014

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

1. PS/2 klavye fare 2. Optik S/PDIF çıkışı 3. HDMI Giriş 4. USB 3.0 Port 5. USB 2.0 Port 6. 6 kanal ses giriş/çıkış 7. VGA giriş 8.

Üst Düzey Programlama

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

Bilişim Teknolojilerine Giriş

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

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

İşletim Sistemlerine Giriş

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

Bahar Dönemi. Öğr.Gör. Vedat MARTTİN

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

İŞLETİM SİSTEMLERİNE GİRİŞ. Modern bilgisayar çalışma prensipleri, Von Neumann ın 1945 de geliştirdiği

Bilişim Teknolojileri

Ünite-3 Bilgisayar Yazılımı.

MEHMET ÇEKİÇ ORTAOKULU

ELN1002 BİLGİSAYAR PROGRAMLAMA 2

EKLER EK 12UY0106-5/A4-1:

CUMHURİYET MESLEKİ VE TEKNİK ANADOLU LİSESİ BİLİŞİM TEKNOLOJİLERİNİN TEMELLERİ DERSİ DERS NOTLARI BELLEKLER

İşletim Sistemlerine Giriş

BM 375 Bilgisayar Organizasyonu Dersi Vize Sınavı Cevapları 10 Nisan 2009

Computer Architecture. RAID: (Redundant Array of Independent/Inexpensive Disks)

Veritabanı. Ders 2 VERİTABANI

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.

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

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

Ekrana gelen diyalog penceresinden Typical radyo düğmesi seçilir ve Next düğmesine basılır.

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 10. LINUX OS (Programlama) BİLGİ & İLETİŞİM TEKNOLOJİLERİ GENEL BAKIŞ

BİLGİSAYAR KULLANMA KURSU

Sistem Nasıl Çalışıyor: Araç İzleme ve Filo Yönetim Sistemi

Bölüm 28 ve 29 : İstemci Sunucu Etkileşimi ve Soket API sine Giriş. Internet Protokolleri ve Ağ Uygulamaları. Internet Protokolleri Üzerinden İletişim

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

Bölüm 28 ve 29 : İstemci Sunucu Etkileşimi ve Soket API sine Giriş

Bölüm 28 ve 29 : İstemci Sunucu Etkileşimi ve Soket API sine Giriş. Internet Protokolleri ve Ağ Uygulamaları. Internet Protokolleri Üzerinden İletişim

Çekirdek Nedir? Ne yapar?

Bilgisayar Donanım 2010 BİLGİSAYAR

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

BLGM 343 DENEY 8 * TCP İLE VERİ İLETİŞİMİ

Windows 2000 veya XP kurarken dosya sistemini seçmeniz gerekir. Ya FAT32 dosya sistemini kullanırsınız ya da NTFS.

MCR02/04/05/08 Serileri Temassız Kart Okuyucular

NB Ekran Seri Port Üzerinden Veri Okuma/Yazma. Genel Bilgi Protokol Oluşturma Veri Okuma Veri Yazma

Background (Arka Plan)

Eln 1002 Bilgisayar Programlama II

ETHERNET TEKNOLOJİSİ

Mikrobilgisayarlar. Mikroişlemciler ve. Mikrobilgisayarlar

TL-WPS510U PRINT SERVER KURULUM DÖKÜMANI

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

ENF 100 Temel Bilgi Teknolojileri Kullanımı Ders Notları 2. Hafta. Öğr. Gör. Dr. Barış Doğru

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

Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

ALGORİTMA VE PROGRAMLAMA II

Bilgilerin Uzun Vadeli Saklanması

MOBILEPAX ENTERPRISE API (WEB SERVİS)

Yazılım Mühendisliğine Giriş 2018 GÜZ

ENF102 TEMEL BİLGİSAYAR BİLİMLERİ VE C/ C++ PROGRAMLAMA DİLİ. Gazi Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü

Setup Yardımcı Programı

C Dersi Bölüm 1. Bilgisayar Donanımı

Yazılım Kurulumu ve Yönetimi -2010

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

ANAKARTLAR. Anakartın Bileşenleri

Transkript:

İşletim Sistemlerine Giriş Girdi/Çıktı (I/O) İşletim Sistemlerine Giriş - Ders11 1

Girdi/Çıktı (I/O) İşletim sisteminin temel fonksiyonlarından biride bilgisayardaki tüm I/O aygıtlarını kontrol etmesidir. Aygıtlara komutlar göndermeli, kesmeleri yakalamalı ve hatalar ile ilgilenmelidir. Donanım ile sistemin kalan kısmı arasında bir arayüz oluşturmalıdır. Kullanılan aygıtlar için arayüz mümkün olduğu kadar aynı olmalıdır. I/O aygıtları kullanım için gerekli olan kod işletim sisteminin büyük bir kısmını oluşturur. İşletim Sistemlerine Giriş - Ders11 2

Girdi/Çıktı aygıtları I/O aygıtları iki kategoriye ayrılabilir: blok aygıtları ve karakter aygıtları. Bir blok aygıtı(block device) sabit boyutlu bloklar şeklinde veri saklar. Her bloğun kendi adresi vardır. Blok boyutları 512 byte-32768 byte arasında değişir. Farklı bloklar birbirinden bağımsız olarak okunup yazılabilir. Diskler en temel blok aygıtıdır. Okuma kafasının bulunduğu kolun nerede olduğu önemli değildir. İstenilen silindir aranabilir ve okuma kafası istenilen verinin bulunduğu yere konumlandırılabilir. İşletim Sistemlerine Giriş - Ders11 3

Girdi/Çıktı aygıtları Karakter aygıtları(character device) karakter akımlarını (stream) kabul eder yada dağıtırlar. Adreslenemezler ve bu aygıtlarda arama işlemi gerçekleştirilemez. Yazıcılar, ağ aygıtları, mouse,... bu tip aygıtlardır. İşletim sisteminin dosya sistemi bu aygıtların hepsi ile soyut aygıtlar olarak ilgilenir. Aygıtların arka planında aygıta özel olan olaylar ile ilgilenmezler. İşletim Sistemlerine Giriş - Ders11 4

Girdi/Çıktı aygıtları farklı hızlardadır İşletim Sistemlerine Giriş - Ders11 5

Aygtı Kontrolcüleri (Device Controller) I/O aygıtları, mekanik ve elektronik bileşenlerden meydana gelir. Elektronik bileşene aygıt kontrolcüsü veya uyumlayıcı (adapter) adı verilir. IEEE,ISO,ANSI standartları ile aynı tip aygıtların uymaları gerekli olan kurallar belirlenmiştir. Aygıtların kontrolcüleri de bu standartlar temelinde hazırlanırlar. Temel görevleri; veri okumak, yazmak, hata kontrolü yapmaktır. Okunan verilerin belleğe kopyalanması işleminide gerçekleştirirler. İşletim Sistemlerine Giriş - Ders11 6

Bellek Eşlemeli G/Ç (Memory Mapped I/O) Her kontrolcü içerisinde belirli sayıda yazmaç vardır. Bu yazmaçlar işlemci ile iletişimde kullanılırlar. İşlemci bu yazmaçlara komut ve bilgi yazarak, kontrolcünün veri getirmesini, yazmasını, aygıtı kapatıp açmasını,... gibi işlemleri gerçekleştirir. Ayrıca aygıtın mevcut durumu hakkındaki bilgilerde bu yazmaçlardan elde edilir. Kontrol yazmaçlarından başka aygıtlarda veri tamponları (data buffers) bulunmaktadır. Bu tamponlardaki verileri işletim sistemi okuyabilir ve onlara veri yazabilir. Örneğin; ekran kartlarında bulunan tampon bellek alanına işletim sistemi veri yazar, bu veri görüntülenir. İşletim Sistemlerine Giriş - Ders11 7

Bellek Eşlemeli G/Ç (Memory Mapped I/O) İşlemcinin kontrolcünün yazmaçlarını okuyup buralara veri yazabilmesi için iki seçeneği vardır. Birinci olarak, her kontrol yazmacının bir port(kapı) numarası vardır. I/O işlemleri için özel assembly komutları kullanılır. IN REG,PORT OUT PORT,REG gibi. Bu sistemde bellek ve I/O için kullanılan adres uzayı farklıdır. İşletim Sistemlerine Giriş - Ders11 8

Bellek Eşlemeli G/Ç (Memory Mapped I/O) Birinci yöntem İkinci yöntem İşletim Sistemlerine Giriş - Ders11 9

Bellek Eşlemeli G/Ç (Memory Mapped I/O) İkinci yaklaşımda, tüm kontrol yazmaçları bellekteki belli bir alan ile eşleştirilirler. Her kontrol yazmacı belirli bir adrese atanır. Bu sisteme bellek eşlemeli G/Ç (memory mapped I/O) denilir. Bu şekilde işletim sistemi kullanıcı süreçleri ile I/O işlemleri arasındaki korumayı kolaylıkla gerçekleştirir. yazmaçların bulunduğu bellek alanını kullanıcının sanal bellek uzayına koymayarak kullanıcının bu alanları direkt kullanmasına engel olur. İşletim Sistemlerine Giriş - Ders11 10

Doğrudan Bellek Erişimi (DMA-Direct Memory Access) İşlemci doğrudan aygıt sürücüsünü kullanırsa her seferinde I/O verisini alacak ve örneğin belleğe koyacaktır. işlemci bu işlemlerde verinin içeriğini hiç kullanmaz. Taşıma için işlemci zamanı israf edilmiş olur. Bu durumlarda işlemci eğer var ise, kontrolcü üzerindeki DMA yı kullanır. Her aygıt için farklı DMA olabileceği gibi, birden fazla aygıt için ortak bir DMA da olabilir. DMA sistem yoluna(bus) işlemciden bağımsız olarak erişebilen bir donanımdır. İşletim Sistemlerine Giriş - Ders11 11

Doğrudan Bellek Erişimi (DMA-Direct Memory Access) İşletim Sistemlerine Giriş - Ders11 12

Doğrudan Bellek Erişimi (DMA-Direct Memory Access) DMA'da işlemci tarafından okunup/ değiştirilebilen birkaç yazmaç vardır. Bir bellek yazmacı, bir sayaç yazmacı, bir veya daha fazla kontrol yazmacı vardır. DMA olmadan yapılacak disk okuma işlemi şu şekilde gerçekleşir; Kontrolcü aygıttan verileri okur, okuduğu verileri bit bit kendi içindeki tampon(buffer)'a koyar. Okunan veride hata olup olmadığını kontrol eder. Veri depolandıktan sonra işlemciye bir kesme(interrupt) gönderilir. İşletim sistemi bu kesme sonucunda kontrolcünün iç yapısından bu veriyi okur ve belleğe yazar. İşletim Sistemlerine Giriş - Ders11 13

Doğrudan Bellek Erişimi (DMA-Direct Memory Access) DMA kullanıldığında durum biraz farklıdır; işlemci DMA yı programlar. Bu program, DMA ya nereden hangi veriyi alacağını, nereye koyacağını belirtir. İşlemci DMA ile birlikte okumak istedği aygıta da(örneğin disk) gerekli bilgileri gönderir, böylece aygıt okuduğu verileri iç tamponuna koyar. DMA işlemci gibi davranarak aygıta (örn: disk kontrolcüsüne) okuma (read) komutunu gönderir. Disk kontrolcüsü veriyi belleğe koyar ve DMA yı bilgilendirir. DMA kontrolcüsü sayacı bir azaltır ve sonraki bellek bilgisini disk kontrolcüsüne gönderir. Sayaç=0 olduğunda DMA işlemciye kesme(interrupt) gönderir. İşletim Sistemlerine Giriş - Ders11 14

Kesmeler (Interrupts) BUS İşletim Sistemlerine Giriş - Ders11 15

Kesmeler (Interrupts) Bir I/O aygıtı kendisine verilen görevi bitirince bir kesme (interrupt) oluşturur. Yola (Bus) bir sinyal koyar. Interrupt kontrolcüsü bu sinyali görür ve yapması gerekli olan işi yapar. Kesme kontrolcüsünde başka bir iş yoksa bu kesme hemen işlenir. Var ise bir kuyruğa konulur ve daha sonra işlenir. Yüksek öncelikli kesmeler öncelikle işlenirler. Kesme kontrolcüsüne gelen bu kesme işlemciye gönderilir ve işlemcinin kabul (ACK) yani alındı bilgisi gelene kadar bu kesme sinyali işlemciye gönderilmeye devam eder. İşletim Sistemlerine Giriş - Ders11 16

Kesmeler (Interrupts) İşlemciye gönderilen kesme numarasını işlemci kesme vektörü (interrupt vector) adı verilen tablodan kontrol eder ve bu kesmede gerçekleştirilecek olan kodların bulunduğu bir bellek bölgesinin (prosedür) başlangıç adresini elde eder. Bu adresi Program Counter(PC) program sayacına koyar, bu şekilde bu prosedür işlenmeye başlar. Prosedür işlenmeye başlayınca ilk iş olarak kesme kontrolcüsü bilgilendirilir. İşlemci kabul mesajını göndermeyi biraz geçiktirerek ölümcül kilitlenmeleri engeller. İşletim Sistemlerine Giriş - Ders11 17

Aygıt Sürücüleri (Device Drivers) Her aygıt kontrolcüsü üzerinde aygıta özel yazmaçlar bulunmaktadır. Bu yazmaçların sayısı aygıta bağlı olarak değişmektedir ve belirli aygıta verilebilen komutlarda çeşitlilik göstermektedir. Bilgisayara bağlı olan her I/O aygıtı kullanabilmek için o aygıta özel olan kodlar çalıştırılmalıdır. Aygıta özel çalıştırılan ve aygıtta istediğimiz işleri gerçekleştiren koda aygıt sürücüsü denilmektedir. Aygıt sürücüleri genellikle donanımı üreten şirketlerce yazılmaktadır ve donanım ile birlikte verilmektedirler. Her işletim sistemi için aygıt sürücüleri yazılır. (yaygın olanlar için) İşletim Sistemlerine Giriş - Ders11 18

Aygıt Sürücüleri (Device Drivers) Aygıt sürücüleri direkt çekirdek içerisinde olabileceği gibi kullanıcı uzayında da olabilir. Kullanıcı uzayında bulunan sürücülere sistem çağrıları kullanılarak erişilir. İşletim Sistemlerine Giriş - Ders11 19

Aygıt Sürücüleri (Device Drivers) İşletim sistemleri aygıtları blok ve karakter aygıtlar olarak sınıflandırır. İşletim sistemleri blok ve karakter aygıtlarını kullanabilmek için bu aygıtların sürücülerinin sağlaması gerekli olan arayüzü tanımlarlar. Sürücüler tanımlanmış olan bu arayüzü geçekleştirmek zorundadadır. Bu arayüz içerisinde sürücüde bulunması gerekli olan prosedürler bulunmaktadır. UNIX işletim sisteminde tüm sürücüler çekirdek içerisindeydi. UNIX işletim sistemi büyük bilgisayar merkezlerinde kullanıldığı için ve kullanılan donanımın değişmemesi nedeniyle bu yaklaşım sorun oluşturmuyordu. İşletim Sistemlerine Giriş - Ders11 20

Aygıt Sürücüleri (Device Drivers) UNIX makineye yeni bir donanım eklediğinizde bu donanıma ait olan sürücü işletim sisteminin koduna yönetici (administrator) tarafından eklenir ve işletim sisteminin çekirdeği tekrar derlenirdi. Bu şekilde oluşturulan yeni işletim sistemi çekirdeği kullanılırdı. Kişisel bilgisayarların gelişmesi ile kullanılan donanım çeşitlendi. UNIX makinelerde kullanılan bu sisteö ihtiyaçlara cevap vermesine rağmen deneyimsiz ve bilgisiz kullanıcılar tarafından yapılamadığı için geçersiz oldu. İşletim Sistemlerine Giriş - Ders11 21

Aygıt Sürücüleri (Device Drivers) Sürücülerin çalışma zamanında, ihtiyaç anında dinamik olarak gerçekleştirilmesi fikri ortaya atılmıştır ve günümüzde bu yöntem tercih edilmektedir. Aygıt sürücüsünde okuma, yazma, aygıtın açılıp kapatılması, hata kontrolü, günlükleme gibi işlemler olabilir. Aygıt sürücüsü kendisine işletim sistemi tarafından verilen parametreleri kontrol eder. Bu parametreler hatasız ise işlemi yerine getirir. Hatalı ise işletim sistemini bilgilendirir. Aygıt sürücüleri ve aygıtlar işletim sisteminde bir dosya gibi değerlendirilirler. Bu şekilde işletim sistemi dosyalar için uyguladığı güvenliği bu aygıtlara da uygular. İşletim Sistemlerine Giriş - Ders11 22

Tamponlama (Buffering) Örneğin bir süreç modemden veri okumak istesin. İlk çözüm (a), her seferinde gelen karakteri okumak ve diğer karakter gelinceye kadar bloklanmaktır. Her yeni gelen karakter bir kesme oluşturur. Kesme işleyicisi karakteri sürece taşır ve süreci aktif hale getirir. Süreç diğer karakter iin tekrar bloklanır. İşletim Sistemlerine Giriş - Ders11 23

Tamponlama (Buffering) (b)kullanıcı bir tampon alanı oluşturabilir. Gelen karakterler bu tampona yazılır. Bu tampon dolduğu zaman süreç uyandırılır.? Tampon dolu iken bir karakter gelirse? Her süreç tampon alanını kilitlerde İşletim Sistemlerine Giriş - Ders11 24

Tamponlama (Buffering) (c) Kullanıcıda ve çekirdekte tampon bulunabilir. Çekirdekteki tampon dolduğu zaman sürecin tamponuna aktarılır.? çekirdek tamponundaki veriler sürecin tamponuna aktarılırken yeni veri gelirse İşletim Sistemlerine Giriş - Ders11 25

Tamponlama (Buffering) (d) Çekirdeğe ikinci bir tampon eklenir. Bu şekilde aktarma sırasında yeni veri gelirse ikinci tampon kullanılır. Aynı şekilde bu tamponda sürecin tamponuna aktarılırken diğer tampon yeni veriler için kullanılır. İşletim Sistemlerine Giriş - Ders11 26

İşletim Sistemlerine Giriş Girdi/Çıktı (I/O) İşletim Sistemlerine Giriş - Ders11 27