Polling (počítačová věda) - Polling (computer science)

Anketanebo dotázaný provoz, v počítačová věda, odkazuje na aktivní vzorkování stavu souboru externí zařízení podle a klientský program jako synchronní činnost. Polling se nejčastěji používá z hlediska vstup výstup (I / O), a je také označován jako dotázaný I / O nebo řízeno softwarem I / O.

Popis

Polling je proces, při kterém počítač nebo řídicí zařízení čeká na externí zařízení zkontrolovat jeho připravenost nebo stav, často s nízkoúrovňovým hardwarem. Například když a tiskárna je připojen přes paralelní port, počítač čeká, dokud tiskárna neobdrží další znak. Tyto procesy mohou být stejně minutové jako pouze čtení jeden bit. To se někdy používá jako synonymum pro 'zaneprázdněn 'hlasování. V této situaci, když I / O je vyžadován provoz, počítač nedělá nic jiného než kontrolu stavu I / O zařízení, dokud není připraveno, a v tomto okamžiku je k zařízení přistupováno. Jinými slovy, počítač čeká, dokud nebude zařízení připraveno. Polling také odkazuje na situaci, kdy je zařízení opakovaně kontrolováno na připravenost, a pokud tomu tak není, počítač se vrátí k jiné úloze. I když ne tak plýtvání procesor cykly jako rušné čekání, to obecně není tak efektivní jako alternativa k dotazování, přerušit -driven I / O.

V jednoduchém jednoúčelovém systému je dokonce i obsazeno-čekání naprosto vhodné, pokud není možná žádná akce I / O přístup, ale častěji to bylo tradičně důsledkem jednoduchého hardwaru nebomultitasking operační systémy.

Anketa je často úzce spojena s velmi hardware nízké úrovně. Například dotazování na paralelní port tiskárny pro kontrolu, zda je připraven na jiný znak, zahrnuje zkoumání co nejmenšího bit a byte. Tento bit představuje v době čtení, zda je jeden vodič v kabelu tiskárny nízký nebo vysoký. The I / O instrukce, která čte tento bajt, přímo přenáší stav napětí osmi vodičů reálného světa do osmi obvodů (žabky ), které tvoří jeden bajt registru CPU.

Polling má tu nevýhodu, že pokud je příliš mnoho zařízení ke kontrole, může čas potřebný k jejich vyzvednutí překročit čas dostupný pro servis I / O zařízení.

Algoritmus

Polling lze popsat v následujících krocích:

Akce hostitele:

  1. Hostitel opakovaně čte zaneprázdněný bit ovladače, dokud nebude čirý (s hodnotou 0).
  2. Když je jasné, hostitel zapíše příkaz do příkazu Registrovat. Pokud hostitel odesílá výstup, nastaví bit pro zápis a zapíše bajt do datového registru. Pokud hostitel přijímá vstup, načte data zapsaná řadičem z registru datových vstupů a nastaví bit pro čtení na 0 jako další příkaz.
  3. Hostitel nastaví bit připravený na příkaz na 1.

Akce ovladače:

  1. Když si kontrolér všimne, že je nastaven bit připravený na příkaz, nastaví obsazovací bit na 1.
  2. Řídicí jednotka čte příkazový registr. Pokud je nastaven zapisovací bit uvnitř, čte z datového registru a provádí potřebné I / O operace na zařízení. Pokud je nastaven bit pro čtení, data ze zařízení se načtou do datového registru, který má hostitel přečíst.
  3. Jakmile operace skončí, řadič vymaže bit připravený na příkaz, vymaže chybový bit, aby zobrazil, že operace proběhla úspěšně, a vymaže obsazovací bit.

Typy

A volební cyklus je čas, ve kterém je každý prvek monitorován jednou. Optimální cyklus dotazování se bude lišit podle několika faktorů, včetně požadované rychlosti odezvy a režie (např. doba procesoru a šířka pásma ) voleb.

v hlasování podle jmen, dotazovací zařízení nebo proces dotazuje každý prvek v seznamu v pevném pořadí. Protože čeká na odpověď od každého prvku, je nezbytný časovací mechanismus, aby se zabránilo zablokování způsobenému neodpovídajícími prvky. Vyzvánění podle role může být neefektivní, pokud je režie pro zprávy s výzvou vysoká, v každém cyklu dotazování existuje řada prvků, které mají být dotazovány, a aktivní je pouze několik prvků.

v průzkum veřejného mínění, označovaný také jako dotazování tokenů, každý prvek dotazuje další prvek v určité pevné posloupnosti. To pokračuje, dokud není dosažen první prvek, kdy cyklus dotazování začíná znovu.

Polling lze použít v různých výpočetních kontextech, aby bylo možné řídit sekvenci provádění nebo přenosu zúčastněných prvků. Například v operačních systémech s více úkoly najednou lze dotazování použít k přidělení času procesoru a dalších zdrojů různým konkurenčním procesům.

V sítích se dotazování používá k určení, které uzly chtějí přistupovat k síti. Používá se také směrovacími protokoly k načítání směrovacích informací, jako je tomu v případě EGP (protokol vnější brány ).

Alternativou k dotazování je použití přerušení, což jsou signály generované zařízeními nebo procesy, které naznačují, že vyžadují pozornost, chtějí komunikovat atd. I když může být dotazování velmi jednoduché, v mnoha situacích (např. operační systémy s více úkoly) je efektivnější používat přerušení, protože to může snížit využití procesoru a / nebo spotřeba šířky pásma.

Anketa

A hlasovací zpráva je zpráva s potvrzením kontroly.

V uspořádání vícedropové linky (centrální počítač a různé terminály, ve kterých terminály sdílet jednu komunikační linku do az počítače), systém používá a otrokář uspořádání dotazování, kdy centrální počítač odesílá zprávu (tzv. dotazovací zprávu) na konkrétní terminál na odchozí lince. Všechny terminály poslouchají odchozí linku, ale pouze terminál, který je dotazován, odpovídá odesláním jakékoli informace, kterou má připravenou k přenosu na příchozí lince.[1]

v hvězdné sítě, který ve své nejjednodušší podobě sestává z jednoho centrálního přepínač, rozbočovač nebo počítač, který funguje jako kanál pro přenos zpráv, není nutné provádět dotazování, aby se zabránilo chaosu na linkách, ale často se používá k tomu, aby umožnil veliteli získávat vstup řádným způsobem. Tyto hlasovací zprávy se liší od zpráv v případě víceřádkových linek, protože nejsou potřeba žádné adresy stránek a každý terminál přijímá pouze ty ankety, které jsou na něj směrovány.[1]

Viz také

Reference

  1. ^ A b „Multi-Drop Polling“. Datová komunikace RAD / pulzní napájení. 2007. Archivovány od originál dne 2014-02-17. Citováno 2014-07-13.