Ero sivun ”Prosessi (tietotekniikka)” versioiden välillä

[katsottu versio][katsottu versio]
Poistettu sisältö Lisätty sisältö
kuvatekstifix
Ipr1 (keskustelu | muokkaukset)
Ei muokkausyhteenvetoa
Rivi 4:
Typistetysti voidaan esittää prosessille kolme eri tilaa. Sitä voidaan ''suorittaa'' ({{k-en|running}}), se voi olla ''valmiustilassa'' ({{k-en|ready, ready to run, suspended}}), tai ''odottavana/nukkuvana'' ({{k-en|wait, blocked, asleep}}). Odotustilassa oleva prosessi voi odottaa mitä tahansa tapahtumaa, kuten esimerkiksi oheislaitteen toimintaa, viestiä toiselta prosessilta tai ajan kulumista.
 
Prosessi siirtyy valmiustilasta suoritustilaan siten, että käyttöjärjestelmän ytimen osa [[vuoronnus|''vuorontaja'']] ({{k-en|scheduler, dispatcher}}) valitsee sen suoritukseen. Odotustilaan prosessi siirtyy, jos se tekee sellaisen järjestelmäkutsun[[järjestelmäkutsu]]n ({{k-en|system call}}), jota käyttöjärjestelmä ei voi suorittaa heti loppuun asti. Tällainen kutsu voi olla vaikkapa lukupyyntö oheislaitteelta kuten levyltä, jos haluttua tietoa ei ole jo keskusmuistissa (puskuroinnin takia tieto voi olla keskusmuistissa valmiina, jolloin pyyntö voidaan hoitaa heti loppuun asti, eikä tilasiirtymää tehdä). Kun odottaminen päättyy, prosessi siirtyy valmiustilaan, ja kierros alkaa alusta. Jos järjestelmässä on irrottava ({{k-en|pre-emptive}}) [[vuoronnus]], prosessi voi siirtyä myös suoritustilasta valmiustilaan.
 
Vaihtaessaan säiettä tai prosessia toiseen vuorontaja käyttää jotain vuoronnusmenetelmää. Menetelmästä riippuu hyvin pitkälle se, mikä odottavista prosesseista valitaan ajoon. Menetelmiä ovat muun muassa kiinteä prioriteetti ({{k-en|fixed priority}}) (usein liitettynä irrottavaan vuoronnukseen, {{k-en|fixed priority pre-emptive scheduling, FPPE}}), vaihteleva prioriteetti ({{k-en|dynamic priority}}) (useita erilaisia tapoja vaihtaa prioriteettia), lyhyin tehtävä ensin ({{k-en|shortest remaining time, SRT}}), lähin määräaika ensin ({{k-en|earliest deadline first, EDF}}), jonomenetelmä ({{k-en|first in, first out, FIFO, myös first come, first served, FCFS}}) ja sen lähisukulainen kiertovuorottelu ({{k-en|round robin, RR}}). Vain osa vuoronnusmenetelmistä sopii reaaliaikaiseen vuoronnukseen ({{k-en|real-time scheduling}}).