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

[katsottu versio][katsottu versio]
Poistettu sisältö Lisätty sisältö
Ipr1 (keskustelu | muokkaukset)
Ei muokkausyhteenvetoa
Ipr1 (keskustelu | muokkaukset)
Ei muokkausyhteenvetoa
Rivi 1:
[[File:Htop.png|thumb|400px|[[htop]]in listaamia prosesseja]]
[[Tietotekniikka|Tietotekniikassa]] '''prosessi''' on [[tietokone]]essa ajossa oleva [[tietokoneohjelma|ohjelma]].<ref name="osaddr">{{Verkkoviite | osoite = http://pages.cs.wisc.edu/~remzi/OSTEP/cpu-intro.pdf | nimeke = The Abstraction: The Process | tekijä = Arpaci-Dusseau, Remzi H. & Arpaci-Dusseau, Andrea C. | tiedostomuoto = PDF | viitattu = 1.3.2020 | kieli = {{en}} }}</ref>
Jokaisella prosessilla on yleensä käytössä oma muistialue ja muita resursseja, joihin muut prosessit eivät pääse käsiksi. Useimmat käyttöjärjestelmät ylläpitävät näitä tietoja prosessitaulussa. Eri prosessit voivat [[prosessien välinen kommunikaatio|kommunikoida]] keskenään lukuisilla menetelmillä. Usein prosessit koostuvat yhdestä tai useammasta [[#Säie|säikeestä]].
 
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.
Rivi 19 ⟶ 20:
Säikeet voidaan toteuttaa käyttöjärjestelmän ytimessä ''etuoikeutetussa tilassa'' ({{k-en|kernel, supervisor}}) tai ''käyttäjätilassa'' ({{k-en|user}}) prosessin osana. Jälkimmäinen vaihtoehto tarkoittaa sitä, että prosessin sisällä on vuorontaja, joka päättää, mikä sen sisäisistä säikeistä on ajossa. Tämän vaihtoehdon varjopuoli on se, että jos yksi säie tekee käyttöjärjestelmäpyynnön, joka edellyttää odottamista (esimerkiksi lukee tiedostoa), kaikki prosessin säikeet pysähtyvät odottamaan, koska yllä kuvattu kolmitilamalli on toteutettu vain prosessin tasolla. Jos säikeet on toteutettu käyttöjärjestelmässä, toteutuu kolmitilamalli säietasolla ja prosessin tehtäväksi jää toimia resurssien omistajana, eli prosessi ei enää suorita ohjelmaa lainkaan, vaan kaikki suoritus tapahtuu sen sisäisissä säikeissä. Tässä tapauksessa yhden säikeen tekemä odottamista vaativa pyyntö ei pysäytä muita säikeitä.
 
Nykyisissä prosessoreissa on tuki [[Suoritin#Monisäikeistys|monisäikeistykselle]], jolloin yksittäinen ydinsuoritinydin voi moniajaa säikeitä tehokkaammin. Lisäksi moniytimiset suorittimet mahdollistavat aidosti rinnakkaisen moniajon.
 
== Katso myös ==
* [[Moniajo]]
 
== Lähteet ==
{{viitteet}}
 
[[Luokka:Käyttöjärjestelmätekniikka]]