Hans Baumgartner nimi nimi nimi nimi. Reaaliaikakäyttöjärjestelmät
|
|
- Teuvo Lehtilä
- 8 vuotta sitten
- Katselukertoja:
Transkriptio
1 Hans Baumgartner nimi nimi nimi nimi Reaaliaikakäyttöjärjestelmät
2 ii TIIVISTELMÄ Hans Baumgartner nimi nimi nimi nimi Reaaliaikakäyttöjärjestelmät Käyttöjärjestelmät Seminaarityö sivua, 8 kuvaa Tarkastaja: Professori nimi nimi Hakusanat: kerneli, reaaliaikakäyttöjärjestelmät, RTOS, sulautetut järjestelmät, uc/os-ii, Reaaliaikakäyttöjärjestelmät ovat pääasiassa sulautetuissa järjestelmissä käytettäviä ohjelmistoja, joiden tarkoitus on lisätä laitteiston luotettavuutta ja monipuolisuutta. Reaaliaikakäyttöjärjestelmät koostuvat prosessoria ja suoritettavia tehtäviä hallinnoivista palveluista, joiden lähdekoodi on valmiiksi kirjoitettu ja optimoitu äärimmäistä luotettavuutta vaativiin käyttökohteisiin. Seminaarityössä on esitelty reaaliaikakäyttöjärjestelmien ominaisuuksia sekä esitelty yleisimpiä käytössä olevia käyttöjärjestelmiä.
3 iii ABSTRACT Hans Baumgartner name name name name Real-time operating systems Operating Systems Seminar Work pages, 8 figures Examiner: Professor name name Keywords: embedded systems, kernel, real-time operating systems, RTOS, uc/os-ii Real-time operating systems are mainly used in embedded systems. The purpose of using real-time operating system is to increase the reliability and diversity of the system. Real-time operating systems consist of services which controls the processor and tasks. The source code of real-time operating system is prewritten and optimised to use in application demanding extreme reliability. In the seminar work there has been presented common features of real-time operating systems. At the end of the work there s also mentioned some examples of commonly used real-time operating systems.
4 1 SISÄLLYS TIIVISTELMÄ... ii ABSTRACT... iii KÄYTETYT MERKINNÄT JA LYHENTEET JOHDANTO REAALIAIKAKÄYTTÖJÄRJESTELMIEN YLEISIÄ OMINAISUUKSIA REAALIAIKAKÄYTTÖJÄRJESTELMÄN RAKENNE Tehtävät Kernel Kello Muistinhallinta OPASTEET PRIORITEETIN MUUNNOKSET LUKKIUTUMINEN VIESTIT Postilaatikot Viestijonot ERILAISIA REAALIAIKAKÄYTTÖJÄRJESTELMIÄ Qnx Neutrino RTOS Free RTOS YHTEENVETO LÄHTEET... 19
5 2 KÄYTETYT MERKINNÄT JA LYHENTEET A/D CPU FIFO ISR LIFO PC RTOS SP Analog to Digital Central Processing Unit First In First Out Interrupt Service Routine Last In First Out Personal Computer Real-Time Operating System Stack Pointer
6 3 1. JOHDANTO Reaaliaikakäyttöjärjestelmät ovat pääasiassa sulautetuissa järjestelmissä käytettäviä käyttöjärjestelmiä, joiden avulla voidaan lisätä järjestelmän luotettavuutta huomattavasti. Sulautettuja järjestelmiä löytyy esimerkiksi puhelimista, autoista, kodinkoneista, roboteista, avaruusaluksista, jne. Yksinkertaisia järjestelmiä pystytään kohtalaisen helposti toteuttamaan ilman käyttöjärjestelmääkin, mutta järjestelmän monimutkaistuessa ja kasvaessa on jonkin valmiin käyttöjärjestelmän käyttäminen yleensä järkevin vaihtoehto. Seminaarityössä on perehdytty reaaliaikakäyttöjärjestelmien ominaisuuksiin ja käyttöön yleisesti sekä esitelty muutamia käyttöjärjestelmiä ja niiden sovelluskohteita.
7 4 2. REAALIAIKAKÄYTTÖJÄRJESTELMIEN YLEISIÄ OMINAISUUKSIA Reaaliaikakäyttöjärjestelmällä tarkoitetaan lähinnä sulautetuissa järjestelmissä käytettävää käyttöjärjestelmää, jonka tarkoitus on parantaa järjestelmän toiminnan ennustettavuutta. Myös PCtietokoneille (personal computer) voidaan portata reaaliaikakäyttöjärjestelmiä, mutta useimmiten sovellukset ovat mikrokontrolleripohjaisia. Yksinkertaiset järjestelmät eivät välttämättä tarvitse käyttöjärjestelmäksi luokiteltavaa ohjelmistoa toimiakseen, vaan ne voivat toimia esimerkiksi antureita tarkkailemalla ja/tai keskeytysten avulla. Suurin osa massatuotantoon tarkoitetuista laitteista, kuten mikroaaltouunit, lelut ja puhelimet toimivatkin ilman oikeaa käyttöjärjestelmää [1]. Kuvassa 1 on esitetty kaavio tällaisen foreground/background-järjestelmäksi kutsutun toteutuksen periaatteesta. Kuva 1 Foreground/background-järjestelmä [1] Alusta lähtien itse tehty sovellus muuttuu kuitenkin nopeasti ainakin kokemattoman ohjelmoijan käsissä epävakaaksi järjestelmäksi, joka ei kaikissa olosuhteissa toimi oletetulla tavalla. Tavallisessa työpöytäkäytössä olevan PC-tietokoneen ajoittainen kaatuminen tai uudelleenkäynnistys ei useinkaan ole kovin vakava ongelma, mutta lentokoneissa tai lääketieteessä käytettävissä laitteissa järjestelmän kaatuminen voi olla kohtalokasta. Reaaliaikakäyttöjärjestelmän
8 5 yksi tarkoitus onkin huolehtia siitä, että järjestelmässä ei pääse tapahtumaan datan korruptoitumista tai mitään muuta, joka voisi aiheuttaa järjestelmän toiminnan lakkaamisen. Käyttöjärjestelmän suunnittelija on pyrkinyt ottamaan huomioon kaikki seikat, jotka voivat aiheuttaa järjestelmään epävakautta, jolloin varsinaisen sovelluksen suunnittelija voi keskittyä ainoastaan järjestelmän tehtävien kuvaamiseen. Luotettavuuden lisäksi toinen reaaliaikakäyttöjärjestelmän merkittävimmistä ominaisuuksista on nimensä mukaisesti ajan hallinta. Reaaliaikakäyttöjärjestelmät voidaan jakaa pehmeisiin ja koviin käyttöjärjestelmiin. Pehmeissä käyttöjärjestelmissä käyttöjärjestelmän on vastattava tehtävien pyyntöihin mahdollisimman nopeasti, mutta tehtävän suoritus ei ole yhtä aikakriittistä. Kovissa käyttöjärjestelmissä taas sekä tehtävän pyyntöön vastaaminen, että tehtävän suoritus on tapahduttava mahdollisimman nopeasti.
9 6 3. REAALIAIKAKÄYTTÖJÄRJESTELMÄN RAKENNE 3.1 Tehtävät Reaaliaikakäyttöjärjestelmän tehtäviä nimitetään taskeiksi [2]. Monissa käyttöjärjestelmissä taskien lukumäärälle on asetettu jokin yläraja, mutta periaatteessa taskeja voisi olla kuinka paljon tahansa. Käytettävien prosessorien muisti ja teho kuitenkin rajoittavat suoritettavien tehtävien lukumäärää huomattavasti. Tyypillisesti jokainen tehtävä on oma taskinsa, esimerkiksi lämpötilan mittaus voisi olla yksi taski ja lämpötilan näyttö näytöllä toinen taski. Reaaliaikakäyttöjärjestelmän idea on, että jokaista taskia suoritetaan rinnakkain, eikä peräkkäin kuten tavallisesti ilman käyttöjärjestelmää toimivassa laitteessa. Kuvassa 2 on esitetty yksinkertaisen reaaliaikakäyttöjärjestelmän avulla toimivan lämpömittarin periaatteellinen toiminta. Kuva 2 Lämpömittarin reaaliaikaohjelmiston periaatteellinen toiminta Kuvan 2 kuvaaman reaaliaikakäyttöjärjestelmän päällä toimivan lämpömittarin toiminta on yksinkertaistettuna seuraava: käyttöjärjestelmälle tehdään tarvittavat alustukset, alustetaan suoritettavat taskit ja käynnistetään ne. Tämän jälkeen luotuja taskeja suoritetaan rinnakkain. Taskeja ei kuitenkaan suoriteta tasavertaisesti rinnakkain, vaan taskeille on annettu prioriteetit. Suuremman prioriteetin taskit suoritetaan aina ennen alemman prioriteetin taskeja. Esimerkiksi lämpömittarissa suurimman prioriteetin taski on lämpötilan mittaus ja lämpötilan näyttö näytöllä on alemman prioriteetin tehtävä. Käyttöjärjestelmästä riippuen taskeilla voi olla myös sama prioriteetti, jolloin saman prioriteetin taskeille annetaan jokin vakio suoritusaika, jonka jälkeen siirrytään seuraavaan saman prioriteetin taskiin. Kyseistä aikataulutusta kutsutaan round-robin -aikatauluksi.
10 7 Käyttöjärjestelmästä riippuen taskeilla on useampia tiloja, joiden vaihdosta huolehtii käyttöjärjestelmän kerneli. Esimerkiksi µc/os-ii -reaaliaikakäyttöjärjestelmässä taski voi olla viidessä tilassa, jotka ovat lepotila, valmis, suorituksessa, odottaa ja keskeytetty [1]. Vastaavasti VxWorks-reaaliaikakäyttöjärjestelmän tilat ovat odottaa, valmis, viivästetty ja keskeytetty [2]. Valmis tilan nimi on siinä mielessä hieman hämäävä, että se ei tarkoita sitä, että taskin suoritus olisi valmis, vaan että taski on valmis suoritettavaksi. Kuvassa 3 on esitetty VxWorks-käyttöjärjestelmän tilat ja funktiot, joiden suorituksessa taskin tila vaihtuu. Kuva 3 Taskin tilojen muutokset VxWorks-reaalikaikakäyttöjärjestelmässä [3] Kuvan 3 funktiot on nimetty johdonmukaisesti kuvaamaan toimintaa, jonka funktio suorittaa. Nimistä voidaan nähdä reaaliaikakäyttöjärjestelmän tärkeitä toiminnallisuuksia, kuten viestit (msg), opasteet (sem) ja viiveet (delay). Näistä myöhemmin lisää. 3.2 Kernel Käyttöjärjestelmän sydäntä kutsutaan kerneliksi eli ytimeksi. Kernelin tehtävänä on hallita prosessorin suoritinaikaa ja jakaa sitä taskien kesken. Reaaliaikakäyttöjärjestelmien ominaisuuksiin
11 kuulu olennaisena osana multitasking eli taskien moniajo. Kernelin tehtävänä on huolehtia, että kaikki taskit saavat tarvitessaan suoritinaikaa taskin prioriteetin määrittämässä järjestyksessä. 8 Aikatauluttaja eli dispatcher on kernelin osa, joka huolehtii keskeytyksen tapahtuessa siitä, mitä taskia aletaan suorittaa. Suurin osa käytettävistä reaaliaikakäyttöjärjestelmistä on prioriteettipohjaisia, jolloin suorittimen saa aina käyttöönsä suurimman prioriteetin tehtävä [1]. Kernelit voidaan jakaa aikatauluttajan toiminnan perusteella kahteen ryhmään, keskeyttäviin (preempive) ja ei keskeyttäviin (non-preemptive). Keskeyttävässä ytimessä korkeimman prioriteetin tehtävä saa välittömästi suorittimen käyttöönsä keskeytyksen jälkeen. Ei keskeyttävässä ytimessä taas suoritettavan tehtävän täytyy itse luovuttaa prosessori muiden taskien käyttöön. Keskeytyksen sattuessa ei keskeyttävässä ytimessä keskeytys ainoastaan laittaa tarvittavan taskin valmis tilaan ja jatkaa keskeytetyn taskin suoritusta, kunnes keskeytetty taski itse luovuttaa prosessorin muiden käyttöön. Kuva 4 havainnollistaa keskeyttävän ja ei keskeyttävän ytimen eroa. Kuva 4 Vasemmalla ei keskeyttävän kernelin vaste keskeytykseen (ISR, Interrupt Service Routine) ja oikealla keskeyttävän ytimen toiminta keskeytyksen tapahtuessa. [1] Kuvasta 4 voidaan havaita keskeyttävän ytimen suorittavan korkeimman prioriteetin taskin välittömästi tämän vaatiessa suoritinaikaa. Tästä syystä suurin osa kaupallisista reaaliaikakäyttöjärjestelmistä on keskeyttävällä ytimellä toimivia [1]. Ei keskeyttävällä ytimellä on kuitenkin omat hyvät puolensa, vaikka sen vasteajat korkeimman prioriteetin taskin suoritukseen ovatkin pidemmät kuin keskeyttävällä ytimellä. Esimerkiksi yhteisten resurssien kuten
12 yhteiskäytössä olevien muuttujien suojaamiseen ei ei keskeyttävässä ytimessä tarvitse kiinnittää niin paljon huomiota kuin keskeyttävässä ytimessä. Tästä lisää opasteiden ja viestien yhteydessä Kello Kellokeskeytys on käyttöjärjestelmässä oleva keskeytys jolla on erityinen merkitys. Ulkoisten keskeytysten, kuten signaalin kytkeytymisen tai A/D-muunnos (Analog to Digital) keskeytysten lisäksi reaaliaikakäyttöjärjestelmissä on tasaisin aikavälein tapahtuva kellokeskeytys. Kellokeskeytys voi tapahtua esimerkiksi 10 tai 100 millisekunnin välein. Keskeytyksen avulla voidaan laskea aikaa sekä asettaa taskeille erilaisia viiveitä. Kun taskille asetetaan jokin viive, se siirtyy käyttöjärjestelmästä riippuen, viivästettyyn tilaan, jonka aikana suoritetaan muita taskeja. [4] Esimerkiksi säätölaiteessa, jossa varsinainen säätö on suurimman prioriteetin tehtävä, voidaan säädölle asettaa viive, jonka säädin odottaa säätökierrosten välissä. Itse asiassa ilman viivettä käyttöjärjestelmä ei voisi edes suorittaa muita tehtäviä, sillä suurimman prioriteetin tehtävä veisi koko prosessorin suoritinajan. Keskeyttävässä järjestelmässä kellokeskeytys myös siirtyy jokaisen sykäyksen jälkeen suorittamaan suurimman prioriteetin tehtävää, joka vaatii suoritinaikaa. [1] 3.4 Muistinhallinta Reaaliaikakäyttöjärjestelmät toimivat tavallisesti pienissä, mikrokontrolleripohjaisissa laitteissa, joissa on erittäin rajallinen määrä muistia käytettävissä. Tämän takia ohjelmoijan sekä käyttöjärjestelmän täytyy huolehtia hyvin muistinhallinnasta. Jokaiselle taskille on varattu oma pino muistista, johon tallennetaan prosessorin rekisterien arvot sekä taskin tarvitsemien muuttujien arvot. Rekisterien arvot tallennetaan taskin suorituksen alussa ja palautetaan takaisin rekistereihin taskin suorituksen lopuksi. Tällä voidaaan varmistua, siitä, että taskit toimivat itsenäisesti, eivätkä pääse tahattomasti muuttamaan toisen taskin käyttämiä rekistereitä. Kuva 5 havainnollistaa muistinjakoa. [1]
13 10 Kuva 5 Reaaliaikakäyttöjärjestelmän muistin rakenne [1] Kuvasta 5 nähdään jokaisella taskilla olevan oma pinonsa. Taskikohtainen Task Control Block sisältää tiedon pinon sijainnista muistista, eli osoittimen pinon alkuun (Stack Pointer, SP). Käytettävissä oleva muisti on jaettu lohkoihin, joita jaetaan taskeille. Jokaiselle taskille on varattu muistilohkoja tietty määrä, joka voi vaihdella eri taskien välillä. Tavallisesti sovellukset saavat käyttöönsä jonkin määrän vakiokokoisia muistilohkoja, mutta tarvittaessa muisti voidaan jakaa myös erikokoisiin lohkoalueisiin, jolloin taskit voivat saada käyttöönsä erikokoisia muistilohkoja. Kuva 6 havainnollistaa muistin jakoa erikokoisia lohkoja sisältäviin alueisiin. [1]
14 Kuva 6. Muisti voidaan tarvittaessa jakaa erikokoisia muistilohkoja sisältäviin muistialueisiin [1] 11
15 12 4. OPASTEET Tietorakenne ja ohjelmakoodit voidaan suojata esimerkiksi buzz lock:lla tai opasteilla (semaphore). Buzz lock tarkoittaa yksittäistä kokonaislukukenttää, jota käytetään lukkona. Lukko sallii vain jonkun tietyn prosessin pääsyn tietorakenteeseen tai koodiin samanaikaisesti. Kun prosessi yrittää päästä johonkin tietorakenteen kriittiseen osioon, lukon arvo muutetaan nollasta ykköseksi. Prosessin jättäessä kriittisen osion muutetaan lukon arvo takaisin ykkösestä nollaksi. Tietorakenteeseen pääsyä hallitseva muisti sijaitsee ytimessä ja sitä ei voida häiritä millään muulla prosessilla. [1] Ensimmäinen prosessi, joka lukee lukon arvon olevan nolla, pääsee kriittisiin osioihin käsiksi. Opasteet ovat tästä kehittyneempi tapa hallita ja käyttää kriittisiä osioita. Opastetietorakenne sisältää lukuisia tietoja liittyen prosessien vaiheista ja lukumääristä. Tietorakenne pitää kirjaa tietorakenteeseen pyrkivien resursseja käyttöön haluavien prosessien määrästä (Count), nukkuvien prosessien määrästä (Waking), jonossa olevien prosessien määrästä (Wait queue) ja buzz lock tiedot nukkuvat prosessit kenttään pääsyä varten (Lock). [1] Count-kentän alkuarvo on 1 ja kun joku prosessi haluaa päästä käyttämään resurssia, niin alkuarvoa vähennetään yhdellä. Tämän jälkeen prosessi on varannut resurssin ja muut prosessit eivät voi käyttää resurssia. Jos jokin prosessi yrittää päästä käyttämään resurssia, niin count-kentän arvo vähenee yhdellä miinus yhteen ja siirtyy odotusjonoon. Kun prosessi lopettaa resurssin varauksen niin lopettamisen yhteydessä tarkistaa luvun ja mikäli luku on alle yhden, prosessi herättää seuraavaan odotusjonossa. [1]
16 13 5. PRIORITEETIN MUUNNOKSET Tavallisesti taskien prioriteetit ovat määritelty kiinteästi alustusten yhteydessä. Tämä aiheuttaa kuitenkin helposti ongelmia taskien suorituksen aikana. Kuvassa 6 on esitetty tyypillinen prioriteettiongelma. Kuva 7 Prioriteetin muunnos [1] Kuvassa 7 taski 1 ja taski 2 molemmat odottavat tapahtumaa ja taski 3 on ajossa. Taski 3 varaa opasteen, jota tarvitsee suoritukseen. Taskin 1 odottama tapahtuma keskeyttää taskin 3, jolloin kerneli alkaa suorittaa korkeamman prioriteetin taskia numero 1. Taskia 1 suoritetaan kunnes taski tarvitsee resurssin käyttöönsä (taskin 3 varaama opaste). Koska resurssi on taskin 3 käytössä, task 1 asetetaan odottamaan resurssin vapautumista. Kerneli jatkaa nyt taskin 3 suoritusta, kunnes taskin 2 odottama tapahtuma keskeyttää sen. Kerneli siirtyy suorittamaan taskia 2, suorittaa sen loppuun ja siirtyy takaisin taskin 3 suoritukseen. Taski 3 suoritetaan loppuun ja resurssi vapautetaan. Kerneli tietää nyt, että korkeamman prioriteetin taski 1 odottaa kyseistä resurssia ja alkaa suorittaa taskia 1. Edellisessä esimerkissä taskin 3 prioriteetti oli näennäisesti suurempi, kuin taskilla 1. Myös taski 2 suoritettiin ennen taskia 1, jolloin taskin 1 suoritusaika kasvoi edelleen. Kyseistä tilannetta
17 kutsutaan prioriteetin muunnokseksi. Tilanteelta voidaan välttyä esimerkiksi korottamalla taskin 3 prioriteettia, kunnes taski vapauttaa varaamansa resurssin. 14
18 15 6. LUKKIUTUMINEN Lukkiutuminen (deadlock) on tilanne, jossa kaksi taskia ovat tietämättään odottamassa toisen hallussa olevaa resurssia. Otetaan esimerkki jossa taski 1 pitää hallussaan resurssia R1, sekä taski 2, jolla on resurssi R2. Taski 1 tarvitsee resurssia R2 ja taski 2 resurssia R1. Koska molemman taskit odottavat toiselta vapautuvaa resurssia, ei kummankaan taskin suoritus voi jatkua. Kyseistä tilannetta kutsutaan lukkiutumiseksi. Ongelma voidaan välttää esimerkiksi siten, että taskit saavat kaikki tarvitsemansa resurssit ennen suorituksen alkamista, saavat kaikki resurssit samassa järjestyksessä ja antavat ne pois käänteisessä järjestyksessä. Myös aikarajoja (timeout) on mahdollista määritellä opasteiden saamiseen useissa kerneleissä. Tämä ominaisuus sallii lukkiutumisen purkamisen, mikäli opaste ei ole saatavilla aikarajan sisällä. Taskille täytyy tässä tapauksessa palauttaa virhekoodi, jottei se luule saaneensa resurssia. Lukkiutuminen on melko harvinaista sulautetuissa järjestelmissä, mutta laajemmissa systeemeissä ilmiö esiintyy yleisemmin. [1]
19 16 7. VIESTIT 7.1 Postilaatikot Monesti taskien täytyy vaihtaa tietoa keskenään. Reaaliaikakäyttöjärjestelmien kerneli tarjoaa viestien välittämiseen palvelun, jota kutsutaan postilaatikoksi (message mailbox). Tavallinen toteutustapa viestien välittämiseen on viestin lähettäminen osoittimen avulla. Tällöin varsinaista viestiä ei lähetetä taskien välillä, vaan postilaatikko sisältää osoittimen viestiin. Viesti voi olla esimerkiksi tietorakenne tai merkkijono. Postilaatikon käyttö viestien lähettämiseen mahdollistaa taskeille monia lisäominaisuuksia. Taski voi esimerkiksi jäädä tilaan, jossa se odottaa viestiä postilaatikosta ja jatkaa toimintaansa, kun on saanut viestin. Tekniikassa on selvä yhtäläisyys opasteen kanssa, joten postilaatikkoa voidaan käyttää myös opasteena. Taskeille on järkevää antaa aikaraja, jonka taski odottaa viestiä postilaatikosta. Mikäli postilaatikkoon ei saavu viestiä aikarajan sisällä. Palautuu odottavalle taskille virhekoodi, jolloin taskin suoritusta voidaan jatkaa. Kuvassa 8 on esitetty postilaatikon käyttö viestin välittämiseen. Kuva 8 Postilaatikon välityksellä taskit voivat lähettää viestejä toisilleen. Kuvan tiimalasi kuvaa aikarajaa, jonka jälkeen viestiä odottavalle taskille lähetetään virheilmoitus, joka kertoo aikarajan ylityksestä. [1] 7.2 Viestijonot Postilaatikko sallii ainoastaan yhden viestin välittämisen kerrallaan. Mikäli taskit vaativat useamman viestin lähettämistä samaan aikaan, voidaan käyttää viestijonoa. Käytännössä viestijono on taulukko postilaatikoita, joten jonon toimintaperiaate on samanlainen postilaatikon kanssa.
20 17 8. ERILAISIA REAALIAIKAKÄYTTÖJÄRJESTELMIÄ Markkinoilla on lukuisia reaaliaikakäyttöjärjestelmätoimittajia, jotka tarjoavat erilaisia palveluita erilaisiin käyttöympäristöihin ja sovelluskohteisiin. Sovelluskohteet ulottuvat lääketieteellisistä instrumenteista verkkoreitittimiin. [1] 8.1 Qnx Neutrino RTOS Qnx Neutrino eroaa muista reaaliaikakäyttöjärjestelmistä kernelin rakenteen osalta. Qnx:n kerneli koostuu palveluista, jotka voidaan ottaa käyttöön tai poistaa käytöstä tarpeen mukaan. Tämä tekee kernelistä hyvin skaalautuvan ja pienikokoisen. Neutrino RTOS on mikrokernel käyttöjärjestelmä, jossa ajurit, ohjelmat, protokollapinot ja tiedostorakenteet ovat kaikki erillisinä osioina. Qnx Neutrino on käytössä muun muassa 911-puhelinkeskuksissa, teollisuusprosessinhallintasovelluksissa ja lentoliikenteeseen liittyvissä järjestelmissä. [5] 8.2 Free RTOS Free RTOS on nimensä mukaisesti ilmainen reaaliaikakäyttöjärjestelmä. Free RTOS:n lähdekoodia vertaamalla µc/os-ii käyttöjärjestelmään voidaan havaita samankaltaisuuksia. Käyttöjärjestelmä on GPL-lisenssoitu, joten sitä tietyin ehdoin voi käyttää kaupallisiin tarkoituksiin. Käyttöjärjestelmän avoimen lähdekoodin vuoksi se tukee lähes kaikkia prosessoriperheitä. Free RTOS on myös aloittelijaystävällinen yksinkertaisuutensa ja hyvän dokumentaation vuoksi. [6]
21 18 9. YHTEENVETO Pääasiassa sulautetuissa järjestelmissä käytettävät reaaliaikakäyttöjärjestelmät mahdollistavat luotettavampien ja monimutkaisempien järjestelmien toteuttamisen verrattuna perinteisiin, ilman käyttöjärjestelmää toimiviin toteutuksiin. Käyttöjärjestelmät ovat kuitenkin verrattain monimutkaisia ja niiden käyttäminen vaatii enemmän perehtymistä. Vaikka reaaliaikakäyttöjärjestelmät muodostuvatkin useammasta osasta ja vaikuttavat monimutkaisilta, lisää käyttöjärjestelmän käyttäminen sovellusten luotettavuutta ja ylläpidettävyyttä merkittävästi. Reaaliaikakäyttöjärjestelmien luotettavuus perustuu valmiiksi kirjoitettuihin käyttöjärjestelmän osiin, joten käyttöjärjestelmän käyttäjän ei tarvitse huolehtia itse esimerkiksi muistinhallinnasta, muuttujien suojauksesta ja tehtävien ajoituksista. Markkinoilla on useita eri käyttötarkoituksiin ja prosessoriperheisiin soveltuvia reaaliaikakäyttöjärjestelmiä, joiden ominaisuudet poikkeavat hieman toisistaan.
22 19 LÄHTEET [1] Labrosse, Jean, MicroC/OS-II The Realtime Kernel, 2002 [2] Luukko, Julius, Real-time operating systems and programs [luentomoniste], 2008 [3] VxWorks Programmer's Guide 5.5, Wind River, 2003 [4] Stallings, William, Operating Systems Internals and Design Principles, 2005 [5] QNX News Releases, [6] The FreeRTOS.org Project,
Käyttöjärjestelmät: prosessit
Käyttöjärjestelmät: prosessit Teemu Saarelainen Tietotekniikka teemu.saarelainen@kyamk.fi Lähteet Stallings, W. Operating Systems Haikala, Järvinen, Käyttöjärjestelmät Eri Web-lähteet Käyttöjärjestelmä
LisätiedotOngelma(t): Miten tietokoneen käyttöjärjestelmä toimii sisäisesti, jotta resurssit saadaan tehokkaaseen käyttöön?
Ongelma(t): Miten tietokoneen käyttöjärjestelmä toimii sisäisesti, jotta resurssit saadaan tehokkaaseen käyttöön? 2013-2014 Lasse Lensu 2 Systeemiohjelmat ovat tietokoneen laitteistoa lähellä olevia ohjelmia,
LisätiedotPalvelut. Sulautetut järjestelmät Luku 2 Sivu 1 (??) Sulautetut käyttöjärjestelmät
Sulautetut järjestelmät Luku 2 Sivu 1 (??) Palvelut Käyttöjärjestelmän tehtävänä on tarjota ohjelmoijalla erilaisia palveluita Tyypillisin palvelu, jota sulautetut käyttöjärjestelmät tarjoavat on prosessien
LisätiedotKäyttöjärjestelmät: poissulkeminen ja synkronointi
Käyttöjärjestelmät: poissulkeminen ja synkronointi Teemu Saarelainen Tietotekniikka teemu.saarelainen@kyamk.fi Lähteet Stallings, W. Operating Systems Haikala, Järvinen, Käyttöjärjestelmät Eri Web-lähteet
Lisätiedot4. Luento: Prosessit ja säikeets. Tommi Mikkonen, tommi.mikkonen@tut.fi
4. Luento: Prosessit ja säikeets Tommi Mikkonen, tommi.mikkonen@tut.fi Agenda Prosessi Säikeet Keskeytykset Keskeytyskäsittely Käyttöjärjestelmäkutsut Prosessielementti Prosessin hallinta Suunnittelunäkökohtia
LisätiedotOngelma(t): Jotta tietokone olisi mahdollisimman yleiskäyttöinen ja suorituskykyinen, niin miten tietokoneen resurssit tulisi tarjota ohjelmoijalle,
Ongelma(t): Jotta tietokone olisi mahdollisimman yleiskäyttöinen ja suorituskykyinen, niin miten tietokoneen resurssit tulisi tarjota ohjelmoijalle, sovellusohjelmille ja käyttäjille? 2012-2013 Lasse Lensu
LisätiedotTietojenkäsittelyn perusteet 2. Lisää käyttöjärjestelmistä
Tietojenkäsittelyn perusteet 2 Lisää käyttöjärjestelmistä 2011-02-09 Leena Ikonen 1 Systeemiohjelmat Systeemiohjelmiin kuuluvat Kääntäjät ja tulkit (+debuggerit) Käyttöjärjestelmä Linkittäjät Lataajat
LisätiedotConcurrency - Rinnakkaisuus. Group: 9 Joni Laine Juho Vähätalo
Concurrency - Rinnakkaisuus Group: 9 Joni Laine Juho Vähätalo Sisällysluettelo 1. Johdanto... 3 2. C++ thread... 4 3. Python multiprocessing... 6 4. Java ExecutorService... 8 5. Yhteenveto... 9 6. Lähteet...
Lisätiedot5. Luento: Rinnakkaisuus ja reaaliaika. Tommi Mikkonen, tommi.mikkonen@tut.fi
5. Luento: Rinnakkaisuus ja reaaliaika Tommi Mikkonen, tommi.mikkonen@tut.fi Agenda Perusongelmat Jako prosesseihin Reaaliaika Rinnakkaisuus Rinnakkaisuus tarkoittaa tässä yhteydessä useamman kuin yhden
LisätiedotPRINCIPLES OF PROGRAMMING LANGUAGES - DEBUGGER
PRINCIPLES OF PROGRAMMING LANGUAGES - DEBUGGER Group 16 Ville Laatu Henri Myllyoja - i SISÄLLYSLUETTELO 1. DEBUGGERI YLEISESTI... II 1.1 Debuggerin käyttämien... ii 1.2 Debuggerin käynnistäminen... ii
LisätiedotAlgoritmit 1. Luento 3 Ti Timo Männikkö
Algoritmit 1 Luento 3 Ti 17.1.2017 Timo Männikkö Luento 3 Algoritmin analysointi Rekursio Lomituslajittelu Aikavaativuus Tietorakenteet Pino Algoritmit 1 Kevät 2017 Luento 3 Ti 17.1.2017 2/27 Algoritmien
LisätiedotYleistä. Esimerkki. Yhden palvelimen jono. palvelin. saapuvat asiakkaat. poistuvat asiakkaat. odotushuone, jonotuspaikat
J. Virtamo 38.3143 Jonoteoria / Jonojärjestelmät 1 JONOJÄRJESTELMÄT Yleistä Jonojärjestelmät muodostavat keskeisen mallinnuksen välineen mm. tietoliikenne- ja tietokonejärjestelmien suorituskyvyn analysoinnissa.
LisätiedotKäyttöjärjestelmät. Teemu Saarelainen Tietotekniikka teemu.saarelainen@kyamk.fi
Käyttöjärjestelmät Teemu Saarelainen Tietotekniikka teemu.saarelainen@kyamk.fi Lähteet Stallings, W. Operating Systems Haikala, Järvinen, Käyttöjärjestelmät Eri Web-lähteet Kurssin sisältö Johdanto, historiaa
LisätiedotTietokonejärjestelmä. Tietokoneen rakenne. Ch 1 - Ch 8 [Sta06] Valikoituja paloja. TITO-kurssista. John von Neumann ja EDVAC, 1949.
Tietokoneen rakenne Luento 1 Tietokonejärjestelmä Ch 1 - Ch 8 [Sta06] Valikoituja paloja John von Neumann ja EDVAC, 1949 TITO-kurssista Luento 1-1 Sisältöä Tietokonejärjestelmä KJ:n näkökulma laitteistoon
LisätiedotLiite 1. Projektin tulokset (Semaforit Javassa) Jukka Hyvärinen Aleksanteri Aaltonen
Helsingin Yliopisto, tietojenkäsittelytieteen laitos Rinnakkaisohjelmointi (syksy 2006) Liite 1. Projektin tulokset (Semaforit Javassa) Jukka Hyvärinen Aleksanteri Aaltonen a. Käyttötarkoitus ja sovellusalue
LisätiedotStallings, Luku 4.1. KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 4-1. KJ-I I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 12-1
"! $# Stallings, Luku 4.1 KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 4-1 %& ()* +,.-0/212321416587912: 12;?5A@ 165 12;
LisätiedotSulautettujen järjestelmien skaala on niin laaja, että on erittäin vaikea antaa yleispätevää kuvausta siitä millainen on sulautettu järjestelmä.
Sulautettujen järjestelmien skaala on niin laaja, että on erittäin vaikea antaa yleispätevää kuvausta siitä millainen on sulautettu järjestelmä. On arvioitu, että maailmassa on tällä hetkellä enemmän sulautettuja
LisätiedotArto Salminen,
4. Luento: Prosessit ja säikeet Arto Salminen, arto.salminen@tut.fi Agenda Prosessi Säikeet Keskeytykset Keskeytyskäsittely Käyttöjärjestelmäkutsut Prosessielementti Prosessin hallinta Suunnittelunäkökohtia
LisätiedotSalasanojen hallinta. Salasanojen hallintaopas RESTAURANT ENTERPRISE SOLUTION
Salasanojen hallinta Salasanojen hallintaopas RESTAURANT ENTERPRISE SOLUTION Restaurant Enterprise Solution Asiakirjan tarkoitus Tämä asiakirja kertoo tarvittavat säännöt kuinka hallinnoida RES salasanoja
LisätiedotSisältöä. Tietokoneen rakenne. Ch 1 - Ch 8 [Sta06] Valikoituja paloja TITO-kurssista. Tietokonejärjestelmä
Tietokoneen rakenne Luento 1 Tietokonejärjestelmä Ch 1 - Ch 8 [Sta06] Valikoituja paloja TITO-kurssista John von Neumann ja EDVAC, 1949 Luento 1-1 Sisältöä Tietokonejärjestelmä KJ:n näkökulma laitteistoon
LisätiedotKäyttöjärjestelmän rakenne
Käyttöjärjestelmän rakenne Tietokonejärjestelmä = Laitteisto + ohjelmisto Sovellus saa laitteiston käyttöönsä kj:n avustuksella CPU ja muisti Oheislaitteet KJ tarjoaa laitteiston käytössä tarvittavat palvelunsa
Lisätiedot2 Konekieli, aliohjelmat, keskeytykset
ITK145 Käyttöjärjestelmät, kesä 2005 Tenttitärppejä Tässä on lueteltu suurin piirtein kaikki vuosina 2003-2005 kurssin tenteissä kysytyt kysymykset, ja mukana on myös muutama uusi. Jokaisessa kysymyksessä
LisätiedotOsio 2: Luennot 5-8 Muistinhallinta
Käyttöjärjestelmät I Osio 2: Luennot 5-8 Muistinhallinta Tiina Niklander; kalvot Auvo Häkkinen Tietojenkäsittelytieteen laitos Helsinin yliopisto "!$#%#'&)(*+,(.-0/1#'-243 0# 5 Stallins, Luku 7 KJ-I S2004
LisätiedotUudelleenkäytön jako kahteen
Uudelleenkäyttö Yleistä On pyritty pääsemään vakiokomponenttien käyttöön Kuitenkin vakiokomponentit yleistyneet vain rajallisilla osa-alueilla (esim. windows-käyttöliittymä) On arvioitu, että 60-80% ohjelmistosta
LisätiedotJaetun muistin muuntaminen viestin välitykseksi. 15. lokakuuta 2007
Jaetun muistin muuntaminen viestin välitykseksi Otto Räsänen 15. lokakuuta 2007 1 Motivaatio 2 Valtuuden välitys Peruskäsitteitä 3 Kolme algoritmia Valtuuden välitys käyttäen laskuria ilman ylärajaa Valtuuden
LisätiedotUML -mallinnus TILAKAAVIO
UML -mallinnus TILAKAAVIO SISÄLLYS 3. Tilakaavio 3.1 Tilakaavion alku- ja lopputilat 3.2 Tilan nimi, muuttujat ja toiminnot 3.3 Tilasiirtymä 3.4 Tilasiirtymän vai tilan toiminnot 3.5 Tilasiirtymän tapahtumat
LisätiedotMonitorit. Monitori Synkronointimenetelmiä Esimerkkejä. Andrews , Stallings 5.5
Monitorit Monitori Synkronointimenetelmiä Esimerkkejä Andrews 5.1-5.2, Stallings 5.5 Tavoite Minimoi virhemahdollisuuksia poissulkeminen ohjelmoijan vastuulla P():t ja V():t siellä, täällä ja tuolla -
LisätiedotMonitorit. Tavoite. Monitori Synkronointimenetelmiä Esimerkkejä. Andrews , Stallings 5.5. Minimoi virhemahdollisuuksia
Monitorit Monitori Synkronointimenetelmiä Esimerkkejä Andrews 5.1-5.2, Stallings 5.5 Tavoite Minimoi virhemahdollisuuksia poissulkeminen ohjelmoijan vastuulla P():t ja V():t siellä, täällä ja tuolla -
LisätiedotLinux rakenne. Linux-järjestelmä koostuu useasta erillisestä osasta. Eräs jaottelu: Ydin Komentotulkki X-ikkunointijärjestelmä Sovellusohjelmat
Linux rakenne Linux-järjestelmä koostuu useasta erillisestä osasta. Eräs jaottelu: Ydin Komentotulkki X-ikkunointijärjestelmä Sovellusohjelmat Linux ydin Ytimen (kernel) päätehtävä on tarjota rajapinta
LisätiedotA274101 TIETORAKENTEET JA ALGORITMIT
A274101 TIETORAKENTEET JA ALGORITMIT PERUSTIETORAKENTEET LISTA, PINO, JONO, PAKKA ABSTRAKTI TIETOTYYPPI Tietotyyppi on abstrakti, kun se on määritelty (esim. matemaattisesti) ottamatta kantaa varsinaiseen
Lisätiedot1. Keskusyksikön rakenne
1. Keskusyksikön rakenne Kuvassa on esitelty TTK-91 esimerkkikoneen keskusyksikkö. Oikeiden tietokoneiden keskusyksiköt ovat luonnollisesti monimutkaisempia, mutta tämä riittää oikein mainiosti asian havainnollistamiseen.
LisätiedotIT K 1 45 K ä yt t öj ä rj estelmät
IT K 1 45 K ä yt t öj ä rj estelmät Tenttikysymyksiä ja vastauksia Aliohjelman suoritusperiaate, ts. selvitä pinon käyttö ja paluuarvon välittäminen (3p) 1. Ennen aliohjelman aloittamista kutsuja tallettaa
Lisätiedot6. Luento: Skedulointi eli Vuoronnus. Tommi Mikkonen, tommi.mikkonen@tut.fi
6. Luento: Skedulointi eli Vuoronnus Tommi Mikkonen, tommi.mikkonen@tut.fi Agenda Peruskäsitteet Skedulointialgoritmeja Reaaliaikajärjestelmien skedulointi Skeduloituvuuden analysoinnista Yhteenveto Peruskäsitteet
LisätiedotSisällys. 18. Abstraktit tietotyypit. Johdanto. Johdanto
Sisällys 18. bstraktit tietotyypit Johdanto abstrakteihin tietotyyppeihin. Pino ja jono. Linkitetty lista. Pino linkitetyllä listalla toteutettuna. 18.1 18.2 Johdanto Javan omat tietotyypit ovat jo tuttuja:
LisätiedotOHJ-4301 Sulautettu Ohjelmointi
OHJ-4301 Sulautettu Ohjelmointi (http://www.cs.tut.fi/~sulo/) 5op, to 12-14, TB 109 Arto Salminen, arto.salminen@tut.fi Läpäisyvaatimukset Hyväksytysti suoritetut: Tentti Harjoitustyöt Harjoitustyöt 3
LisätiedotProsessi perinteisesti
Käyttöjärjestelmät t I Luento 11: SÄIKEETS Stallings, Luku 4.1 Sisält ltöä Prosessi vs. säie Miksi säikeitä? ULT: Käyttäjätason säikeet KLT: Säikeiden toteutus ytimessä Säikeen tilat Käyttöjärjestelmän
LisätiedotTietorakenteet ja algoritmit
Tietorakenteet ja algoritmit Merkintöjen tulkintoja *++Pstack->top = item *Pstack->top++ = item (*Pstack->top)++ *(Pstack++)->top = item *(++Pstack)->top = item Lisää pinon toteutuksia Dynaaminen taulukko
LisätiedotStallings, Luku 4.1. KJ-I I S2005 / Tiina Niklander, kalvot Auvo HäkkinenH
Käyttöjärjestelmät t I Luento 11: SÄIKEETS Stallings, Luku 4.1 KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 11-1 Sisält ltöä Prosessi vs. säie Miksi säikeitä? ULT: Käyttäjätason säikeet KLT: Säikeiden
LisätiedotCUDA. Moniydinohjelmointi 17.4.2012 Mikko Honkonen
CUDA Moniydinohjelmointi 17.4.2012 Mikko Honkonen Yleisesti Compute Unified Device Architecture Ideana GPGPU eli grafiikkaprosessorin käyttö yleiseen laskentaan. Nvidian täysin suljetusti kehittämä. Vuoden
LisätiedotOhjelmointi 1. Kumppanit
Ohjelmointi 1 Kumppanit November 20, 2012 2 Contents 1 Mitä ohjelmointi on 7 2 Ensimmäinen C#-ohjelma 9 2.1 Ohjelman kirjoittaminen......................... 9 A Liite 11 3 4 CONTENTS Esipuhe Esipuhe 5
LisätiedotOngelma(t): Jotta tietokonetta voitaisiin käyttää monipuolisesti ja mahdollisimman yksinkertaisesti kaikkiin sille soveltuviin käyttötarkoituksiin,
Ongelma(t): Jotta tietokonetta voitaisiin käyttää monipuolisesti ja mahdollisimman yksinkertaisesti kaikkiin sille soveltuviin käyttötarkoituksiin, niin miten tietokoneen resurssit tulisi antaa käyttöön
LisätiedotJakso 8 Ohjelman toteutus järjestelmässä
Jakso 8 Ohjelman toteutus järjestelmässä Prosessin esitysmuoto järjestelmässä Käyttöjärjestelmä KJ-prosessit 1 Prosessi (4) Järjestelmässä olevan ohjelman esitysmuoto Järjestelmässä voi olla samalla kertaa
LisätiedotOsio 2: Luennot 4-7 Muistinhallinta
Käyttöjärjestelmät I Osio 2: Luennot 4-7 Muistinhallinta Tiina Niklander; kalvot Auvo Häkkinen Tietojenkäsittelytieteen laitos Helsingin yliopisto Käyttöjärjestelmät t I YKSINKERTAINEN MUISTINHALLINTA
LisätiedotHarjoitustyö: virtuaalikone
Harjoitustyö: virtuaalikone Toteuta alla kuvattu virtuaalikone yksinkertaiselle olio-orientoituneelle skriptauskielelle. Paketissa on testaamista varten mukana kaksi lyhyttä ohjelmaa. Ohjeita Noudata ohjelman
LisätiedotLuento 1 (verkkoluento 1) Ohjelman sijainti Ohjelman esitysmuoto Laitteiston nopeus
Luento 1 (verkkoluento 1) Tietokonejärjestelmä Järjestelmän e eri tasot Ohjelman sijainti Ohjelman esitysmuoto Laitteiston nopeus 1 Tietokone- järjestelmäj ä Käyttäjä Tietokonelaitteisto Oheislaitteet
Lisätiedot18. Abstraktit tietotyypit 18.1
18. Abstraktit tietotyypit 18.1 Sisällys Johdanto abstrakteihin tietotyyppeihin. Pino ja jono. Linkitetty lista. Pino linkitetyllä listalla toteutettuna. 18.2 Johdanto Javan omat tietotyypit ovat jo tuttuja:
LisätiedotTehtävä 2: Tietoliikenneprotokolla
Tehtävä 2: Tietoliikenneprotokolla Johdanto Tarkastellaan tilannetta, jossa tietokone A lähettää datapaketteja tietokoneelle tiedonsiirtovirheille alttiin kanavan kautta. Datapaketit ovat biteistä eli
LisätiedotLuento 1 (verkkoluento 1) Tietokonejärjestelmä
Luento 1 (verkkoluento 1) Tietokonejärjestelmä Järjestelmän eri tasot Ohjelman sijainti Ohjelman esitysmuoto Laitteiston nopeus 1 Tietokonejärjestelmä Käyttäjä This image cannot currently be displayed.
LisätiedotStabilointi. Marja Hassinen. p.1/48
Stabilointi Marja Hassinen marja.hassinen@cs.helsinki.fi p.1/48 Kertausta ja käsitteitä Sisältö Stabilointi Resynkroninen stabilointi Yleinen stabilointi Tarkkailu Alustus Kysymyksiä / kommentteja saa
LisätiedotTieto- ja tallennusrakenteet
Tieto- ja tallennusrakenteet Sisältö Tyyppi, abstrakti tietotyyppi, abstraktin tietotyypin toteutus Tallennusrakenteet Taulukko Linkitetty rakenne Abstraktit tietotyypit Lista (Puu) (Viimeisellä viikolla)
Lisätiedot11/20: Konepelti auki
Ohjelmointi 1 / syksy 2007 11/20: Konepelti auki Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy 2007 p.1/11 Tämän luennon
LisätiedotRinnakkaisuuden hyväksikäyttö peleissä. Paula Kemppi
Rinnakkaisuuden hyväksikäyttö peleissä Paula Kemppi 24.4.2008 Esityksen rakenne Johdantoa Rinnakkaisuus Pelimoottorien rinnakkaisuuden mallit Funktionaalisen rinnakkaisuuden malli Rinnakkaisen tiedon malli
LisätiedotTIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli
TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op Assembly ja konekieli Tietokoneen ja ohjelmiston rakenne Loogisilla piireillä ja komponenteilla rakennetaan prosessori ja muistit Prosessorin rakenne
LisätiedotLoCCaM Riistakamerasovellus. Dimag Ky dimag.fi
LoCCaM Riistakamerasovellus Dimag Ky janne.koski @ dimag.fi +358505907788 Sovelluksen toimintaperiaate Toimintaperiaate yksinkertaistettuna on seuraavanlainen Kamera ottaa kuvan tai videon jonka lähettää
LisätiedotVisual Voicemail -version 8.5 ja uudempien pikaopas
QUICK START GUIDE Visual Voicemail -version 8.5 ja uudempien pikaopas Mikä on Visual Voicemail? 2 Visual Voicemail puhelimessa 2 Käyttäminen: Visual Voicemail 3 Kirjautuneena pysyminen ja uloskirjautuminen
LisätiedotHARJOITUSTYÖ: LabVIEW, Liiketunnistin
Tämä käyttöohje on kirjoitettu ESR-projektissa Mikroanturitekniikan osaamisen kehittäminen Itä-Suomen lääninhallitus, 2007, 86268 HARJOITUSTYÖ: LabVIEW, Liiketunnistin Tarvittavat laitteet: PC Labview
LisätiedotKäyttöjärjestelmät II
LUENTO 1 Käyttöjärjestelmät II Kertaus: KJ-I ja RIO (KJ2 n osalta) Ch 1-8, 11-12 [Stal05] Kustakin luvusta enemmän tai vähemmän alkuosa Jos jokin asiat tässä tuntuvat hatarilta, niin (a) kysykää ja/tai
LisätiedotLyhyt kertaus osoittimista
, syksy 2007 Kertausta Luento 10 12.10.2007 Syksy 2007 1 Lyhyt kertaus osoittimista char *p; /* char, int, jne ilmoittavat, minkä tyyppisiä */ Keskusmuisti int *q; /* olioita sisältäviin muistilohkoihin
LisätiedotJakso 8 Ohjelman toteutus järjestelmässä
Jakso 8 Ohjelman toteutus järjestelmässä Prosessi Prosessin esitysmuoto järjestelmässä Käyttöjärjestelmä KJ-prosessit 1 Prosessi (4) Järjestelmässä olevan ohjelman esitysmuoto Järjestelmässä voi olla samalla
LisätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 15.3.2010 T-106.1208 Ohjelmoinnin perusteet Y 15.3.2010 1 / 56 Tiedostoista: tietojen tallentaminen ohjelman suorituskertojen välillä Monissa sovelluksissa ohjelman
LisätiedotJakso 8 Ohjelman toteutus järjestelmässä. Prosessi Prosessin esitysmuoto järjestelmässä Käyttöjärjestelmä KJ-prosessit
Jakso 8 Ohjelman toteutus järjestelmässä Prosessi Prosessin esitysmuoto järjestelmässä Käyttöjärjestelmä KJ-prosessit 1 Prosessi (4) Järjestelmässä olevan ohjelman esitysmuoto Järjestelmässä voi olla samalla
Lisätiedot815338A Ohjelmointikielten periaatteet Harjoitus 3 vastaukset
815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 3 vastaukset Harjoituksen aiheena ovat imperatiivisten kielten muuttujiin liittyvät kysymykset. Tehtävä 1. Määritä muuttujien max_num, lista,
Lisätiedot2. Lisää Java-ohjelmoinnin alkeita. Muuttuja ja viittausmuuttuja (1/4) Muuttuja ja viittausmuuttuja (2/4)
2. Lisää Java-ohjelmoinnin alkeita Muuttuja ja viittausmuuttuja Vakio ja literaalivakio Sijoituslause Syötteen lukeminen ja Scanner-luokka 1 Muuttuja ja viittausmuuttuja (1/4) Edellä mainittiin, että String-tietotyyppi
LisätiedotTIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli
TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op Assembly ja konekieli Tietokoneen ja ohjelmiston rakenne Loogisilla piireillä ja komponenteilla rakennetaan prosessori ja muistit Prosessorin rakenne
LisätiedotLuento 8 Ohjelman toteutus järjestelmässä
Luento 8 Ohjelman toteutus järjestelmässä Prosessi Prosessin esitysmuoto järjestelmässä Käyttöjärjestelmä KJ-prosessit 1 Prosessi (4) Järjestelmässä olevan ohjelman esitysmuoto Järjestelmässä voi olla
LisätiedotLuento 8 Ohjelman toteutus järjestelmässä. Prosessi Prosessin esitysmuoto järjestelmässä Käyttöjärjestelmä KJ-prosessit
Luento 8 Ohjelman toteutus järjestelmässä Prosessi Prosessin esitysmuoto järjestelmässä Käyttöjärjestelmä KJ-prosessit 1 Prosessi (4) Järjestelmässä olevan ohjelman esitysmuoto Järjestelmässä voi olla
LisätiedotTransaktiot - kertausta
Hajautettujen järjestelmien perusteet Transaktiot - kertausta Distributed Systems, Concepts and Design, George Coulouris, Jean Dollimore, Tim Kindberg Addison-Wesley 1988,1994. Pearson Education 2001 ISBN:
LisätiedotTK081001 Palvelinympäristö
TK081001 Palvelinympäristö 5 opintopistettä!! Petri Nuutinen! 8 opintopistettä!! Petri Nuutinen! RAID RAID = Redundant Array of Independent Disks Useasta fyysisestä kiintolevystä muodostetaan yhteinen
LisätiedotBaseMidlet. KÄYTTÖOHJE v. 1.00
KÄYTTÖOHJE v. 1.00 KUVAUS BaseMidlet on matkapuhelimessa toimiva sovellus jolla voi etäkäyttää Tiimi 7000 sarjan säätimiä. Copyright Team-Control Oy, oikeudet muutoksiin pidätetään. TiiMi on Team-Control
LisätiedotKäyttöjärjestelmät II
LUENTO 1 Käyttöjärjestelmät II Kertaus: : KJ-I ja RIO (KJ2 n osalta) Ch 1-8, 11-12 12 [Stal05] Kustakin luvusta enemmän n tai vähemmv hemmän n alkuosa Jos jokin asiat tässt ssä tuntuvat hatarilta, niin
LisätiedotLinux. 00 Keskeiset piirteet. Unix ja Linux Helsingin ammattikorkeakoulu Stadia Vesa Ollikainen (muokannut M.Mäki-Uuro) Kysymyksiä
Linux 00 Keskeiset piirteet Tux-pingviinin kuva: Larry Ewing, Simon Budig ja Anja Gerwinski Kysymyksiä 1. Mikä Linux on? 2. Kuinka Linux syntyi ja kehittyy? 3. Mitkä ovat Linuxin vahvuudet? 2 1 Linux on
Lisätiedot811312A Tietorakenteet ja algoritmit II Perustietorakenteet
811312A Tietorakenteet ja algoritmit 2017-2018 II Perustietorakenteet Sisältö 1. Johdanto 2. Pino 3. Jono 4. Lista 811312A TRA, Perustietorakenteet 2 II.1. Johdanto Tietorakenne on tapa, jolla algoritmi
LisätiedotROSSI-AVR Versio 1.1, päivitetty
ROSSI-AVR Versio 1.1, päivitetty 17.7.2009 Reaaliaikainen skaalattava moniajokäyttöjärjestelmä AVR-prosessoreille. Käyttöjärjestelmä on kokeiluversio ja testaus on kesken. Suunnittelu ja koodaus: Heikki
LisätiedotTIES530 TIES530. Moniprosessorijärjestelmät. Moniprosessorijärjestelmät. Miksi moniprosessorijärjestelmä?
Miksi moniprosessorijärjestelmä? Laskentaa voidaan hajauttaa useammille prosessoreille nopeuden, modulaarisuuden ja luotettavuuden vaatimuksesta tai hajauttaminen voi helpottaa ohjelmointia. Voi olla järkevää
LisätiedotFebdok 6.0, Uudet ominaisuudet OHJEISTUS
Febdok 6.0, Uudet ominaisuudet OHJEISTUS Sisällys 1 YLEISTÄ 1 2 ESIMERKIT 2 2.1 LAITTEISTON TIEDOT 2 2.2 SYÖTÖN VALINTA 3 2.3 PJ-LIITTYMÄ 4 2.4 SJ-LIITTYMÄ 5 2.5 GENERAATTORIJAKELU 8 2.6 SUOJALAITTEET
LisätiedotAction Request System
Action Request System Manu Karjalainen Ohjelmistotuotantovälineet seminaari HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos 25.10.2000 Action Request System (ARS) Manu Karjalainen Ohjelmistotuotantovälineet
LisätiedotAndroid. Sähköpostin määritys. Tässä oppaassa kuvataan uuden sähköpostitilin käyttöönotto Android 4.0.3 Ice Cream Sandwichissä.
Y K S I K Ä Ä N A S I A K A S E I O L E M E I L L E LI I A N P I E NI TAI M I K Ä Ä N H A A S T E LI I A N S U U R I. Android Sähköpostin määritys Määrittämällä sähköpostitilisi Android-laitteeseesi, voit
LisätiedotLOAD R1, =2 Sijoitetaan rekisteriin R1 arvo 2. LOAD R1, 100
Tiedonsiirtokäskyt LOAD LOAD-käsky toimii jälkimmäisestä operandista ensimmäiseen. Ensimmäisen operandin pitää olla rekisteri, toinen voi olla rekisteri, vakio tai muistiosoite (myös muuttujat ovat muistiosoitteita).
LisätiedotLuento 10: Tosiaikakäyttöjärjestelmät
Luento 10: Tosiaikakäyttöjärjestelmät Lähteet: Liu: Real-Time Systems, luku 12, Stankovic & Rajkumar: Real-Time Operating Systems. Real-Time Systems, 28,237-253,2004. Lisäksi kalvosarjassa on kuvia myös
LisätiedotHARJOITUSTYÖ: LabVIEW, Kiihtyvyysanturi
Tämä käyttöohje on kirjoitettu ESR-projektissa Mikroanturitekniikan osaamisen kehittäminen Itä-Suomen lääninhallitus, 2007, 86268 HARJOITUSTYÖ: LabVIEW, Kiihtyvyysanturi Tarvittavat laitteet: PC Labview
LisätiedotAlgoritmit 1. Luento 4 Ke Timo Männikkö
Algoritmit 1 Luento 4 Ke 18.1.2017 Timo Männikkö Luento 4 Tietorakenteet Pino Pinon toteutus Jono Jonon toteutus Lista Listaoperaatiot Algoritmit 1 Kevät 2017 Luento 4 Ke 18.1.2017 2/29 Pino Pino, stack,
LisätiedotSisältö. Luento 10: Tosiaikakäyttöjärjestelmät. Ominaisuuksia. Arkkitehtuuriratkaisuja. Sulautettu järjestelmä: Useita ohjaavia prosessoreja
Luento 10: Tosiaikakäyttöjärjestelmät Lähteet: Liu: Real-Time Systems, luku 12, Stankovic & Rajkumar: Real-Time Operating Systems. Real-Time Systems, 28,237-253,2004. Lisäksi kalvosarjassa on kuvia myös
LisätiedotHälyri-tietojärjestelmän järjestelmätestaussuunnitelma ja -raporttimalli
Hälyri-tietojärjestelmän järjestelmätestaussuunnitelma ja -raporttimalli Laatijat: Veli Mikko Puupponen ja Ilkka Rautiainen Päivämäärä: 26.5.2014 Versio: 1.0.0 1. Testausympäristö ja yhteenveto Testatun
LisätiedotIIO30220 Database Management / Tietokannan hallinta TAPAHTUMIEN HALLINTA JOUNI HUOTARI (7.3.2012)
IIO30220 Database Management / Tietokannan hallinta TAPAHTUMIEN HALLINTA JOUNI HUOTARI (7.3.2012) TEHTÄVIÄ/KYSYMYKSIÄ Määrittele tapahtuma (transaction) tapahtumien hallinta Mitä ovat tapahtuman ACIDominaisuudet?
LisätiedotLuottamuksellinen sähköposti Trafissa
OHJE 1 (8) Luottamuksellinen sähköposti Trafissa Trafi käyttää Deltagon Sec@GW -ohjelmistoa sähköpostin luottamuksellisuuden suojaamiseen. D-Envelope sovelluksen avulla viestien vastaanottaminen ei edellytä
LisätiedotLuento 1 Tietokonejärjestelmän rakenne
Luento 1 Tietokonejärjestelmän rakenne Järjestelmän eri tasot Laitteiston nopeus 1 Tietokonejärjestelmä Käyttäjä Tietokonelaitteisto Oheislaitteet (peripheral or I/O devices) Tietokone (computer) 2 Luento
LisätiedotTervetuloa tutustumaan Seure Keikkanetti -mobiilisovellukseen!
Tervetuloa tutustumaan Seure Keikkanetti -mobiilisovellukseen! Lataa Seuren Keikkanetti -mobiilisovellus puhelimeesi tai tablettiisi sovelluskaupastasi. Ilmainen sovellus toimii Android- ja ios-käyttöjärjestelmän
LisätiedotYleiskuva. Käyttöjärjestelmät II. Tietokonejärjestelm. rjestelmä. KJ ja laitteistopiirteet. KJ ja laitteistopiirteitä.
Kertaus: : KJ-I ja RIO (KJ2 n osalta) Ch 1-8, 11-12 12 [Stal05] Kustakin luvusta enemmän n tai vähemmv hemmän n alkuosa Jos jokin asiat tässt ssä tuntuvat hatarilta, niin (a) kysykää ja/tai (b) kerratkaa
LisätiedotProsessi (4) Luento 8 Ohjelman toteutus järjestelmässä. Prosessi. Prosessin vaihto (4)
Luento 8 Ohjelman toteutus järjestelmässä rosessi rosessin esitysmuoto järjestelmässä Käyttöjärjestelmä -prosessit rosessi (4) Järjestelmässä olevan ohjelman esitysmuoto Järjestelmässä voi olla samalla
LisätiedotLuento 1 Tietokonejärjestelmän rakenne. Järjestelmän eri tasot Laitteiston nopeus
Luento 1 Tietokonejärjestelmän rakenne Järjestelmän eri tasot Laitteiston nopeus 1 Tietokonejärjestelmä Käyttäjä Tietokonelaitteisto Oheislaitteet (peripheral or I/O devices) Tietokone (computer) 2 Tietokone
LisätiedotOhje luottamuksellista tietoa sisältävien sähköpostiviestien lähettämiseen ja vastaanottamiseen
Ohje luottamuksellista tietoa sisältävien sähköpostiviestien lähettämiseen ja vastaanottamiseen Liikenteen turvallisuusvirasto 27.9.2012 Sisällysluettelo Luottamuksellista tietoa sisältävien sähköpostiviestien
LisätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 7.2.2011 T-106.1208 Ohjelmoinnin perusteet Y 7.2.2011 1 / 39 Kännykkäpalautetteen antajia kaivataan edelleen! Ilmoittaudu mukaan lähettämällä ilmainen tekstiviesti
LisätiedotProsessi (4) Jakso 8 Ohjelman toteutus järjestelmässä. Prosessi. Prosessin vaihto (4) Prosessin elinkaari (9)
Jakso 8 Ohjelman toteutus järjestelmässä rosessi rosessin esitysmuoto järjestelmässä Käyttöjärjestelmä KJ-prosessit 1 rosessi (4) Järjestelmässä olevan ohjelman esitysmuoto Järjestelmässä voi olla samalla
LisätiedotOhjelmistojen mallintaminen Olioiden yhteistyö. 18.11.2008 Harri Laine 1
Ohjelmistojen mallintaminen Olioiden yhteistyö 18.11.2008 Harri Laine 1 Olioiden yhteistyö Oliokeskeisen ohjelmistonäkemyksen mukaan ohjelmiston palvelut tuotetaan olioiden yhteistyön tuloksena. Ohjelmisto
LisätiedotOHJELMISTOKEHITYS -suuntautumisvaihtoehto
OHJELMISTOKEHITYS -suuntautumisvaihtoehto Suuntautumisvaihtoehdon esittely 1. vuoden opiskelijoille Kari Laitinen www.oamk.fi/~karil/opetus.html Ohjelmistokehitys -opintosuunnan valitsevista henkilöistä
LisätiedotNovapoint Finnish Value Pack 16.20 Asennusohje Mar-06 1(5)
Novapoint Finnish Value Pack 16.20 Asennusohje Mar-06 1(5) Novapoint Finnish Value Pack 16.20 Asennusohje 1. Käyttöoikeudet ja asennusvaatimukset Novapoint Finnish Value Pack 16.20 asennus vaatii järjestelmänvalvojan
LisätiedotKortinhaltijat joilla on maksukeskeytys Maksuryhmään liitettyjen kortinhaltijoiden lukumäärä, joiden maksut ovat tilapäisesti keskeytetty.
1(6) MAKSURYHMÄN HALLINTA Maksuryhmäkohtaiselle sivulle pääset klikkaamalla yksittäisen maksuryhmän nimeä verkkopalvelun etusivulla tai valitsemalla ryhmän Maksuryhmät - osion listalta. Sivun tiedot ja
Lisätiedotjotakin käyttötarkoitusta varten laadittu kokoelma toisiinsa liittyviä säilytettäviä tietoja
Tietokanta Tietokanta (database) jotakin käyttötarkoitusta varten laadittu kokoelma toisiinsa liittyviä säilytettäviä tietoja mikä tahansa tietokokoelma? --> erityispiirteitä Tietokanta vs. tiedosto 1
Lisätiedot16. Ohjelmoinnin tekniikkaa 16.1
16. Ohjelmoinnin tekniikkaa 16.1 Sisällys For-lause lyhemmin. Vaihtoehtoisia merkintöjä aritmeettisille lauseille. Useiden muuttujien esittely ja alustaminen yhdellä lauseella. If-else-lause vaihtoehtoisesti
LisätiedotKäyttöjärjestelmien historia. Joni Herttuainen Henri Jantunen Markus Maijanen Timo Saksholm Johanna Tjäder Eetu Turunen
Käyttöjärjestelmien historia Joni Herttuainen Henri Jantunen Markus Maijanen Timo Saksholm Johanna Tjäder Eetu Turunen Käyttöjärjestelmien jaottelu Voidaan jaotella erilaisin menetelmin Aikajana (määrä,
Lisätiedot