Moniajo
Wikipedia
Moniajo on tietokoneen käyttöjärjestelmän ominaisuus, joka mahdollistaa näennäisesti usean ohjelman ajamisen samanaikaisesti. Jos tietokoneessa on vain yksi suoritin (joka pystyy suorittamaan vain yhden käskyn kerrallaan), moniajo voidaan toteuttaa antamalla suorittimelle eri ohjelmien tehtäviä nopeasti vaihdellen. Todellisessa monisuoritintietokoneessa ohjelmien tehtävät jaetaan usean suorittimen kesken.
Perinteisesti moniajo mikrotietokoneissa on aina tarkoittanut yhden suorittimen käyttöä. Ensimmäinen moniajotapa oli yhteistyömoniajo, missä ohjelmat vapaaehtoisesti jakoivat suoritinaikaa toisille ohjelmille. Yhteistyömoniajoa käyttivät mm. Windows 95-käyttöjärjestelmää edeltävät Windows-käyttöjärjestelmät ja Mac OS X-käyttöjärjestelmää edeltävät Mac OS-järjestelmät.
Nykyaikaisempi moniajon toimintamalli on ennakoiva moniajo, irrottava moniajo tai keskeyttävä moniajo (engl. pre-emptive), jossa käyttöjärjestelmän osa tai prosessi nimeltään vuorottaja ("skeduleri", engl. scheduler), irrottaa ajossa olevan prosessin suorittimesta, valitsee uuden suoritettavan prosessin valmiustilassa olevien joukosta, antaa sille hallinnan suorittimesta ja määrittää sen saaman aikaviipaleen prosessin prioriteetin mukaan. Näin vältetään yhteistyömoniajossa oleva ongelma, että yksi huonosti käyttäytyvä ohjelma voi varastaa koneen koko laskentatehon.
Ensimmäiset moniajojärjestelmät tulivat markkinoille 1960-luvulla. IBM 360-sarjan keskustietokone oli ensimmäinen moniajoa tukeva tietokone.