Multitasking

Med multitasking (på italiensk multiprosessualitet ), i informatikk , indikerer vi muligheten til en programvare til å kjøre flere programmer samtidig: for eksempel hvis systemet blir bedt om å utføre to prosesser A og B samtidig, vil CPU -en vil utføre prosessen i noen øyeblikk av tid A, deretter i noen øyeblikk etter prosess B, deretter vil den gå tilbake for å utføre prosess A og så videre; overgangen fra prosess A til prosess B og vice versa kalles " context switch " .

Avgjørelser angående utførelse av en kontekstsvitsj mellom to programmer tas av en programvarekomponent i operativsystemet , planleggeren , som vil sende sine beslutninger hovedsakelig gitt av nice til en annen modul i operativsystemet, koordinatoren som faktisk vil utføre endring av kontekst: avhengig av hvilken tjenestestrategi ( planleggingsalgoritme ) som følges, kontrollerer planleggeren allokeringen av CPU-tid blant alle aktive prosesser. Det er to hovedteknikker for å kontrollere termen og pausen til multitasking: den gamle uten forkjøp ( cooperative ) og den nye med preemptive ( preemptive ), men i dag ligger den virkelige kraften til multitasking kun i planleggingsalgoritmen som brukes.

Beskrivelse

Det er hovedsakelig to typer multiprogrammering:

Graden av multiprogrammering indikerer evnen til et system til å kunne utføre flere prosesser i minnet .

Multitasking uten forkjøpsrett ( kooperativer )

Også kjent som cooperativ multitasking , i dette tilfellet gir programmene frivillig kontroll til operativsystemet når operasjonen som pågår er fullført: dette er tilfellet for macOS opp til versjon 9 , eller Windows 3.0 og 3.1 . Den største fordelen med denne metoden er at den ikke trenger maskinvarestøtte og kan implementeres på alle typer arkitektur. Den alvorlige ulempen er at et enkelt program som nekter å gi opp kontrollen, eller stopper ved en feiltakelse, kan låse opp hele datamaskinen, siden operativsystemet ikke har noen mulighet til å gjenvinne kontrollen av seg selv. Mer presist implementerer planleggeren uten forkjøp en endring av kontekst bare under omstendigheter som:

Multitasking forebyggende rediger

Preemption (eller tidlig utgivelse ) er handlingen for å avbryte et program uavhengig av viljen til selve programmet, dette skjer takket være spesielle maskinvarestrukturer integrert i mikroprosessoren som automatiserer endringen av kontekst ( kontekstbryter ): i dette tilfellet ikke bare planleggeren griper inn i omstendighetene gitt av en planlegger uten forkjøpsrett, men også i tilfeller som:

En forebyggende multitasking kan derfor ikke implementeres hvis maskinvareplattformen ikke gir de nødvendige verktøyene, men på den annen side, takket være maskinvaren, er endringen av kontekst mye mer effektiv, og favoriserer bruken av vanlige tidskvanter. og en mer "flytende" utførelse av de ulike prosessene. Full forebyggende multitask har blitt tatt i bruk av de fleste moderne operativsystemer.

Historisk poeng om forebyggende multitasking-operativsystemer

De første operativsystemene for personlige datamaskiner og hjemmedatamaskiner som kom ut på markedet, som inneholdt forebyggende multitasking, var: Minix , Xenix , OS-9 (alle tre avledet fra Unix ) og Sinclair QDOS (som utstyrte Sinclair QL -maskinen ) .

Sinclair QL (fra Quantum L eap , quantum leap ) var en 8-bits 68008 - basert hjemme-/persondatamaskin . Operativsystemet, kalt QDOS, var multitasking og multithreading og integrerte en kraftig grunnleggende tolk, verktøy og produktivitetsprogrammer og et primitivt vinduet GUI ; den ble imidlertid først ødelagt av flere feil, fordi den ble plassert på markedet for raskt i et forsøk på å motvirke den mye publiserte utgivelsen av Apple Macintosh . Til og med Sinclair QL ble offisielt presentert for publikum uten at operativsystemet var klart, på grunn av vanskelighetene med programmering og testing. Senere ble problemene løst, men Sinclair hadde da allerede solgt datadivisjonen til Amstrad , som foretrakk å forlate produktet.

QL hadde liten suksess og ulykken med å være den siste semi-profesjonelle 8-bits datamaskinen som kom på markedet omtrent samtidig som nye 16-bits systemer som IBM PC og de første 16-bit hybridsystemene ble introdusert. / 32 bit Macintosh , Atari ST og Amiga .

Spesielt denne siste datamaskinen var den første mye brukte datamaskinen på markedet som tok i bruk forebyggende multitasking med AmigaOS , i 1985 , da Unix fortsatt var privilegiet til universiteter og store datasentre.

AmigaOS har demonstrert for allmennheten gyldigheten av en forebyggende multitasking-arkitektur, forbedret både ved å legge til et sett med koprosessorer dedikert til grafikk, lyd og fremfor alt til kontroll av minne-BUS, og ved tilgjengeligheten av ekstra kort med Direct minnetilgang .

Disse koprosessorene ble delegert tilleggsberegningene og den direkte kontrollen av periferiutstyret, noe som gjorde det mulig å oppnå utmerket ytelse selv med prosessorer med et lavt antall klokker, som derfor kunne være helt tilgjengelig for administrasjons- og produktivitetsprogrammer og for behovene til systemkommandoer.

Mekanismen med forebyggende multitasking på Amiga kunne dermed umiddelbart oppfattes av brukeren, for det første på grunn av den relative hastigheten som systemet ble administrert med, og for det andre fordi brukeren selv kunne se de forskjellige programmene som kjører samtidig, takket være den spesielle administrasjonen av flere Amiga-skjermer. Denne siste funksjonen, unik på den tiden, tillot brukeren å ha på samme skjerm flere uavhengige og overliggende skjermer (selv med forskjellige videooppløsninger), som kunne heves og senkes med musen, for å kunne se flere programmer på skjermen full oppdatere sine egne grafikkskjermer parallelt.

1990-tallet var forebyggende multitasking utbredt på personlige datamaskiner med Windows-operativsystemer fra Windows 95 og utover, OS/2 , BeOS og forskjellige Unix- og Unix-lignende systemer inkludert GNU/Linux og macOS .

Andre betydninger

På det psykologiske feltet betyr multitasking , eller gresshoppesinnet , krampaktig bruk av flere enheter samtidig.

Relaterte elementer

Eksterne lenker