7. Luento: Ytimet. Tommi Mikkonen,
|
|
- Taisto Majanlahti
- 7 vuotta sitten
- Katselukertoja:
Transkriptio
1 7. Luento: Ytimet Tommi Mikkonen,
2 Agenda Johdanto Perusydintyypit Pollaavat Keskeyttävät Prosessiydin Valmiina saatavista ytimistä Esimerkki: Linux-ydin Yhteenveto
3 Johdanto Käyttöjärjestelmän päätehtävät: Keskeytysten käsittely Oheislaitteiden ohjaus Prosessien hallinta (Muistinhallinta) Pienet ytimet ilman käyttöjärjestelmän omaisia toimintoja Sovellus ja käyttöjärjestelmätaso sekoittuvat helposti (ja tämä voi olla jopa toivottavaa esim. ajoitukseen liittyvistä syistä!) Ohjelmoija vastaa kaikesta Yleiskäyttöisellä puolella käyttöjärjestelmä tarjoaa perusresurssit Esim. prosessit (kevennettynä säie tai tehtävä tai kevytprosessi)
4 Entäpä reaaliaika? Jos ohjelmoija vastaa kaikesta, niin myös reaaliajasta sitä tarvittaessa Korkeaprioriteettisin keskeytys palvelee reaaliaikatoiminnot Kokonaan reaaliaikainen ydin, jolloin se lupaa huolehtia esim. skedulointialgoritmillaan reaaliajasta (tietyin oletuksin!) Yleiskäyttöisessä ympäristössä erilaisia kikkoja Esim. 2 ydintä, joista toinen reaaliaikainen ja toinen yleiskäyttöinen Kommunikointi yleensä sallittua: Reaaliaikainen KJ voi nähdä yleiskäyttöisen KJ:n esim. sovellusprosessina, ja yleiskäyttöinen KJ puolestaan reaaliaikaisen KJ:n esim. laiteajurina
5 Pollaava ydin Yksinkertaisin mahdollinen ydin, mutta silti varsin käyttökelpoinen monessa yksinkertaisessa laitteessa Alustuksen lisäksi ei keskeytyspalveluita lainkaan (tai vain 1 kello?) Sisäiseltä rakenteeltaan ikuinen silmukka, joka käsittelee laitteita jossain järjestyksessä
6 Koodi (rutiini yleensä) int main() { alusta laitteet; while (1) { testaa ja käsittele laite 1; testaa ja käsittele laite 2; testaa ja käsittele laite 3;. testaa ja käsittele laite n;
7 Ominaisuuksista Hyvää: Suoraviivainen ja nopea tehdä Sopii pieniin sovelluksiin Ei keskeytyksiä -> Ei poissulkemisongelmaa Huonoa Kaikki toiminnot ehdittävä suorittaa saman syklin aikana (rajoittaa kokoa) Järjestelmä mitoitettava pahimman mahdollisen tilanteen mukaan -> Tavallisella kierroksella paljon luppoaikaa Pitkään suoritettavat toiminnot voidaan joutua osittamaan Olennaista: Laitteen käsittely ja tiedon käsittely tapahtuvat yhtä aikaa!
8 Ositusesimerkki void palvele() { static int tilamuuttuja = 0; switch (tilamuuttuja) { case 0: if (laitteella töitä) { aloita työt; tilamuuttuja = 1; break; case 1: jatka käsittelyä; tilamuuttuja = 2; break; case 2: tee työt loppuun; tilamuuttuja = 0; // switch // palvele break; default: virhe;
9 Keskeytysohjatut ytimet Melko yksinkertainen ydin, muttei vedä siinä suhteessa vertoja pollaavalle ytimelle Ikuinen odotussilmukka, jonka keskeytyspalvelu aina välillä keskeyttää Keskeytykset sidotaan sopiviin keskeytyskäsittelijöihin, ja käsittelijät suorittavat varsinaiset operaatiot Odottaessa voidaan suorittaa jotain hyödyllistä (joskus käytetään termiä taustaydinprosessi, vaikka järjestelmässä ei varsinaisia prosesseja olekaan)
10 Koodi (tulostus kirjoittimelle) int main() { alusta laitteet; while (1) { if (uusia merkkejä) { tulkitse niin pitkälle kuin mahdollista if (kirjoitettava rivi valmis) { aloita rivin kirjoitus/salli kellokeskeytykset void sarjaliityntä() {siirrä merkki käsiteltävien puskuriin void kellokeskeytys() { kirjoita seuraava merkki; siirrä kirjoituspäätä
11 Ominaisuuksista Hyvää Yksinkertainen ja nopea toteuttaa itse tarvittaessa Kieltämällä keskeytykset aina keskeytyskäsittelyn ajaksi päästään eroon poissulkemisongelmasta (taustaprosessin kanssa niitä voi yhä tulla!) Huonoa Ositus ei onnistu keskeytyksien käsittelyn suhteen; taustaprosessin kanssa näin voi toimia Ei sovi läheskään kaikkiin järjestelmiin, sillä keskeytystä ei aina tule koskaan (näyttö? mittausjärjestelmä?) Monimutkaistuu jos keskeytyksillä on eri prioriteetit, ja keskeytyksiä ei voi kieltää
12 Prosessiydin Yksinkertaisenakin selvästi edellisiä monimutkaisempi Sovellus toteutettu prosesseissa Keskeytyspalvelu (käytännössä laiteajurit) huolehtivat kommunikoinnista oheislaitteiden kanssa Käytännössä nykyiset (pienet) prosessiytimet ovat hämmästyttävän keveitä ja sopivat siksi myös pienien sulautettujen järjestelmien toteuttamiseen Ero aiempiin ytimiin: Sovelluslogiikka prosesseissa Laiteohjaus ajureissa Tavallisesti 1 prosessi joka ei tee mitään (taustasäie)
13 Koodi int main () { alusta laitteet; luo prosessit; käynnistä skeduleri; while (1) { odota, että joku keskeyttää ns. idle-prosessi prosessi 1 { prosessin 1 käskyt; prosessi n { prosessin n käskyt;
14 Arviointi Hyvää Prosesseissa voidaan keskittyä ratkaisemaan sovelluskohtaisia ongelmia Voidaan mitoittaa keskimääräisen kuorman mukaan (paitsi jos reaaliaikaisuus halutaan taata) Loogisia toimintoja voi olla useita ajossa yhtä aikaa; prioriteettien perusteella voidaan valita niistä seuraavaksi suoritettava Huonoa Selvästi monimutkaisempi (sekä toteuttaa että myös debugata!) Poissulkemis- ja muut rinnakkaisuuden ongelmat
15 Taustasäikeestä Tarkoitus yksinkertaistaa skeduleria Pienin mahdollinen prioriteetti -> Ajossa silloin, kun ei ole mitään muuta tehtävää Yleinen käyttö: Kerää tietoa järjestelmän toiminnasta Ongelma: Luotettavaa tietoa ei saatavilla silloin kun sitä eniten tarvittaisiin Ongelma: Monesti dokumentoimatonta tietoa järjestelmästä kumuloituu juuri taustasäikeeseen, ja sille alkaa syntyä oma rooli järjestelmässä (ratkaisu: uusi prosessi, jolla on vähän korkeampi prioriteetti?)
16 Monoliittinen vastaan mikroydin Monoliittisessä ytimessä lähes kaikki ytimen toiminnot on sisällytetty ytimen hoidettavaksi Jaetut tietorakenteet mahdollisia Ytimen sisäinen poissulkeminen kun käsitellään jaettuja tietorakenteita Mikroytimessä toimintoja on pyritty hajauttamaan eri prosesseihin, jolloin ytimestä saadaan pienempi ja yksinkertaisempi Kommunikointi sanomien välityksellä; ei jaettuja tietorakenteita (puhtaimmassa muodossa) Vikasietoisuus voi kasvaa (jos joku prosessi ajautuu ongelmiin, se voidaan käynnistää uudelleen ajamatta koko ydintä alas)
17 Valmiit ytimet Käytännössä aina (reaaliaikaisia) prosessiytimiä Tyypillisiä piirteitä: Pieni koko (mahduttava kokonaan ROM:iin) Prioriteetteihin perustuva skedulointi Ajetaan vain testattuja ohjelmia; ei suojauksia (nopeuttaa ympäristön vaihtoa ja prosessien välistä kommunikointia) Sovellusohjelmat etuoikeutetussa tilassa (KJkutsut, jotka eivät vaadi ympäristön vaihtoa voidaan suorittaa aliohjelmakutsuina ohjelmoidun keskeytyksen sijaan suorituskykysyistä) Mikroydintyyppinen ratkaisu, jossa ydin sisältää vain prosessien hallinnan ja kommunikoinnin tarvitsemat palvelut; laitteiden ohjausta varten on sovellusprosessit
18 Joitakin keskeisiä ominaisuuksia Skaalattavuus Pienimmillään muutamia kilotavuja, isommillaan RT + Unix Laitteistovalikoima Joitakin ytimiä saa lähes mille laitteistolle tahansa, ja joillekin laitteistolle saa lähes minkä ytimen tahansa; olennaiseksi nousemassa oheislaitteet ja niiden ominaisuuksien käyttö (esim. laitteistokiihdytetty grafiikka) Kommunikointi ja poissulkeminen: Yleensä semaforit ja/tai viestinvälitys Korkeamman tason mekanismit harvinaisia (esim. monitorit, Adan rendezvous); toisaalta nämä ovat pikemminkin ohjelmointikielen kuin ytimen rakenteita Verkkoyhteydet yleistymässä (TCP/IP, Bluetooth, WLAN, ) Kustannukset Suoritin (voi vaihdella ympäristön vaatimusten mukaan) Ydin (kertakorvaus, lisenssi per yksikkö) Kehitysympäristö (kertamaksu, lisenssi, joskus jopa ilmainen)
19 Kehitysympäristö Toteutuskieli Yleensä C tai konekieli Muita: PL/M, Ada, Fortran, C++, Java Kehitysympäristönä yleensä PC, kohdelaitteeseen tarvitaan usein ristikäännös Kehitysympäristöllä voi olla vähän käyttäjiä -> Laatu vaihtelee! Tilanne ei paljon helpompi vaikka voisi tehdä suoran käännöksen kehityskoneessa (esim. virtualisoidun ympäristön avulla), sillä laitteistovaatimukset yleensä varsin erilaisia
20 Esimerkki: Linux-ydin Monoliittinen prosessiydin Modulaarisuus sallii ytimen (hallitun) räätälöinnin Ajureiden avulla mahdollista laajentaa ytimen toimintaa tarpeen mukaan Useita yrityksiä, jotka tekevät homman puolestasi, jos olet valmis maksamaan Dev. Drv1 Dev. Drv2 Dev. Drv3 Dev. Drv4 New Funct. Processor/Cache Control Memory Management Process Management File System Interface Networking Stacks Device & I/O Interface Kernel State Information Extended f. Security/Auth.
21 Yhteenveto Ytimien erot kulminoituvat siihen, miten ytimen ja sovelluksen toiminnot erotetaan Pollava ydin: Ydin ja sovelluslogiikka kietoutuneet toisiinsa; ohjausrakenne ikuinen silmukka Keskeyttävä ydin: Ydin ja sovelluslogiikka kietoutuneet toisiinsa; ohjausrakenne keskeytykset Prosessiydin: Ydin ja sovelluslogiikka erotettu toisistaan; laiteohjaus ytimessä, sovelluslogiikka prosesseissa Monoliittinen vs. mikroydin Useita valmiina saatavia ytimiä; jos tarvitset johonkin todelliseen laitteeseen ytimen, tutki edes saatavilla olevat vaihtoehdot ennen kuin ryntäät oman toteutuksen kimppuun ( oma kiinnostus + omat harrastukset on eri asia ;-)
22 Muuta: Hauska tuttavuus! Dynamic C Integrated development environment reduces the time and effort to write real-time software for embedded systems that use a Rabbit microprocessor enabling easy development of a wide range of applications Toteuttaa monet ytimiin liittyvät seikat mielenkiintoisella tavalla ohjelmointikielen tasolla
23 Koodia ( main() { int secs; // seconds counter secs = 0; // initialize counter while (1) { // endless loop // Task 1 will print the seconds elapsed. costate { secs++; // increment counter waitfor( DelayMs(1000) ); // wait one s. printf("%d seconds\n", secs); // print elapsed s. // Task 2 checks if any keys have been pressed. costate { if (!kbhit() ) abort; // key been pressed? printf(" key pressed = %c\n", getchar() ); // end of while loop // end of main
Arto Salminen
7. Luento: Ytimet Arto Salminen arto.salminen@tut.fi Agenda Johdanto Perusydintyypit Pollaavat Keskeyttävät Prosessiydin Esimerkki: Linux-ydin Valmiina saatavista ytimistä Lyhyesti virtualisoinnista Yhteenveto
LisätiedotOHJ-4301 Sulautettu Ohjelmointi
OHJ-4301 Sulautettu Ohjelmointi (http://www.cs.tut.fi/~sulo/) 5op, to 12-14, TB 109 Arto Salminen, arto.salminen@tut.fi Läpäisyvaatimukset Hyväksytysti suoritetut: Tentti Harjoitustyöt Harjoitustyöt 3
Lisätiedot7. Ytimet. 7.1 Ytimen roolista
Ytimet 121 7. Ytimet Sulautettujen järjestelmien toteuttaminen erilaisten käyttöjärjestelmän ytimien avulla lienee nykyisin tavanomaisin toteutustekniikka. Seuraavassa esittelemme joitakin käyttöjärjestelmän
Lisätiedot5. Luento: Rinnakkaisuus ja reaaliaika. Tommi Mikkonen, tommi.mikkonen@tut.fi
5. Luento: Rinnakkaisuus ja reaaliaika Tommi Mikkonen, tommi.mikkonen@tut.fi Agenda Perusongelmat Jako prosesseihin Reaaliaika Rinnakkaisuus Rinnakkaisuus tarkoittaa tässä yhteydessä useamman kuin yhden
LisätiedotOHJ-4301 Sulautettu Ohjelmointi
OHJ-4301 Sulautettu Ohjelmointi (http://www.cs.tut.fi/~sulo/) /~sulo/) 5op, to 12-14, 14, TB 109 Tommi Mikkonen, tommi.mikkonen@tut.fi Arto Salminen, arto.salminen@tut.fi Läpäisyvaatimukset Hyväksytysti
Lisätiedot4. Luento: Prosessit ja säikeets. Tommi Mikkonen, tommi.mikkonen@tut.fi
4. Luento: Prosessit ja säikeets Tommi Mikkonen, tommi.mikkonen@tut.fi Agenda Prosessi Säikeet Keskeytykset Keskeytyskäsittely Käyttöjärjestelmäkutsut Prosessielementti Prosessin hallinta Suunnittelunäkökohtia
LisätiedotKäyttöjärjestelmät: poissulkeminen ja synkronointi
Käyttöjärjestelmät: poissulkeminen ja synkronointi Teemu Saarelainen Tietotekniikka teemu.saarelainen@kyamk.fi Lähteet Stallings, W. Operating Systems Haikala, Järvinen, Käyttöjärjestelmät Eri Web-lähteet
LisätiedotKäyttöjärjestelmän rakenne
Käyttöjärjestelmän rakenne Tietokonejärjestelmä = Laitteisto + ohjelmisto Sovellus saa laitteiston käyttöönsä kj:n avustuksella CPU ja muisti Oheislaitteet KJ tarjoaa laitteiston käytössä tarvittavat palvelunsa
LisätiedotTietojenkäsittelyn perusteet 2. Lisää käyttöjärjestelmistä
Tietojenkäsittelyn perusteet 2 Lisää käyttöjärjestelmistä 2011-02-09 Leena Ikonen 1 Systeemiohjelmat Systeemiohjelmiin kuuluvat Kääntäjät ja tulkit (+debuggerit) Käyttöjärjestelmä Linkittäjät Lataajat
LisätiedotPalvelut. Sulautetut järjestelmät Luku 2 Sivu 1 (??) Sulautetut käyttöjärjestelmät
Sulautetut järjestelmät Luku 2 Sivu 1 (??) Palvelut Käyttöjärjestelmän tehtävänä on tarjota ohjelmoijalla erilaisia palveluita Tyypillisin palvelu, jota sulautetut käyttöjärjestelmät tarjoavat on prosessien
Lisätiedot6. Luento: Skedulointi eli Vuoronnus. Tommi Mikkonen, tommi.mikkonen@tut.fi
6. Luento: Skedulointi eli Vuoronnus Tommi Mikkonen, tommi.mikkonen@tut.fi Agenda Peruskäsitteet Skedulointialgoritmeja Reaaliaikajärjestelmien skedulointi Skeduloituvuuden analysoinnista Yhteenveto Peruskäsitteet
LisätiedotKäyttöjärjestelmät: Virtuaalimuisti
Käyttöjärjestelmät: Virtuaalimuisti 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 Muistinhallinta
LisätiedotKä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ätiedot2 Konekieli, aliohjelmat, keskeytykset
ITK145 Käyttöjärjestelmät, kesä 2005 Tenttitärppejä Tässä on lueteltu suurin piirtein kaikki vuosina 2003-2005 kurssin tenteissä kysytyt kysymykset, ja mukana on myös muutama uusi. Jokaisessa kysymyksessä
LisätiedotTIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli
TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op Assembly ja konekieli Tietokoneen ja ohjelmiston rakenne Loogisilla piireillä ja komponenteilla rakennetaan prosessori ja muistit Prosessorin rakenne
LisätiedotKäyttöjärjestelmät. Teemu Saarelainen Tietotekniikka teemu.saarelainen@kyamk.fi
Käyttöjärjestelmät Teemu Saarelainen Tietotekniikka teemu.saarelainen@kyamk.fi Lähteet Stallings, W. Operating Systems Haikala, Järvinen, Käyttöjärjestelmät Eri Web-lähteet Kurssin sisältö Johdanto, historiaa
LisätiedotSisällys. 11. Javan toistorakenteet. Laskurimuuttujat. Yleistä
Sisällys 11. Javan toistorakenteet Laskuri- ja lippumuuttujat.. Tyypillisiä ohjelmointivirheitä: Silmukan rajat asetettu kierroksen verran väärin. Ikuinen silmukka. Silmukoinnin lopettaminen break-lauseella.
LisätiedotOSA II: Hajautettu ympäristö. Sisältö, osa II. Ei yhteistä muistia. Sanomanvälitys. Etäproseduurikutsu. Rendezvous. Rio 2004 / Auvo Häkkinen
OSA II: Hajautettu ympäristö Ei yhteistä muistia 6-1 Sisältö, osa II Sanomanvälitys Etäproseduurikutsu Rendezvous 6-2 Sanomanvälitys Käsitteistöä Kanavat Asiakkaat ja Palvelijat Kommunikointitapoja Andrews
LisätiedotRinnakkaisuus. parallel tietokoneissa rinnakkaisia laskentayksiköitä concurrent asioita tapahtuu yhtaikaa. TTY Ohjelmistotekniikka
Rinnakkaisuus parallel tietokoneissa rinnakkaisia laskentayksiköitä concurrent asioita tapahtuu yhtaikaa Rinnakkaisuuden etuja: laskennan nopeutuminen (sarjoittuvat operaatiojonot) ilmaisuvoima (ongelman
LisätiedotKoottu lause; { ja } -merkkien väliin kirjoitetut lauseet muodostavat lohkon, jonka sisällä lauseet suoritetaan peräkkäin.
2. Ohjausrakenteet Ohjausrakenteiden avulla ohjataan ohjelman suoritusta. peräkkäisyys valinta toisto Koottu lause; { ja } -merkkien väliin kirjoitetut lauseet muodostavat lohkon, jonka sisällä lauseet
Lisätiedot1.3Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä
OULUN YLIOPISTO Tietojenkäsittelytieteiden laitos Johdatus ohjelmointiin 81122P (4 ov.) 30.5.2005 Ohjelmointikieli on Java. Tentissä saa olla materiaali mukana. Tenttitulokset julkaistaan aikaisintaan
LisätiedotStallings, Luku 4.1. KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 4-1. KJ-I I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 12-1
"! $# Stallings, Luku 4.1 KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 4-1 %& ()* +,.-0/212321416587912: 12;?5A@ 165 12;
Lisätiedot11. Javan toistorakenteet 11.1
11. Javan toistorakenteet 11.1 Sisällys Laskuri- ja lippumuuttujat. Sisäkkäiset silmukat. Tyypillisiä ohjelmointivirheitä: Silmukan rajat asetettu kierroksen verran väärin. Ikuinen silmukka. Silmukoinnin
LisätiedotProsessi perinteisesti
Käyttöjärjestelmät t I Luento 11: SÄIKEETS Stallings, Luku 4.1 Sisält ltöä Prosessi vs. säie Miksi säikeitä? ULT: Käyttäjätason säikeet KLT: Säikeiden toteutus ytimessä Säikeen tilat Käyttöjärjestelmän
LisätiedotArto Salminen,
4. Luento: Prosessit ja säikeet Arto Salminen, arto.salminen@tut.fi Agenda Prosessi Säikeet Keskeytykset Keskeytyskäsittely Käyttöjärjestelmäkutsut Prosessielementti Prosessin hallinta Suunnittelunäkökohtia
LisätiedotOngelma(t): Jotta tietokone olisi mahdollisimman yleiskäyttöinen ja suorituskykyinen, niin miten tietokoneen resurssit tulisi tarjota ohjelmoijalle,
Ongelma(t): Jotta tietokone olisi mahdollisimman yleiskäyttöinen ja suorituskykyinen, niin miten tietokoneen resurssit tulisi tarjota ohjelmoijalle, sovellusohjelmille ja käyttäjille? 2012-2013 Lasse Lensu
LisätiedotITKP102 Ohjelmointi 1 (6 op)
ITKP102 Ohjelmointi 1 (6 op) Tentaattori: Antti-Jussi Lakanen 22. huhtikuuta 2016 Vastaa kaikkiin tehtäviin. Tee jokainen tehtävä erilliselle konseptiarkille! Kirjoittamasi luokat, funktiot ja aliohjelmat
LisätiedotAgenda. Läpäisyvaatimukset Henkilökunta Luennot ja aikataulu Kurssimateriaali Harjoitustyöt Demoharjoitus Tentti ja arvostelu Muuta?
OHJ-4301 Sulautettu Ohjelmointi (http://www.cs.tut.fi/~sulo/) 5op, to 12-14, 14, TB 109 Arto Salminen, arto.salminen@tut.fi Agenda Läpäisyvaatimukset Henkilökunta Luennot ja aikataulu Kurssimateriaali
LisätiedotStallings, Luku 4.1. KJ-I I S2005 / Tiina Niklander, kalvot Auvo HäkkinenH
Käyttöjärjestelmät t I Luento 11: SÄIKEETS Stallings, Luku 4.1 KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 11-1 Sisält ltöä Prosessi vs. säie Miksi säikeitä? ULT: Käyttäjätason säikeet KLT: Säikeiden
LisätiedotOhjelmoinnin peruskurssien laaja oppimäärä
Ohjelmoinnin peruskurssien laaja oppimäärä Luento 11: Rinnakkaisuus Riku Saikkonen (osa kalvoista on suoraan ei-laajan kurssin luennoista) 25. 4. 2012 Sisältö 1 Rinnakkaisuusmalleja: säie ja prosessi 2
LisätiedotTietokoneen toiminta, K Tavoitteet (4)
Jakso 12 Yhteenveto Keskeiset asiat 1 Tavoitteet (4) Ymmärtää tietokonejärjestelmän keskeiset piirteet sillä suoritettavan ohjelman näkökulmasta Miten tietokonejärjestelmä suorittaa sille annettua ohjelmaa?
Lisätiedot1.3 Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä
OULUN YLIOPISTO Tietojenkäsittelytieteiden laitos Johdatus ohjelmointiin 811122P (5 op.) 12.12.2005 Ohjelmointikieli on Java. Tentissä saa olla materiaali mukana. Tenttitulokset julkaistaan aikaisintaan
LisätiedotSisä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ätiedotLuento 1 (verkkoluento 1) Ohjelman sijainti Ohjelman esitysmuoto Laitteiston nopeus
Luento 1 (verkkoluento 1) Tietokonejärjestelmä Järjestelmän e eri tasot Ohjelman sijainti Ohjelman esitysmuoto Laitteiston nopeus 1 Tietokone- järjestelmäj ä Käyttäjä Tietokonelaitteisto Oheislaitteet
LisätiedotTietokonejärjestelmä. Tietokoneen rakenne. Ch 1 - Ch 8 [Sta06] Valikoituja paloja. TITO-kurssista. John von Neumann ja EDVAC, 1949.
Tietokoneen rakenne Luento 1 Tietokonejärjestelmä Ch 1 - Ch 8 [Sta06] Valikoituja paloja John von Neumann ja EDVAC, 1949 TITO-kurssista Luento 1-1 Sisältöä Tietokonejärjestelmä KJ:n näkökulma laitteistoon
LisätiedotKäyttöjärjestelmät II
LUENTO 1 Käyttöjärjestelmät II Kertaus: KJ-I ja RIO (KJ2 n osalta) Ch 1-8, 11-12 [Stal05] Kustakin luvusta enemmän tai vähemmän alkuosa Jos jokin asiat tässä tuntuvat hatarilta, niin (a) kysykää ja/tai
LisätiedotPertti Pennanen DOKUMENTTI 1 (5) EDUPOLI ICTPro1 29.10.2013
Virtualisointi Pertti Pennanen DOKUMENTTI 1 (5) SISÄLLYSLUETTELO Virtualisointi... 2 Virtualisointiohjelmia... 2 Virtualisointitapoja... 2 Verkkovirtualisointi... 2 Pertti Pennanen DOKUMENTTI 2 (5) Virtualisointi
LisätiedotSisältöä. Tietokoneen rakenne. Ch 1 - Ch 8 [Sta06] Valikoituja paloja TITO-kurssista. Tietokonejärjestelmä
Tietokoneen rakenne Luento 1 Tietokonejärjestelmä Ch 1 - Ch 8 [Sta06] Valikoituja paloja TITO-kurssista John von Neumann ja EDVAC, 1949 Luento 1-1 Sisältöä Tietokonejärjestelmä KJ:n näkökulma laitteistoon
Lisätiedot4. Lausekielinen ohjelmointi 4.1
4. Lausekielinen ohjelmointi 4.1 Sisällys Konekieli, symbolinen konekieli ja lausekieli. Lausekielestä konekieleksi: - Lähdekoodi, tekstitiedosto ja tekstieditorit. - Kääntäminen ja tulkinta. - Kääntäminen,
Lisätiedot9. Luento: Ohjelmistotyö. Tommi Mikkonen, tommi.mikkonen@tut.fi
9. Luento: Ohjelmistotyö Tommi Mikkonen, tommi.mikkonen@tut.fi Agenda Johdanto Ristikäännös Testaus ja virheen jäljitys Yleensä Kehitysympäristössä Käyttöympäristössä Laitteiston testaus Iteratiivisesta
LisätiedotKä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ätiedotJakso 12 Yhteenveto. Keskeiset asiat Teemu Kerola, K2000
Jakso 12 Yhteenveto Keskeiset asiat 1 Tavoitteet (4) Ymmärtää tietokonejärjestelmän keskeiset piirteet sillä suoritettavan ohjelman näkökulmasta Miten tietokonejärjestelmä suorittaa sille annettua ohjelmaa?
LisätiedotJakso 8 Ohjelman toteutus järjestelmässä
Jakso 8 Ohjelman toteutus järjestelmässä Prosessin esitysmuoto järjestelmässä Käyttöjärjestelmä KJ-prosessit 1 Prosessi (4) Järjestelmässä olevan ohjelman esitysmuoto Järjestelmässä voi olla samalla kertaa
LisätiedotTIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli
TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op Assembly ja konekieli Tietokoneen ja ohjelmiston rakenne Loogisilla piireillä ja komponenteilla rakennetaan prosessori ja muistit Prosessorin rakenne
Lisätiedot6.3. AVR_rauta. EEPROM-muisti 09.12.2007 pva
6.3. AVR_rauta. EEPROM-muisti 09.12.2007 pva Experience is what causes people to make new mistakes instead of old ones... - Unknown Sisältö Yleistä EEPROM-rekisterit Protoilu-ohje EEPROMmista ja Fuse-biteistä
Lisätiedot12. Javan toistorakenteet 12.1
12. Javan toistorakenteet 12.1 Sisällys Yleistä toistorakenteista. Laskurimuuttujat. While-, do-while- ja for-lauseet. Laskuri- ja lippumuuttujat. Tyypillisiä ohjelmointivirheitä. Silmukan rajat asetettu
LisätiedotOhjelmointiharjoituksia Arduino-ympäristössä
Ohjelmointiharjoituksia Arduino-ympäristössä Yleistä Arduino-sovelluksen rakenne Syntaksi ja käytännöt Esimerkki ohjelman rakenteesta Muuttujat ja tietotyypit Tietotyypit Esimerkkejä tietotyypeistä Ehtolauseet
LisätiedotLuento 1 Tietokonejärjestelmän rakenne
Luento 1 Tietokonejärjestelmän rakenne Järjestelmän eri tasot Laitteiston nopeus 1 Tietokonejärjestelmä Käyttäjä Tietokonelaitteisto Oheislaitteet (peripheral or I/O devices) Tietokone (computer) 2 Luento
LisätiedotYleiskuva. Käyttöjärjestelmät II. Tietokonejärjestelm. rjestelmä. KJ ja laitteistopiirteet. KJ ja laitteistopiirteitä.
Kertaus: : KJ-I ja RIO (KJ2 n osalta) Ch 1-8, 11-12 12 [Stal05] Kustakin luvusta enemmän n tai vähemmv hemmän n alkuosa Jos jokin asiat tässt ssä tuntuvat hatarilta, niin (a) kysykää ja/tai (b) kerratkaa
LisätiedotKäyttöjärjestelmät II
LUENTO 1 Käyttöjärjestelmät II Kertaus: : KJ-I ja RIO (KJ2 n osalta) Ch 1-8, 11-12 12 [Stal05] Kustakin luvusta enemmän n tai vähemmv hemmän n alkuosa Jos jokin asiat tässt ssä tuntuvat hatarilta, niin
LisätiedotEtäproseduurikutsu, Remote Procedure Call (RPC) Etäproseduurikutsu. Poissulkeminen moduulin sisällä?
Etäproseduurikutsu Andrews 8.1, 10.3, Stallings 13.3 RPC Toteutus Virhesemantiikka Etäproseduurikutsu, Remote Procedure Call (RPC) Palvelu etäkoneessa, ei yhteistä muistia Asiakkaat pyytävät palvelua prosedurikutsumekanismilla
LisätiedotEtäproseduurikutsu. Etäproseduurikutsu, Remote Procedure Call (RPC)
Etäproseduurikutsu RPC Toteutus Virhesemantiikka Andrews 8.1, 10.3, Stallings 13.3 Etäproseduurikutsu, Remote Procedure Call (RPC) Palvelu etäkoneessa, ei yhteistä muistia Asiakkaat pyytävät palvelua prosedurikutsumekanismilla
LisätiedotLuento 1 Tietokonejärjestelmän rakenne
Luento 1 Tietokonejärjestelmän rakenne Järjestelmän eri tasot Laitteiston nopeus 1 Tietokonejärjestelmä Käyttäjä Tietokonelaitteisto Oheislaitteet (peripheral or I/O devices) Tietokone (computer) 2 Tietokone
LisätiedotLuento 1 Tietokonejärjestelmän rakenne. Järjestelmän eri tasot Laitteiston nopeus
Luento 1 Tietokonejärjestelmän rakenne Järjestelmän eri tasot Laitteiston nopeus 1 Tietokonejärjestelmä Käyttäjä Tietokonelaitteisto Oheislaitteet (peripheral or I/O devices) Tietokone (computer) 2 Tietokone
LisätiedotEtäproseduurikutsu. RPC Toteutus Virhesemantiikka. Andrews 8.1, 10.3, Stallings 13.3
Etäproseduurikutsu RPC Toteutus Virhesemantiikka Andrews 8.1, 10.3, Stallings 13.3 Etäproseduurikutsu, Remote Procedure Call (RPC) Palvelu etäkoneessa, ei yhteistä muistia Asiakkaat pyytävät palvelua prosedurikutsumekanismilla
Lisätiedot12. Javan toistorakenteet 12.1
12. Javan toistorakenteet 12.1 Sisällys Yleistä toistorakenteista. Laskurimuuttujat. While-, do-while- ja for-lauseet. Laskuri- ja lippumuuttujat. Tyypillisiä ohjelmointivirheitä. Silmukan rajat asetettu
LisätiedotLuento 1 Tietokonejärjestelmän rakenne. Järjestelmän eri tasot Laitteiston nopeus
Luento 1 Tietokonejärjestelmän rakenne Järjestelmän eri tasot Laitteiston nopeus 1 Tietokonejärjestelmä Käyttäjä Tietokonelaitteisto Oheislaitteet (peripheral or I/O devices) Tietokone (computer) 2 Tietokone
LisätiedotJakso 8 Ohjelman toteutus järjestelmässä
Jakso 8 Ohjelman toteutus järjestelmässä Prosessi Prosessin esitysmuoto järjestelmässä Käyttöjärjestelmä KJ-prosessit 1 Prosessi (4) Järjestelmässä olevan ohjelman esitysmuoto Järjestelmässä voi olla samalla
LisätiedotJakso 8 Ohjelman toteutus järjestelmässä. Prosessi Prosessin esitysmuoto järjestelmässä Käyttöjärjestelmä KJ-prosessit
Jakso 8 Ohjelman toteutus järjestelmässä Prosessi Prosessin esitysmuoto järjestelmässä Käyttöjärjestelmä KJ-prosessit 1 Prosessi (4) Järjestelmässä olevan ohjelman esitysmuoto Järjestelmässä voi olla samalla
LisätiedotLinux. 00 Keskeiset piirteet. Unix ja Linux Helsingin ammattikorkeakoulu Stadia Vesa Ollikainen (muokannut M.Mäki-Uuro) Kysymyksiä
Linux 00 Keskeiset piirteet Tux-pingviinin kuva: Larry Ewing, Simon Budig ja Anja Gerwinski Kysymyksiä 1. Mikä Linux on? 2. Kuinka Linux syntyi ja kehittyy? 3. Mitkä ovat Linuxin vahvuudet? 2 1 Linux on
LisätiedotUlkoiset mediakortit Käyttöopas
Ulkoiset mediakortit Käyttöopas Copyright 2009 Hewlett-Packard Development Company, L.P. SD-logo on omistajansa tavaramerkki. Tässä olevat tiedot voivat muuttua ilman ennakkoilmoitusta. Ainoat HP:n tuotteita
LisätiedotOhjelmoinnin peruskurssien laaja oppimäärä
Ohjelmoinnin peruskurssien laaja oppimäärä Luento 19: Rinnakkaisuus Riku Saikkonen (merkityt ei-laajan kurssin kalvot: Otto Seppälä) 24. 3. 2011 Sisältö 1 Säikeet 2 Lukot 3 Monitorit 4 Muuta säikeisiin
LisätiedotTips & Tricks for TestStand development NI Days 2013
Tips & Tricks for TestStand development NI Days 2013 Agenda 1. LabVIEW & TestStand:n yhteiskäyttö 2. TestStand arkkitehtuurimalleja LabVIEW pohjaisesti 3. Hyödyllisiä vinkkejä testisekvenssien luontiin
LisätiedotLuento 1 (verkkoluento 1) Tietokonejärjestelmä
Luento 1 (verkkoluento 1) Tietokonejärjestelmä Järjestelmän eri tasot Ohjelman sijainti Ohjelman esitysmuoto Laitteiston nopeus 1 Tietokonejärjestelmä Käyttäjä This image cannot currently be displayed.
LisätiedotJava-kielen perusteet
Java-kielen perusteet Tunnus, varattu sana, kommentti Muuttuja, alkeistietotyyppi, merkkijono, literaalivakio, nimetty vakio Tiedon merkkipohjainen tulostaminen 1 Tunnus Java tunnus Java-kirjain Java-numero
LisätiedotRacket ohjelmointia osa 2. Tiina Partanen Lielahden koulu 2014
Racket ohjelmointia osa 2 Tiina Partanen Lielahden koulu 2014 Sisältö 1) Funktiot ja muuttujat (kertaus) 2) Animaatiot & pelit (big-bang) 3) Vertailuoperaattorit sekä boolean arvot 4) Tietorakenteet (struct)
LisätiedotChapel. TIE Ryhmä 91. Joonas Eloranta Lari Valtonen
Chapel TIE-20306 Ryhmä 91 Joonas Eloranta Lari Valtonen Johdanto Chapel on Amerikkalaisen Cray Inc. yrityksen kehittämä avoimen lähdekoodin ohjelmointikieli. Chapel on rinnakkainen ohjelmointikieli, joka
LisätiedotOngelma(t): Miten tietokoneen käyttöjärjestelmä toimii sisäisesti, jotta resurssit saadaan tehokkaaseen käyttöön?
Ongelma(t): Miten tietokoneen käyttöjärjestelmä toimii sisäisesti, jotta resurssit saadaan tehokkaaseen käyttöön? 2013-2014 Lasse Lensu 2 Systeemiohjelmat ovat tietokoneen laitteistoa lähellä olevia ohjelmia,
LisätiedotLinux rakenne. Linux-järjestelmä koostuu useasta erillisestä osasta. Eräs jaottelu: Ydin Komentotulkki X-ikkunointijärjestelmä Sovellusohjelmat
Linux rakenne Linux-järjestelmä koostuu useasta erillisestä osasta. Eräs jaottelu: Ydin Komentotulkki X-ikkunointijärjestelmä Sovellusohjelmat Linux ydin Ytimen (kernel) päätehtävä on tarjota rajapinta
LisätiedotLuento 8 Ohjelman toteutus järjestelmässä
Luento 8 Ohjelman toteutus järjestelmässä Prosessi Prosessin esitysmuoto järjestelmässä Käyttöjärjestelmä KJ-prosessit 1 Prosessi (4) Järjestelmässä olevan ohjelman esitysmuoto Järjestelmässä voi olla
LisätiedotLuento 8 Ohjelman toteutus järjestelmässä. Prosessi Prosessin esitysmuoto järjestelmässä Käyttöjärjestelmä KJ-prosessit
Luento 8 Ohjelman toteutus järjestelmässä Prosessi Prosessin esitysmuoto järjestelmässä Käyttöjärjestelmä KJ-prosessit 1 Prosessi (4) Järjestelmässä olevan ohjelman esitysmuoto Järjestelmässä voi olla
LisätiedotVertailulauseet. Ehtolausekkeet. Vertailulauseet. Vertailulauseet. if-lauseke. if-lauseke. Javan perusteet 2004
Vertailulauseet Ehtolausekkeet Ehdot, valintalausekkeet Boolean-algebra == yhtäsuuruus!= erisuuruus < pienempi suurempi >= suurempi tai yhtäsuuri Esimerkkejä: int i=7; int j=10;
LisätiedotTIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. FT Ari Viinikainen
TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op FT Ari Viinikainen Tietokoneen rakenne Keskusyksikkö, CPU Keskusmuisti Aritmeettislooginen yksikkö I/O-laitteet Kontrolliyksikkö Tyypillinen Von Neumann
LisätiedotOhjelmassa henkilön etunimi ja sukunimi luetaan kahteen muuttujaan seuraavasti:
1 (7) Tiedon lukeminen näppäimistöltä Scanner-luokan avulla Miten ohjelma saa käyttöönsä käyttäjän kirjoittamaa tekstiä? Järjestelmässä on olemassa ns. syöttöpuskuri näppäimistöä varten. Syöttöpuskuri
LisätiedotOSA I: Yhteisten muuttujien käyttö Prosessit samassa koneessa. Sisältöä. Poissulkeminen. Halutut ominaisuudet 2-1. Rinnakkaiset, atomiset operaatiot
Sisältöä OSA I: Poissulkeminen ja nti Semaforit ja rinnakkaisuuden hallinta Yhteisten muuttujien käyttö Prosessit samassa koneessa Lukkiutuminen Monitorit 2-1 2-2 Poissulkeminen ja nti Rinnakkaiset, atomiset
LisätiedotEtäproseduurikutsu, Remote Procedure Call (RPC) Etäproseduurikutsu. Poissulkeminen moduulin sisällä?
Etäproseduurikutsu, Remote Procedure Call (RPC) Etäproseduurikutsu Andrews 8.1, 10.3, Stallings 13.3 RPC Toteutus Virhesemantiikka Palvelu etäkoneessa, ei yhteistä muistia Asiakkaat pyytävät palvelua prosedurikutsumekanismilla
LisätiedotOnko ilmainen lounas sittenkin olemassa - Linux mobiililaitteessa -
Onko ilmainen lounas sittenkin olemassa - Linux mobiililaitteessa - Ari Jaaksi 1 Ari Jaaksi Mobiilipaivat2003.PPT / 17.12.2003 / AJa Ohjelma Linux ja distrot Linuxin avoimuus free!= free i.e. ilmainen!=
LisätiedotPikaintro käyttöjärjestelmiin
Tietotekniikan laitos Jyväskylän yliopisto TIES406 Tietotekniikan opintojen aktivointi, luento 17.8.2011 Outline Tietokonelaitteisto 1 Tietokonelaitteisto 2 3 4 Outline Tietokonelaitteisto 1 Tietokonelaitteisto
LisätiedotLuento 5. Timo Savola. 28. huhtikuuta 2006
UNIX-käyttöjärjestelmä Luento 5 Timo Savola 28. huhtikuuta 2006 Osa I Shell-ohjelmointi Ehtolause Lausekkeet suoritetaan jos ehtolausekkeen paluuarvo on 0 if ehtolauseke then lauseke
LisätiedotGraafisen käyttöliittymän ohjelmointi Syksy 2013
TIE-11300 Tietotekniikan vaihtuva-alainen kurssi Graafisen käyttöliittymän ohjelmointi Syksy 2013 Luento 10 Rinnakkaisuus käyttöliittymäohjelmoinnissa Juha-Matti Vanhatupa Rinnakkaisuus ja käyttöliittymäohjelmointi
LisätiedotJava-kielen perusteet
Java-kielen perusteet Tunnus, varattu sana, kommentti Muuttuja, alkeistietotyyppi, merkkijono, Vakio Tiedon merkkipohjainen tulostaminen Ohjelmointi (ict1tx006) Tunnus (5.3) Javan tunnus Java-kirjain Java-numero
LisätiedotString-vertailusta ja Scannerin käytöstä (1/2) String-vertailusta ja Scannerin käytöstä (2/2) Luentoesimerkki 4.1
String-vertailusta ja Scannerin käytöstä (1/2) Vertailuja tehdessä törmätään usein tilanteeseen, jossa merkkijonoa (esimerkiksi merkkijonomuuttujaa) pitää vertailla toiseen merkkijonoon. Tällöin tavanomainen
Lisätiedot10. Luento: Kohti suurempia sulautettuja ohjelmistoja. Tommi Mikkonen,
10. Luento: Kohti suurempia sulautettuja ohjelmistoja Tommi Mikkonen, tommi.mikkonen@tut.fi Agenda Johdanto Ohjelmistopino Siirrettävyydestä Vuotavat abstraktiot Joitakin suunnitteluratkaisuja Formaali
LisätiedotEhto- ja toistolauseet
Ehto- ja toistolauseet 1 Ehto- ja toistolauseet Uutena asiana opetellaan ohjelmointilauseet / rakenteet, jotka mahdollistavat: Päätösten tekemisen ohjelman suorituksen aikana (esim. kyllä/ei) Samoja lauseiden
LisätiedotTavoite. Monitorit. Monitori Hoare 1974. Monitori. Minimoi virhemahdollisuuksia. Monitori Synkronointimenetelmiä Esimerkkejä
Tavoite Monitorit Andrews 5.1-5.2, Stallings 5.5 Monitori Synkronointimenetelmiä Esimerkkejä Minimoi virhemahdollisuuksia poissulkeminen ohjelmoijan vastuulla P():t ja V():t siellä, täällä ja tuolla -
LisätiedotTietokone. Tietokone ja ylläpito. Tietokone. Tietokone. Tietokone. Tietokone
ja ylläpito computer = laskija koostuu osista tulostuslaite näyttö, tulostin syöttölaite hiiri, näppäimistö tallennuslaite levy (keskusyksikössä) Keskusyksikkö suoritin prosessori emolevy muisti levy Suoritin
Lisätiedot14. Luento: Kohti hajautettuja sulautettuja järjestelmiä. Tommi Mikkonen,
14. Luento: Kohti hajautettuja sulautettuja järjestelmiä Tommi Mikkonen, tommi.mikkonen@tut.fi Agenda Johdanto Hajautettujen järjestelmien väyliä LON CAN Pienen laitteen sisäinen hajautus OpenCL Network
LisätiedotJohdatus diskreettiin matematiikkaan Harjoitus 7, 28.10.2015
Johdatus diskreettiin matematiikkaan Harjoitus 7, 28.10.2015 1. Onko olemassa yhtenäistä verkkoa, jossa (a) jokaisen kärjen aste on 6, (b) jokaisen kärjen aste on 5, ja paperille piirrettynä sivut eivät
LisätiedotArto 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ätiedotRinnakkaistietokoneet luento S
Rinnakkaistietokoneet luento 5 521475S Silmukalliset ohjelmat Silmukat joissa ei ole riippuvuussyklejä voidaan vektoroida eli suorittaa silmukan vektorointi Jokainen yksittäinen käsky silmukan rungossa
LisätiedotLisää segmenttipuusta
Luku 24 Lisää segmenttipuusta Segmenttipuu on monipuolinen tietorakenne, joka mahdollistaa monenlaisten kyselyiden toteuttamisen tehokkaasti. Tähän mennessä olemme käyttäneet kuitenkin segmenttipuuta melko
LisätiedotSovellusarkkitehtuurit
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ätiedotTieto ja sen osoite (3) Jakso 3 Konekielinen ohjelmointi (TTK-91, KOKSI) Osoitinmuuttujat. Tieto ja sen osoite (5)
Jakso 3 Konekielinen ohjelmointi (TTK-91, KOKSI) Muuttujat Tietorakenteet Kontrolli Optimointi Tarkistukset 1 Tieto ja sen osoite (3) X DC LOAD, =X LOAD R2, X int x =; symbolin X arvo muuttujan X arvo
LisätiedotTIES530 TIES530. Moniprosessorijärjestelmät. Moniprosessorijärjestelmät. Miksi moniprosessorijärjestelmä?
Miksi moniprosessorijärjestelmä? Laskentaa voidaan hajauttaa useammille prosessoreille nopeuden, modulaarisuuden ja luotettavuuden vaatimuksesta tai hajauttaminen voi helpottaa ohjelmointia. Voi olla järkevää
LisätiedotOsa. Toimintojen toteuttaminen ohjelmissa vaatii usein haarautumisia ja silmukoita. Tässä luvussa tutustummekin seuraaviin asioihin:
Osa II 8. oppitunti Kehittynyt ohjel- man kulku Toimintojen toteuttaminen ohjelmissa vaatii usein haarautumisia ja silmukoita. Tässä luvussa tutustummekin seuraaviin asioihin: Mitä silmukat ovat ja kuinka
LisätiedotTietorakenteet ja algoritmit
Tietorakenteet ja algoritmit Merkintöjen tulkintoja *++Pstack->top = item *Pstack->top++ = item (*Pstack->top)++ *(Pstack++)->top = item *(++Pstack)->top = item Lisää pinon toteutuksia Dynaaminen taulukko
Lisätiedot11. Javan valintarakenteet 11.1
11. Javan valintarakenteet 11.1 Sisällys If- ja if-else-lauseet. Orpo else. Valintaa toisin: switch-lause. 11.2 If-lause Merkitään varatulla sanalla if. Kuvaa yksisuuntaisen päätöksen: rakenteen lauseet
LisätiedotJakso 8 Ohjelman suoritus järjestelmässä
Jakso 8 Ohjelman suoritus järjestelmässä Prosessi PCB I/O:n toteutus 1 Prosessi (4) Suorituksessa olevan ohjelman esitysmuoto järjestelmässä samalla kertaa järjestelmässä voi suorituksessa monta prosessia
LisätiedotJakso 8 Ohjelman suoritus järjestelmässä
Jakso 8 Ohjelman suoritus järjestelmässä Prosessi PCB I/O:n toteutus 1 Prosessi (4) Suorituksessa olevan ohjelman esitysmuoto järjestelmässä samalla kertaa järjestelmässä voi suorituksessa monta prosessia
LisätiedotOhjelmoinnin 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