Arto Salminen,
|
|
- Albert Väänänen
- 8 vuotta sitten
- Katselukertoja:
Transkriptio
1 3. Luento: Muistin hallinta Arto Salminen,
2 Agenda Mitä väliä? Erityyppiset muistit Ohjelman sijoittelu muistiin Ohjelman sisäinen muistinhallinta Muistinhallintayksikkö Välimuisti Yhteenveto
3 Mitä väliä vai onko ollenkaan? Ohjelmoijan näkökulma muistiin ja sen kulutukseen vaihtelee Ohjelman sijoittelu Ohjelmoijan mahdollisuudet erilaiset Sivuvaikutukset vaihtelevat Debuggaus voi vaatia asiantuntemusta Muistibudjetti
4 Erityyppiset muistit Luku-kirjoitusmuistit, RAM (Random Access Memory) Lukumuistit, ROM (Read Only Memory) Haihtumattomat muistit Patterivarmistus Sähköisesti tyhjennettävä muisti (EEPROM; Flash)
5 Luku-kirjoitusmuistit (RAM) Tavallisin vaihtoehto; oletusarvo Sisältö ei säily sähkökatkoksen yli, haihtuva muisti Yleensä nopeaa Useita eri alatyyppejä SRAM (Static RAM) Tieto säilyy niin kauan kuin käyttöjännitekin DRAM (Dynamic RAM) Tiedon säilyminen perustuu kapasitanssiin ja vaatii virkistämistä Vaatii vähemmän tilaa Toteutuksessa virkistys voi olla integroitu osaksi piiriä, joten ulkoisesti DRAM voi näyttää SRAM:lta Periaatteessa voidaan optimoida muistin ominaisuuksien kautta (esim. samalla sivulla olo tms) mutta harvoin kannattaa käytännössä
6 Fast Page Mode (FPM) Ensin kirjoitetaan muistiosoitteen ylemmät bitit (row) RAS\ (Row Access Strobe) jää alas Seuraavaksi kirjoitetaan alemmat (column) Käytetään CAS\ alhaalla (Column Access Strobe) -> Muistin lukeminen samalta riviltä on nopeampaa, koska riviosoitteen vaihdosta ei aiheudu viivettä
7 Lukumuistit Peruslukumuisti ROM Sisältö langoitetaan tekovaiheessa Nykyisin käytössä harvoin; esim. suorittimen sisällä johonkin erikoistarkoitukseen jos edes siellä Programmable ROM Muistin sisältö voidaan asettaa kerran Erasable PROM Voidaan tyhjentää ja kirjoittaa uudelleen Kirjoittaminen vaatii usein poikkeavan jännitteen; ei tehdä tuotantokäytössä Ohjelmoija ei voi muuttaa sisältöä Vanhanaikaisia; harvoin muuta kuin historiallista arvoa, mainittu tässä johdonmukaisuuden vuoksi
8 Haihtumattomat muistit Patterivarmennettu luku-kirjoitusmuisti SRAM jolle erityisjärjestelyin turvattu sähkönsyöttö Sähköisesti tyhjennettävä muisti EEPROM (Electrically EPROM) 1 sukupolvi -> erityisjännite muutettaessa 2 sukupolvi -> FLASH
9 Flash-muistin ominaisuuksia Tyhjennys isoina palasina Ensimmäiset tyhjennettävä kokonaan Myöhemmät piirit lohko kerrallaan Kirjoitus muistipaikka kerrallaan Rajoituksia käyttökertojen määrään liittyen; muistipaikkojen kierrätys Hidas lukea ja kirjoittaa; tavallisesti sisältö luetaan luku-kirjoitusmuistiin ennen käyttöä Ei tietystikään nopeuta kirjoitusta; sopii esim. ohjelman lataamiseen
10 Flash-muistin käytöstä Lohkotason tyhjennys ohjaa usein suunnittelua Sähkökatko pakottaa kopioimaan! Kirjoituskertojen rajoitukset voivat olla matalia Esim luotettavaa kirjoituskertaa Käyttötarkoitus voi ohjata piirin valintaa
11 2 Ominaisuuksiltaan eroavaa Flash-tyyppiä Sarjaliityntä (NAND) vs. osoiteperustainen liityntä (NOR) Osoiteperustaisessa liitynnässä edelleen 2 eri tyyppiä Vakiokokoiset lohkot, käyttö symmetristä (FAT-tyyppi) Muutama suurehko lohko ja paljon pieniä (bootsector-tyyppi) Suuret koodille, pienet muuttujille sopivia Tyypillinen tietokoneen alustusmuistin tallennuksessa (boot ROM, BIOS)
12 2 Ominaisuuksiltaan eroavaa Flash-tyyppiä NOR RAM mahdollinen Korvaa ROM piirin Kallista Lohkot 8k-128k 100k-1M kirjoituskertaa Tyhjennysaika 1 sek Voidaan kirjoittaa tavu kerrallaan Viallisia lohkoja ei ole uutena NAND Aksessoidaan sivu kerrallaan Korvaa massamuistin Halpaa Lohkot 32x512b / 64x2k 10k-100k kirjoituskertaa Tyhjennysaika 2 ms Voidaan kirjoittaa sivu kerrallaan Viallisia lohkoja voi olla uutena
13 Muistitiedon päivittämisestä Flashissa Bittien nollaus Tavallisesti tyhjä tieto muistipaikassa tarkoittaa että kaikki bitit ykkösiä Kirjoittamalla voidaan nollata, mutta vain koko lohko voidaan kerralla muuttaa ykkösiksi Tietorakenteilla ja suunnittelulla voidaan vähentää tyhjennystarvetta (esim. lukematon viesti -> 1, luettu viesti -> 0) Kokonaisia tiedostojärjestelmiä olemassa (WORM, write once, read mostly) Lohkon tunnistaminen Muuttujien paikat vaihtuvat kun lohkoja joudutaan päivittämään Ei vakiopaikkaa, jossa tieto käytettävästä muistista; yleensä jokainen lohko sisältää tietoa talletetusta tiedosta Lohkon koko?
14 Flash-muistin lohkon koko: pieni vs iso
15 Flash-muistin lohkon koko: pieni vs iso
16 Flashtiedostojärjestelmät Tiedostojärjestelmä pitää kirjaa tiedon fyysisistä tallennuspaikoista. YAFFS1 Objektit (tiedostot, kansiot) tallennetaan useille sivuille. 1. sivu sisältää objektin otsikkokentät ja seuraavat sivut täytetään datalla. Jokainen Flash-muistin sivu merkataan objektin tunnisteella, palanumerolla (chunk) ja muilla metatiedoilla. Tiedot tallennetaan spare area bitteihin. Kun tiedostoa muutetaan kirjoitetaan muuttuneet kohdat uusille Flash-muistin sivuille samoilla metatiedoilla. Vanhat sivut merkitään hylätyiksi. Myöhemmin hylätyt sivut alustetaan, jotta niitä voidaan käyttää uudelleen (carbage collection).
17 Ohjelman sijoittelu muistiin Ajettava ohjelma -> ROM, Flash Alustettu data, kirjoitussuojattu -> ROM, Flash Staattinen muistialue -> RAM Asennusparametrit (esim. tunnistetiedot) -> Patterivarmennettu RAM, Flash Dynaaminen muistialue (pino) -> RAM Oheislaitteet -> sijoitus absoluuttisiin osoitteisiin (näyttää RAM:lta) Keskeytysvektorit -> Sijoitus absoluuttiosoitteisiin (ROM); voidaan siirtää RAM-muistiin käynnistettäessä Patch-alue -> RAM, Flash
18 Erityispiirteitä Ohjelma valmiina muistissa heti; ei tarvita latausta Osa osoitteista suoraan laiteosoitteita Keskeytysvektori varaa osan laiteosoitteista Ei helppo toteuttaa suoraan alustetun datan aluetta Alustetun datan kopiointi lukumuistiin Kääntäjät tekevät tai eivät tee, kääntäjästä riippuen
19 Ohjelman sisäinen muistinhallinta Ohjelmoijan vastuulla Se miten koodi kirjoitetaan vaikuttaa merkittävästi muistinkulutukseen Tietorakenteet Muistin sijainti Staattisesti varattu muuttuja Dynaamisesti varattu muuttuja pinossa Dynaamisesti varattu muuttuja keossa Usein muistibudjetointi ennen suunnittelua, jotta voidaan olla varmoja muistin riittävyydestä
20 Nopea kertaus osoittimista int c=100; int *p = &c; void print() { printf(" c = %d\n", c); printf("&c = %p\n", (void *)&c); printf(" p = %p\n", (void *)p); } int main(void) { print(); *p++; print(); p = &c; (*p)++; print(); return 0; }
21 Staattisesti varattu muuttuja Ohjelman suorituksen alussa luotuja muuttujia; muistiosoite on vakio (static) int x = 0; Voidaan myös piilottaa aliohjelmien sisään abstraktioihin liittyvistä syistä int * osoitin_stattiseen() { static int x = 0; return & x; }
22 Dynaamisesti varattu muuttuja pinossa Syntyvät pinoon ohjelman suorituksen edessä; häviävät yhtä lailla suorituksen edetessä Aliohjelmien sisäiset muuttujat Parametrit Paluuarvot int * osoitin_dynaamiseen() { // ELÄ IKINÄ TEE NÄIN! int x = 0; return & x; }
23 Dynaamisesti varattu muuttuja keossa Muisti varataan ja vapautetaan ohjelmoijan toimesta Malloc/Free, New/Delete jne. int * x = (int *)malloc(sizeof(int)) *x = 0;
24 Dynaaminen muisti ja ohjelmistosuunnittelu Kolme perusongelmaa Jäänneviittaukset Usein ohjelman yllättävä kaatuminen (segmentation fault etc); jos muistialue uudessa käytössä virheet mielikuvituksellisempia Roskaantuminen Usein hidastuminen, ja lopulta kaatuminen esim. muistin loppumiseen Pirstoutuminen Varausten ja vapautusten seurauksena eri kokoisia muistialueita; mikä valitaan seuraavaksi käytettäväksi muistia varattaessa? Seuraavassa joitakin käytännössä toimivia muistinkäytön strategioita
25 Vain varauksia Yksinkertaisin vaihtoehto Varaa kaikki dynaaminen muisti ohjelman suorituksen alussa Muuttujat erikseen? Kokonainen alue? address alkumuisti; int koko; address malloc(int varaa) { address apu; apu = alkumuisti; alkumuisti += varaa; koko -= varaa; return apu; } Voidaan myös toteuttaa prosessitasolla Käynnistys -> varaus Päättyminen -> vapautus Varsin toimiva ratkaisu kun halutaan varmentaa toiminta huolellisesti
26 Varauksia ja vapautuksia Ohjelmoija joutuu huolehtimaan jäänneviittauksista ja roskaantumisesta Oleellisimmat erot eri algoritmien välillä liittyvät pirstoutumiseen Nyrkkisääntöjä: Vapauta aikaisin, varaa myöhään Käytä standardikokoista varausyksikköä Varaus on hidasta; ehkä voisi varata samalla tilaa usealle tietoalkiolle?
27 Ohjelmointikielistä C Ohjelmoija voi päättää täysin mitä tehdään C++ Vaarallisempi, sillä muistinvaraus ja vapautus joskus verhojen takana (kokeile!) Java Roskienkeruu automaattista, voi yllättää kesken suorituskykykriittisen operaation JSR-001 Real-Time Specification for Java Ada Osa ominaisuuksista melko raskaita ja ennakoimattomia Kielen ominaisuudet voidaan korvata käyttöjärjestelmän mekanismeilla ennustettavuuden lisäämiseksi Skriptit Ennakointi lähes mahdotonta virtuaalikonetta tuntematta
28 Muuta huomattavaa Mitä suorempi kontrolli muistin suhteen, sitä selkeämpää debuggaus yleensä on Muistinhallinnassa avustava kalusto nimensä mukaisesti auttaa useimmissa tapauksissa, mutta rajatapausten ja ongelmien selvittelyn suhteen vastaava kalusto yleensä monimutkaistaa Siksi apuvälineiden toiminnan ymmärtäminen on tärkeää ohjelmaa suunnitellessa ja erityisesti debugatessa
29 Muistinhallintayksikkö Suojaa prosesseja Rekisterit tyhjennetään prosessia vaihdettaessa Hallitsee kunkin prosessin muistialuetta Kätkee epäjatkuvuuskohdat Muisti näyttää rakenteeltaan samanlaiselta Käyttöjärjestelmistä tuttu muistin jako sivuihin
30 Muistisivukohtaista tietoa Miten sivua voi käsitellä käyttöjärjestelmätilassa (luku/kirjoitus) Miten sivua voi käsitellä käyttäjätilassa (luku/kirjoitus) Onko sivu ollenkaan olemassa Onko sivu pinon vai tavallisen muistin osa (voi vaikuttaa laillisen osoitteen laskentaan) Käytetäänkö sivulle muunnosta vai päästetäänkö sivun osoitteet suoraan väylälle Onko välimuisti päällä vai ei (esim. lukitusrutiinien lukkomuuttujien ja oheislaitteiden ohjaus- ja tilarekisterien kohdalla ei saa olla päällä!)
31 Mahdollisia virhetilanteita Kirjoittaminen ohjelmakoodin päälle Ei välttämättä näy koskaan, mutta huomataan jos kyseessä lukumuisti Osoitteenmuunnoksessa huomataan ettei sivua ole olemassa Aito virhe (ei virtuaalimuistia) vs. läsnäolokeskeytys (virtuaalimuisti) Koska virtuaalimuistia ei yleensä sulautetuissa ole, lähdetään virheoletuksesta
32 Välimuisti Muistin ja prosessorin välissä sijaitseva keskusmuistia nopeampi muisti Pyrkii nostamaan ohjelman suorituskykyä Usein käytetyt muuttujat löytyvät nopeammin kuin mitä keskusmuistin kautta Sekä koodille että datalle Joskus useita tasoja (esim. L1 & L2; jos ei löydy tasolta 1, etsitään tasolta 2, ja vasta sitten keskusmuistista) Muutos voidaan kirjoittaa keskusmuistiin heti tai viivästettynä (esim. kun arvo poistuu välimuistista)
33 Välimuistista Nopeutus tilastollista Ohjelmat paikallisia -> viittaukset kohdistuvat ohjelman suorituksen jossakin vaiheessa tiettyihin muuttujiin, ja jossain toisessa vaiheessa joihinkin muihin muuttujiin Välimuistin tyhjennys kun joudutaan vaihtamaan prosessia Reaaliaikaisiin (ts. ajankäytöltään ennustettaviin) järjestelmiin joudutaan yleensä omaksumaan pessimistinen kanta Eli siis nopeutus useimmiten tapahtuu, mutta koska ei voida olla varmoja joudutaan elämään huonoimman mahdollisimman vaihtoehdon mukaan
34 Yhteenveto Eri muistityypit soveltuvat eri käyttöön Myös saman tyypin sisällä erilaisia toteutuksia, hintoja, kokoja, ominaisuuksia, jne. Muistin käytön suunnitteleminen ohjelmoijan vastuulla Sekä koko muistin kulutuksen osalta pienissä järjestelmissä Että yksittäisen prosessin osalta suuremmissa järjestelmissä MMU tarjoaa suojausmekanismin prosessien välille; ei aina vaihtoehto Välimuisti nopeuttaa tilastollisesti, mutta ei sovi kaikkein reaaliaikaisimpien ohjelmistojen toteuttamiseen Näkyy ohjelmoijalle eri tavoin (ominaisuudet, debugging, jne)
3. Luento: Muistin hallinta. Tommi Mikkonen,
3. Luento: Muistin hallinta Tommi Mikkonen, tommi.mikkonen@tut.fi Agenda Erityyppiset muistit Ohjelman sijoittelu muistiin Ohjelman sisäinen muistinhallinta Muistinhallintayksikkö Välimuisti Yhteenveto
LisätiedotMUISTIPIIRIT H. Honkanen
MUISTIPIIRIT H. Honkanen Puolijohdemuistit voidaan jaotella käyttötarkoituksensa mukaisesti: Puolijohdemuistit Luku- ja kirjoitusmuistit RAM, Random Access Memory - Käytetään ohjelman suorituksen aikaisen
Lisätiedot3. Muistin hallinta. 3.1 Erityyppiset muistit
Muistin hallinta 51 3. Muistin hallinta Tämä luku käsittelee erityyppisiä muisteja ja ohjelman sijoittelua muistiin, dynaamisen muistin hallintaa ja yleensä muistinhallintaa. Pääpaino on siinä, miten muisti
LisätiedotTietokoneen muisti nyt ja tulevaisuudessa. Ryhmä: Mikko Haavisto Ilari Pihlajisto Marko Vesala Joona Hasu
Tietokoneen muisti nyt ja tulevaisuudessa Ryhmä: Mikko Haavisto Ilari Pihlajisto Marko Vesala Joona Hasu Yleisesti Muisti on yksi keskeisimmistä tietokoneen komponenteista Random Access Memory on yleistynyt
Lisätiedot11/20: Konepelti auki
Ohjelmointi 1 / syksy 2007 11/20: Konepelti auki Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy 2007 p.1/11 Tämän luennon
Lisä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ätiedotRakenteiset tietotyypit Moniulotteiset taulukot
C! Rakenteiset tietotyypit Moniulotteiset taulukot 22.2.2018 Agenda Rakenteiset tietotyypit Vilkaisu 6. kierroksen tehtäviin Moniulotteiset taulukot Esimerkki Seuraava luento to 8.3. Ilmoittautuminen ohjelmointikokeeseen
LisätiedotOlion elinikä. Olion luominen. Olion tuhoutuminen. Olion tuhoutuminen. Kissa rontti = null; rontti = new Kissa();
Sisällys 7. Oliot ja viitteet Olio Java-kielessä. Olion luominen, elinikä ja tuhoutuminen. Viitteiden käsittelyä: sijoitus, vertailu ja varautuminen null-arvoon. Viite metodin paluuarvona.. 7.1 7.2 Olio
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ä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ätiedotTietorakenteet ja algoritmit
Tietorakenteet ja algoritmit Muuttujat eri muisteissa Ohjelman muistialueen layout Paikallisen ja globaalin muuttujan ominaisuudet Dynaamisen muistinkäytön edut Paikallisten muuttujien dynaamisuus ADT
Lisä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ä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ätiedotTiedon muuttumattomuuden tarkistus Järjestelmän sisäinen muisti
Luento 7 (verkkoluento 7) Tiedon muuttumattomuuden tarkistus Järjestelmän sisäinen muisti Pariteetti, Hamming-koodi Välimuisti, muisti 1 Tiedon tarkistus Tiedon oikeellisuutta ei voi tarkistaa yleisessä
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ätiedotMuistipiirit. Digitaalitekniikka (piirit) Luku 20 Sivu 1 (24)
Digitaalitekniikka (piirit) Luku 20 Sivu 1 (24) Digitaalitekniikka (piirit) Luku 20 Sivu 2 (24) Johdanto Tässä luvussa esitetään keskeiset muistipiirityypit ja muistipiireihin liittyvät käsitteet mainitaan
Lisätiedot815338A Ohjelmointikielten periaatteet Harjoitus 3 vastaukset
815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 3 vastaukset Harjoituksen aiheena ovat imperatiivisten kielten muuttujiin liittyvät kysymykset. Tehtävä 1. Määritä muuttujien max_num, lista,
Lisä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ätiedotOhjelmassa muuttujalla on nimi ja arvo. Kääntäjä ja linkkeri varaavat muistilohkon, jonne muuttujan arvo talletetaan.
Osoittimet Ohjelmassa muuttujalla on nimi ja arvo. Kääntäjä ja linkkeri varaavat muistilohkon, jonne muuttujan arvo talletetaan. Muistilohkon koko riippuu muuttujan tyypistä, eli kuinka suuria arvoja muuttujan
LisätiedotSisällys. 7. Oliot ja viitteet. Olion luominen. Olio Java-kielessä
Sisälls 7. Oliot ja viitteet Olio Java-kielessä. Olion luominen, elinikä ja tuhoutuminen.. Viitteiden vertailu. Varautuminen null-arvoon. Viite metodin paluuarvona.. Muuttumattomat ja muuttuvat merkkijonot.
LisätiedotOhjelmointi 2. Jussi Pohjolainen. TAMK» Tieto- ja viestintäteknologia , Jussi Pohjolainen TAMPEREEN AMMATTIKORKEAKOULU
Ohjelmointi 2 Jussi Pohjolainen TAMK» Tieto- ja viestintäteknologia Tietotyypeistä C++ - kielessä useita tietotyyppejä Kirjaimet: char, wchar_t Kokonaisluvut: short, int, long Liukuluvut: float, double
LisätiedotTiedon muuttumattomuuden tarkistus Järjestelmän sisäinen muisti
Luento 7 (verkkoluento 7) Tiedon muuttumattomuuden tarkistus Järjestelmän sisäinen muisti Pariteetti, Hamming-koodi Välimuisti, muisti 1 Tiedon tarkistus Tiedon oikeellisuutta ei voi tarkistaa yleisessä
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ä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ätiedotLUKUJA, DATAA KÄSITTELEVÄT FUNKTIOT JA NIIDEN KÄYTTÖ LOGIIKKAOHJAUKSESSA
LUKUJA, DATAA KÄSITTELEVÄT FUNKTIOT JA NIIDEN KÄYTTÖ LOGIIKKAOHJAUKSESSA Tavallisimmin lukuja käsittelevien datasanojen tyypiksi kannattaa asettaa kokonaisluku 16 bitin INT, jonka vaihtelualueeksi tulee
LisätiedotÄlykännykät ovat pieneen tilaan paketoituja, mutta suuret ominaisuudet omaavia tietokoneita.
Mikä on tietokone PUNOMO NETWORKS OY 22.7.2016 pva, piirroskuvat J. Mansikkaviita Henkilökohtaisesti olen aina valmis oppimaan, vaikka en välitäkään tulla opetetuksi. - Winston Churchill Tietokone on elektroninen
LisätiedotTietokoneen rakenne: Harjoitustyö. Motorola MC68030 -prosessori
kevät 2004 TP02S-D Tietokoneen rakenne: Harjoitustyö Motorola MC68030 -prosessori Työn valvojat: Seppo Haltsonen Pasi Lankinen RAPORTTI 13.5.2004 Sisällysluettelo sivu Tiivistelmä... 1 Lohkokaavio... 2
LisätiedotDynaaminen muisti. Pasi Sarolahti Aalto University School of Electrical Engineering. C-ohjelmointi Kevät 2017.
C! Dynaaminen muisti 9.2.2017 Agenda Kertausta merkkijonoista Dynaaminen muisti Valgrind-perusteet ja esimerkkejä Seuraava luento to 2.3. Ei harjoituksia arviointiviikolla 13.2. 17.2. 2 Palautetta merkkijonoihin
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ä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ätiedotHarjoitustyö: virtuaalikone
Harjoitustyö: virtuaalikone Toteuta alla kuvattu virtuaalikone yksinkertaiselle olio-orientoituneelle skriptauskielelle. Paketissa on testaamista varten mukana kaksi lyhyttä ohjelmaa. Ohjeita Noudata ohjelman
Lisätiedot1. Keskusyksikön rakenne
1. Keskusyksikön rakenne Kuvassa on esitelty TTK-91 esimerkkikoneen keskusyksikkö. Oikeiden tietokoneiden keskusyksiköt ovat luonnollisesti monimutkaisempia, mutta tämä riittää oikein mainiosti asian havainnollistamiseen.
Lisätiedot7. Oliot ja viitteet 7.1
7. Oliot ja viitteet 7.1 Sisällys Olio Java-kielessä. Olion luominen, elinikä ja tuhoutuminen. Viitteiden sijoitus. Viitteiden vertailu. Varautuminen null-arvoon. Viite metodin paluuarvona. Viite metodin
LisätiedotLOAD R1, =2 Sijoitetaan rekisteriin R1 arvo 2. LOAD R1, 100
Tiedonsiirtokäskyt LOAD LOAD-käsky toimii jälkimmäisestä operandista ensimmäiseen. Ensimmäisen operandin pitää olla rekisteri, toinen voi olla rekisteri, vakio tai muistiosoite (myös muuttujat ovat muistiosoitteita).
LisätiedotOperaattoreiden ylikuormitus. Operaattoreiden kuormitus. Operaattoreiden kuormitus. Operaattoreista. Kuormituksesta
C++ - perusteet Java-osaajille luento 5/7: operaattoreiden ylikuormitus, oliotaulukko, parametrien oletusarvot, komentoriviparametrit, constant, inline, Operaattoreiden ylikuormitus Operaattoreiden kuormitus
LisätiedotOsio 2: Luennot 4-7 Muistinhallinta
Käyttöjärjestelmät I Osio 2: Luennot 4-7 Muistinhallinta Tiina Niklander; kalvot Auvo Häkkinen Tietojenkäsittelytieteen laitos Helsingin yliopisto Käyttöjärjestelmät t I YKSINKERTAINEN MUISTINHALLINTA
LisätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 1.4.2009 T-106.1208 Ohjelmoinnin perusteet Y 1.4.2009 1 / 56 Tentti Ensimmäinen tenttimahdollisuus on pe 8.5. klo 13:00 17:00 päärakennuksessa. Tämän jälkeen
LisätiedotAliohjelmatyypit (2) Jakso 4 Aliohjelmien toteutus
Jakso 4 Aliohjelmien toteutus Tyypit Parametrit Aktivointitietue (AT) AT-pino Rekursio Aliohjelmatyypit (2) Korkean tason ohjelmointikielen käsitteet: aliohjelma, proseduuri parametrit funktio parametrit,
LisätiedotCT50A2602 Käyttöjärjestelmät Seminaarityö. Tietokoneen muisti nyt ja tulevaisuudessa
CT50A2602 Käyttöjärjestelmät Seminaarityö Tietokoneen muisti nyt ja tulevaisuudessa Jyrki Eurén Raimo Asikainen Janne Laitinen Teppo Lapinkoski Manu Toivanen Pasi Ruuth Johdanto Taustaa Työn taustana ryhmän
Lisätiedot24.9.2015. Työasema- ja palvelinarkkitehtuurit (IC130301) Apumuistit. Kiintolevyt. 5 opintopistettä. Petri Nuutinen
Työasema- ja palvelinarkkitehtuurit (IC130301) 5 opintopistettä Petri Nuutinen 5 opintopistettä Petri Nuutinen Apumuistit Tarvitaan ohjelmien ja dokumenttien tallentamiseen, kiintolevyjen varmuuskopiointiin,
LisätiedotModuli 4: Moniulotteiset taulukot & Bittioperaatiot
C! : Moniulotteiset taulukot & Bittioperaatiot 15.3.2016 Agenda Pieni kertausharjoitus Moniulotteiset taulukot Esimerkki taulukoista Tauko (bittitehtävä) Binäärioperaatioista Esimerkki (vilkaistaan IP
LisätiedotTiedon tarkistus (4)
Jakso 7 Tiedon muuttumattomuuden tarkistus Järjestelmän sisäinen muisti Pariteetti Hamming-koodi Välimuisti Tavallinen muisti Muistien historiaa 1 Tiedon tarkistus (4) Tiedon oikeellisuutta ei voi tarkistaa
LisätiedotTiedon tarkistus (4) Esimerkki ohjelmistotason tarkistusmerkistä (2) Tiedon muuttumattomuus (2)
Jakso 7 Tiedon muuttumattomuuden tarkistus Järjestelmän sisäinen muisti Pariteetti Hamming-koodi Välimuisti Tavallinen muisti Tiedon tarkistus (4) Tiedon oikeellisuutta ei voi tarkistaa yleisessä tapauksessa
LisätiedotTiedon tarkistus (4) Esimerkki ohjelmistotason tarkistusmerkistä (2) Tiedon muuttumattomuus (2)
Jakso 7 Tiedon muuttumattomuuden tarkistus Järjestelmän sisäinen muisti Pariteetti Hamming-koodi Välimuisti Tavallinen muisti Historiaa Tiedon tarkistus (4) Tiedon oikeellisuutta ei voi tarkistaa yleisessä
LisätiedotLuento 5: YKSINKERTAINEN SEGMENTOINTI JA SIVUTUS
Käyttöjärjestelmät t I Luento 5: YKSINKERTAINEN SEGMENTOINTI JA SIVUTUS Stallings, Luku 7 KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 5-1 Sisält ltöä (Luennot 5&6) Yleistä muistinhallinnasta (luku
LisätiedotLuento 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ätiedotLuento 4 Aliohjelmien toteutus
Luento 4 Aliohjelmien toteutus Tyypit Parametrit Aktivointitietue (AT) AT-pino Rekursio 1 Aliohjelmatyypit (2) Korkean tason ohjelmointikielen käsitteet: aliohjelma, proseduuri parametrit funktio parametrit,
LisätiedotOsoitin ja viittaus C++:ssa
Osoitin ja viittaus C++:ssa Osoitin yksinkertaiseen tietotyyppiin Osoitin on muuttuja, joka sisältää jonkin toisen samantyyppisen muuttujan osoitteen. Ohessa on esimerkkiohjelma, jossa määritellään kokonaislukumuuttuja
Lisätiedot2) Aliohjelma, jonka toiminta perustuu sivuvaikutuksiin: aliohjelma muuttaa parametrejaan tai globaaleja muuttujia, tulostaa jotakin jne.
Proseduurit Proseduuri voi olla 1) Funktio, joka palauttaa jonkin arvon: real function sinc(x) real x sinc = sin(x)/x... y = sinc(1.5) 2) Aliohjelma, jonka toiminta perustuu sivuvaikutuksiin: aliohjelma
LisätiedotDynaaminen muisti Rakenteiset tietotyypit
C! Dynaaminen muisti Rakenteiset tietotyypit 1.3.2016 Agenda Kertausta Dynaaminen muisti Valgrind-perusteet ja esimerkkejä Yhteenveto tietorakenteista Vilkaisu 3. kierroksen tehtäviin Esim: miten linkitetty
LisätiedotJakso 4 Aliohjelmien toteutus
Jakso 4 Aliohjelmien toteutus Tyypit Parametrit Aktivointitietue (AT) AT-pino Rekursio 1 Aliohjelmatyypit (2) Korkean tason ohjelmointikielen käsitteet: aliohjelma, proseduuri parametrit funktio parametrit,
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ätiedotJavan perusteita. Janne Käki
Javan perusteita Janne Käki 20.9.2006 Muutama perusasia Tietokone tekee juuri (ja vain) sen, mitä käsketään. Tietokone ymmärtää vain syntaksia (sanojen kirjoitusasua), ei semantiikkaa (sanojen merkitystä).
LisätiedotJakso 7 Tiedon muuttumattomuuden tarkistus Järjestelmän sisäinen muisti. Pariteetti Hamming-koodi Välimuisti Tavallinen muisti Muistien historiaa
Jakso 7 Tiedon muuttumattomuuden tarkistus Järjestelmän sisäinen muisti Pariteetti Hamming-koodi Välimuisti Tavallinen muisti Muistien historiaa 1 Tiedon tarkistus (4) Tiedon oikeellisuutta ei voi tarkistaa
LisätiedotTiedon tarkistus (4)
Jakso 7 Tiedon muuttumattomuuden tarkistus Järjestelmän sisäinen muisti Pariteetti Hamming-koodi Välimuisti Tavallinen muisti Muistien historiaa 1 Tiedon tarkistus (4) Tiedon oikeellisuutta ei voi tarkistaa
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ätiedot815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 5 Vastaukset
815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 5 Vastaukset Harjoituksen aiheena ovat aliohjelmat ja abstraktit tietotyypit sekä olio-ohjelmointi. Tehtävät tehdään C-, C++- ja Java-kielillä.
Lisätiedot5.6. C-kielen perusteet, osa 6/8, Taulukko 6.1.2008, pva, kuvat jma
5.6. C-kielen perusteet, osa 6/8, Taulukko 6.1.2008, pva, kuvat jma Every cloud has a silver line. - englantilainen sananlasku Tässä osiossa tärkeää: yksi- ja moniulotteinen taulukko Sisältö Yleistä Yksiulotteinen
LisätiedotJakso 4 Aliohjelmien toteutus
Jakso 4 Aliohjelmien toteutus Tyypit Parametrit Aktivointitietue (AT) AT-pino Rekursio 1 Aliohjelmatyypit (2) Korkean tason ohjelmointikielen käsitteet: aliohjelma, proseduuri parametrit funktio parametrit,
LisätiedotTiedon tarkistus (4) Esimerkki ohjelmistotason tarkistusmerkistä (2) Tiedon muuttumattomuus (2)
Jakso 7 Tiedon muuttumattomuuden tarkistus Järjestelmän sisäinen muisti Pariteetti Hamming-koodi Välimuisti Tavallinen muisti Tiedon tarkistus (4) Tiedon oikeellisuutta ei voi tarkistaa yleisessä tapauksessa
LisätiedotMuistihierarkia Kiintolevyt I/O:n toteutus
Luento 8 (verkkoluento 9) Järjestelmän ulkoinen muisti I/O Muistihierarkia Kiintolevyt I/O:n toteutus 1 Muistihierarkia Ulkoinen muisti (levymuisti) on halvempaa toteuttaa per tavu Ulkoinen muisti on paljon
Lisätiedotltöä (Luennot 5&6) Luento 5: YKSINKERTAINEN SEGMENTOINTI JA SIVUTUS Pikakertaus: : a) b) c) Dyn.. part.: sijoitus Kuva Buddy System: esimerkki
Käyttöjärjestelmät t I Luento 5: YKSINKERTAINEN SEGMENTOINTI JA SIVUTUS Stallings, Luku 7 Sisält ltöä (Luennot 5&6) Yleistä muistinhallinnasta (luku 7.1) Yksinkertainen muistinhallinta a) kiinteät partitiokoot
LisätiedotOsoittimet ja taulukot
C! ja taulukot 1.2.2018 Tiedotteita Tämän jälkeen taas pari väliviikkoa (tenttiviikko) Seuraava luento 22.2. Laskareita ei tenttiviikolla 12.2. 16.2. 2 ja muisti Muisti Keskusyksikkö Suorittaa muistissa
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ätiedotJärjestelmän ulkoinen muisti I/O
Luento 9 (verkkoluento 9) Järjestelmän ulkoinen muisti I/O Muistihierarkia Kiintolevyt I/O:n toteutus 1 Muistihierarkia Ulkoinen muisti (levymuisti) on halvempaa toteuttaa per tavu Ulkoinen muisti on paljon
LisätiedotLyhyt kertaus osoittimista
, syksy 2007 Kertausta Luento 10 12.10.2007 Syksy 2007 1 Lyhyt kertaus osoittimista char *p; /* char, int, jne ilmoittavat, minkä tyyppisiä */ Keskusmuisti int *q; /* olioita sisältäviin muistilohkoihin
LisätiedotMuistihierarkia Kiintolevyt I/O:n toteutus
Luento 9 (verkkoluento 9) Järjestelmän ulkoinen muisti I/O Muistihierarkia Kiintolevyt I/O:n toteutus 1 Muistihierarkia Fig 4.1 [Sta16] Ulkoinen muisti (levymuisti) on halvempaa toteuttaa per tavu Ulkoinen
LisätiedotSisältö. 22. Taulukot. Yleistä. Yleistä
Sisältö 22. Taulukot Yleistä. Esittely ja luominen. Alkioiden käsittely. Kaksiulotteinen taulukko. Taulukko metodin parametrina. Taulukko ja HelloWorld-ohjelma. Taulukko paluuarvona. 22.1 22.2 Yleistä
LisätiedotCUDA. Moniydinohjelmointi 17.4.2012 Mikko Honkonen
CUDA Moniydinohjelmointi 17.4.2012 Mikko Honkonen Yleisesti Compute Unified Device Architecture Ideana GPGPU eli grafiikkaprosessorin käyttö yleiseen laskentaan. Nvidian täysin suljetusti kehittämä. Vuoden
LisätiedotTiedon tarkistus (4) Esimerkki ohjelmistotason tarkistusmerkistä (2) Tiedon muuttumattomuus (2)
Luento 7 Tiedon muuttumattomuuden tarkistus Järjestelmän sisäinen muisti Pariteetti Hamming-koodi Välimuisti Tavallinen muisti Historiaa Tiedon tarkistus (4) Tiedon oikeellisuutta ei voi tarkistaa yleisessä
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ätiedotOsio 2: Luennot 4-7 Muistinhallinta YKSINKERTAINEN MUISTINHALLINTA. ltöä YLEISTÄ MUISTINHALLINNASTA. Looginen muisti.
Käyttöjärjestelmät t I Osio 2: Luennot 4-7 Muistinhallinta Tiina Niklander; kalvot Auvo Häkkinen YKSINKERTAINEN MUISTINHALLINTA Stallings, Luku 7 Tietojenkäsittelytieteen laitos Helsingin yliopisto KJ-I
LisätiedotHammastankohissin modernisointi. Heikki Laitasalmi
Hammastankohissin modernisointi Heikki Laitasalmi Loppudemossa Mitä oltiinkaan tekemässä V-malli Modbus viestintä (PLC VFD) Esitellään laitteet Lopuksi Modbusia käytännössä Hammastankohissi Arkkitehtuuri
Lisätiedot2. Olio-ohjelmoinista lyhyesti 2.1
2. Olio-ohjelmoinista lyhyesti 2.1 Sisällys Yleistä. Oliot ja luokat. Attribuutit. Olioiden esittely ja alustus. Rakentajat. Olion operaation kutsuminen. 2.2 Yleistä Olio-ohjelmointia käsitellään hyvin
LisätiedotLuento 7 Tiedon muuttumattomuuden tarkistus Järjestelmän sisäinen muisti
Luento 7 Tiedon muuttumattomuuden tarkistus Järjestelmän sisäinen muisti Pariteetti Hamming-koodi Välimuisti Tavallinen muisti Historiaa 1 Tiedon tarkistus (4) Tiedon oikeellisuutta ei voi tarkistaa yleisessä
LisätiedotSisällys. Yleistä attribuuteista. Näkyvyys luokan sisällä ja ulkopuolelta. Attribuuttien arvojen käsittely aksessoreilla. 4.2
4. Attribuutit 4.1 Sisällys Yleistä attribuuteista. Näkyvyys luokan sisällä ja ulkopuolelta. Attribuuttien arvojen käsittely aksessoreilla. 4.2 Yleistä Luokan lohkossa, mutta metodien ulkopuolella esiteltyjä
LisätiedotLuento 4 (verkkoluento 4) Aliohjelmien toteutus
Luento 4 (verkkoluento 4) Aliohjelmien toteutus Tyypit, Parametrit Aktivointitietue (AT) AT-pino, rekursio 1 Aliohjelmatyypit Korkean tason ohjelmointikielen käsitteet aliohjelma, proseduuri Parametrit
LisätiedotSisällys. Yleistä attribuuteista. Näkyvyys luokan sisällä. Tiedonkätkentä. Aksessorit. 4.2
4. Attribuutit 4.1 Sisällys Yleistä attribuuteista. Näkyvyys luokan sisällä. Tiedonkätkentä. Aksessorit. 4.2 Yleistä Luokan lohkossa, mutta metodien ulkopuolella esiteltyjä muuttujia ja vakioita. Esittely
LisätiedotConcurrency - Rinnakkaisuus. Group: 9 Joni Laine Juho Vähätalo
Concurrency - Rinnakkaisuus Group: 9 Joni Laine Juho Vähätalo Sisällysluettelo 1. Johdanto... 3 2. C++ thread... 4 3. Python multiprocessing... 6 4. Java ExecutorService... 8 5. Yhteenveto... 9 6. Lähteet...
LisätiedotC-kielessä taulukko on joukko peräkkäisiä muistipaikkoja, jotka kaikki pystyvät tallettamaan samaa tyyppiä olevaa tietoa.
Taulukot C-kielessä taulukko on joukko peräkkäisiä muistipaikkoja, jotka kaikki pystyvät tallettamaan samaa tyyppiä olevaa tietoa. Taulukon muuttujilla (muistipaikoilla) on yhteinen nimi. Jokaiseen yksittäiseen
LisätiedotOngelma(t): Jotta tietokonetta voitaisiin käyttää monipuolisesti ja mahdollisimman yksinkertaisesti kaikkiin sille soveltuviin käyttötarkoituksiin,
Ongelma(t): Jotta tietokonetta voitaisiin käyttää monipuolisesti ja mahdollisimman yksinkertaisesti kaikkiin sille soveltuviin käyttötarkoituksiin, niin miten tietokoneen resurssit tulisi antaa käyttöön
LisätiedotSisältö. 2. Taulukot. Yleistä. Yleistä
Sisältö 2. Taulukot Yleistä. Esittely ja luominen. Alkioiden käsittely. Kaksiulotteinen taulukko. Taulukko operaation parametrina. Taulukko ja HelloWorld-ohjelma. Taulukko paluuarvona. 2.1 2.2 Yleistä
LisätiedotLuento 4 (verkkoluento 4) Aliohjelmien toteutus
Luento 4 (verkkoluento 4) Aliohjelmien toteutus Tyypit, Parametrit Aktivaatiotietue (AT) AT-pino, rekursio 1 Aliohjelmatyypit Korkean tason ohjelmointikielen käsitteet aliohjelma, proseduuri Parametrit
LisätiedotOngelma(t): Miten mikro-ohjelmoitavaa tietokonetta voisi ohjelmoida kirjoittamatta binääristä (mikro)koodia? Voisiko samalla algoritmin esitystavalla
Ongelma(t): Miten mikro-ohjelmoitavaa tietokonetta voisi ohjelmoida kirjoittamatta binääristä (mikro)koodia? Voisiko samalla algoritmin esitystavalla ohjelmoida useita komponenteiltaan ja rakenteeltaan
LisätiedotSisällys. Metodien kuormittaminen. Luokkametodit ja -attribuutit. Rakentajat. Metodien ja muun luokan sisällön järjestäminen. 6.2
6. Metodit 6.1 Sisällys Metodien kuormittaminen. Luokkametodit ja -attribuutit. Rakentajat. Metodien ja muun luokan sisällön järjestäminen. 6.2 Oliot viestivät metodeja kutsuen Olio-ohjelmoinnissa ohjelma
Lisätiedot1. Yleistä. 2. Ominaisuudet. 3. Liitännät
1. Yleistä SerIO on mittaus ja ohjaustehtäviin tarkoitettu prosessorikortti. Se voi ohjemistosta riippuen toimia itsenäisenä yksikkönä tai tietokoneen ohjaamana. Jälkimmäisessä tapauksessa mittaus ja ohjauskomennot
LisätiedotLuokassa määriteltävät jäsenet ovat pääasiassa tietojäseniä tai aliohjelmajäseniä. Luokan määrittelyyn liittyvät varatut sanat:
1. Luokan jäsenet Luokassa määriteltävät jäsenet ovat pääasiassa tietojäseniä tai aliohjelmajäseniä. Luokan määrittelyyn liittyvät varatut sanat: class luokan_nimi tyypit: enum, struct, class, typedef
LisätiedotVirtuoosi POS-järjestelmien joukossa
Virtuoosi POS-järjestelmien joukossa Menestyvä liiketoiminta muistuttaa monin osin huippuunsa viritettyä orkesteria jossa eri osien sopusuhtainen vuorovaikutus ja integrointi luovat sykähdyttävän esityksen.
LisätiedotD B. Tiedostojen käsittely
Tietokantojen tietoja säilytetään yleensä apumuistissa, lähinnä levymuisteissa Apumuistiin tallentamisen merkittäviä etuja keskusmuistiin nähden ovat tiedon säilyvyys (virtakatkon yli) säilytyskapasiteetin
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ätiedotMonipuolinen esimerkki
Monipuolinen esimerkki Lopuksi monipuolinen esimerkki, jossa ohjelmisto koostuu pääohjelmasta ja kahdesta aliohjelmasta, joista toinen on proseduuri ja toinen funktio. Funktio Sqrt(int n): int Sqrt(int
LisätiedotYleistä. Nyt käsitellään vain taulukko (array), joka on saman tyyppisten muuttujien eli alkioiden (element) kokoelma.
2. Taulukot 2.1 Sisältö Yleistä. Esittely ja luominen. Alkioiden käsittely. Kaksiulotteinen taulukko. Taulukko operaation parametrina. Taulukko ja HelloWorld-ohjelma. Taulukko paluuarvona. 2.2 Yleistä
LisätiedotTietotyypit ja operaattorit
Tietotyypit ja operaattorit Luennossa tarkastellaan yksinkertaisten tietotyyppien int, double ja char muunnoksia tyypistä toiseen sekä esitellään uusia operaatioita. Numeeriset tietotyypit ja muunnos Merkkitieto
LisätiedotPRINCIPLES OF PROGRAMMING LANGUAGES - DEBUGGER
PRINCIPLES OF PROGRAMMING LANGUAGES - DEBUGGER Group 16 Ville Laatu Henri Myllyoja - i SISÄLLYSLUETTELO 1. DEBUGGERI YLEISESTI... II 1.1 Debuggerin käyttämien... ii 1.2 Debuggerin käynnistäminen... ii
Lisätiedot2. Lisää Java-ohjelmoinnin alkeita. Muuttuja ja viittausmuuttuja (1/4) Muuttuja ja viittausmuuttuja (2/4)
2. Lisää Java-ohjelmoinnin alkeita Muuttuja ja viittausmuuttuja Vakio ja literaalivakio Sijoituslause Syötteen lukeminen ja Scanner-luokka 1 Muuttuja ja viittausmuuttuja (1/4) Edellä mainittiin, että String-tietotyyppi
Lisätiedot2. Sulautettu järjestelmä ja mikro-ohjain 11.12.2007, pva
2. Sulautettu järjestelmä ja mikro-ohjain 11.12.2007, pva Henkilökohtaisesti olen aina valmis oppimaan, vaikka en välitäkään tulla opetetuksi. - Winston Churchill Yleistä Sulautettu järjestelmä, Embedded
LisätiedotLuento 4 Aliohjelmien toteutus
Luento 4 Aliohjelmien toteutus Tyypit Parametrit Aktivointitietue (AT) AT-pino Rekursio 1 Aliohjelmatyypit (2) Korkean tason ohjelmointikielen käsitteet aliohjelma, proseduuri parametrit funktio parametrit,
LisätiedotLohkot. if (ehto1) { if (ehto2) { lause 1;... lause n; } } else { lause 1;... lause m; } 16.3
16. Lohkot 16.1 Sisällys Tutustutaan lohkoihin. Muuttujien ja vakioiden näkyvyys sekä elinikä erityisesti operaation lohkossa. Nimikonfliktit. Muuttujat operaation alussa vai myöhemmin? 16.2 Lohkot Kaarisulut
LisätiedotELEC-C3240 Elektroniikka 2
ELEC-C324 Elektroniikka 2 Marko Kosunen Marko.kosunen@aalto.fi Digitaalielektroniikka Tilakoneet Materiaali perustuu kurssiins-88. Digitaalitekniikan perusteet, laatinut Antti Ojapelto Luennon oppimistavoite
Lisätiedot1 Tehtävän kuvaus ja analysointi
Olio-ohjelmoinnin harjoitustyön dokumentti Jyri Lehtonen (72039) Taneli Tuovinen (67160) 1 Tehtävän kuvaus ja analysointi 1.1 Tehtävänanto Tee luokka, jolla mallinnetaan sarjaan kytkettyjä kondensaattoreita.
Lisätiedot