Et multi-threaded operativsystem (OS) er et, der gør det muligt for flere udførelsestråde at køre samtidigt inden for en enkelt proces, og ofte også flere processer samtidig. Dette adskiller sig fra et enkelt-threaded OS, hvor kun en tråd kører ad gangen. Den vigtigste forskel ligger i * samtidighed * -aspektet.
Her er en sammenbrud:
* processer: En proces er et uafhængigt, selvstændigt eksekveringsmiljø. Det har sit eget hukommelsesrum, ressourcer og sikkerhedskontekst. Tænk på det som en separat applikation, der kører på din computer.
* tråde: En tråd er en let udførelsesenhedsenhed * inden for * en proces. Flere tråde kan dele den samme process hukommelsesrum, hvilket gør kommunikationen mellem dem hurtigere og lettere end kommunikation mellem separate processer. Tænk på tråde som forskellige opgaver, der sker inden for den samme applikation.
I et multi-threaded OS:
* Samtidig udførelse: Flere tråde kan se ud til at køre samtidigt, selv på en enkelt-core-processor. OS skifter hurtigt mellem tråde, hvilket giver hver en lille skive behandlingstid (kontekstskift). Dette skaber illusionen om parallelisme, selv uden ægte parallel hardware.
* Forbedret lydhørhed: Hvis en tråd blokerer (f.eks. Venter på brugerinput), kan andre tråde i den samme proces fortsætte med at køre, hvilket forhindrer, at hele applikationen fryser. Dette er afgørende for interaktive applikationer.
* ressourcedeling: Tråde inden for den samme proces kan dele ressourcer som hukommelse og filer effektivt.
* parallelisme (på multi-core-systemer): På systemer med flere processorkerner er ægte parallelisme mulig. Forskellige tråde kan køre på forskellige kerner samtidig, hvilket øger ydelsen markant.
Eksempler: Næsten alle moderne operativsystemer, herunder Windows, MacOS, Linux og Android, er multi-threaded. De understøtter både multi-threading inden for processer og den samtidige udførelse af flere processer.
Kontrast med enkelt-threaded OS: Et enkelt-threaded OS kan kun udføre en tråd ad gangen. Hvis en opgave blokerer, venter hele systemet. Sådanne systemer er meget sjældne i dag og findes for det meste i indlejrede systemer med meget begrænsede ressourcer.