Operativsystemet (OS) koordinerer oppgaver gjennom en kombinasjon av planlegging, ressursallokering og kommunikasjon. Slik koordinerer et OS vanligvis oppgaver:
Planlegging:
- Prosess/trådplanlegging: OS opprettholder en liste over prosesser og tråder som må utføres. Den bruker planleggingsalgoritmer for å bestemme rekkefølgen disse oppgavene skal kjøres i, og prioriterer viktige eller tidssensitive oppgaver. Vanlige planleggingsalgoritmer inkluderer First-In-First-Out (FIFO), Round Robin, Shortest Job First (SJF) og Priority Scheduling.
- Avbruddshåndtering: Når et avbrudd (f.eks. en maskinvarehendelse eller brukerinndata) oppstår, suspenderer operativsystemet midlertidig den kjørende oppgaven og håndterer avbruddet. Når avbruddet er behandlet, gjenopptar operativsystemet den opprinnelige oppgaven eller planlegger å kjøre en annen oppgave.
Ressurstildeling:
- Minnebehandling: OS administrerer systemets minneressurser ved å allokere og deallokere minne til kjørende prosesser og tråder. Den bruker teknikker som virtuelt minne, personsøking og bytte for å optimalisere minnebruken.
- CPU-allokering: OS tildeler CPU-tid til forskjellige oppgaver basert på deres prioriteringer og ressurskrav. Det sikrer at hver oppgave får en rettferdig del av CPU-tiden og forhindrer en oppgave fra å monopolisere prosessoren.
- I/O-administrasjon: OS styrer inngangs-/utgangsenhetene (f.eks. diskstasjoner, nettverksgrensesnitt) ved å administrere tilgang til disse enhetene og planlegge I/O-forespørsler fra forskjellige oppgaver.
- Filbehandling: OS gir et enhetlig filsystemgrensesnitt for å administrere filer, kataloger og lagringsplass på sekundære lagringsenheter. Den regulerer filtilgang, tillatelser og dataintegritet.
Kommunikasjon og synkronisering mellom prosesser:
- Interprosesskommunikasjon (IPC): OS gir mekanismer for prosesser for å kommunisere og utveksle informasjon med hverandre. Vanlige IPC-teknikker inkluderer rør, meldingskøer, delt minne og sockets.
- Synkronisering: OS sikrer at flere prosesser kan få tilgang til delte ressurser samtidig uten konflikter. Den bruker synkroniseringsmekanismer som semaforer, mutexes og monitorer for å koordinere tilgang til kritiske seksjoner og forhindre løpsforhold.
- Forebygging og håndtering av vranglås: Våninger oppstår når flere oppgaver venter på at hverandre skal frigjøre ressurser de har. OS implementerer vranglåsdeteksjon og forebyggingsalgoritmer for å unngå eller løse vranglåser effektivt.
Ved å administrere planlegging, ressursallokering og kommunikasjon, koordinerer operativsystemet oppgaver effektivt, sikrer rettferdig ressursdeling og opprettholder generell systemstabilitet og ytelse.