Tosiaikatietokannat. Anu Kontio. Helsinki Tietokannat nyt seminaari HELSINGIN YLIOPISTO. Tietojenkäsittelytieteen laitos

Koko: px
Aloita esitys sivulta:

Download "Tosiaikatietokannat. Anu Kontio. Helsinki Tietokannat nyt seminaari HELSINGIN YLIOPISTO. Tietojenkäsittelytieteen laitos"

Transkriptio

1 Tosiaikatietokannat Anu Kontio Helsinki Tietokannat nyt seminaari HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

2 SISÄLLYS 1 JOHDANTO TOSIAIKATIETOKANNAN OMINAISUUDET DATAN OMINAISUUDET DATAN KÄSITTELY KÄYTTÖKOHTEITA TRANSAKTIOT JA SAMANAIKAISUUDEN HALLINTA TRANSAKTIOIDEN AIKAVAATIMUKSET TRANSAKTIOIDEN ENNUSTETTAVUUS TRANSAKTIOIDEN PRIORITEETTI AIKATAULUTUS JA SAMANAIKAISUUDEN HALLINTA TUTKIMUS YHTEENVETO...10 LÄHTEET...11

3 1 Johdanto Perinteiseen tietokantamalliin kuuluu kyselyjä, transaktioita, tiedon tallennusta ja hallintaa ja jonkinlaista samanaikaisuudenhallintaa. Perinteinen tietokanta ei ota lainkaan kantaa aikarajoitteisiin, joita tietynlaisissa sovelluksissa kuitenkin kaivattaisiin. Esimerkiksi lennonjohdon sovelluksissa tai tehtaan liukuhihnan hallinnassa tietyt tiedot ovat voimassa vain lyhyen aikaa. Tällaisissa sovelluksissa on hyvin tärkeää, että tiedot kannassa ovat jatkuvasti ajantasalla ja nopeasti saatavilla. Tarvitaan nopeita transaktioita, joilla on suoritukseen liittyviä aikarajoitteita, niiden käsittelyyn soveltuvia protokollia, sekä datan voimassaolomääreitä ja -rajoitteita. Tähän on ratkaisuna tosiaikatietokanta. Tosiaikatietokantojen transaktioille on määriteltävissä valmistumisen aikarajoja, suorituksen alkamisaikoja ja periodipituuksia [SSH99]. Näiden lisäksi myös datalle on määritelty aikasemantiikka (time semantics, [SSH99]), joka määrää mm. datan voimassaoloajan pituuden (eli ajanjakson, jonka aikana data on päivitettävä). Tosiaikatietokannassa datan täytyy olla sekä loogisesti että ajallisesti yhdenmukaista [Ram93]. Tosiaikatietokantoja käytetään esimerkiksi sellaisissa sovelluksissa, jotka tallentavat dataa ympäristöstä sensoreiden avulla. Silloin on tärkeää, että kannassa oleva data vastaa mahdollisimman tarkasti ympäristön tilaa. Tosiaikatietokantasysteemin laatua voidaan arvioida transaktioiden suoritusten perusteella: kuinka usein transaktiot myöhästyvät (eli eivät tule suoritetuksi ajoissa), keskiarvoinen myöhästymisen määrä, myöhästymisistä aiheutuneet kulut, datan oikeellisuus ja datan ajallinen oikeellisuus [KaG95]. Tosiaikatietokantasysteemeissä on erilaisia tapoja käsitellä myöhästyviä transaktioita. Näitä käsitellään lisää luvussa 3. Tässä seminaarityössä esitellään tosiaikatietokantojen peruspiirteitä, käyttökohteita, ja eroja perinteisiin tietokantoihin (luku 2). Lisäksi esitellään transaktioiden käsittelyä ja samanaikaisuuden hallintaa tosiaikatietokannoissa (luku 3). Luvussa 4 esitellään vielä aiheeseen liittyviä tutkimuskohteita. 1

4 2 Tosiaikatietokannan ominaisuudet Tyypillisesti tosiaikajärjestelmät koostuvat kontrolloivasta järjestelmästä ja kontrolloidusta järjestelmästä [Ram93]. Kontrolloidulla järjestelmällä tarkoitetaan esimerkiksi ympäristöä, jota kontrolloiva järjestelmä valvoo. Ympäristöä voidaan havainnoida sensoreiden avulla. Sensoreista saatavan tiedon avulla järjestelmä tekee erilaisia toimintoja, esimerkiksi säätää lämpötilaa. Siksi on tärkeää, että ympäristöstä saadut tiedot ovat erittäin ajantasaisia. Sensoreista saadusta datasta voidaan myös johtaa muuta dataa. Datan aikarajoitteiden avulla voidaan varmistua datan oikeellisuudesta ja ajantasaisuudesta. Nopeasti muuttuvassa ympäristössä datan voimassaoloaika on lyhyempi, kuin hitaammin muuttuvassa ympäristössä. Datan aikarajoitteiden lisäksi myös datan käsittelyllä ja transaktioilla on aikarajoitteita. Transaktioita käsitellään luvussa Datan ominaisuudet Dataobjektit voidaan luokitella tosiaikaisiksi tai ei-tosiaikaisiksi objekteiksi [IDS08]. Ei-tosiaikainen data on tavallista dataa, jota on perinteisissä tietokannoissa. Tosiaikaisella datalla on aikarajoite, jonka jälkeen data ei ole enää käytettävissä. Datan aikarajoitteista käytetään myös nimitystä ajallinen yhdenmukaisuus (temporal consistency) [Ram93]. Se koostuu kahdesta osasta: absoluuttinen yhdenmukaisuus (absolute consistency), joka viittaa tietokannan tilaa suhteessa ympäristön tilaan, ja suhteellinen yhdenmukaisuus (relative consistency), joka viittaa sen datan oikeellisuuteen, josta johdetaan muuta dataa. Tämä voidaan ilmaista formaalimmin muodossa d = (value, avi, timestamp), jossa d tarkoittaa tietokannan tietuetta, value tarkoittaa d:n senhetkistä arvoa, timestamp on aikaleima, jolloin d:n senhetkinen arvo on mitattu ja tallennettu. avi puolestaan on absolute validity interval, eli se aika, jonka d on voimassa [Ram93]. Tämän lisäksi määritellään joukko relative consistency set [Ram93], R, joka koostuu useasta sellaisesta tietueesta, joista johdetaan uutta dataa. Jokaiselle R:lle on olemassa 2

5 suhteellinen aikaväli (relative validity interval), jolloin R:n alkioiden ajatellaan olevan valideja. Tätä merkitään R rvi. Oletetaan, että d kuuluu R:ään. Silloin d on validi jos ja vain jos [Ram93]: 1) d value on loogisesti oikeellinen (täyttää kaikki eheysvaatimukset) 2) d on ajallisesti yhdenmukainen, eli absoluuttinen yhdenmukaisuus: (current_time d timestamp ) d avi. suhteellinen yhdenmukaisuus: d R, d timestamp d timestamp R rvi. 2.2 Datan käsittely Kuten perinteisissä tietokannoissa, myös tosiaikatietokannoissa tiedon käsittelytapahtumat ovat joko säännöllisiä (periodic), epäsäännöllisiä (aperiodic) tai satunnaisia (sporadic) [IDS08]. Säännölliset tapahtumat takaavat datan ajallisen yhdenmukaisuuden päivittämällä säännöllisin väliajoin esimerkiksi sensoreista saatavaa dataa, jolla on jokin tietty voimassaoloaika. Tällöin oikeellisuus saadaan suorittamalla säännöllinen päivitys datan voimassaoloajan mukaan. Päivitys koskee datan value- ja timestamp-kenttiä [IDS08]. Satunnaiset tapahtumat liittyvät usein johdetun datan laskemiseen sensoreilta saadusta datasta. Nämä tapahtumat ovat aina kirjoittavia, ja niilläkin on aikarajoitteina määräaika ja periodisuus [IDS08]. Epäsäännöllisiin tapahtumiin kuuluvat loput datan käsittelyyn liittyvät tapahtumat [IDS08], kuten esimerkiksi käyttäjältä tulevat tapahtumakäskyt. Nämä tapahtumat voivat lukea ja kirjoittaa ei-tosiaikaisia dataobjekteja ja ainoastaan lukea tosiaikaisia dataobjekteja. 2.3 Käyttökohteita Nykypäivänä on olemassa paljon erilaisia järjestelmiä, jotka käyttävät aikarajoitteista dataa. Esimerkkeinä voidaan mainita pörssijärjestelmät, teollisuuden automatisoidut tuotantolinjat sekä lentokone- ja lennonjohtojärjestelmät (myös tutkat) [Ram93]. Nykyajan kännyköissäkin käytettäneen GPS-paikantimen kautta jonkinlaista tosiaikatietokantajärjestelmää. Näitä järjestelmiä yhdistävä tekijä on se, että kaikkiin liittyy jonkinlainen ympäristö, jota tarkkaillaan sensoreiden avulla ja ohjataan sensoreilta 3

6 saadun datan perusteella [LaK01, sivu 17]. Esimerkiksi lentokoneessa on lukuisia sensoreita [IDS08], joiden avulla ohjaamossa tiedetään esimerkiksi suunta, sijainti, korkeus ja nopeus. Näiden lisäksi tietokannassa olisi koneen numero ja määränpää, joita ei tarvitse jatkuvasti päivittää. Sensoreista saadun datan perusteella lasketaan koneen reitti (sijainnin ja korkeuden mukaan) ja lentorata (sijannin ja suunnan mukaan). Järjestelmään kuuluu lisäksi menetelmät tietojen hakemiseen ja päivittämiseen. Toinen esimerkki käyttökohteista on tehtaan liukuhihnan kohteentunnistus [Ram93]. Kohteen kulkiessa liukuhihnalla se kuvataan kameralla, sen piirteet määritetään, verrataan niitä tietokannassa oleviin tietoihin, kohde tunnistetaan tietojen perusteella, ja ohjataan oikeaan suuntaan. Tämän kaiken tulee tapahtua tietenkin hyvin nopeasti, sillä liukuhihna liikkuu koko ajan. 3 Transaktiot ja samanaikaisuuden hallinta Perinteisistä tietokannoista poiketen tosiaikatietokannoissa tarvitaan myös aikarajoitteisia transaktioita [LaK01, sivut 3-4]. Tällä tarkoitetaan, että transaktioiden suoritusaika on rajoitettu ja että niillä on tiettyjä määräaikoja, joihin mennessä transaktion tulee olla valmis. Transaktioiden käsittelyyn tarvitaan erilaisia protokollia, joiden avulla kriittisimmät transaktiot tulevat suoritettua ensin, ja jotka huolehtivat myös määräajoista. Transaktiot voidaan jakaa kolmeen luokkaan [Ram93]: write-only, jotka vain kirjoittavat tietoa kantaan, read-only, jotka vain lukevat tietoa kannasta, ja update, jotka päivittävät kannassa olevia tietoja (luku ja kirjoitus). Koska transaktiot saattavat tapahtua yhtäaikaisesti (esimerkiksi toinen transaktio haluaa päivittää tietoa, jota toinen transaktio haluaa samalla lukea) ja tietokannan eheys täytyy säilyttää, tarvitaan myös samanaikaisuuden hallintaa. 3.1 Transaktioiden aikavaatimukset Transaktiot voidaan jakaa luokkiin myös määräaikojen perusteella [Ram93]. Oikeastaan tarkoitetaan sitä, miten järjestelmä käyttäytyy, kun määräaika ohitetaan [LaK01, sivu 4]. Tällöin puhutaan pehmeistä (soft), lujista (firm) ja kovista (hard) trans- 4

7 aktioista. Transaktion arvo suhteessa sen päättymisaikaan voidaan esittää funktiona (kuva 1) [LaK01, sivu 4]. Pehmeissä transaktioissa arvo pienenee määräajan ohituttua kohti nollaa. Lujissa transaktioissa arvo nollautuu kun määräaika menee umpeen. Kovissa transaktioissa määräajan umpeuduttua arvo muuttuu (jopa äärettömän) negatiiviseksi, mikä saattaa johtaa katastrofaalisiin seurauksiin. Esimerkki määräajasta voisi olla reaktorin lämpötilan säätely. Jos lämpötila on yli 1000 astetta, lisää jäähdytettä reaktoriin 10 sekunnin kuluessa, eli toiminnon aikaraja on 10 sekuntia [Ram93]. Esimerkiksi jos transaktio on jaettu alitoimintoihin, joille on määritelty määräajat, ja jokin alitoiminto ylittää määräaikansa, saattaa koko transaktio silti suoriutua loppuun oman määräaikansa puitteissa. Silloin on kyseessä pehmeä määräaika [Ram93]. Liukuhihnaesimerkissä on luja määräaika, sillä tieto on kerättävä kohteesta ennen kuin se poistuu kameran näkökentästä. Kuva 1: Transaktioiden aikarajat [LaK01, sivu 4] Määräaikojen lisäksi transaktioihin liittyy periodisia aikarajoja. Datan voimassaoloaika (avi) vaikuttaa sitä päivittävän säännöllisen transaktion periodin pituuteen. Transaktion sanotaan olevan oikeellinen, jos sen suoritus on alkanut ja päättynyt periodin sisällä [Ram93]. 5

8 3.2 Transaktioiden ennustettavuus Transaktioiden hallinnassa avaintekijänä on ennustettavuus (predictability) [Ram93]. Ennustettavuudella tarkoitetaan aavistusta siitä, suoriutuuko transaktio loppuun ennen sen määräaikaa. Ennustaminen on mahdollista vain, jos tiedetään transaktion huonoin mahdollinen suoritusaika (worst-case execution time) ja transaktion tarvitsemat datat ja resurssit. Hyvällä ennustettavuudella voidaan säästää resursseja, sillä jos tiedetään, ettei transaktio ehdi suoriutua ennen määräaikaansa, järjestelmä voi keskeyttää tai hylätä sen. Kuitenkaan ennustettu huonoin suoritusaika ei saa kovin radikaalisti erota varsinaisesta (todellisesta) suoritusajasta, sillä muuten transaktiot, jotka saattaisivat hyvinkin suoriutua ajoissa, saattavat tulla hylätyiksi. Transaktion suoritus riippuu sen tarvitsemista data-alkioista ja niiden saatavuudesta. Transaktio voi joutua esimerkiksi odottamaan lukkojen vapautumista tai muita resursseja. Siksi ennustaminen voi olla hankalaa. Tosiaikatietokantatransaktioissa ei suositella käytettäväksi äärettömiä silmukoita tai rekursiivisia ja dynaamisesti konstruoituja tietorakenteita [Ram93]. Myös peruutukset huonontavat ennustettavuutta. Jos transaktio keskeytetään ja käynnistetään uudelleen useita kertoja, sen kokonaissuoritusaika kasvaa huomattavasti tai keskeytyksiä voi tulla lukematon määrä. Kaikki tämä syö resursseja muilta operaatioilta. Tässäkin olisi hyvä, jos tiedettäisiin, tuleeko transaktio suoritetuksi kokonaan ajoissa, ja jos ei, voitaisiin se jättää kokonaan aloittamatta ja näin vähentää keskeytyksien määrää [Ram93]. 3.3 Transaktioiden prioriteetti Tosiaikatietokantasysteemissä transaktioita hallitaan aikataulutuksella (skedulointi, scheduling) [KaG95]. Aikataulut tulisi laatia transaktion kriittisyyden ja määräaikojen perusteella. Tämä saattaa tarkoittaa luopumista reiluudesta ja parhaasta järjestelmän suoritustehosta. Transaktion prioriteetti voidaan laskea useasta attribuutista [KaG95]. Ensimmäiset ovat kriittisyys (criticalness) ja määräaika. Mitä kriittisempi transaktio ja mitä aikaisempi sen määräaika, sitä korkeampi prioriteetti. Tekemättömän työn 6

9 määrä vaikuttaa siten, että mitä vähemmän transaktiolla on suoritettavia osia jäljellä, sen prioriteettia voidaan nostaa. Näin saadaan suoritus nopeammin päätökseen ja transaktion vaatimat lukot vapautettua. Jos transaktioon on käytetty jo paljon laskentaa, voidaan sen prioriteettia nostaa, jottei sen suoritusta tarvitse peruuttaa. On tuhlausta peruuttaa jo paljon resursseja vaatinut transaktio. Transaktion ikä tarkoittaa sen saapumisaikaa. Aiemmin saapuneen transaktion prioriteetti tulisi olla korkeampi kuin myöhemmin saapuneen. Transaktion löysyys (slackness) tarkoittaa sitä, kuinka paljon transaktion suoritusta voidaan lykätä niin, että se kuitenkin tulee valmiiksi määräaikansa puitteissa. Mitä tiukempi (eli vähemmän löysä) transaktio, sitä korkeampi prioriteetti sille tulee antaa. Jos prioriteetin laskenta perustetaan löysyyteen ja tekemättömän työn määrään, tarvitaan hyvät ennusteet transaktion suoritusajalle [KaG95]. 3.4 Aikataulutus ja samanaikaisuuden hallinta Aikataulutukseen on erilaisia menetelmiä. Osa jakaa prioriteettiä edellisessä osassa kerrotulla periaatteella, osa hieman eri tavoin. Tärkein piirre tosiaikatietokantajärjestelmän skeduloinnissa on kuitenkin aikatietoiset protokollat (time-cognizant protocols), jotka ovat muunnoksia perinteisissä tietokannoissa käytetyistä transaktion ja samanaikaisuuden hallintaprotokollista. Aikataulutuksessa käytetään esimerkiksi earliest-deadline-first (EDF) tai rate-monotonic (RT) menetelmiä. Ne toimivat optimaalisesti kovien (ja säännöllisten) transaktioiden suhteen [Ram93]. Epäsäännöllisten ja satunnaisten transaktioiden käsittely on hieman hankalampaa. Samanaikaisuuden hallinta tietokannoissa jaetaan lukitseviin ja optimistisiin menetelmiin. Yleisin lukitseva menetelmä on kaksivaiheinen lukitus (two-phase locking, 2PL). Siinä lukon saanut transaktio pitää lukkoa, kunnes sitoutuu, vaikka toinen, korkeampiprioriteettinen transaktio tarvitsisi lukon. Tulisi kuitenkin ottaa huomioon konfliktoivien transaktioiden ominaisuudet ja toimia sen mukaisesti. Tähän on muutamia vaihtoehtoja: 7

10 Jos lukkoa odottavalla transaktiolla on korkeampi prioriteetti kuin lukkoa pitävällä, syntyy tilanne, jota kutsutaan käänteiseksi prioriteetiksi (priority inversion) [Ram93]. Yksi tapa tilanteen purkamiseen on periyttää lukkoa pitävälle transaktiolle odottavan transaktion prioriteetti, jolloin sen suoritus jatkuu ja odottaja ei joudu odottamaan loputtomiin. Prioriteetin perintä (priority inheritance) vaikuttaisi lyhentävän transaktioiden odottamisaikoja [Ram93]. Sekään ei kuitenkaan aina takaa optimaalista toimintaa. Jos lukkoa pitävällä transaktiolla on pienempi prioriteetti, keskeytetään se. Muussa tapauksessa lukkoa odottava saa jäädä odottamaan. Jos korkeampiprioriteettinen transaktio aiheuttaa aina matalampiprioriteettisen transaktion keskeytyksen, tiedon eheys ei välttämättä enää toteudu [Ram93]. Jos lukkoa pitävällä transaktiolla on määräaika lähempänä, lukkoa odottava joutuu odottamaan huolimatta sen prioriteetista. Paras menetelmä aikatauluttaa transaktioita tosiaikatietokannassa on yhdistelmä näitä kolmea. Jos lukkoa pitävä, matalaprioriteettinen transaktio on lähempänä määräaikaansa kuin lukkoa odottava, järkevintä on periyttää prioriteetti, jotta lukkoa pitävä transaktio saadaan suoritetuksi loppuun, ja lukkoa odottava pääsee jatkamaan suoritustaan mahdollisimman lyhyellä odottelulla [Ram93]. Voidaan huomata jälleen, että vaikka perinteisissä tietokannoissa käytettävät menetelmät eivät aina suoraan sovellu tosiaikatietokantoihin, voidaan menetelmiä muokata sopiviksi. Optimistisissa menetelmissä suurin heikkous on myöhään tapahtuva validointi, joka ei anna mahdollisuutta transaktion ominaisuuksien huomioimiseen. Validoinnilla tarkoitetaan transaktioiden konfliktien tarkistusta. Mikäli konflikteja tapahtuu, keskeytetään transaktio. 8

11 4 Tutkimus Vaikka tosiaikatietokantoja on tutkittu jo paljon, on alalla vielä paljon haasteita tutkijoille. Kehittyvät laitteistot tarjoavat puitteet nopeammalle laskennalle ja tiedonkäsittelylle, sekä tehokkaampia ja halvempia komponentteja. Suurimmat tutkimushaasteet liittyvät samanaikaisuuden hallintaan ja ongelmista toipumiseen. Eräs tärkeä tutkimuskohde on järjestelmän huonoin mahdollinen käyttäytyminen (worst-case system behavior) [LaK01, sivu 280] ja transaktioiden suoritusaika (worstcase execution time) [SSH99]. Tämä on hankala alue tutkia, sillä siihen liittyy niin monta erillistä komponenttia, jotka vaikuttavat tulokseen. Laitteiston rakenne ja datan määrä vaikuttavat suuresti. Aikataulutusalgoritmien täytyy ottaa huomioon sekä laitteiston resurssit että datan aikataulutusvaatimukset. Tarpeen olisikin ymmärrys ja tieto siitä, kuinka samanaikaisuuden hallinta ja transaktioiden aikataulutus voitaisiin sovittaa paremmin yhteen [SSH99]. Tähän liittyen toisena tutkimuskohteena olisi määritellä uusi kriteeri tietokannan oikeellisuudelle ja kehittää menetelmiä, joiden avulla transaktioiden sarjallistuvuus voitaisiin korvata oikea-aikaisuudella (timeliness), sillä yleensä sarjallistuvuus on ollut avaintekijänä aikataulujen oikeellisuudessa [SSH99]. Suuria datamääriä käsiteltäessä indeksointi on tärkeässä asemassa [LaK01, sivu 280]. Aiemmat tutkimukset ovat keskittyneet B-puurakenteisiin indekseihin. Tosiaikaista tiedonsaantimenetelmää, johon voisi yhdistää muita menetelmiä, kuten hajautusta, ei ole vielä tutkittu [LaK01, sivu 280]. Tällaista suunnitellessa tulisi myös ottaa huomioon tosiaikatietokannan datan aikarajoitukset. Suuren datamäärän hallintaa voitaisi kehittää myös laitteiston osalta [LaK01, sivu 280]. Multiprosessorit ovat jo arkipäivää, joten rinnakkainen tai hajautettu laskenta tehostaisi tosiaikatietokantojen toimintaa. Tarkistuspisteet ja ongelmista toipuminen ovat olleet perinteisissä tietokannoissa aktiivisesti tutkittu ja kehitetty alue [LaK01, sivu ]. Tosiaikatietokannoissa näitä ei ole vielä riittävästi tutkittu. Laitteistojen kehityksen ja halpenemisen myötä tietokannat siirretään toimimaan keskusmuistissa, jolloin toivotaan nopeampia suori- 9

12 tusaikoja transaktioille. Tämä kuitenkin aiheuttaa ongelmia järjestelmän luotettavuudelle. Samanaikaisuuden hallintaprotokollien ja toipumisalgoritmien toimiva yhdistelmä on tärkeä osa luotettavan ja nopean tosiaikatietokantajärjestelmän suunnittelua [LaK01, sivu 281]. Tähän liittyy lisäksi transaktioiden perumisista syntyvät ongelmat [SSH99]. Haasteita tarjoaa myös tosiaikatietokantasysteemien integrointi kaupallisiin järjestelmiin [LaK01, sivu 281]. Pitäisi saada aikaan tosiaikaista suorittamista kustannustehokkaasti perinteisessä ei-tosiaikaisessa ympäristössä. Tämä aiheuttaa ongelmia järjestelmän turvallisuudelle. Käänteinen prioriteetti ajattelumalli, joka on tarpeellinen tosiaikasysteemeissä, ei saisi esiintyä turvallisissa järjestelmissä [SSH99]. 5 Yhteenveto Merkittävin ero tosiaikatietokantojen ja perinteisten tietokantojen välillä ovat dataan ja transaktioihin liittyvät aikarajoitteet. Data on voimassa (validia) vain tietyn ajan ja transaktioilla on määräaikoja ja suoritusaikavaatimuksia. Tietokantajärjestelmän tehtävänä on aikatauluttaa transaktiot siten, että mahdollisimman moni tulee suoritetuksi määräaikaansa mennessä. Varsinkin kovat transaktiot tulee suorittaa aina ajoissa, muuten voi seurata katastrofi. Tosiaikatietokantajärjestelmän laatua mitataan määräajassa suoritettujen transaktioiden määrällä: mitä suurempi osa transaktioista tulee suoritetuksi ajoissa, sitä parempi järjestelmä on. Tosiaikatietokantoja käytetään yleensä jonkin ympäristön havainnointiin ja kontrollointiin. Tietokantaan tallennetaan sensoreista saatavaa dataa, jota käsitellään ja jonka perusteella suoritetaan toimintoja. Esimerkkeinä tosiaikatietokantajärjestelmistä ovat lentokoneet ja teollisuus. Tosiaikatietokannoille on tärkeää aikatietoiset protokollat, jotka ottavat huomioon transaktion prioriteetin, ja varsinkin sen määräajan. Menetelmiä on monia erilaisia ja ne käsittelevät transaktioiden lukituksia hieman eri periaatteilla. Alan tutkimuksessa suurin haaste on juuri tuo aikataulutusprotokollien kehittäminen. Myös tosiaikaisten tietokantojen integroiminen nykyisiin järjestelmiin on haasteel- 10

13 lista. Laitteistojen ja järjestelmien tosiaikaisuuden kehittymisen myötä tosiaikatietokantojen käyttö kuitenkin yleistynee. Lähteet IDS08 Idoudi N, Duvallet C, Sadeg B, Bouaziz R, Gargouri F: Structural Model of Real-time Databases: an illustration. Proceedings of the th IEEE Symposium on Object Oriented Real-Time Distributed Computing (ISORC) - Volume 0, May 2008, sivut KaG95 Kao B, Garcia-Molina H: An Overview of Real-time Database Systems. Advances in Real-time Systems, Prentice Hall, USA, 1995, sivut LaK01 Lam K, Kuo T: Real-time Database Systems: Architecture and Techniques. Kluwer Academic Publishers, Massachusetts, USA, Ram93 Ramamritham K: Real-time Databases. Journal of Distributed and Parallel Databases 1(2): , April 1993, Kluwer Academic Publishers, Boston, USA. SSH99 Stankovic J, Son S, Hansson J: Misconceptions About Real-time Databases. Computer 32(6):29 36, June 1999, IEEE Computer Society. 11

Sisältö. Tosiaikajärjestelmät Luento 11: Tosiaikatietokannat. Abstrakti tietokantamalli. Tietoalkio ACID. Transaktion tilat. Abstrakti tietokantamalli

Sisältö. Tosiaikajärjestelmät Luento 11: Tosiaikatietokannat. Abstrakti tietokantamalli. Tietoalkio ACID. Transaktion tilat. Abstrakti tietokantamalli Tosiaikajärjestelmät Luento 11: Tosiaikatietokannat Tiina Niklander Perustuu Jan Lindströmin materiaalin S2002 ja artikkeliin: Ramamritham, Son & DiPippo: Real-Time Databases and Data Services. Real-Time

Lisätiedot

Tosiaikajärjestelmät Luento 11: Tosiaikatietokannat

Tosiaikajärjestelmät Luento 11: Tosiaikatietokannat Tosiaikajärjestelmät Luento 11: Tosiaikatietokannat Tiina Niklander Perustuu Jan Lindströmin materiaalin S2002 ja artikkeliin: Ramamritham, Son & DiPippo: Real-Time Databases and Data Services. Real-Time

Lisätiedot

Seminaari: Keskusmuistitietokannat. Keskusmuistitietokantojen samanaikaisuuden hallinta Ilkka Pullinen

Seminaari: Keskusmuistitietokannat. Keskusmuistitietokantojen samanaikaisuuden hallinta Ilkka Pullinen Seminaari: Keskusmuistitietokannat Keskusmuistitietokantojen samanaikaisuuden hallinta Ilkka Pullinen Sisältö Johdanto Esiteltävien menetelmien taustoja Hajautetun tietokannan spekuloiva samanaikaisuuden

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

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

HAAGA-HELIA Heti-09 1 (14) ICT05: Tiedonhallinta ja Tietokannnat O.Virkki Transaktionkäsittely

HAAGA-HELIA Heti-09 1 (14) ICT05: Tiedonhallinta ja Tietokannnat O.Virkki Transaktionkäsittely HAAGA-HELIA Heti-09 1 (14) Transaktionkäsittely Transaktion / Tapahtuman hallinta... 2 Taustaa... 3 Tapahtuman käsite... 5 ACID-ominaisuudet... 7 Samanaikaisuuden hallinta... 8 Lukitukset... 9 Toipuminen...

Lisätiedot

HELIA 1 (14) Outi Virkki Tiedonhallinta

HELIA 1 (14) Outi Virkki Tiedonhallinta HELIA 1 (14) Luento Transaktion / Tapahtuman hallinta... 2 Taustaa... 3 Tapahtuman käsite... 5 ACID-ominaisuudet... 7 Samanaikaisuuden hallinta... 8 Lukitukset... 9 Toipuminen... 10 Loki-tiedosto... 11

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

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

Helsingin yliopisto/tktl DO Tietokantojen perusteet, s 2000 Johdanto & yleistä Harri Laine 1. Tietokanta. Tiedosto

Helsingin yliopisto/tktl DO Tietokantojen perusteet, s 2000 Johdanto & yleistä Harri Laine 1. Tietokanta. Tiedosto Tietokanta Tiedosto Tietokanta (database) jotakin käyttötarkoitusta varten laadittu kokoelma toisiinsa liittyviä säilytettäviä tietoja Ohjelmointikielissä apumuistiin tallennettuja tietoja käsitellään

Lisätiedot

Tietokanta (database)

Tietokanta (database) Tietokanta Tietokanta (database) jotakin käyttötarkoitusta varten laadittu kokoelma toisiinsa liittyviä säilytettäviä tietoja 1 Tiedosto Ohjelmointikielissä apumuistiin tallennettuja tietoja käsitellään

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

HOJ Haja-aiheita. Ville Leppänen. HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.1/10

HOJ Haja-aiheita. Ville Leppänen. HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.1/10 HOJ Haja-aiheita Ville Leppänen HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.1/10 Missä mennään... 1. Johdanto (1h) 2. Säikeet (2h) 3. Samanaikaisuudesta (2h) 4. Hajautetuista sovelluksista (1h)

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

Järjestelmäarkkitehtuuri (TK081702) Hajautettu tietokanta. Hajautuksen hyötyjä

Järjestelmäarkkitehtuuri (TK081702) Hajautettu tietokanta. Hajautuksen hyötyjä Järjestelmäarkkitehtuuri (TK081702) Hajautettu tietokanta Hajautettu tietokanta Jokainen hajautettu tietokanta muodostaa oman kokonaisuutensa Loogisesti yhtenäinen data on hajautettu tietokantoihin (eri

Lisätiedot

Tosiaikajärjestelmät Luento 5: Resurssien hallinta ja prioriteetit

Tosiaikajärjestelmät Luento 5: Resurssien hallinta ja prioriteetit Tosiaikajärjestelmät Luento 5: Resurssien hallinta ja prioriteetit Tiina Niklander Jaetut resurssit Useat tapahtumat jakavat ohjelma-/laitteisto-olioita, joissa keskinäinen poissulkeminen on välttämätöntä.

Lisätiedot

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

Skedulerisimulaattorin implementointi fysiikkatöille ja sen matemaattinen validointi

Skedulerisimulaattorin implementointi fysiikkatöille ja sen matemaattinen validointi Skedulerisimulaattorin implementointi fysiikkatöille ja sen matemaattinen validointi 24.01.2011 Ohjaaja: Tapio Niemi Valvoja: Harri Ehtamo Tausta ja työn tavoite Työ tehtiin Helsinki Institute of Physics:ille,

Lisätiedot

Sovellusarkkitehtuurit

Sovellusarkkitehtuurit HELIA TiKo-05 1 (9) Sovellusarkkitehtuurit ODBC (Open Database Connectivity)... 2 JDBC (Java Database Connectivity)... 5 Middleware... 6 Middleware luokittelu... 7 Tietokanta -middleware... 8 Tapahtumamonitorit

Lisätiedot

Tietokantarakenteet ja -algoritmit 6. harjoitus

Tietokantarakenteet ja -algoritmit 6. harjoitus Tietokantarakenteet ja -algoritmit 6. harjoitus Malliratkaisut 1.. a) T1 = B I[b, r 2, 0, 0] IX-lukitaan järjestelmä s, tietokanta b ja relaatio (b, r 2 ) (tässä järjestyksessä), X-lukitaan (b, r 2, 0)

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

Tietokannan hallinta. Kevät 2004 Jan Lindström R&G Chapter 1

Tietokannan hallinta. Kevät 2004 Jan Lindström R&G Chapter 1 Tietokannan hallinta Kevät 2004 Jan Lindström R&G Chapter 1 Tietokannan hallinta 1. Johdanto (käsitteitä) 2. Tietokannan talletusrakenteet 3. Tietokannan hakemistorakenteet 4. Kyselyiden käsittely ja optimointi

Lisätiedot

Algoritmit 2. Luento 7 Ti Timo Männikkö

Algoritmit 2. Luento 7 Ti Timo Männikkö Algoritmit 2 Luento 7 Ti 4.4.2017 Timo Männikkö Luento 7 Joukot Joukko-operaatioita Joukkojen esitystapoja Alkiovieraat osajoukot Toteutus puurakenteena Algoritmit 2 Kevät 2017 Luento 7 Ti 4.4.2017 2/26

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

alvarmahlberg 2018 @alvarmahlberg KERTAUSTA EILISELTÄ 1. Lohkoketjut mahdollistavat verkostojen luomisen ja ylläpitämisen, ilman hallitsijaa ja ilman rahaa. 2. Kryptoekonomiassa yhdistetään kryptografiaa

Lisätiedot

A TIETORAKENTEET JA ALGORITMIT

A TIETORAKENTEET JA ALGORITMIT A274105 TIETORAKENTEET JA ALGORITMIT HARJOITUSTEHTÄVÄT 6 DEADLINE 1.4.2009 KLO 9:00 Kynätehtävät tehdään kirjallisesti ja esitetään harjoituksissa. Välivaiheet näkyviin! Ohjelmointitehtävät sähköisesti

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

Graafit ja verkot. Joukko solmuja ja joukko järjestämättömiä solmupareja. eli haaroja. Joukko solmuja ja joukko järjestettyjä solmupareja eli kaaria

Graafit ja verkot. Joukko solmuja ja joukko järjestämättömiä solmupareja. eli haaroja. Joukko solmuja ja joukko järjestettyjä solmupareja eli kaaria Graafit ja verkot Suuntamaton graafi: eli haaroja Joukko solmuja ja joukko järjestämättömiä solmupareja Suunnattu graafi: Joukko solmuja ja joukko järjestettyjä solmupareja eli kaaria Haaran päätesolmut:

Lisätiedot

Määrittelydokumentti NJC2. Helsinki 11.2.2004 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Määrittelydokumentti NJC2. Helsinki 11.2.2004 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Määrittelydokumentti NJC2 Helsinki 11.2.2004 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti ( ov) Projektiryhmä Eero Anttila Olli

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

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

D B. Tietokannan hallinta kertaus

D B. Tietokannan hallinta kertaus TKHJ:n pääkomponentit metadata TKHJ:ssä Tiedostojen käsittely puskurien rooli tiedostokäsittelyssä levymuistin rakenne ja käsittely mistä tekijöistä hakuaika muodostuu jonotus jos useita samanaikaisia

Lisätiedot

Kahden virtualisointiohjelmiston suorituskyvyn testaus (valmiin työn esittely)

Kahden virtualisointiohjelmiston suorituskyvyn testaus (valmiin työn esittely) Kahden virtualisointiohjelmiston suorituskyvyn testaus (valmiin työn esittely) Jani Laine 31.10.2017 Ohjaaja: DI Jimmy Kjällman Valvoja: Prof. Kai Virtanen Työn saa tallentaa ja julkistaa Aalto-yliopiston

Lisätiedot

Samanaikaisuuden hallinta Snapshot Isolationin avulla

Samanaikaisuuden hallinta Snapshot Isolationin avulla hyväksymispäivä arvosana arvostelija Samanaikaisuuden hallinta Snapshot Isolationin avulla Olli Korhonen Helsinki 4.3.2009 Seminaarityö HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos HELSINGIN YLIOPISTO

Lisätiedot

811312A Tietorakenteet ja algoritmit, , Harjoitus 3, Ratkaisu

811312A Tietorakenteet ja algoritmit, , Harjoitus 3, Ratkaisu 811312A Tietorakenteet ja algoritmit, 2018-2019, Harjoitus 3, Ratkaisu Harjoituksessa käsitellään algoritmien aikakompleksisuutta. Tehtävä 3.1 Kuvitteelliset algoritmit A ja B lajittelevat syötteenään

Lisätiedot

Nopea kertolasku, Karatsuban algoritmi

Nopea kertolasku, Karatsuban algoritmi Nopea kertolasku, Karatsuban algoritmi Mikko Männikkö 16.8.2004 Lähde: ((Gathen and Gerhard 1999) luku II.8) Esityksen kulku Algoritmien analysointia (1), (2), (3), (4) Klassinen kertolasku Parempi tapa

Lisätiedot

HELIA 1 (11) Outi Virkki Tiedonhallinta 4.11.2000

HELIA 1 (11) Outi Virkki Tiedonhallinta 4.11.2000 HELIA 1 (11) Access 1 ACCESS...2 Yleistä...2 Access-tietokanta...3 Perusobjektit...3 Taulu...5 Kysely...7 Lomake...9 Raportti...10 Makro...11 Moduli...11 HELIA 2 (11) ACCESS Yleistä Relaatiotietokantatyyppinen

Lisätiedot

Stabiloivat synkronoijat ja nimeäminen

Stabiloivat synkronoijat ja nimeäminen Stabiloivat synkronoijat ja nimeäminen Mikko Ajoviita 2.11.2007 Synkronoija Synkronoija on algoritmi, joka muuntaa synkronoidun algoritmin siten, että se voidaan suorittaa synkronoimattomassa järjestelmässä.

Lisätiedot

Tietotekniikan laitos Käki-projekti TIETOKANTASUUNNITELMA. 1. Johdanto

Tietotekniikan laitos Käki-projekti TIETOKANTASUUNNITELMA. 1. Johdanto Jyväskylän yliopisto SUUNNITELMA Tietotekniikan laitos 5.11.2003 Käki-projekti TIETOKANTASUUNNITELMA 1. Johdanto Suunnitelma sisältää kuvauksen tietokannan suunnittelussa käytetyistä periaatteista, kuvan

Lisätiedot

Lisätään avainarvo 6, joka mahtuu lehtitasolle:

Lisätään avainarvo 6, joka mahtuu lehtitasolle: Helsingin Yliopisto, Tietojenkäsittelytieteen laitos Tietokannan hallinta, kurssikoe 11.6.2004, J. Lindström Ratkaisuehdotuksia 1. Hakemistorakenteet, 15p. Tutkitaan tyhjää B+-puuta, jossa jokaiselle hakemistosivulle

Lisätiedot

52480S TIETOKEARKKITEHTUURIT Tentti 6.2.1998

52480S TIETOKEARKKITEHTUURIT Tentti 6.2.1998 S Ä H K Ö T E K N I I K A N O S A S T O 548S TIETOKEARKKITEHTUURIT Tentti 6..998 Oulu 8..999. Selosta lyhyesti käsitteet: a. set associative memory b. conflict miss c. consistency of cached data d. access

Lisätiedot

811312A Tietorakenteet ja algoritmit 2015-2016. I Johdanto

811312A Tietorakenteet ja algoritmit 2015-2016. I Johdanto 811312A Tietorakenteet ja algoritmit 2015-2016 I Johdanto Sisältö 1. Algoritmeista ja tietorakenteista 2. Algoritmien analyysistä 811312A TRA, Johdanto 2 I.1. Algoritmeista ja tietorakenteista I.1.1. Algoritmien

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

Tietorakenteet ja algoritmit - syksy 2015 1

Tietorakenteet ja algoritmit - syksy 2015 1 Tietorakenteet ja algoritmit - syksy 2015 1 Tietorakenteet ja algoritmit - syksy 2015 2 Tietorakenteet ja algoritmit Johdanto Ari Korhonen Tietorakenteet ja algoritmit - syksy 2015 1. JOHDANTO 1.1 Määritelmiä

Lisätiedot

Keskusmuistitietokantojen samanaikaisuuden hallinta

Keskusmuistitietokantojen samanaikaisuuden hallinta Keskusmuistitietokantojen samanaikaisuuden hallinta Ilkka Pullinen Helsinki 09.03.2012 HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI

Lisätiedot

Tietosisällön eheys. Kimmo Janhunen Riskienhallintapäällikkö

Tietosisällön eheys. Kimmo Janhunen Riskienhallintapäällikkö Tietosisällön eheys Kimmo Janhunen kimmo.janhunen@om.fi Riskienhallintapäällikkö Oikeusrekisterikeskuski k 26.11.2014 Esityksen sisältö Tiedon merkitys - tiedon eheyden merkitys Määritelmät Lainsäädäntö

Lisätiedot

Algoritmit 2. Luento 13 Ti Timo Männikkö

Algoritmit 2. Luento 13 Ti Timo Männikkö Algoritmit 2 Luento 13 Ti 30.4.2019 Timo Männikkö Luento 13 Simuloitu jäähdytys Merkkijonon sovitus Horspoolin algoritmi Ositus ja rekursio Rekursion toteutus Algoritmit 2 Kevät 2019 Luento 13 Ti 30.4.2019

Lisätiedot

1. (a) Seuraava algoritmi tutkii, onko jokin luku taulukossa monta kertaa:

1. (a) Seuraava algoritmi tutkii, onko jokin luku taulukossa monta kertaa: Tietorakenteet, laskuharjoitus 10, ratkaisuja 1. (a) Seuraava algoritmi tutkii, onko jokin luku taulukossa monta kertaa: SamaLuku(T ) 2 for i = 1 to T.length 1 3 if T [i] == T [i + 1] 4 return True 5 return

Lisätiedot

Pythonin Kertaus. Cse-a1130. Tietotekniikka Sovelluksissa. Versio 0.01b

Pythonin Kertaus. Cse-a1130. Tietotekniikka Sovelluksissa. Versio 0.01b Pythonin Kertaus Cse-a1130 Tietotekniikka Sovelluksissa Versio 0.01b Listat 1/2 esimerkkejä listan peruskäytöstä. > lista=['kala','kukko','kissa','koira'] ['kala','kukko','kissa','koira'] >lista.append('kana')

Lisätiedot

Helsingin yliopisto/tktl Tietokantojen perusteet, s 2006 Tiedon mallinnus ja tietokannat. Harri Laine 1. Tietokanta.

Helsingin yliopisto/tktl Tietokantojen perusteet, s 2006 Tiedon mallinnus ja tietokannat. Harri Laine 1. Tietokanta. Tieto - data Digitaalisesti tallennettua informaatiota jostakin kohteesta Vapaamuotoinen tieto (unformatted) Esim. teksti, puhe, kuvat, Sisältö jäsentämätöntä Koneellinen käsittely vaikeaa paitsi kokonaisuutena

Lisätiedot

Maiju Mykkänen (D6297@jamk.fi) Susanna Sällinen (E0941@jamk.fi)

Maiju Mykkänen (D6297@jamk.fi) Susanna Sällinen (E0941@jamk.fi) Maiju Mykkänen (D6297@jamk.fi) Susanna Sällinen (E0941@jamk.fi) Tietokannan hallinta-opintojakson selvitysraportti Huhtikuu 2010 Mediatekniikka ICT/Teknologia Tämän teosteoksen käyttöoikeutta koskee Creative

Lisätiedot

Tietojärjestelmä tuotantoympäristössä. Sovellusohjelmat Helsingin ammattikorkeakoulu Stadia / Tekniikka ja liikenne Vesa Ollikainen

Tietojärjestelmä tuotantoympäristössä. Sovellusohjelmat Helsingin ammattikorkeakoulu Stadia / Tekniikka ja liikenne Vesa Ollikainen Tietojärjestelmä tuotantoympäristössä Tausta ja tavoitteet Tausta Kurssilla on opiskeltu suunnittelemaan ja toteuttamaan tietokanta, joka on pieni perustuu selkeisiin vaatimuksiin on (yleensä) yhden samanaikaisen

Lisätiedot

Luento 2: Tiedostot ja tiedon varastointi

Luento 2: Tiedostot ja tiedon varastointi HELIA 1 (19) Luento 2: Tiedostot ja tiedon varastointi Muistit... 2 Päämuisti (Primary storage)... 2 Apumuisti (Secondary storage)... 2 Tiedon tallennuksen yksiköitä... 3 Looginen taso... 3 Fyysinen taso...

Lisätiedot

Tietohakemisto ja Transaktionkäsittely

Tietohakemisto ja Transaktionkäsittely HELIA TIKO-05 1 (18) Tietohakemisto ja Transaktionkäsittely Tietohakemisto...2 Oraclen tietohakemistonäkymät (osa)...3 Yleiset...3 Taulut...3 Säännöt...3 Näkymät...3 Synonyymit...4 Indeksit...4 Sekvenssit...4

Lisätiedot

LAPS: Testbedhavainnoista. analyysiksi. Janne Kotro Kaukokartoitus/Tutkimus

LAPS: Testbedhavainnoista. analyysiksi. Janne Kotro Kaukokartoitus/Tutkimus LAPS: Testbedhavainnoista analyysiksi Janne Kotro Kaukokartoitus/Tutkimus 6.4.2006 Lähihetkiennustaminen (nowcasting) Ennustamista vallitsevasta säätilasta muutama tunti eteenpäin Käsite pitää sisällään

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

HAAGA-HELIA Heti-09 1 (12) ICT05 Tiedonhallinta ja Tietokannat O.Virkki Näkymät

HAAGA-HELIA Heti-09 1 (12) ICT05 Tiedonhallinta ja Tietokannat O.Virkki Näkymät HAAGA-HELIA Heti-09 1 (12) Näkymät Näkymät... 2 Eri tyyppisiä relaatioita... 2 Taulu - Tallennettu relaatio... 2 Tulosrelaatio - Kyselyn tulos... 2 Näkymä - Virtuaalirelaatio... 2 Näkymien määrittely...

Lisätiedot

TIEA341 Funktio-ohjelmointi 1, kevät 2008

TIEA341 Funktio-ohjelmointi 1, kevät 2008 TIEA34 Funktio-ohjelmointi, kevät 2008 Luento 3 Antti-Juhani Kaijanaho Jyväskylän yliopisto Tietotekniikan laitos 2. tammikuuta 2008 Ydin-Haskell: Syntaksi Lausekkeita (e) ovat: nimettömät funktiot: \x

Lisätiedot

Algoritmit 1. Luento 1 Ti Timo Männikkö

Algoritmit 1. Luento 1 Ti Timo Männikkö Algoritmit 1 Luento 1 Ti 10.1.2017 Timo Männikkö Luento 1 Algoritmi Algoritmin toteutus Ongelman ratkaiseminen Algoritmin tehokkuus Algoritmin suoritusaika Algoritmin analysointi Algoritmit 1 Kevät 2017

Lisätiedot

Algoritmit 2. Luento 4 To Timo Männikkö

Algoritmit 2. Luento 4 To Timo Männikkö Algoritmit 2 Luento 4 To 21.3.2019 Timo Männikkö Luento 4 Hajautus Yhteentörmäysten käsittely Avoin osoitteenmuodostus Hajautusfunktiot Puurakenteet Solmujen läpikäynti Algoritmit 2 Kevät 2019 Luento 4

Lisätiedot

Intel Pentium Pro -prosessori. tietokonearkkitehtuurit, syksy -96 Ari Rantanen

Intel Pentium Pro -prosessori. tietokonearkkitehtuurit, syksy -96 Ari Rantanen Intel Pentium Pro -prosessori tietokonearkkitehtuurit, syksy -96 Ari Rantanen Tarkasteltavat aiheet Katsaus Pentium Pro:n ominaisuuksiin Käskyn suoritus Pentium Pro:n liukuhihnalla Pentium Pro:n suorituskyky

Lisätiedot

Rekursiolause. Laskennan teorian opintopiiri. Sebastian Björkqvist. 23. helmikuuta Tiivistelmä

Rekursiolause. Laskennan teorian opintopiiri. Sebastian Björkqvist. 23. helmikuuta Tiivistelmä Rekursiolause Laskennan teorian opintopiiri Sebastian Björkqvist 23. helmikuuta 2014 Tiivistelmä Työssä käydään läpi itsereplikoituvien ohjelmien toimintaa sekä esitetään ja todistetaan rekursiolause,

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

010627000 Tietoturvan Perusteet Yksittäisen tietokoneen turva

010627000 Tietoturvan Perusteet Yksittäisen tietokoneen turva 010627000 Tietoturvan Perusteet Yksittäisen tietokoneen turva Pekka Jäppinen 31. lokakuuta 2007 Pekka Jäppinen, Lappeenranta University of Technology: 31. lokakuuta 2007 Tietokone Koostuu raudasta ja ohjelmista

Lisätiedot

Tietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari Korhonen

Tietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari Korhonen Tietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari 1 1. JOHDANTO 1.1 Määritelmiä 1.2 Tietorakenteen ja algoritmin valinta 1.3 Algoritmit ja tiedon määrä 1.4 Tietorakenteet ja toiminnot 1.5 Esimerkki:

Lisätiedot

TMR 08 Viikkoajastin/kytkin. Käyttöohjekirja

TMR 08 Viikkoajastin/kytkin. Käyttöohjekirja TMR 08 Viikkoajastin/kytkin Käyttöohjekirja www.avalarm.fi Sisältö 1. Pakkauksen sisältö 1 2. Etupaneelin kuvaus 2 3. Esittely 4 4. Päänäyttö 6 5. Ajan ja päivämäärän asetus 7 6. Aseta ohjelma # n 9 7.

Lisätiedot

monitavoitteisissa päätöspuissa (Valmiin työn esittely) Mio Parmi Ohjaaja: Prof. Kai Virtanen Valvoja: Prof.

monitavoitteisissa päätöspuissa (Valmiin työn esittely) Mio Parmi Ohjaaja: Prof. Kai Virtanen Valvoja: Prof. Epätäydellisen preferenssiinformaation hyödyntäminen monitavoitteisissa päätöspuissa (Valmiin työn esittely) Mio Parmi 15.1.2018 Ohjaaja: Prof. Kai Virtanen Valvoja: Prof. Kai Virtanen Tausta Päätöspuu

Lisätiedot

Arkkitehtuurikuvaus. Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy. Ryhmä 14

Arkkitehtuurikuvaus. Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy. Ryhmä 14 Arkkitehtuurikuvaus Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy Ryhmä 14 Muutoshistoria Versio Pvm Päivittäjä Muutos 0.4 1.11.2007 Matti Eerola 0.3 18.10.2007 Matti Eerola 0.2

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

TKHJ:ssä on yleensä komento create index, jolla taululle voidaan luoda hakemisto

TKHJ:ssä on yleensä komento create index, jolla taululle voidaan luoda hakemisto Indeksin luonti ja hävitys TKHJ:ssä on yleensä komento create index, jolla taululle voidaan luoda hakemisto Komentoa ei ole standardoitu ja niinpä sen muoto vaihtelee järjestelmäkohtaisesti Indeksi voidaan

Lisätiedot

SQLite selvitysraportti. Juha Veijonen, Ari Laukkanen, Matti Eronen. Maaliskuu 2010

SQLite selvitysraportti. Juha Veijonen, Ari Laukkanen, Matti Eronen. Maaliskuu 2010 SQLite selvitysraportti Juha Veijonen, Ari Laukkanen, Matti Eronen Maaliskuu 2010 Opinnäytetyö Kuukausi Vuosi 1 SISÄLTÖ 1. YLEISTÄ SQLITE:STA... 2 2. HISTORIA... 2 3. SQLITEN KÄYTTÖ... 3 3.1 SQLiten asennus

Lisätiedot

Arto Salminen,

Arto Salminen, 6. Luento: Skedulointi eli Vuoronnus Arto Salminen, arto.salminen@tut.fi Agenda Peruskäsitteet Skedulointialgoritmeja Reaaliaikajärjestelmien skedulointi Skeduloituvuuden analysoinnista Yhteenveto Peruskäsitteet

Lisätiedot

HELIA 1 (15) Outi Virkki Tiedonhallinta

HELIA 1 (15) Outi Virkki Tiedonhallinta HELIA 1 (15) Luento Suorituskyvyn optimointi... 2 Tiedonhallintajärjestelmän rakenne... 3 Suunnittele... 4 SQL-komentojen viritys... 5 Tekninen ympäristö... 6 Fyysisen tason ratkaisut... 7 Indeksit...

Lisätiedot

Jatkuvatoiminen monitorointi vs. vuosittainen näytteenotto

Jatkuvatoiminen monitorointi vs. vuosittainen näytteenotto Jatkuvatoiminen monitorointi vs. vuosittainen näytteenotto Teemu Auronen Muuntajan vikaantumiseen johtavia seikkoja Vikatilanteen estämiseksi, kehittyvien vikojen tunnistaminen on elinarvoisen tärkeää.

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

Ongelma(t): Mikä on Turingin kone? Miten Turingin kone liittyy funktioihin ja algoritmeihin? Miten Turingin kone liittyy tietokoneisiin?

Ongelma(t): Mikä on Turingin kone? Miten Turingin kone liittyy funktioihin ja algoritmeihin? Miten Turingin kone liittyy tietokoneisiin? Ongelma(t): Mikä on Turingin kone? Miten Turingin kone liittyy funktioihin ja algoritmeihin? Miten Turingin kone liittyy tietokoneisiin? 2013-2014 Lasse Lensu 2 Algoritmit ovat deterministisiä toimintaohjeita

Lisätiedot

HELIA 1 (14) Outi Virkki Tiedonhallinta

HELIA 1 (14) Outi Virkki Tiedonhallinta HELIA 1 (14) Luento Näkymät... 2 Relaatiotyypit... 2 Taulu - Tallennettu relaatio... 3 Näkymä - Virtuaalirelaatio... 3 Tulosrelaatio - Kyselyn tulos... 3 Otetaulut - Tauluun tallennettu kyselyn tulos...

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

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

KULJETUSSUUREET Kuljetussuureilla tai -ominaisuuksilla tarkoitetaan kaasumaisen, nestemäisen tai kiinteän väliaineen kykyä siirtää ainetta, energiaa, tai jotain muuta fysikaalista ominaisuutta paikasta

Lisätiedot

Kombinatorinen optimointi

Kombinatorinen optimointi Kombinatorinen optimointi Sallittujen pisteiden lukumäärä on äärellinen Periaatteessa ratkaisu löydetään käymällä läpi kaikki pisteet Käytännössä lukumäärä on niin suuri, että tämä on mahdotonta Usein

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

Yritysturvallisuuden perusteet

Yritysturvallisuuden perusteet Yritysturvallisuuden perusteet Teemupekka Virtanen Helsinki University of Technology Telecommunication Software and Multimedia Laboratory teemupekka.virtanen@hut.fi 8. Luento Tietoturvallisuus Tiedon ominaisuudet

Lisätiedot

Tutkimus web-palveluista (1996) http://www.trouble.org/survey/

Tutkimus web-palveluista (1996) http://www.trouble.org/survey/ Tietoturva Internet kaupankäynnissä E-Commerce for Extended Enterprise 29.4.98 Jari Pirhonen (Jari.Pirhonen@atbusiness.com) AtBusiness Communications Oy http://www.atbusiness.com Tutkimus web-palveluista

Lisätiedot

R 2 [0] ei ole likainen luku, sillä avaimelle 0 on jo palautettu sen alkuperäinen arvo.

R 2 [0] ei ole likainen luku, sillä avaimelle 0 on jo palautettu sen alkuperäinen arvo. Tietokantarakenteet ja -algoritmit 5. harjoitus Malliratkaisut 1. B 1 : T 1 alkaa. I 1 [1]: T 1 :lle pitkäkestoinen X-lukko avaimeen 1 ja lyhytkestoinen X-lukko avaimen 1 seuraajaan. B 2 : T 2 alkaa. I

Lisätiedot

TOR Arkkitehtuuri. - Muiden palveluiden hyödyntäminen - Tiedon loogiset vastuut - Tietovirrat - Master data -malli - Tietojen siirto

TOR Arkkitehtuuri. - Muiden palveluiden hyödyntäminen - Tiedon loogiset vastuut - Tietovirrat - Master data -malli - Tietojen siirto TOR Arkkitehtuuri - Muiden palveluiden hyödyntäminen - Tiedon loogiset vastuut - Tietovirrat - Master data -malli - Tietojen siirto Opintopolun palveluiden hyödyntäminen TOR hyödyntää vähintään organisaatiopalvelua,

Lisätiedot

Advanced Test Automation for Complex Software-Intensive Systems

Advanced Test Automation for Complex Software-Intensive Systems Advanced Test Automation for Complex Software-Intensive Systems Aiheena monimutkaisten ohjelmistovaltaisten järjestelmien testauksen automatisointi Mistä on kyse? ITEA2-puiteohjelman projekti: 2011-2014

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

Johdatus verkkoteoriaan 4. luento

Johdatus verkkoteoriaan 4. luento Johdatus verkkoteoriaan 4. luento 28.11.17 Viikolla 46 läpikäydyt käsitteet Viikolla 47 läpikäydyt käsitteet Verkko eli graafi, tasoverkko, solmut, välit, alueet, suunnatut verkot, isomorfiset verkot,

Lisätiedot

811120P Diskreetit rakenteet

811120P Diskreetit rakenteet 811120P Diskreetit rakenteet 2018-2019 1. Algoritmeista 1.1 Algoritmin käsite Algoritmi keskeinen laskennassa Määrittelee prosessin, joka suorittaa annetun tehtävän Esimerkiksi Nimien järjestäminen aakkosjärjestykseen

Lisätiedot

Tietokannan hallintajärjestelmän (DBMS) palvelut ja rakenne

Tietokannan hallintajärjestelmän (DBMS) palvelut ja rakenne HAAGA-HELIA Heti-09 1 (6) Tietokannan hallintajärjestelmän (DBMS) palvelut ja rakenne Tietovarastotekniikan kehittyminen... 2 Tiedostopohjaiset ratkaisut... 2 Tiedoston palvelut... 3 Tiedostopohjaisten

Lisätiedot

Jokaisella tiedostolla on otsake (header), joka sisältää tiedostoon liittyvää hallintatietoa

Jokaisella tiedostolla on otsake (header), joka sisältää tiedostoon liittyvää hallintatietoa Tietojen tallennusrakenteet Jokaisella tiedostolla on otsake (header), joka sisältää tiedostoon liittyvää hallintatietoa tiedot tiedostoon kuuluvista lohkoista esim. taulukkona, joka voi muodostua ketjutetuista

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 9.2.2009 T-106.1208 Ohjelmoinnin perusteet Y 9.2.2009 1 / 35 Listat Esimerkki: halutaan kirjoittaa ohjelma, joka lukee käyttäjältä 30 lämpötilaa. Kun lämpötilat

Lisätiedot

OpenOffice.org Base 3.1.0

OpenOffice.org Base 3.1.0 OpenOffice.org Base 3.1.0 Sisällysluettelo 1 Tietokannan luominen...1 2 Taulukon eli taulun luominen...3 3 Kysely...9 4 Raportti...14 1 Tietokannan luominen Tietokanta on kokoelma tietoja, joilla on yhteys

Lisätiedot

1 Kertaus. Lineaarinen optimointitehtävä on muotoa:

1 Kertaus. Lineaarinen optimointitehtävä on muotoa: 1 Kertaus Lineaarinen optimointitehtävä on muotoa: min c 1 x 1 + c 2 x 2 + + c n x n kun a 11 x 1 + a 12 x 2 + + a 1n x n b 1 a 21 x 1 + a 22 x 2 + + a 2n x n b 2 (11) a m1 x 1 + a m2 x 2 + + a mn x n

Lisätiedot

D B. Transaktionhallinta - samanaikaisuus. Transaktionhallinta - samanaikaisuus. Transaktionhallinta - samanaikaisuus

D B. Transaktionhallinta - samanaikaisuus. Transaktionhallinta - samanaikaisuus. Transaktionhallinta - samanaikaisuus Tietokannalla on tyypillisesti useita samanaikaisia käyttäjiä (prosesseja). On toivottavaa, että yhdenkään käyttäjän toiminta ei hidastuisi kohtuuttomasti, vaikka muita käyttäjiä olisi runsaastikin yhdenkään

Lisätiedot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CSE-A1111 30.9.2015 CSE-A1111 Ohjelmoinnin peruskurssi Y1 30.9.2015 1 / 27 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta Luentopalaute.

Lisätiedot

Männyn laaturajojen integrointi runkokäyrän ennustamisessa. Laura Koskela Tampereen yliopisto 9.6.2003

Männyn laaturajojen integrointi runkokäyrän ennustamisessa. Laura Koskela Tampereen yliopisto 9.6.2003 Männyn laaturajojen integrointi runkokäyrän ennustamisessa Laura Koskela Tampereen yliopisto 9.6.2003 Johdantoa Pohjoismaisen käytännön mukaan rungot katkaistaan tukeiksi jo metsässä. Katkonnan ohjauksessa

Lisätiedot

Seurantalaskimen simulointi- ja suorituskykymallien vertailu (valmiin työn esittely) Joona Karjalainen

Seurantalaskimen simulointi- ja suorituskykymallien vertailu (valmiin työn esittely) Joona Karjalainen Seurantalaskimen simulointi- ja suorituskykymallien vertailu (valmiin työn esittely) Joona Karjalainen 08.09.2014 Ohjaaja: DI Mikko Harju Valvoja: Prof. Kai Virtanen Työn saa tallentaa ja julkistaa Aalto-yliopiston

Lisätiedot

on rekursiivisesti numeroituva, mutta ei rekursiivinen.

on rekursiivisesti numeroituva, mutta ei rekursiivinen. 6.5 Turingin koneiden pysähtymisongelma Lause 6.9 Kieli H = { M pysähtyy syötteellä w} on rekursiivisesti numeroituva, mutta ei rekursiivinen. Todistus. Todetaan ensin, että kieli H on rekursiivisesti

Lisätiedot