OS'de Kesme ve Yoklama Arasındaki Fark

Yazar: Laura McKinney
Yaratılış Tarihi: 2 Nisan 2021
Güncelleme Tarihi: 14 Mayıs Ayı 2024
Anonim
OS'de Kesme ve Yoklama Arasındaki Fark - Teknoloji
OS'de Kesme ve Yoklama Arasındaki Fark - Teknoloji

İçerik


İşlemciye fare, klavye, tarayıcı, bilgisayar vb. Gibi pek çok harici aygıt eklenmiştir. Bu aygıtların da CPU dikkatine ihtiyacı vardır. Bir CPU'nun PDF görüntülemekle meşgul olduğunu ve masaüstündeki pencere medya oynatıcı simgesini tıklattığını varsayalım. İşlemci böyle bir olayın ne zaman ortaya çıkacağına dair bir fikri olmasa da, bu girişlere G / Ç cihazlarından yanıt vermesi gerekir. Kesme ve Yoklama, CPU başka bir işlemi yürütmekle meşgulken herhangi bir anda gerçekleşebilecek cihazların ürettiği olayları ele almanın iki yoludur.

Yoklama ve Kesme, CPU'nun şu anda yaptığı şeyi durdurmasına ve daha önemli göreve yanıt vermesine izin verir. Yoklama ve Kesme, birçok açıdan birbirinden farklıdır. Ancak, Polling ve Interrupt'ı ayıran temel nokta, oy verme CPU, G / Ç aygıtlarını CPU servisine ihtiyaç duyup duymadığını düzenli aralıklarla kontrol ederken, kesmekG / Ç aygıtı CPU'yu keser ve CPU'ya CPU servisine ihtiyacı olduğunu söyler. Interrupt ve Polling arasındaki bazı farklılıkları aşağıdaki karşılaştırma tablosunda tartıştım, lütfen bir göz atın.


  1. Karşılaştırma Tablosu
  2. Tanım
  3. Anahtar Farklılıklar
  4. Sonuç

Karşılaştırma Tablosu

Karşılaştırma için temelKesmekoy verme
TemelCihaz CPU'ya ihtiyacı olması gerektiğini CPU'ya bildirir.CPU sürekli olarak cihazın durumunu CPU'ların dikkatini gerektirip gerektirmediğini kontrol eder.
mekanizmaBir kesinti bir donanım mekanizmasıdır.Yoklama bir Protokoldür.
servisInterrupt işleyicisi, Aygıt'a hizmet eder.CPU cihaza hizmet eder.
belirtiKesinti isteği satırı, cihazın servis gerektirdiğini gösterir.Kullanıma hazır bit, cihazın servis gerektirdiğini gösterir.
İşlemciCPU sadece bir cihazın servis gerektirmesi durumunda bozulur ve bu işlem CPU döngülerini azaltır.CPU, çok fazla CPU çevrimi boşa harcayan bir cihazın servis gerektirip gerektirmediğini kontrol etmek zorundadır.
olayHerhangi bir zamanda bir kesinti olabilir.CPU cihazları düzenli aralıklarla yoklar.
verimAygıtlar CPU'yu tekrar tekrar kesmeye devam ettiğinde, kesme verimsiz hale gelir.
CPU nadiren servise hazır bir cihaz bulduğunda yoklama etkin olmaz.
ÖrnekZili çaldıktan sonra kimin geldiğini kontrol etmek için kapıyı açalım.Herhangi birisinin gelip gelmediğini kontrol etmek için sürekli kapıyı açmaya devam edin.


Interrupt tanımı

Bir kesme donanım mekanizması Bu CPU'nun bir cihazın dikkatine ihtiyacı olduğunu tespit etmesini sağlar. CPU'nun bir kablosu var kesme isteği satırı Her bir talimatın uygulanmasından sonra CPU tarafından kontrol edilir. CPU, kesme talebi satırında bir kesme sinyali algıladığında, CPU şu anda yürütme görevini durdurur ve kontrolü I / O aygıtının kesmesine, kontrol ünitesine ileterek yanıt verir. kesme işleyicisi. Kesme işleyicisi, cihaza servis vererek kesintiyi giderir.

Her ne zaman herhangi bir anda ortaya çıkabileceği için CPU ne zaman bir kesinti olacağının farkında olmasa da, ne zaman gerçekleştiğinde kesinliğe cevap vermek zorundadır.

Kesme işleyicisi kesme işlemini tamamladığında, ardından CPU özgeçmiş Kesintiye yanıt vermek için durdurduğu görevin yerine getirilmesi. Yazılım, donanım, kullanıcı, programda bazı hatalar, vb. ayrıca bir kesinti üretebilir. CPU'nun yol açtığı yol açmayı keser çoklu görevyani bir kullanıcı aynı anda birkaç farklı görevi gerçekleştirebilir.

CPU'ya birden fazla kesinti gönderilirse, kesinti işleyicisi işlenmeyi bekleyen kesintileri yönetmeye yardımcı olur. Kesme işleyicisi alır gibi tetiklenir bir kesinti alımı ile öncelik CPU tarafından işlenmeyi bekleyen kesintileri ve kuyruk servis almak için.

Polling'un tanımı

Kesintilerde gördüğümüz gibi, G / Ç cihazından gelen giriş, CPU'dan işlem yapmasını isteyen herhangi bir anda ulaşabilir. Yoklama bir protokol bu, bir cihazın dikkatine ihtiyacı olduğunu CPU'ya bildirir. Kesintiden farklı olarak, aygıtın CPU'ya CPU işlemesi gerektiğini söylediği durumlarda, sorgulama CPU'sunda sormak G / Ç aygıtının CPU işlemesi gerektirip gerektirmediği.

CPU devamlı olarak Herhangi bir cihazın CPU dikkatine ihtiyaç duyup duymadığını tespit etmek için bağlı her cihazı test edin. Her cihaz bir Komut hazır Bu cihazın durumunu gösteren bit, yani CPU tarafından yürütülecek bazı komutlar olup olmadığını. Komut biti ayarlandıysa 1, o zaman bit ise başka bir komutun çalıştırılması gerekir. 0, o zaman hiçbir komutları yoktur. İşlemci bir meşgul bit bu işlemin meşgul olup olmadığını CPU durumunu gösterir. Meşgul bit ayarlandıysa 1, sonra bazı aygıtların komutlarını çalıştırmakla meşgul, başka bir deyişle 0.

Oy kullanma algoritması

  • Bir aygıt CPU tarafından yürütülecek bazı komutlara sahip olduğunda, sürekli olarak açık olana kadar CPU'nun meşgul bitini kontrol eder (0).
  • Meşgul bit netleştiğinde, cihaz komut yazıcısına yazma bitini ayarlar ve veri çıkış yazıcısına bir bayt yazar.
  • Şimdi cihaz (1) komuta hazır biti ayarlar.
  • CPU komut için hazır olan aygıtları denetlediğinde ve (1) setini bulduğunda, meşgul bitini (1) ayarlar.
  • CPU daha sonra cihazın komut kaydını okur ve cihazın komutunu çalıştırır.
  • Komut yürütme işleminden sonra CPU (0) komutun hazır bitini, cihazın komutunun başarılı bir şekilde yürütüldüğünü göstermek için cihazın hata bitini temizler ve ayrıca CPU'nun yürütmek için serbest olduğunu belirtmek için meşgul bitini de temizler (0). başka bir cihazın komutu.
  1. Ara vermede cihaz servis işlemine ihtiyacı olduğunu CPU'ya bildirir, oylama işleminde ise CPU sürekli olarak bir cihazın servis gerektirip gerekmediğini kontrol eder.
  2. Kesme bir donanım mekanizma CPU'nun bir teli olduğu gibi, kesme isteği satırı bu kesmenin gerçekleştiği sinyal. Öte yandan, Yoklama bir protokol kontrol etmeye devam ediyor kontrol bitleri Bir cihazın yürütmek için bir şey olup olmadığını bildirmek için.
  3. Kesme işleyicisi cihazlar tarafından üretilen kesintileri ele alır. Diğer taraftan, sandıkta İşlemci Gerektiğinde cihaza servis verir.
  4. Kesintiler, kesme isteği satırı. Ancak, Komut hazır bit, cihazın servis gerektirdiğini gösterir.
  5. Kesmelerde, CPU yalnızca herhangi bir cihaz kesdiğinde bozulur. Öte yandan, sorgulamada, CPU her cihazın komuta hazır bitini tekrar tekrar kontrol ederek çok fazla CPU döngüsü harcar.
  6. Bir kesinti meydana gelebilir herhangi bir zamanda oysa, CPU cihazı sorgulamaya devam ediyor Düzenli aralıklarla.
  7. CPU, cihazı sorgulamaya devam ettiğinde ve servis için hazır herhangi bir cihazı nadiren bulduğunda yoklama etkin olmaz. Diğer taraftan, cihazlar CPU işlemlerini tekrar tekrar kesmeye devam ettiğinde kesintiler verimsiz hale gelir.

Sonuç:

Yoklama ve Kesmeler Hem I / O cihazlarına katılırlar. Ancak yukarıda tartışıldığı gibi belirli koşullarda verimsiz olabilirler.