Multikøyring (engelsk multitasking) gjer det mogeleg for eitt operativsystem å køyra fleire prosessar samstundes.

Mange datamaskiner kan berre køyra ein (data)tråd om gongen, men dels for å skapa eit inntrykk av det at skjer samstundes, dels for å effektivt utnytta ulike delar av datamaskina, har datamaskina ei kø av aktive prosessar og byter mellom desse titals gonger per sekund eller oftare. Så lenge datamaskina ikkje er overbelasta opplever eit menneske det som at trådane køyrast samstundes. Datamaskiner med fleire prosessorar kan køyra fleire trådar samstundes, men nyttar vanlegvis likevel den her skildra tidsdelte multikøyringa.

To typar av multikøyring

endre

Det finst to måtar å gå fram for å oppnå multikøyring. Tidsdelt (en: preemptive) og samverkande (en: cooperative) multikøyring. I samverkande multikøyring overlatar kvar prosess frivillig over prosessoren til ein annan prosess med jamne mellomrom, til dømes sjølv om prosessen enno ventar på noko.

Om datasystemet har tilgang til eit tidsavbrot, det vil seia at ei spesiell rutine kan kallast periodisk, kan tidsdelt multikøyring nyttast. Ei særskild rutine, ei skjemalagring ligg på tidsavbrotet. Skjemalagring vel ut i frå ulike kriterier ut den prosessen som som får litt prosessortid og startar denne. Skjemalagring avbryt so prosessen, for å gje ein annan prossess prosessortid.

Fordelen med tidsdelt multikøyring er at sjølv om ein prosess læs seg, so stoggar ikkje heile systemet. Ved samverkande multikøyring læs ein prosess som køyrer heile systemet. Dette er ein fordel for mindre kraftige system der resurssane er avgrensa, eller ved spesielle maskinvareoppsett. Også i realtidssystem, der det vert foretatt determinitisk skjemalagring med garanterte svartider, kan samverkande multikøyring vera ein fordel.

Eksempel

endre

Samverkande multikøyring

endre

Eksempel på operativsystem som nyttar seg av samverkande multikøyring;

Tidsdelt multikøyring

endre

Eksempel på operativsystem som nyttar seg av tidsdelt multikøyring;

Kjelde

endre