İşletim Sistemi - G / Ç Donanımı
Bir İşletim Sisteminin önemli işlerinden biri, fare, klavyeler, dokunmatik yüzey, disk sürücüleri, ekran bağdaştırıcıları, USB aygıtları, Bit eşlemeli ekran, LED, Analogdan dijitale dönüştürücü, Açık / Kapalı dahil olmak üzere çeşitli G / Ç aygıtlarını yönetmektir. kapatma anahtarı, ağ bağlantıları, ses G / Ç, yazıcılar vb.
Bir I / O sistemi, bir uygulama I / O talebini alıp fiziksel cihaza göndermek, ardından cihazdan gelen yanıtı almak ve uygulamaya göndermek için gereklidir. G / Ç cihazları iki kategoriye ayrılabilir -
Block devices- Blok cihazı, sürücünün tüm veri bloklarını göndererek iletişim kurduğu bir cihazdır. Örneğin, Sabit diskler, USB kameralar, Disk-On-Key vb.
Character devices- Bir karakter aygıtı, sürücünün tek karakterleri (bayt, sekizli) gönderip alarak iletişim kurduğu aygıttır. Örneğin, seri bağlantı noktaları, paralel bağlantı noktaları, ses kartları vb.
Aygıt Denetleyicileri
Aygıt sürücüleri, belirli bir aygıtı işlemek için bir işletim sistemine takılabilen yazılım modülleridir. İşletim Sistemi, tüm G / Ç aygıtlarını işlemek için aygıt sürücülerinden yardım alır.
Aygıt Denetleyicisi, bir aygıt ile aygıt sürücüsü arasında bir arayüz gibi çalışır. G / Ç birimleri (Klavye, fare, yazıcı, vb.) Tipik olarak mekanik bir bileşenden ve elektronik bileşenin aygıt denetleyicisi olarak adlandırıldığı bir elektronik bileşenden oluşur.
İşletim Sistemleriyle iletişim kurmak için her aygıt için her zaman bir aygıt denetleyicisi ve bir aygıt sürücüsü vardır. Bir cihaz kontrolörü, birden fazla cihazı idare edebilir. Bir arabirim olarak ana görevi, seri bit akışını bayt bloğuna dönüştürmek, gerektiğinde hata düzeltmesi yapmaktır.
Bilgisayara bağlı herhangi bir cihaz bir fiş ve soket ile bağlanır ve soket bir cihaz denetleyicisine bağlanır. Aşağıda, CPU ve aygıt denetleyicilerinin tümünün iletişim için ortak bir veri yolu kullandığı CPU, bellek, denetleyiciler ve G / Ç aygıtlarını bağlamak için bir model verilmiştir.
Eşzamanlı ve eşzamansız G / Ç
Synchronous I/O - Bu şemada I / O devam ederken CPU yürütmesi bekler
Asynchronous I/O - G / Ç, CPU yürütme ile eşzamanlı olarak ilerler
I / O Cihazlarıyla İletişim
CPU'nun bir G / Ç cihazına ve G / Ç cihazından bilgi aktarımı için bir yolu olmalıdır. CPU ve Cihaz ile iletişim kurmak için üç yaklaşım vardır.
- Özel Talimat G / Ç
- Bellek eşlemeli G / Ç
- Doğrudan bellek erişimi (DMA)
Özel Talimat G / Ç
Bu, özellikle G / Ç cihazlarını kontrol etmek için yapılmış CPU talimatlarını kullanır. Bu talimatlar tipik olarak verilerin bir G / Ç cihazına gönderilmesine veya bir G / Ç cihazından okunmasına izin verir.
Bellek eşlemeli G / Ç
Bellek eşlemeli G / Ç kullanılırken, aynı adres alanı bellek ve G / Ç aygıtları tarafından paylaşılır. Aygıt doğrudan belirli ana bellek konumlarına bağlanır, böylece G / Ç aygıtı CPU'dan geçmeden bellekten / bellekten veri bloğu aktarabilir.
Bellek eşlemeli GÇ'yi kullanırken, işletim sistemi bellekte arabellek ayırır ve G / Ç aygıtına bu arabelleği CPU'ya veri göndermek için kullanması için bilgi verir. I / O cihazı CPU ile asenkron çalışır, bittiğinde CPU'yu keser.
Bu yöntemin avantajı, belleğe erişebilen her talimatın bir I / O cihazını değiştirmek için kullanılabilmesidir. Bellek eşlemeli GÇ, diskler, iletişim arabirimleri gibi çoğu yüksek hızlı G / Ç cihazı için kullanılır.
Doğrudan Bellek Erişimi (DMA)
Klavyeler gibi yavaş cihazlar, her bayt aktarıldıktan sonra ana CPU'da bir kesinti oluşturacaktır. Disk gibi hızlı bir aygıt her bayt için bir kesinti oluşturduysa, işletim sistemi zamanının çoğunu bu kesintileri ele almakla harcar. Bu nedenle tipik bir bilgisayar, bu ek yükü azaltmak için doğrudan bellek erişimi (DMA) donanımını kullanır.
Doğrudan Bellek Erişimi (DMA), CPU'nun G / Ç modülüne müdahale olmadan bellekten okuma veya bellekten yazma yetkisi verdiği anlamına gelir. DMA modülünün kendisi, ana bellek ile I / O cihazı arasındaki veri alışverişini kontrol eder. CPU yalnızca transferin başında ve sonunda yer alır ve yalnızca tüm blok transfer edildikten sonra kesilir.
Doğrudan Bellek Erişimi, veri aktarımlarını yöneten ve sistem veriyoluna erişimi düzenleyen DMA denetleyicisi (DMAC) adlı özel bir donanıma ihtiyaç duyar. Denetleyiciler, kaynak ve hedef işaretçileri (verilerin nerede okunacağı / yazılacağı), aktarılan baytların sayısını izlemek için sayaçlar ve CPU döngüleri için G / Ç ve bellek türleri, kesintiler ve durumları içeren ayarlar ile programlanır.
İşletim sistemi DMA donanımını aşağıdaki şekilde kullanır -
Adım | Açıklama |
---|---|
1 | Aygıt sürücüsüne, disk verilerini X tampon adresine aktarması talimatı verilmiştir. |
2 | Aygıt sürücüsü daha sonra disk denetleyicisine verileri arabelleğe aktarması talimatını verir. |
3 | Disk denetleyicisi DMA aktarımını başlatır. |
4 | Disk denetleyicisi, her baytı DMA denetleyicisine gönderir. |
5 | DMA kontrolörü baytları arabelleğe aktarır, bellek adresini arttırır, C sayacını C sıfır olana kadar azaltır. |
6 | C sıfır olduğunda, DMA aktarımın tamamlandığını bildirmek için CPU'yu kesintiye uğratır. |
Yoklama ve Kesintiler G / Ç
Bir bilgisayar, herhangi bir giriş türünün gelişini algılayacak bir yönteme sahip olmalıdır. Bunun gerçekleşmesinin iki yolu vardır.polling ve interrupts. Bu tekniklerin her ikisi de işlemcinin herhangi bir zamanda meydana gelebilecek ve şu anda çalıştırmakta olduğu işlemle ilgili olmayan olaylarla başa çıkmasına izin verir.
Sorgulama G / Ç
Yoklama, bir G / Ç aygıtının işlemciyle iletişim kurmasının en basit yoludur. Bir sonraki G / Ç işleminin zamanının gelip gelmediğini görmek için cihazın durumunu periyodik olarak kontrol etme işlemine sorgulama denir. G / Ç cihazı, bilgileri bir Durum kaydına koyar ve işlemcinin gelip bilgiyi alması gerekir.
Çoğu zaman, cihazlarla ilgilenilmesi gerekmeyecektir ve biri olduğunda, bir sonraki sorgulama programı tarafından sorgulanana kadar beklemek zorunda kalacaktır. Bu verimsiz bir yöntemdir ve işlemcilerin zamanının çoğu gereksiz anketlerde boşa harcanmaktadır.
Bu yöntemi, bir sınıftaki her öğrenciye sürekli olarak yardıma ihtiyaçları olup olmadığını soran bir öğretmenle karşılaştırın. Açıkçası, daha verimli yöntem, bir öğrencinin yardıma ihtiyaç duyduğunda öğretmeni bilgilendirmesi olacaktır.
I / O'yu kesintiye uğratır
G / Ç ile başa çıkmak için alternatif bir şema, kesintiye dayalı yöntemdir. Kesinti, mikroişlemciye dikkat gerektiren bir cihazdan gelen bir sinyaldir.
Bir aygıt denetleyicisi, CPU bir kesme aldığında CPU'nun dikkatine ihtiyaç duyduğunda veriyoluna bir kesme sinyali koyar, mevcut durumunu kaydeder ve kesme vektörünü (çeşitli olayları işlemek için işletim sistemi rutinlerinin adresleri) kullanarak uygun kesme işleyicisini çağırır. Kesilen cihazla ilgilenildiğinde, CPU hiç kesintiye uğramamış gibi orijinal görevine devam eder.