Skip to main content

Co je to signální programování?

Programování signálu je termín často používaný k označení počítačového programu, který funguje především v reakci na signály nebo události generované nějakou změnou stavu nebo vstupem uživatele.Téměř jakákoli část počítačového systému, od periferního zařízení po samotný operační systém, může generovat signál, který může být zachycen aplikací a poté zpracován.V mnoha formách se programování signálu podobá programování řízené události.Některá z nejběžnějších použití pro programování signálu jsou s grafickými uživatelskými rozhraními, která reagují na uživatelské vstupy, síťovou komunikaci a programy nízké úrovně, které zachycují a zpracovávají specifické systémové signály.

Signál v počítačovém programování lze definovat jako zpráva, an.událost nebo přerušení v závislosti na jeho původu, architektuře systému nebo dokonce na preferenci programátora.V nejširším vyjádření je to indikátor, že se některé stav nebo kus dat změnili, a někdy je doprovázen dalšími informacemi o změně, ke které došlo.Signál může být generován uživatelem, když je klíč stisknut, z hardwaru, jako je monitor, když dojde k vertikálnímu opakování, nebo dokonce z operačního systému, když se během přidělování paměti stane něco, jako je porucha stránky,

v rámci aplikace,Programování signálu může přijmout několik typů architektur, ale jedním z nejběžnějších je posluchač nebo model pozorovatele.V této metodě může být kus kódu definovaného uživatelem nějakým způsobem předán obslužnému lékaři, obvykle v operačním systému, který pak volá tento kus kódu ke zpracování jakýchkoli signálů, které odpovídají tomu, co funkce hledá.Typ signálu, který funkce zvládne často, je určen proměnnou známou jako signální maska, takže některé signály nejsou předány rutinám, které s nimi zvládnou.To přijímá příchozí signály.Tato fronta je dotazována v hlavní prováděcí smyčce programu a program reaguje, jakmile vstoupí signál do fronty.Každý signál pak může být logicky tříděn, manipulován, ignorován nebo předán jinému procesu.Komplikace mohou nastat, pokud například dvě samostatná vlákna poslouchají signály generované dvěma samostatnými vstupními zařízeními nebo ze dvou síťových zásuvek.Pokud se dva uživatelé současně pokusí provést změnu některých dat, mohla by data programu vypadnout ze synchronizace a každý uživatel se objevit jinak.Použití lineární fronty nebo implementace metod synchronizace vláken může pomoci této situaci.