Prosessens tilstander

Fra IT2
Hopp til: navigasjon, søk

Det er bare én prosess som kan kjøre om gangen, siden det finnes bare én CPU i en datamaskin. Likevel virker det for oss mennesker at de kjøres samtidig fordi CPU-en bytter på å kjøre mellom prosessene så fort at vi ikke merker det. De prosessene som ikke kjører, blir satt i kø mens de venter på å kjøres av CPU-en, eller de befinner seg i en ressurskø og venter på at forespurt ressurs skal bli ledig.

En prosess kan befinne seg i forskjellige tilstander. Det er prosessadministratoren sørger for at prosessen skifter tilstand. Det skjer for eksempel når en prosess ber om en ressurs eller den skal utføre en i/o-operasjon. Prosessen blir da satt i en ny kø og en annen prosess blir hentet av CPU-en og settes i kjørende tilstand.

Rett etter at en prosess er opprettet havner den i tilstanden klar, som betyr at den er klar til å kjøre på CPU-en. Den har alle ressursene den trenger bortsett fra en CPU. Dersom det er flere prosesser som venter på å kjøre, blir disse satt i en kø (CPU-køen).

Prosessen går over til kjærende tilstand. Der blir den helt til én av flgende tre ting skjer:

1. Den tida som er satt av til prosessen (tidskvantet) utløper, og prosessen må tilbake til klar-tilstanden. En annen prosess får kjøre CPU-en.

2. Prosessen ber om en ressurs. Det kan være at det er snakk om å hente en fil. Dette kan ta litt tid og CPU-en må gi slipp på denne prosessen og setter den o blokkert tilstand, der den befinner seg til ressursen er blitt tilgjengelig. Når en prosess er tilgjengelig blir den satt i klar-tilstand igjen og må vente i CPU-køen.

3. Prosessen er ferdig og avslutter.


Prossesser.png