Moniajo

Tämä artikkeli liittyy tietotekniikkaan. Moniajo voi viitata myös rautatieliikenteessä käytettyyn monivetoon.
Linux Mint, Xfce, Firefox, laskuohjelma, kalenteri, Vim, GIMP ja VLC media player yhtäaikaisesti käynnissä.

Moniajo (engl. multitasking) on tietokoneen käyttöjärjestelmän ominaisuus, joka mahdollistaa usean ohjelman ajamisen samanaikaisesti.

Jos tietokoneessa on vain yksi suoritin, moniajo toteutetaan jakamalla suorittimelle tehtäviä nopeasti vaihdellen (näennäisesti rinnakkain), kun taas monisuoritintietokoneessa tehtävät jaetaan usean suorittimen kesken ja voidaan suorittaa aidosti rinnakkaisesti (moniprosessointi).[1][2][3] Tehtävät voivat olla eri prosesseissa tai eri säikeissä: prosessi on suoritettava ohjelma ja säiettä kutsutaan toisinaan kevyeksi prosessiksi, joka ei vaadi osoitevaruuden vaihtoa.[1][4]

Nykyaikaisempia moniajon toimintamalleja ovat ennakoiva moniajo, irrottava moniajo ja keskeyttävä moniajo (engl. pre-emptive), jossa käyttöjärjestelmän osa tai prosessi nimeltä vuorontaja (”skeduleri”, engl. scheduler) irrottaa ajossa olevan prosessin suorittimesta, valitsee uuden suoritettavan prosessin valmiustilassa olevien joukosta, antaa suorittimen sen hallintaan ja määrittelee sen saaman aikaviipaleen (engl. time slice). Näin vältetään yhteistyömoniajossa oleva ongelma, että yksi huonosti käyttäytyvä ohjelma voi varastaa koneen koko laskentatehon. Vuoronvaihto (engl. Context switch) tarkoittaa suorituksessa olevan ohjelman tilan säilömistä toisen ohjelman suorituksen ajaksi: tämä tarkoittaa suorittimen rekisterien arvojen säilömistä muistipinoon.

Suoritukseen annettava aikaviipale voi perustua useisiin eri tekijöihin kuten prosessin prioriteettiin sekä järjestelmän kokonaiskuormitukseen. Odottavalle säikeelle tai ohjelmalle voidaan antaa enemmän suoritusaikaa jotta se vapautuu tilanteestaan mahdollisimman nopeasti ja koska se voi luovuttaa (engl. yield) ajoaikansa mikäli odottaminen jatkuu.

Moniajo usein hyödyntää laitteiston keskeytyksiä vuoronvaihtoon, jolloin käyttöjärjestelmälle annetaan vuoro tarvittaessa tai ajoitetusti.

Vähemmän eksaktissa kielenkäytössä käytetään moniajo-termiä myös kuvaamaan sellaista käyttöliittymää, jossa käyttäjä voi vaihtaa "lennossa" usean sovelluksen välillä. Erityisesti termiä käytetään silloin, kun tällaista mahdollisuutta ei ole, ja todetaan virheellisesti, että moniajo puuttuu.

Historia

Moniajon historia alkaa 1960-luvulta, jolloin osituskäyttöjärjestelmät kehitettiin yksittäisten, kalliiden suurtietokoneiden jakamiseksi.[5]

Varhaiset moniajojärjestelmät käyttivät yhteistyömoniajoa, jonka jälkeen kehitettiin keskeyttävä moniajo.[5] Yhteistyömoniajo riippui ohjelmien vapaaehtoisesta vuoron luovuttamisesta.[5] Keskeyttävässä moniajossa laitteistokeskeytys herättää osan ohjelmakoodia, joka pakottaa vuoron vaihtamiseen.[5]

Osituskäyttöön kehitettyjä järjestelmiä olivat muun muassa Compatible Time-Sharing System ja Dartmouth Time Sharing System, joita seurasivat käyttöjärjestelmät kuten Multics ja OS/360MFT.

Käyttöjärjestelmien vaatimukset vaihtelevat: sulautetuissa järjestelmissä ajetaan lähes aina reaaliaikaista käyttöjärjestelmää, jolla on tarkasti määritellyt kiinteät rajoitteet.[6] Reaaliaikaisen käyttöjärjestelmän on vastattava määritellyissä rajoissa tai sen katsotaan epäonnistuneen toisin kuin osituskäyttöjärjestelmä, jossa nopea vasteaika on toivottavaa mutta ei pakollista, tai eräajokäyttöjärjestelmä jossa aikarajoja ei ole lainkaan.[6]

NUMA-muistiarkkitehtuurissa tietokone voidaan käsittää koostuvan eri etäisyyksillä olevista moniprosessointia tukevista ”soluista”, jotka on kytketty toisiinsa: eri soluissa olevien suorittimien ja muistin välillä on tietty määrä kaistaa ja etäisyys, joka määrittää muistin käytön nopeuden.[7]

Moniytimillisten suorittimien yleistyttyä moniprosessointia hyödyntävä vuoronnus on kiinnittänyt huomiota välimuistin paikallisuuden ja yhtenäisyyden käsittelyyn.[2]

Muita vaikuttavia parametreja ovat energian tarve sekä lämpörajoitukset.[8][9]

Irrottava/ennakoiva/keskeyttävä moniajo

Useimmat oikeaa moniajoa tukevat järjestelmät käyttävät irrottavaa, ennakoivaa tai keskeyttävää (engl. pre-emptive) moniajoa.[10][11][12] Keskeyttävässä moniajossa laitteistokeskeytys herättää osan ohjelmakoodia, joka pakottaa vuoron vaihtamiseen.[5]

Tämän tyyppistä monia käyttävät Unix-tyyppiset käyttöjärjestelmät, mukaan lukien BSD-versiot ja Linux.[13] Linux tukee lisäksi ytimen itsensä keskeyttämistä.[14] FreeBSD:ssä on rajattu ytimen keskeyttäminen mutta suunnitelmissa on tehdä siitä täysin keskeytettävä.[15]

Mikrotietokoneissa tämän tyyppistä moniajoa ovat käyttäneet muun muassa AmigaOS Amiga-tietokoneissa (julkaistu 1985).[16][17]

Myös TRIPOS on käyttänyt irrottavaa moniajoa. IBM siirtyi OS/2:n Warp-versiossa tukemaan ennakoivaa moniajoa.[12]

Yhteistyömoniajo

Yhteistyömoniajo (engl. Cooperative multitasking, Non-preemptive multitasking) missä ohjelmat vapaaehtoisesti jakoivat suoritinaikaa toisille ohjelmille oli käytössä mm. RISC OS-käyttöjärjestelmässä ja Windows 95 -käyttöjärjestelmää edeltävät Windows-käyttöjärjestelmät.

OS X -käyttöjärjestelmää edeltävissä Mac OS -järjestelmissä oli myös yhteistyömoniajo.[17] Microsoft siirtyi ennakoivaan moniajoon Windows NT:ssä ja Apple OS X:ssä (BSD-ydin).

OS/2 oli osittain ennakoivaa moniajoa tukeva (Warp-versiot)[12], mutta osin rajattu yhteistyömoniajoon varhaisissa versioissa.

Moniohjelmointi

Varhaisissa tietokonejärjestelmissä oli niin kutsuttua moniohjelmointikäsittelyä (engl. multiprogramming), jossa toiselle ohjelmalle annetaan suoritusaikaa ennen ensimmäisen valmistumista.[18]

Näissä tietokone suorittaa yhtä ohjelmaa kunnes ohjelma pysähtyy odottamaan esimerkiksi laite-IO:ta ja vaihtaa silloin suoritettavaa ohjelmaa.[19]

Joissakin yhteyksissä moniohjelmoinnilla tarkoitetaan myös moniajoa ja eroa moderniin vastineeseen ei tehdä.[20]

Reaaliaikainen

Reaaliaikainen käyttöjärjestelmä perustuu takeeseen vasteajan noudattamisesta.[21] Tämän tyyppinen moniajo voi erota teknisesti merkittävästikin, jotta aikarajattu toiminta (engl. deadline) ei ylity missään tilanteessa.

Reaaliaikaisia käyttöjärjestelmiä ovat muun muassa QNX ja VxWorks.

Reaaliaikaiset järjestelmät voidaan jakaa kahteen: pehmeään (toivottu vasteaika) ja kovaan (vaadittu vasteaika).[22] Pehmeässä aikarajan ohittaminen voi olla merkittävä menetys mutta kovassa järjestelmässä epäonnistuminen on katastrofaalinen.[22] Kovan reaaliaikajärjestelmän vasteajat ovat tyypillisesti millisekunteja ja järjestelmän on vastattava ympäristön tapahtumiin.[22] Kovan reaaliaikajärjestelmän vuoronnusta voidaan käyttää myös pehmeään reaaliaikajärjestelmään.[22]

Kovan reaaliaikajärjestelmän vuoronnus voidaan jakaa dynaamiseen ja staattiseen: staattiseen ajoitukseen on tunnettava ennalta parametrit kuten suoritusajat ja aikarajat, mutta suorituksen aikainen kuormitus on pieni.[22]

Kaksi tyypillistä tapaa toteuttaa vuoronnus reaaliaikajärjestelmässä ovat tapahtumapohjainen (engl. event-driven) ja aikajakava (engl. time-sharing):[23]

  • tapahtumapohjaisessa tehtäville jaetaan prioriteetit, joista korkeamman tason prioriteetilla olevat suoritetaan ensin
  • aikajakavassa (myös nimellä Round-Robin -vuoronnus) suoritusvuoro kiertää listan mukaan, joka sallii jokaiselle tietyn ennalta määritellyn aikajakson (engl. time slice)

Reaaliaikaisessa järjestelmässä vuoronnus voi perustua kiinteän prioriteetin (fixed-priority) tai varhaisin aikaraja ensin (earliest-deadline first) malliin. Moniprosessointia tukevat järjestelmät voivat jakaa mallit globaaleihin, jossa tehtävät voivat käyttää kaikkia resursseja, sekä osioituihin, joissa tehtävät asetetaan kiinteästi tietyille suorittimille.[24]

Reaaliaikaisessa järjestelmässä luotetut sovellukset voivat kytkeä laitteistokeskeytykset pois päältä suojatun alueen käsittelyn ajaksi.[25]

Reaaliaikaisiin käyttöjärjestelmiin on kehitetty useita protokollia prioteettien inversio-ongelman välttämiseksi.[26] Näitä ovat muun muassa Priority Inheritance Protocol (PIP), Priority Ceiling Protocol (PCP) ja Stack Resource Policy (SRP).[26]

Katso myös

Lähteet

  1. a b Arpaci-Dusseau, Remzi H. & Arpaci-Dusseau, Andrea C.: The Abstraction: The Process (PDF) pages.cs.wisc.edu. Viitattu 1.3.2020. (englanniksi)
  2. a b Arpaci-Dusseau, Remzi H. & Arpaci-Dusseau, Andrea C.: Multiprocessor Scheduling (Advanced) (PDF) pages.cs.wisc.edu. Viitattu 1.3.2020. (englanniksi)
  3. Arpaci-Dusseau, Remzi H. & Arpaci-Dusseau, Andrea C.: Scheduling: Introduction (PDF) pages.cs.wisc.edu. Viitattu 1.3.2020. (englanniksi)
  4. Nikita Ishkov: A complete guide to Linux process scheduling (PDF) trepo.tuni.fi. 2015. Viitattu 1.3.2020. (englanniksi)
  5. a b c d e Multitasking Definition linfo.org. Viitattu 25.10.2019. (englanniksi)
  6. a b Silberschatz, Abraham & Galvin, Peter Baer & Gagne, Greg: Operating System Concepts, s. 43. (Ninth Edition) Wiley, 2013. ISBN 978-1-118-12938-8
  7. What is NUMA? kernel.org. Viitattu 1.3.2020. (englanniksi)
  8. Nicolas Pitre: Teaching the scheduler about power management lwn.net. 18.6.2014. Viitattu 1.3.2020. (englanniksi)
  9. Marta Rybczyńska: Telling the scheduler about thermal pressure lwn.net. 16.5.2019. Viitattu 1.3.2020. (englanniksi)
  10. Moniajo Tut.fi Etäopetus (Web Archive 2011). Arkistoitu 11.11.2011. Viitattu 12.2.2022.
  11. Fagerlund, Kai: Vektorigrafiikan konvertteri (Tutkintotyö Tampereen ammattikorkeakoulussa) theseus.fi. Viitattu 2.3.2017.
  12. a b c OS/2 Warp versio 3 IBM. Viitattu 2.3.2017.
  13. What is UNIX The Digital Research Initiative. Viitattu 26.10.2019. (englanniksi)
  14. Robert Love: Lowering Latency in Linux: Introducing a Preemptible Kernel 1.5.2002. Linux Journal. Viitattu 25.10.2019. (englanniksi)
  15. 8.3. General Architecture and Design freebsd.org. Viitattu 25.10.2019. (englanniksi)
  16. The Micro-AmigaOne and Amiga OS4 Developer Prerelease (Update 1) Ars Technica. Viitattu 28.2.2017.
  17. a b Wenz, John: The Cult of Amiga Is Bringing an Obsolete Computer Into the 21st Century Popular Mechanics. Viitattu 4.10.2017.
  18. Thomas B. Steel: Multiprogramming: promise, performance and prospect dl.acm.org. 1968. doi:10.1145/1476589.1476607 Viitattu 26.10.2019. (englanniksi)
  19. Multiprogramming it.uu.se. Viitattu 26.10.2019. (englanniksi)
  20. 2.3. Processes and Multiprogramming w3.cs.jmu.edu. Arkistoitu 26.10.2019. Viitattu 26.10.2019. (englanniksi)
  21. Benedikt Huber: Real-Time & Embedded Operating Systems (PDF) ti.tuwien.ac.at. 2010. Viitattu 25.2.2020. (englanniksi)
  22. a b c d e Kanaka Juvva: Real-Time Systems users.ece.cmu.edu. 1998. Viitattu 25.2.2020. (englanniksi)
  23. RTOS udel.edu. Viitattu 25.10.2019. (englanniksi)
  24. Bjorn B. Brandenburg: Scheduling and Locking in Multiprocessor Real-Time Operating Systems (PDF) cs.unc.edu. 2011. Viitattu 26.10.2019. (englanniksi)
  25. Khushu, Sanjeev & Simmons, Johnathan: Scheduling and Synchronization in Embedded Real-Time Operating Systems (PDF) cseweb.ucsd.edu. Viitattu 20.2.2017.
  26. a b Hierarchical Scheduling of Complex Embedded Real-Time Systems (PDF) es.mdh.se. Viitattu 25.2.2020. (englanniksi)

Read other articles:

Часть серии статей о Холокосте Идеология и политика Расовая гигиена · Расовый антисемитизм · Нацистская расовая политика · Нюрнбергские расовые законы Шоа Лагеря смерти Белжец · Дахау · Майданек · Малый Тростенец · Маутхаузен ·&...

 

العلاقات الإماراتية الكولومبية الإمارات العربية المتحدة كولومبيا   الإمارات العربية المتحدة   كولومبيا تعديل مصدري - تعديل   العلاقات الإماراتية الكولومبية هي العلاقات الثنائية التي تجمع بين الإمارات العربية المتحدة وكولومبيا.[1][2][3][4][5]...

 

Not to be confused with Kikai Caldera. You can help expand this article with text translated from the corresponding article in Japanese. Click [show] for important translation instructions. Machine translation, like DeepL or Google Translate, is a useful starting point for translations, but translators must revise errors as necessary and confirm that the translation is accurate, rather than simply copy-pasting machine-translated text into the English Wikipedia. Consider adding a topic to thi...

هذه المقالة بحاجة لصندوق معلومات. فضلًا ساعد في تحسين هذه المقالة بإضافة صندوق معلومات مخصص إليها. عمارة بيدرماير. بيدرماير (بالألمانية: Biedermeier) مصطلح يُستخدم للدلالة على الأساليب الفنية التي ازدهرت في مجالات الأدب والموسيقى والفنون البصرية والتصميم الداخلي في ألمانيا وأ�...

 

Pour les articles homonymes, voir The X-Files et Aux frontières du réel. X-Files : Aux frontières du réel Logo original de la série. Données clés Titre original The X-Files Autres titresfrancophones Aux frontières du réel (saisons 1 et 2)The X-Files : Aux frontières du réel (saisons 2 à 9)Aux frontières du réel (version remastérisée des saisons 1 à 9)X-Files (saisons 10 et 11) Genre Policier, thriller, science-fiction, fantastique, horreur Acteurs principaux David ...

 

Eukaryotic membrane-bounded organelle containing DNA HeLa cells stained for nuclear DNA with the blue fluorescent Hoechst dye. The central and rightmost cells are in interphase, thus their entire nuclei are labeled. On the left, a cell is going through mitosis and its DNA has condensed. Cell biologyAnimal cell diagramComponents of a typical animal cell: Nucleolus Nucleus Ribosome (dots as part of 5) Vesicle Rough endoplasmic reticulum Golgi apparatus (or, Golgi body) Cytoskeleton Smooth endop...

Шалфей обыкновенный Научная классификация Домен:ЭукариотыЦарство:РастенияКлада:Цветковые растенияКлада:ЭвдикотыКлада:СуперастеридыКлада:АстеридыКлада:ЛамиидыПорядок:ЯсноткоцветныеСемейство:ЯснотковыеРод:ШалфейВид:Шалфей обыкновенный Международное научное наз...

 

German actor Aribert WäscherHorst Caspar as Beaumarchais (left) and Aribert Wäscher as Louis XVI (right). Deutsches Theater, 1946.Born(1895-12-01)1 December 1895Flensburg, GermanyDied14 December 1961(1961-12-14) (aged 66)Berlin, GermanyOther namesRobert Ernst Wilhelm WäscherOccupationFilm actorYears active1920–1955 Aribert Wäscher (1 December 1895 – 14 December 1961) was a German film actor.[1] Selected filmography The Black Tulip Festival (1920) The Graveyard o...

 

Vágner Love Vágner Love saat berseragam CSKA MoskwaInformasi pribadiNama lengkap Vágner Silva de SouzaTanggal lahir 11 Juni 1984 (umur 39)Tempat lahir Rio de Janeiro, BrasilTinggi 1,72 m (5 ft 7+1⁄2 in)[1]Posisi bermain StrikerInformasi klubKlub saat ini Shandong LunengNomor 40Karier junior2002–2003 PalmeirasKarier senior*Tahun Tim Tampil (Gol)2002–2004 Palmeiras[2] 42 (27)2004–2011 CSKA Moskwa[2] 158 (79)2009 → Palmeiras (pinjaman...

Replica of the Statue of Liberty at Shawnee Mission North High School. Placard on base of statue The Strengthen the Arm of Liberty Monument in Overland Park, Kansas, is a replica of the Statue of Liberty (Liberty Enlightening the World). It was placed by the Boy Scouts of America as part of its 1950s era campaign, Strengthen the Arm of Liberty.[1] Background Strengthen the Arm of Liberty was the theme of the Boy Scouts of America's fortieth anniversary celebration in 1950.[2]...

 

Các mức năng lượng của electron trong nguyên tử: trạng thái cơ bản (ground state) và các trạng thái kích thích (excited states). Sau khi hấp thụ năng lượng, một electron có thể nhảy từ trạng thái cơ bản lên một trạng thái kích thích năng lượng cao hơn. Trạng thái cơ bản của một hệ cơ học lượng tử là trạng thái có năng lượng thấp nhất. Năng lượng của trạng thái cơ bản được gọi là n�...

 

Little Caesar Enterprises Inc.Berkas:Little Caesars logo.svgFox Theatre, dimana markas besar Little Caesars beradaNama dagangLittle CaesarsIndustriRestoranDidirikan8 Mei 1959; 64 tahun lalu (1959-05-08)Garden City, Michigan, ASPendiriMike IlitchMarian IlitchKantorpusat2211 Woodward AvenueDetroit, Michigan, ASCabang5,463 (2017)Wilayah operasiAmerika Serikat (Termasuk Puerto Rico dan Guam) Mesir Kanada Meksiko Kosta Rika El Salvador Guatemala Honduras Nikaragua Panama Bahama Barbados Trini...

周處除三害The Pig, The Snake and The Pigeon正式版海報基本资料导演黃精甫监制李烈黃江豐動作指導洪昰顥编剧黃精甫主演阮經天袁富華陳以文王淨李李仁謝瓊煖配乐盧律銘林孝親林思妤保卜摄影王金城剪辑黃精甫林雍益制片商一種態度電影股份有限公司片长134分鐘产地 臺灣语言國語粵語台語上映及发行上映日期 2023年10月6日 (2023-10-06)(台灣) 2023年11月2日 (2023-11-02)(香�...

 

Частина серії проФілософіяLeft to right: Plato, Kant, Nietzsche, Buddha, Confucius, AverroesПлатонКантНіцшеБуддаКонфуційАверроес Філософи Епістемологи Естетики Етики Логіки Метафізики Соціально-політичні філософи Традиції Аналітична Арістотелівська Африканська Близькосхідна іранська Буддій�...

 

2025 edition of the UEFA Women's Football European Championship UEFA Women's Euro 2025Fußball-Europameisterschaft der Frauen 2025Championnat d'Europe féminin de football 2025Campionato europeo di calcio femminile 2025Campiunadi d'Europa da ballape dunna 2025Tournament detailsHost countrySwitzerlandDates2–27 July 2025Teams16 (from 1 confederation)Venue(s)8 (in 8 host cities)← 2022 2029 → International football competition The 2025 UEFA Women's Championship will be the...

أحمد أو موسى   معلومات شخصية الميلاد 1460مقرية بو مروان، المغرب الوفاة 1563قرية سيدي أحمد أو موسى مواطنة المغرب  الحياة العملية المهنة متصوف  [لغات أخرى]‏  اللغات الشلحية  تعديل مصدري - تعديل   سيدي أحمد أو موسى (1460 - 1563) [1] هو متصوف، ورجل دين من تازروالت ف�...

 

American actress Ruth McDevittMcDevitt in 1950BornRuth Thane Shoecraft(1895-09-13)September 13, 1895Coldwater, Michigan, U.S.DiedMay 27, 1976(1976-05-27) (aged 80)Hollywood, California, U.S.Other namesRuth Thane McDevittOccupationActressYears active1949–1976Spouse Patrick McDevitt ​ ​(m. 1928; died 1934)​ Ruth Thane McDevitt (née Shoecraft; September 13, 1895 – May 27, 1976)[1] was an American film, stage, radio, ...

 

Pour les articles homonymes, voir Kony. Sur une barrière à Washington, affiches de la campagne de presse Kony 2012. Kony 2012 est une campagne de presse organisée par l'entreprise américaine Invisible Children en 2012. Le but déclaré est de mettre en lumière les crimes d'un chef de la rébellion en Ouganda, Joseph Kony, afin de provoquer son arrestation. Mais les intentions réelles sont discutables, sur fond de polémique sur l'accès aux ressources pétrolières ougandaises. Le film...

Ali Asadov BiografiKelahiran30 November 1956 (67 tahun)Baku Daftar Perdana Menteri Azerbaijan 8 Oktober 2019 – Special Guest of the Parliamentary Assembly of the Council of Europe Mewakili: Azerbaijan 26 Januari 1998 – 22 Januari 2001 Special Guest of the Parliamentary Assembly of the Council of Europe Mewakili: Azerbaijan 23 September 1996 – 27 Januari 1997 Data pribadiPendidikanPlekhanov Russian Economic University (–1978) KegiatanPekerjaanpolitikus Partai politik...

 

County in Ohio, United States Not to be confused with Butler, Ohio. County in OhioButler CountyCountyButler County Courthouse FlagSealLocation within the U.S. state of OhioOhio's location within the U.S.Coordinates: 39°26′N 84°35′W / 39.44°N 84.58°W / 39.44; -84.58Country United StatesState OhioFoundedMay 1, 1803[1]Named forGeneral Richard ButlerSeatHamiltonLargest cityHamiltonArea • Total470 sq mi (1,200 km2) �...