Hans Baumgartner nimi nimi nimi nimi. Reaaliaikakäyttöjärjestelmät

Save this PDF as:
 WORD  PNG  TXT  JPG

Koko: px
Aloita esitys sivulta:

Download "Hans Baumgartner nimi nimi nimi nimi. Reaaliaikakäyttöjärjestelmät"

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 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ätiedot

Ongelma(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? 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ätiedot

Palvelut. Sulautetut järjestelmät Luku 2 Sivu 1 (??) Sulautetut käyttöjärjestelmät

Palvelut. 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ätiedot

Käyttöjärjestelmät: poissulkeminen ja synkronointi

Kä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ätiedot

4. Luento: Prosessit ja säikeets. Tommi Mikkonen, tommi.mikkonen@tut.fi

4. 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ätiedot

Tietojenkäsittelyn perusteet 2. Lisää käyttöjärjestelmistä

Tietojenkä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ätiedot

Ongelma(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, 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ätiedot

Concurrency - Rinnakkaisuus. Group: 9 Joni Laine Juho Vähätalo

Concurrency - 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ätiedot

5. Luento: Rinnakkaisuus ja reaaliaika. Tommi Mikkonen, tommi.mikkonen@tut.fi

5. 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ätiedot

Liite 1. Projektin tulokset (Semaforit Javassa) Jukka Hyvärinen Aleksanteri Aaltonen

Liite 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ätiedot

Yleistä. Esimerkki. Yhden palvelimen jono. palvelin. saapuvat asiakkaat. poistuvat asiakkaat. odotushuone, jonotuspaikat

Yleistä. 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ätiedot

Käyttöjärjestelmät. Teemu Saarelainen Tietotekniikka teemu.saarelainen@kyamk.fi

Kä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ätiedot

Algoritmit 1. Luento 3 Ti Timo Männikkö

Algoritmit 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ätiedot

Tietokonejärjestelmä. Tietokoneen rakenne. Ch 1 - Ch 8 [Sta06] Valikoituja paloja. TITO-kurssista. John von Neumann ja EDVAC, 1949.

Tietokonejä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ätiedot

Stallings, 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. 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ätiedot

Sulautettujen 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ä. 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ätiedot

Arto Salminen,

Arto 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ätiedot

2 Konekieli, aliohjelmat, keskeytykset

2 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ätiedot

Käyttöjärjestelmän rakenne

Kä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ätiedot

Osio 2: Luennot 5-8 Muistinhallinta

Osio 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ätiedot

Salasanojen hallinta. Salasanojen hallintaopas RESTAURANT ENTERPRISE SOLUTION

Salasanojen 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ätiedot

Jaetun muistin muuntaminen viestin välitykseksi. 15. lokakuuta 2007

Jaetun 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ätiedot

1. Keskusyksikön rakenne

1. 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ätiedot

Monitorit. Monitori Synkronointimenetelmiä Esimerkkejä. Andrews , Stallings 5.5

Monitorit. 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ätiedot

Monitorit. Tavoite. Monitori Synkronointimenetelmiä Esimerkkejä. Andrews , Stallings 5.5. Minimoi virhemahdollisuuksia

Monitorit. 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ätiedot

UML -mallinnus TILAKAAVIO

UML -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ätiedot

Linux 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 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ätiedot

IT K 1 45 K ä yt t öj ä rj estelmät

IT 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ätiedot

Uudelleenkäytön jako kahteen

Uudelleenkä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ätiedot

6. Luento: Skedulointi eli Vuoronnus. Tommi Mikkonen, tommi.mikkonen@tut.fi

6. 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ätiedot

CUDA. Moniydinohjelmointi 17.4.2012 Mikko Honkonen

CUDA. 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ätiedot

Prosessi perinteisesti

Prosessi 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ätiedot

Ohjelmointi 1. Kumppanit

Ohjelmointi 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ätiedot

Stallings, Luku 4.1. KJ-I I S2005 / Tiina Niklander, kalvot Auvo HäkkinenH

Stallings, 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ätiedot

A274101 TIETORAKENTEET JA ALGORITMIT

A274101 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ätiedot

Ongelma(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, 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ätiedot

Jakso 8 Ohjelman toteutus järjestelmässä

Jakso 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ätiedot

Sisällys. 18. Abstraktit tietotyypit. Johdanto. Johdanto

Sisä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ätiedot

Osio 2: Luennot 4-7 Muistinhallinta

Osio 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ätiedot

Harjoitustyö: virtuaalikone

Harjoitustyö: virtuaalikone Harjoitustyö: virtuaalikone Toteuta alla kuvattu virtuaalikone yksinkertaiselle olio-orientoituneelle skriptauskielelle. Paketissa on testaamista varten mukana kaksi lyhyttä ohjelmaa. Ohjeita Noudata ohjelman

Lisätiedot

Luento 1 (verkkoluento 1) Ohjelman sijainti Ohjelman esitysmuoto Laitteiston nopeus

Luento 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ätiedot

Tietorakenteet ja algoritmit

Tietorakenteet 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ätiedot

Luento 1 (verkkoluento 1) Tietokonejärjestelmä

Luento 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ätiedot

Stabilointi. Marja Hassinen. p.1/48

Stabilointi. 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ätiedot

Jakso 8 Ohjelman toteutus järjestelmässä

Jakso 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ätiedot

Tieto- ja tallennusrakenteet

Tieto- ja tallennusrakenteet Tieto- ja tallennusrakenteet Sisältö Tyyppi, abstrakti tietotyyppi, abstraktin tietotyypin toteutus Tallennusrakenteet Taulukko Linkitetty rakenne Abstraktit tietotyypit Lista (Puu) (Viimeisellä viikolla)

Lisätiedot

Rinnakkaisuuden hyväksikäyttö peleissä. Paula Kemppi

Rinnakkaisuuden 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ätiedot

Luento 8 Ohjelman toteutus järjestelmässä

Luento 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ätiedot

Luento 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 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ätiedot

OHJ-4301 Sulautettu Ohjelmointi

OHJ-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ätiedot

18. Abstraktit tietotyypit 18.1

18. 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ätiedot

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli

TIEP114 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ätiedot

Visual Voicemail -version 8.5 ja uudempien pikaopas

Visual 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ätiedot

HARJOITUSTYÖ: LabVIEW, Liiketunnistin

HARJOITUSTYÖ: 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ätiedot

Käyttöjärjestelmät II

Kä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ätiedot

Jakso 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 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ätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin 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ätiedot

815338A Ohjelmointikielten periaatteet Harjoitus 3 vastaukset

815338A 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ätiedot

BaseMidlet. KÄYTTÖOHJE v. 1.00

BaseMidlet. 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ätiedot

2. Lisää Java-ohjelmoinnin alkeita. Muuttuja ja viittausmuuttuja (1/4) Muuttuja ja viittausmuuttuja (2/4)

2. 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ätiedot

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli

TIEP114 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ätiedot

Transaktiot - kertausta

Transaktiot - 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ätiedot

Käyttöjärjestelmät II

Kä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ätiedot

Linux. 00 Keskeiset piirteet. Unix ja Linux Helsingin ammattikorkeakoulu Stadia Vesa Ollikainen (muokannut M.Mäki-Uuro) Kysymyksiä

Linux. 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ätiedot

TIES530 TIES530. Moniprosessorijärjestelmät. Moniprosessorijärjestelmät. Miksi moniprosessorijärjestelmä?

TIES530 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ätiedot

Yleiskuva. Käyttöjärjestelmät II. Tietokonejärjestelm. rjestelmä. KJ ja laitteistopiirteet. KJ ja laitteistopiirteitä.

Yleiskuva. 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ätiedot

Action Request System

Action 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ätiedot

LOAD R1, =2 Sijoitetaan rekisteriin R1 arvo 2. LOAD R1, 100

LOAD 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ätiedot

Luento 10: Tosiaikakäyttöjärjestelmät

Luento 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ätiedot

11/20: Konepelti auki

11/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ätiedot

HARJOITUSTYÖ: LabVIEW, Kiihtyvyysanturi

HARJOITUSTYÖ: 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ätiedot

Sisältö. Luento 10: Tosiaikakäyttöjärjestelmät. Ominaisuuksia. Arkkitehtuuriratkaisuja. Sulautettu järjestelmä: Useita ohjaavia prosessoreja

Sisä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ätiedot

Algoritmit 1. Luento 4 Ke Timo Männikkö

Algoritmit 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ätiedot

IIO30220 Database Management / Tietokannan hallinta TAPAHTUMIEN HALLINTA JOUNI HUOTARI (7.3.2012)

IIO30220 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ätiedot

Hälyri-tietojärjestelmän järjestelmätestaussuunnitelma ja -raporttimalli

Hä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ätiedot

Luottamuksellinen sähköposti Trafissa

Luottamuksellinen 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ätiedot

Luento 1 Tietokonejärjestelmän rakenne

Luento 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ätiedot

Prosessi (4) Luento 8 Ohjelman toteutus järjestelmässä. Prosessi. Prosessin vaihto (4)

Prosessi (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ätiedot

Ohje 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 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ätiedot

TK081001 Palvelinympäristö

TK081001 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ätiedot

Prosessi (4) Jakso 8 Ohjelman toteutus järjestelmässä. Prosessi. Prosessin vaihto (4) Prosessin elinkaari (9)

Prosessi (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ätiedot

811312A Tietorakenteet ja algoritmit II Perustietorakenteet

811312A 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ätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin 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ätiedot

Luento 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 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ätiedot

Novapoint 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 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ätiedot

Android. Sähköpostin määritys. Tässä oppaassa kuvataan uuden sähköpostitilin käyttöönotto Android 4.0.3 Ice Cream Sandwichissä.

Android. 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ätiedot

jotakin käyttötarkoitusta varten laadittu kokoelma toisiinsa liittyviä säilytettäviä tietoja

jotakin 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ätiedot

16. Ohjelmoinnin tekniikkaa 16.1

16. 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ätiedot

Tietorakenteet ja algoritmit

Tietorakenteet ja algoritmit Tietorakenteet ja algoritmit Muuttujat eri muisteissa Ohjelman muistialueen layout Paikallisen ja globaalin muuttujan ominaisuudet Dynaamisen muistinkäytön edut Paikallisten muuttujien dynaamisuus ADT

Lisätiedot

Sisältöä SÄIKEET, SMP

Sisältöä SÄIKEET, SMP LUENTO 5 Sisältöä SÄIKEET, SMP Stallings, Luku 4 Prosessi vs. säie Miksi säikeitä? ULT: Käyttäjätason säikeet KLT: Säikeiden toteutus ytimessä SMP Windowsin säikeet 1 2 Säikeet (multithreading) Prosessi

Lisätiedot

Sisällys. 17. Ohjelmoinnin tekniikkaa. Aritmetiikkaa toisin merkiten. for-lause lyhemmin

Sisällys. 17. Ohjelmoinnin tekniikkaa. Aritmetiikkaa toisin merkiten. for-lause lyhemmin Sisällys 17. Ohjelmoinnin tekniikkaa for-lause lyhemmin. Vaihtoehtoisia merkintöjä aritmeettisille lauseille. Useiden muuttujien esittely ja alustaminen yhdellä lauseella. if-else-lause vaihtoehtoisesti

Lisätiedot

Luento 1 Tietokonejärjestelmän rakenne

Luento 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 Tietokone

Lisätiedot

Luento 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 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ätiedot

OHJ-1010 Tietotekniikan perusteet 4 op Syksy 2012

OHJ-1010 Tietotekniikan perusteet 4 op Syksy 2012 OHJ-1010 Tietotekniikan perusteet 4 op Syksy 2012 Luento 12: Käyttöjärjestelmät, alkua Tekijät: Antti Virtanen, Timo Lehtonen, Matti Kujala, Kirsti Ala-Mutka, Petri M. Gerdt et al. Mikä on käyttöjärjestelmä

Lisätiedot

Nspire CAS - koulutus Ohjelmiston käytön alkeet Pekka Vienonen

Nspire CAS - koulutus Ohjelmiston käytön alkeet Pekka Vienonen Nspire CAS - koulutus Ohjelmiston käytön alkeet 3.12.2014 Pekka Vienonen Ohjelman käynnistys ja käyttöympäristö Käynnistyksen yhteydessä Tervetuloa-ikkunassa on mahdollisuus valita suoraan uudessa asiakirjassa

Lisätiedot

SATAKUNNAN AMMATTIKORKEAKOULU Sähkötekniikan koulutusohjelma. M-koodit Omron servojen ohjauksessa. Luovutettu. Hyväksytty

SATAKUNNAN AMMATTIKORKEAKOULU Sähkötekniikan koulutusohjelma. M-koodit Omron servojen ohjauksessa. Luovutettu. Hyväksytty SATAKUNNAN AMMATTIKORKEAKOULU Sähkötekniikan koulutusohjelma M-koodit Omron servojen ohjauksessa Tekijän nimi Ryhmätunnus Syventävä työ Jouni Lamminen EE01POS 4. vuosikurssin syventävä Luovutettu Hyväksytty

Lisätiedot

Maastotietokannan torrent-jakelun shapefile-tiedostojen purkaminen zip-arkistoista Windows-komentojonoilla

Maastotietokannan torrent-jakelun shapefile-tiedostojen purkaminen zip-arkistoista Windows-komentojonoilla Maastotietokannan torrent-jakelun shapefile-tiedostojen purkaminen zip-arkistoista Windows-komentojonoilla Viimeksi muokattu 5. toukokuuta 2012 Maastotietokannan torrent-jakeluun sisältyy yli 5000 zip-arkistoa,

Lisätiedot

Käyttöjärjestelmät. Tietokoneen rakenne. Stallings, Luku 1. KJ-I S2003 / Auvo Häkkinen, CT50A2602 / Leena Ikonen 1-1

Käyttöjärjestelmät. Tietokoneen rakenne. Stallings, Luku 1. KJ-I S2003 / Auvo Häkkinen, CT50A2602 / Leena Ikonen 1-1 Käyttöjärjestelmät Tietokoneen rakenne Stallings, Luku 1 KJ-I S2003 / Auvo Häkkinen, CT50A2602 / Leena Ikonen 1-1 Sisältöä Keskusyksikkö Käskysykli Keskeytys ja sen käsittely Siirräntä Muistihierarkia

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 2.3.2009 T-106.1208 Ohjelmoinnin perusteet Y 2.3.2009 1 / 28 Puhelinluettelo, koodi def lue_puhelinnumerot(): print "Anna lisattavat nimet ja numerot." print

Lisätiedot

Arduino ohjelmistokehitys

Arduino ohjelmistokehitys Arduino ohjelmistokehitys http://www.arduino.cc/ jak Sisältö Mikä on Arduino? Ohjelmistonkehitysympäristö (Arduino IDE) Ohjelmointikieli Esimerkkejä Lähteitä Arduino -ohjelmistokehitys/ jak 2 Mikä on Arduino?

Lisätiedot