Hva er forskjellen mellom signal og avbrudd

De hovedforskjell mellom signal og avbrudd er det signal er en hendelse som utløses av CPUen eller programvaren som kjører på CPU mens en avbrytelse er en hendelse som utløses av en ekstern komponent annet enn CPU.

Et signal er en hendelse utløst av CPU. Den sender disse signalene til ulike prosesser som kjører på datamaskinen. På den annen side er en avbrudd en hendelse som oppstår på grunn av en ekstern komponent som timere for å varsle CPUen til å utføre en viss handling.

Nøkkelområder dekket

1. Hva er Signal
     - Definisjon, funksjonalitet
2. Hva er Avbryt
     - Definisjon, funksjonalitet
3. Hva er likhetene mellom signal og avbrudd
     - Oversikt over vanlige funksjoner
4. Hva er forskjellen mellom signal og avbrudd
     - Sammenligning av nøkkelforskjeller

Nøkkelord

CPU, Avbryt, Signal

Hva er Signal

Et signal er en hendelse utløst av CPU. Det kan være en avbrudd forårsaket av programvaren som kjører på CPU. Dette kalles en programvareavbrudd. Det kan også være CPU-maskinvare selv som utløser visse hendelser. Videre er signaler basert på operativsystemet. Derfor vil to systemer med forskjellige operativsystem generere forskjellige signaler.

Videre er det synkrone signaler samt asynkrone signaler. Synkrone signaler oppstår som svar på en bestemt handling som oppstod og CPU'en vil reagere på denne handlingen. På den annen side, i asynkrone signaler, er det ikke noe direkte svar på en bestemt handling som skjedde.

Hva er Avbryt

En avbrudd er en hendelse som oppstår eksternt av andre komponenter enn CPU. Den underretter CPU om noe slags eksternt arrangement. En IO-enhet, for eksempel en nettverksenhet, kan sende et avbrudd for å indikere mottatte datapakker. Videre kan en tidtaker varsle en timeout-hendelse til CPU. En avbrudd avhenger av den fysiske plattformen og konfigurasjonen av plattformen. Derfor vil to identiske plattformer ha samme avbrudd. I tillegg oppstår forstyrrelser asynkront.

Likheter mellom signal og avbrudd

  • Signaler og avbrudd har unike IDer.
  • Begge kan maskeres. De hjelper til med å deaktivere eller suspendere varselet signalet eller avbrytingen leverer.

Forskjellen mellom signal og avbrudd

Definisjon

Et signal er en hendelse som utløses av CPU eller programvaren som kjører på CPU. I motsetning til dette er en avbrytelse en begivenhet som utløses av eksterne komponenter enn CPUen som varsler CPUen for å utføre en bestemt handling. Hovedforskjellen mellom signal og avbrudd er eksplisitt fra disse definisjonene. 

avhengighet

Mens et signal avhenger av plattformen, avhenger avbrudd av operativsystemet. Dermed er dette en viktig forskjell mellom signal og avbrudd.

Signaltype

En annen forskjell mellom signal og avbrudd er at et signal kan være synkron eller asynkron, mens en avbrudd er asynkron.

Maske

Videre bruker et signal en per-prosess-signalmaske mens en avbrudd bruker en pre-CPU-avbruddsmaske.

Forening med CPU

CPU sender signaler til prosesser mens CPU mottar avbrudd fra eksterne komponenter. Dette er en annen forskjell mellom signal og avbrudd.

Konklusjon

Forskjellen mellom signal og avbrudd er at signalet er en hendelse som utløses av CPUen eller programvaren som kjører på CPU mens en avbrytelse er en hendelse som utløses av en annen ekstern komponent enn CPUen.

Henvisning:

1. "Interrupts and Signals Intro", Utacity, 23. februar 2015, Tilgjengelig her.
2. "Hva er et avbrudd? - Definisjon fra Techopedia. "Techopedia.com, tilgjengelig her.

Bilde Courtesy:

1. "ANS700-CPU-brett" Av Henrik Wannheden - Eget arbeid (Public Domain) via Commons Wikimedia