INF3140 / INF4140 MODELLER FOR PARALLELLITET. PMA-gruppen. Institutt for informatikk Universitetet i Oslo.

Størrelse: px
Begynne med side:

Download "INF3140 / INF4140 MODELLER FOR PARALLELLITET. PMA-gruppen. Institutt for informatikk Universitetet i Oslo."

Transkript

1 INF3140 / INF4140 MODELLER FOR PARALLELLITET PMA-gruppen Institutt for informatikk Universitetet i Oslo Uke 1, side 1.

2 Modeller for parallellitet Forelesere Johan Dovland (IFI) Olaf Owe (IFI) Hjemmeside for kurset Pensum Gregory R. Andrews: Foundations of Multithreaded, Parallel, and Distributed Programming. Utsolgt fra forlaget! Men utdrag vil trykkes opp og deles ut, eller komme som kompendium på Akademika. Vi planlegger noe tilleggsstoff omkring distribuerte systemer. Forelesningene kan ta opp andre temaer. Disse er også pensum. Uke 1, side 2.

3 Vurderingsform Tre obliger som må godkjennes. Avsluttende eksamen. Forelesninger Tirsdag kl. 14:15-16:00, Veilabben (vil muligens finne andre lokaler etterhvert). Grupper Gruppelærer: Joakim Bjørk (stipendiat PMA) 4. etg IFI Gruppe 1: Onsdag kl. 10:15-12:00, Seminarrom 510 Veglaboratoriet Evt.:Gruppe 2: Fredag kl. 12:15-14:00, Seminarrom 510 Veglaboratoriet Starter neste uke. Uke 1, side 3.

4 Dagens plan Innledning innhold i kurset motivasjon: hvorfor er dette kurset viktig noen enkle eksempler og betraktninger Start litt om parallellprogrammering ved kritiske regioner og venting interferens await-språket Uke 1, side 4.

5 Hva dette kurset handler om Fundamentale problemstillinger knyttet til samarbeidende parallelle prosesser Tenkemåter knyttet til utvikling av parallelle prosesser Ulike språklige mekanismer og paradigmer Dypere forståelse av parallelle prosesser: (uformell og litt formell) analyse, egenskaper Uke 1, side 5.

6 Parallelle prosesser Sekvensielt program: én kontrolltråd Parallelt program: flere kontrolltråder Parallelle prosesser trenger å utveksle informasjon. Vi skal studere to ulike måter å organisere kommunikasjonen mellom prosesser: Lesing og skriving til felles variable (del I av kurset) Kommunikasjon ved meldinger mellom prosesser (del II av kurset) Uke 1, side 6.

7 Oversikt over temaer i kurset Del I: Felles Variable atomiske operasjoner interferens vranglås (deadlock), livelock, liveness, fairness parallelle programmer med låser, kritiske regioner og (aktiv) venting semaforer og passiv venting monitorer formell analyse (Hoare logikk), invarianter Java: tråder og synkronisering Uke 1, side 7.

8 Oversikt over temaer i kurset Del II: Kommunikasjon asynkron og synkron meldingsutveksling Basis-mekanismer: RPC (remote procedure call), rendevous, klient/tjener setting, kanaler Javas mekanismer analyse ved hjelp av historier asynkrone systemer standard eksempler Uke 1, side 8.

9 Start Da starter vi med Del I: felles variable Språklige mekanismer og teori for prosesser som opererer på felles programvariable. Hvorfor bruke felles variable? virkeligheten er slik: Eks. flere CPU-er inne i en maskin. naturlig interaksjon for tett koblede systemer. brukes i mange viktige språk, som i Javas trådbegrep. late som man har mange prosesser, for å oppnå bedre effektivitet ved at flere ting kan skje samtidig. Eks. å ha flere aktive vinduer på en gang. Uke 1, side 9.

10 Enkelt eksempel Vi har programvariable x, y og z. La oss se på følgende program: før bak {x er a og y er b} x := x + z; y := y + z; {x er her a+z og y er b+z} Hvis vi har operasjoner på data som kan gjøres uavhengig av hverandre, kan det være en fordel å gjøre disse samtidig. Betingelsene beskriver tilstanden til programvariablene før og etter programsetningene og kalles hhv for- og bak-betingelse. Disse betingelsene er ment å gi forståelse av programmet, og er ikke del av den koden som eksekveres. Uke 1, side 10.

11 Parallelloperator Utvider språket med en konstruksjon for parallell komposisjon: co S 1 S 2... S n oc; Eksekvering av en parallell komposisjon skjer ved samtidig eksekvering av delprosessene S 1,..., S n og terminerer normalt hvis alle delprosessene terminerer normalt. Eksempel Dermed kan vi skrive eksempelet som: {x er a og y er b} co x := x + z y := y + z oc; {x er a+z og y er b+z} Uke 1, side 11.

12 Interaksjon mellom prosesser Prosesser som lever i samme system, kan interagere med hverandre på to ulike måter: Samarbeid for å oppnå et resultat Konkurranse om felles ressurser Organiseringen av denne interaksjonen vil vi kalle synkronisering av prosessene. Gjensidig utelukking (Mutex). Vi innfører kritiske regioner av programinstruksjoner som ikke kan eksekveres samtidig. Betingelsessynkronisering. En prosess må vente på at en bestemt betingelse er oppfylt før eksekvering kan fortsette. Uke 1, side 12.

13 Samtidige prosesser: Atomiske operasjoner Bokas definisjon: En operasjon er atomisk hvis den ikke kan deles inn i mindre enheter. Alternativ definisjon: En operasjon er atomisk hvis den kan forstås uten å deles inn i mindre enheter. Hva som er atomisk avhenger av språket man jobber i: fin-kornet og grov-kornet atomiskhet. F.eks.: Lesing og skiving av en programvariabel er gjerne atomært. Noen (høy-nivå) språk kan ha tilordning x := e som én atomisk operasjon, andre som flere: lesing av variable i uttrykket e, bergning av verdien e, etterfulgt av skriving til x. Vi kan late som atomiske operasjoner ikke skjer samtidig! Merk: En setning med høyst én atomisk del-operasjon, i tillegg til opersjoner på lokale variable, kan anses som atomisk! Uke 1, side 13.

14 Atomiske operasjoner: programvariable Behandlingen av programvariable er fundamental: Også kommunikasjon mellom prosesser kan representeres ved variable, f. eks. en kommunikasjonskanal som en variabel av type sekvens. Til hver programvariabel assosieres en mengde med atomære operasjoner, f. eks. lesing og skriving til vanlige programvariable, sending og mottak på kommunikasjonskanaler, etc. Atomære operasjoner på en variabel x kalles x-operasjoner. Gjensidig utelukking Atomære operasjoner på en variabel kan ikke skje samtidig. Uke 1, side 14.

15 Eksempel Vi skal nå se på programmet Hva blir slutt-tilstanden her? P 1 P 2 int x := 0; co x := x + 1 x := x 1 oc; {?} Vi antar at hver prosess blir eksekvert på en egen prosessor, med eget register, og at x er del av et felles tilstandsrom med programvariable. Aritmetiske operasjoner i de to prosessene kan utføres samtidig, men lese- og skriveoperasjoner på x må gjøres sekvensielt. Rekkefølgen på disse operasjonene er avhengig av relativ prosessorhastighet. Utfallet av slike program blir dermed svært vanskelig å forutsi! Uke 1, side 15.

16 Atomære lese- og skriveoperasjoner P 1 P 2 int x := 0; co x := x + 1 x := x 1 oc; {?} Det er 4 atomære x-operasjoner: P 1 leser (R1) verdien i x, P 1 skriver (W1) en verdi til x, P 2 leser (R2) verdien i x, og P 2 skriver (W2) en verdi til x. R1 må skje før W1 og R2 før W2, så disse operasjonene kan sekvenseres på 6 måter: R1 R1 R1 R2 R2 R2 W1 R2 R2 R1 R1 W2 R2 W1 W2 W1 W2 R1 W2 W2 W1 W2 W1 W Utfra tabellen kan vi angi slutt-tilstanden til programmet: x= 1 x=0 x=1. Programmet er altså ikke-deterministisk : resultatet kan variere fra eksekvering til eksekvering. int x := 0; co x := x + 1 x := x 1 oc; {x= 1 x=0 x=1} Uke 1, side 16.

17 Antall mulige kjøringer Hvis vi har 3 prosesser, hver med et gitt antall atomiske operasjoner, vil vi få følgende antall mulige eksekveringer: prosess 1 prosess 2 prosess 3 antall kjøringer NB: Ulike eksekveringer kan gi opphav til ulike slutt-tilstander. Umulig, selv for ganske enkle systemer, å se på hver mulige eksekvering for seg! For n prosesser med m atomiske setninger hver, er formelen (n m)! m! n Uke 1, side 17.

18 at-most-once -egenskapen Definisjon. Et uttrykk e oppfyller egenskapen hvis det snakker om høyst én delt variable og inneholder høyst én atomisk operasjon på denne. En tilordning x := e oppfyller egenskapen hvis enten e oppfyller egenskapen og x ikke refereres av andre, eller x er delt og e ikke snakker om delt variable. (Samme som i merknad på foil 13). Slike uttrykk/setninger kan anses som atomiske! Eksempler: (la z være en lokal variabel): x := 0; y := 0;co x := y + 1 y := x + 1 oc; {x og y er 1 eller 2} x := 0; y := 0;co x := y + 1 x := y + 3 y := 1 oc; {y=1 x= 1, 2, 3, 4} co z := y + 1 z := y 1 oc z := x x {er z nå 0?} x := x {samme som skip?} if y > 0 then y := y 1; Boka: leses Uke 1, side 18.

19 Kursets første programmeringsspråk: await-språket vanlige sekvensielle, imperative konstruksjoner som tilordning, if-, for- og while-setninger cobegin-konstruksjonen for parallell aktivitet prosesser kritiske regioner await-setninger for (aktiv) venting og betingede kritiske regioner Uke 1, side 19.

20 Programmeringsspråket: Syntaks Vi bruker følgende syntaks for basale konstruksjoner: Deklarasjoner int i := 3; int a([n] 1); int a[n]; tilsvarerint a[0:n-1]; int a([n] n); Sekvensielle setninger Tilordning x:=e; For-løkke a[n]++; tilsvarera[n] := a[n]+1; for [i = 0 to n-1]{ sum += i; tilsvarersum:=sum+i; a[i] := i; } Kondisjonal if (betingelse) setning While-løkke while (betingelse) setning Uke 1, side 20.

21 Parallelle setninger co S 1 S 2... S n oc; Hver arm S i inneholder en programsetning som blir utført i parallell med de øvrige armene. co-setningen terminerer når alle armene S i har terminert. Neste instruksjon etter co-setningen eksekveres etter at co-setningen har terminert. Parallelle prosesser process foo { Prosesser kjører i bakgrunnen int sum := 0; Prosesser evalueres i vilkårlig rekkefølge. for [i= 1 to 10] Neste instruksjon etter prosess-kroppen sum += i; evalueres med en gang. x := sum; } Uke 1, side 21.

22 Eksempel process bar1 { for [i = 1 to n] write(i);} Starter én prosess. Tallene skrives ut i stigende rekkefølge. process bar2[i=1 to n] { write(i); } Starter n prosesser. Tallene skrives ut i tilfeldig rekkefølge fordi eksekveringsrekkefølgen på prosessene er ikke-deterministisk. Uke 1, side 22.

23 Lese- og skrivevariable La V : statement variable set være en syntaktisk funksjon som beregner mengden av programvariable som refereres i programmet. W : statement variable set er mengden av (skrive)variable som kan bli endret av programmet. V[v:=e] = V[e] {v} W[v:=e] = {v} V[S 1 ; S 2 ] = V[S 1 ] V[S 2 ] W[S 1 ; S 2 ] = W[S 1 ] W[S 2 ] V[if (b) S ] = V[b] V[S] W[if (b) S ] = W[S] V[while (b) S ] = V[b] V[S] W[while (b) S ] = W[S] der V[e] er mengden av variable i uttrykket e. NB: Vi antar her at += og ++ tilordninger skrives helt ut. Uke 1, side 23.

24 Disjunkte prosesser Parallelle prosesser er uten interferens hvis de er disjunkte, dvs. uten felles programvariable: V[S 1 ] V[S 2 ] = Variable som bare leses, kan imidlertid ikke gi opphav til interferens. Det er derfor tilstrekkelig med følgende interferens kriterium: V[S 1 ] W[S 2 ] = W[S 1 ] V[S 2 ] = Dette kravet kan svekkes litt ( at-most-once -egenskapen): Uke 1, side 24.

25 Historier En tilstand i et parallelt program består av verdien til programvariablene på et gitt tidspunkt i eksekveringen. Hver prosess eksekverer uavhengig av de andre ved å modifisere programvariable vha. atomære operasjoner. En eksekvering av et parallelt program kan modelleres ved en historie, dvs. en sekvens av operasjoner på programvariablene. For ikke-trivielle parallelle programmer finnes det veldig mange mulige historier. Synkronisering brukes til å begrense mulige historier. Uke 1, side 25.

26 Egenskaper En egenskap ved et program er et predikat som er sann for alle mulige historier til programmet. To typer: Sikkerhetsegenskaper sier at programmet ikke vil komme til en uønsket tilstand. Progresjonsegenskaper sier at programmet vil komme til en ønsket tilstand (liveness). Partiell korrekthet : Programmet kommer til en ønsket slutt-tilstand hvis programmet terminerer (sikkerhetsegenskap). Terminering: Lengden på alle historier er endelige. Total korrekthet : Programmer terminerer og er partielt korrekt. Uke 1, side 26.

27 Egenskaper: Invarianter Definisjon.En felles egenskap for alle tilstander som kan oppstå ved eksekvering, i.e. egenskap som holder til enhver tid. sikkerhetsegenskap hensiktsmessig for ikke-terminerende systemer (ungår å snakke om en sluttilstand) global invariant snakker om tilstanden til mange prosesser på én gang, gjerne total-systemet lokal invariant snakker om tilstanden til én prosess. man kan vise at en invariant er korrekt ved å vise at den gjelder initielt, og at hver atomisk setning vedlikeholder den. Uke 1, side 27.

28 Hvordan sjekke egenskaper ved programmer? Testing eller debugging øker tilliten til programmet ved prøving, men gir ingen garanti for korrekthet. Operasjonell resonnering utprøver alle historiene til et program. Formell analyse : Metode for å regne på egenskaper ved et program uten å prøve historiene én og én. En test kan påvise feil, men aldri påvise korrekthet! Uke 1, side 28.

29 Kritiske regioner Gjensidig utelukking: kombinerer sekvenser av operasjoner til kritiske regioner som oppfører seg som atomære operasjoner. Når interferenskravet til parallelle prosesser ikke holder, bruker vi synkronisering til å begrense de mulige historiene. Synkronisering gir grov-kornete atomære operasjoner. Notasjonen< S > betyr atsutføres atomært. Atomære operasjoner: Interne tilstander er ikke synlige for andre prosesser. Variable kan ikke endres av andre prosesser. Eksempel Eksemplet fra tidligere kan nå skrives som: int x := 0; co < x := x + 1 > < x := x 1 > oc; {x er her 0} Uke 1, side 29.

30 Betingete kritiske regioner Innfører følgende uttrykk: < await (B) S; > Det boolske uttrykketbspesifiserer en ventebetingelse. Hakeparentesene antyder at kroppenseksekveres som en atomær operasjon. Eksempel < await (y > 0) y := y-1; > Variabelenyblir først minket når betingelseny > 0 holder. Uke 1, side 30.

31 Betingete kritiske regioner (2) Vi kan brukeawait til å spesifisere begge synkroniseringsmetodene: Mutex: < x := x+1 ; y := y+1 ; > Betingelsessynkronisering: < await (teller > 0) ; > Uke 1, side 31.

32 Eksempel: produsent/konsument synkronisering LaProducer være en prosess som leverer data til en prosessconsumer. int buf, p := 0, c := 0; process Producer { process Consumer { int a[n]; int b[n]; while (p < n) { while (c < n) { < await (p == c) ; > < await (p > c) ; > buf := a[p] b[c] := buf p := p+1; c := c+1; } } } } Denne type synkronisering kalles for gjerne for busy waiting. Uke 1, side 32.

33 Eksempel (forts) a: buf: p: c: n: b: Invariant : c <= p <= c+1 En invariant holder i alle tilstander i historien til programmet. Uke 1, side 33.

INF4140 MODELLER FOR PARALLELLITET. PMA-gruppen. Institutt for informatikk Universitetet i Oslo.

INF4140 MODELLER FOR PARALLELLITET. PMA-gruppen. Institutt for informatikk Universitetet i Oslo. INF4140 MODELLER FOR PARALLELLITET PMA-gruppen Institutt for informatikk Universitetet i Oslo http://www.ifi.uio.no/~pma (versjon 27.8.08) INF 4140 H08 Uke 1, side 1. Modeller for parallellitet Forelesere

Detaljer

INF3140 Modeller for parallellitet INF3140/4140: Programanalyse

INF3140 Modeller for parallellitet INF3140/4140: Programanalyse INF3140/4140: Programanalyse Uke 4, side 1. Hvordan sjekke egenskaper ved programmer? Testing eller debugging øker tilliten til programmet ved prøving, men gir ingen garanti for korrekthet Operasjonell

Detaljer

INF3140 Modeller for parallellitet INF3140/4140: Låser og Barrierer

INF3140 Modeller for parallellitet INF3140/4140: Låser og Barrierer INF3140/4140: Låser og Barrierer Uke 2, side 1. Praktisk Obligatorisk oppgave 1 Er nå lagt ut. Merk: Frist fredag 21. sept. Guppelærer Mohammad Ali Norozi mohammno@ifi.uio.no Merk: Kun gruppe 1 åpen! Forelesningssted

Detaljer

INF4140: Låser og Barrierer (Locks and Barriers)

INF4140: Låser og Barrierer (Locks and Barriers) INF4140: Låser og Barrierer (Locks and Barriers) Chapter 3 (version 3.9.09) H09, Uke 2, side 1. Practical Stuff Obligatory assignment 1 NB: Deadline Monday 21. Sept. See teaching plan. Group teacher Chris

Detaljer

Læringsmål og pensum. Utvikling av informasjonssystemer. Oversikt. Systemutvikling Systemutvikling i seks faser Femstegs prosedyre for programmering

Læringsmål og pensum. Utvikling av informasjonssystemer. Oversikt. Systemutvikling Systemutvikling i seks faser Femstegs prosedyre for programmering 1 2 Læringsmål og pensum TDT4110 Informasjonsteknologi grunnkurs: Uke 38 Utvikling av informasjonssystemer Læringsmål Kunne seks faser for systemanalyse og design Kunne femstegs prosedyre for programmering

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i Eksamensdag: December 16th. 2005 Tid for eksamen: 14.30 17.30 Oppgavesettet er på 11 sider. Vedlegg: INF3140/4140 Models of Concurrency

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i Eksamensdag: 12. desember 2003 Tid for eksamen: 09.00 12.00 Oppgavesettet er på 5 sider. Vedlegg: INF3140/4140 Modeller for parallellitet

Detaljer

13.09.2012 LITT OM OPPLEGGET. INF1000 EKSTRATILBUD Stoff fra uke 1-3 12. September 2012 Siri Moe Jensen EKSEMPLER

13.09.2012 LITT OM OPPLEGGET. INF1000 EKSTRATILBUD Stoff fra uke 1-3 12. September 2012 Siri Moe Jensen EKSEMPLER .9.22 LITT OM OPPLEGGET INF EKSTRATILBUD Stoff fra uke - 2. September 22 Siri Moe Jensen Målgruppe: De som mangler forståelse for konseptene gjennomgått så langt. Trening får du ved å jobbe med oppgaver,

Detaljer

Plan. Oppgaver og repetisjon Eksempler med fikspunkt og induksjon: 1. sortering 2. divisjon 3. Heis? IN 315: Foilsett 9: Unity: Arkitekturer

Plan. Oppgaver og repetisjon Eksempler med fikspunkt og induksjon: 1. sortering 2. divisjon 3. Heis? IN 315: Foilsett 9: Unity: Arkitekturer Plan Tema: Ulike arkitekturer og avbildninger 1. asynkron arkitektur med felles variable 2. synkron arkitektur med felles variable 3. distribuert arkitektur med kanal-kommunikasjon 4. program-skjemaer

Detaljer

Kodegenerering, del 2: Resten av Kap. 8 pluss tilleggsnotat (fra kap. 9 i ASU ) INF5110 V2007

Kodegenerering, del 2: Resten av Kap. 8 pluss tilleggsnotat (fra kap. 9 i ASU ) INF5110 V2007 Kodegenerering, del 2: Resten av Kap. 8 pluss tilleggsnotat (fra kap. 9 i ASU ) INF5110 V2007 Stein Krogdahl, Ifi UiO NB: Innfører noen begreper som først og fremst har mening om man skal gå videre med

Detaljer

Forelesning 9 mandag den 15. september

Forelesning 9 mandag den 15. september Forelesning 9 mandag den 15. september 2.6 Største felles divisor Definisjon 2.6.1. La l og n være heltall. Et naturlig tall d er den største felles divisoren til l og n dersom følgende er sanne. (1) Vi

Detaljer

MAT1030 Diskret matematikk

MAT1030 Diskret matematikk MAT1030 Diskret matematikk Forelesning 5: Logikk Dag Normann Matematisk Institutt, Universitetet i Oslo 28. januar 2008 Oppsummering av Kapittel 3 I Kapittel 3 så vi på hvordan data, som hele tall og reelle

Detaljer

Forelesere VELKOMMEN TIL MAT-INF 1100. Forelesere MAT-INF 1100 22/8-2005

Forelesere VELKOMMEN TIL MAT-INF 1100. Forelesere MAT-INF 1100 22/8-2005 Forelesere VELKOMMEN TIL MAT-INF 1100 Geir Pedersen, Matematisk institutt, avd. for mekanikk Rom nr. 918 i Niels Henrik Abels hus E-post: geirkp@math.uio.no Arbeider med havbølger og numerisk analyse av

Detaljer

Forelesning 22 MA0003, Mandag 5/11-2012 Invertible matriser Lay: 2.2

Forelesning 22 MA0003, Mandag 5/11-2012 Invertible matriser Lay: 2.2 Forelesning 22 M0003, Mandag 5/-202 Invertible matriser Lay: 2.2 Invertible matriser og ligningssystemet x b Ligninger på formen ax b, a 0 kan løses ved å dividere med a på begge sider av ligninger, noe

Detaljer

MAT1030 Forelesning 30

MAT1030 Forelesning 30 MAT1030 Forelesning 30 Kompleksitetsteori Roger Antonsen - 19. mai 2009 (Sist oppdatert: 2009-05-19 15:04) Forelesning 30: Kompleksitetsteori Oppsummering I dag er siste forelesning med nytt stoff! I morgen

Detaljer

Invarianter, +lstander og li1 mer seman+kk

Invarianter, +lstander og li1 mer seman+kk Invarianter, +lstander og li1 mer seman+kk INF1010 14.april 2016 Stein Gjessing April 13, 2016 1 Invariant (= Invariant +lstandspåstand) Vi har se3 flere ganger at det er svært nyjg å formulere +lstandspåstander

Detaljer

MAT1030 Diskret matematikk. Kompleksitetsteori. Forelesning 29: Kompleksitetsteori. Dag Normann KAPITTEL 13: Kompleksitetsteori. 7.

MAT1030 Diskret matematikk. Kompleksitetsteori. Forelesning 29: Kompleksitetsteori. Dag Normann KAPITTEL 13: Kompleksitetsteori. 7. MAT1030 Diskret matematikk Forelesning 29: Dag Normann KAPITTEL 13: Matematisk Institutt, Universitetet i Oslo 7. mai 2008 MAT1030 Diskret matematikk 7. mai 2008 2 Meldinger: Det blir hovedsaklig tavleregning

Detaljer

Hypotesetesting. Notat til STK1110. Ørnulf Borgan Matematisk institutt Universitetet i Oslo. September 2007

Hypotesetesting. Notat til STK1110. Ørnulf Borgan Matematisk institutt Universitetet i Oslo. September 2007 Hypotesetesting Notat til STK1110 Ørnulf Borgan Matematisk institutt Universitetet i Oslo September 2007 Teorien for hypotesetesting er beskrevet i kapittel 9 læreboka til Rice. I STK1110 tar vi bare for

Detaljer

Innhold. Introduksjon til parallelle datamaskiner. Ulike typer parallelle arkitekturer. Prinsipper for synkronisering av felles hukommelse

Innhold. Introduksjon til parallelle datamaskiner. Ulike typer parallelle arkitekturer. Prinsipper for synkronisering av felles hukommelse Innhold Introduksjon til parallelle datamaskiner. Ulike typer parallelle arkitekturer Prinsipper for synkronisering av felles hukommelse Multiprosessorer koblet sammen av én buss 02.05 2001 Parallelle

Detaljer

Leksjon 3. Kontrollstrukturer

Leksjon 3. Kontrollstrukturer 6108 Programmering i Java Leksjon 3 Kontrollstrukturer Del 1: Valg Roy M. Istad 2015 Utfør av et program Programflyt så langt: start setning setning setning setning slutt Sekvensielt: Alle setninger utføres,

Detaljer

Vekst av planteplankton - Skeletonema Costatum

Vekst av planteplankton - Skeletonema Costatum Vekst av planteplankton - Skeletonema Costatum Nivå: 9. klasse Formål: Arbeid med store tall. Bruke matematikk til å beskrive naturfenomen. Program: Regneark Referanse til plan: Tall og algebra Arbeide

Detaljer

Løsningsforslag til seminar 4 Undervisningsfri uke

Løsningsforslag til seminar 4 Undervisningsfri uke Løsningsforslag til seminar 4 Undervisningsfri uke Iman Ghayoornia February 22, 2016 Oppgave 2.1 Se Excel-filen som er tilgjengelig på emnesiden. Hvis du lurer på hvordan jeg fikk verdiene i cellene så

Detaljer

Mer kodegenerering: Tilleggsnotat fra AHU Om Javas Byte-kode INF april 2009

Mer kodegenerering: Tilleggsnotat fra AHU Om Javas Byte-kode INF april 2009 Mer kodegenerering: Tilleggsnotat fra AHU Om Javas Byte-kode INF5110 30. april 2009 Stein Krogdahl, Ifi UiO Tirsdag 5. mai: Forelesning Torsdag 7. mai: Forelesning Tirsdag 12. mai: FRI Torsdag 14. mai:

Detaljer

INF 4130. 8. oktober 2009. Dagens tema: Uavgjørbarhet. Neste uke: NP-kompletthet

INF 4130. 8. oktober 2009. Dagens tema: Uavgjørbarhet. Neste uke: NP-kompletthet INF 4130 8. oktober 2009 Stein Krogdahl Dagens tema: Uavgjørbarhet Dette har blitt framstilt litt annerledes tidligere år Se Dinos forelesninger fra i fjor. I år: Vi tenker mer i programmer enn i Turing-maskiner

Detaljer

Mesteparten av kodingen av Donkey Kong skal du gjøre selv. Underveis vil du lære hvordan du lager et enkelt plattform-spill i Scratch.

Mesteparten av kodingen av Donkey Kong skal du gjøre selv. Underveis vil du lære hvordan du lager et enkelt plattform-spill i Scratch. Donkey Kong Ekspert Scratch Introduksjon Donkey Kong var det første virkelig plattform-spillet da det ble gitt ut i 1981. I tillegg til Donkey Kong var det også her vi første gang ble kjent med Super Mario

Detaljer

Kompleksitetsanalyse Helge Hafting 25.1.2005 Opphavsrett: Forfatter og Stiftelsen TISIP Lærestoffet er utviklet for faget LO117D Algoritmiske metoder

Kompleksitetsanalyse Helge Hafting 25.1.2005 Opphavsrett: Forfatter og Stiftelsen TISIP Lærestoffet er utviklet for faget LO117D Algoritmiske metoder Helge Hafting 25.1.2005 Opphavsrett: Forfatter og Stiftelsen TISIP Lærestoffet er utviklet for faget LO117D Algoritmiske metoder Innhold 1 1 1.1 Hva er en algoritme?............................... 1 1.2

Detaljer

Hva er en algoritme? Har allerede sett på mange algoritmer til nå i IT1101. Forholdet mellom en algoritme og et program. Algoritme program prosess

Hva er en algoritme? Har allerede sett på mange algoritmer til nå i IT1101. Forholdet mellom en algoritme og et program. Algoritme program prosess IT1101 Informatikk basisfag, dobbeltime 2/10 Hva er en algoritme? Fremgangsmåte for noe Hittil: Datarepresentasjon Datamanipulasjon Datamaskinarkutektur hvordan maskinen jobber Operativsystem Program som

Detaljer

23.09.2015. Introduksjon til objektorientert. programmering. Hva skjedde ~1967? Lokale (og globale) helter. Grunnkurs i objektorientert.

23.09.2015. Introduksjon til objektorientert. programmering. Hva skjedde ~1967? Lokale (og globale) helter. Grunnkurs i objektorientert. Grunnkurs i objektorientert programmering Introduksjon til objektorientert programmering INF1000 Høst 2015 Siri Moe Jensen INF1000 - Høst 2015 uke 5 1 Siri Moe Jensen INF1000 - Høst 2015 uke 5 2 Kristen

Detaljer

GetMutex(lock) { while(testandset(lock)) {} } En context switch kan ikke ødelegge siden testen og endringen av lock skjer i samme instruksjon.

GetMutex(lock) { while(testandset(lock)) {} } En context switch kan ikke ødelegge siden testen og endringen av lock skjer i samme instruksjon. Hardware-støttet Semafor og Implementasjon av semafor i OS til å synkronisere Hardware-støttet alle softwareløsninger innebærer mange instruksjoner i tillegg til busy-waiting, som koster CPU-tid. I praksis

Detaljer

TMA4100 Matematikk 1, høst 2013

TMA4100 Matematikk 1, høst 2013 TMA4100 Matematikk 1, høst 2013 Teknostart forelesning 2 www.ntnu.no TMA4100 Matematikk 1, høst 2013, Teknostart forelesning 2 Program for teknostart Torsdag 15. aug 10:15-11:00 Velkomst Informasjon om

Detaljer

Uendelige rekker. Konvergens og konvergenskriterier

Uendelige rekker. Konvergens og konvergenskriterier Uendelige rekker. Konvergens og konvergenskriterier : Et absolutt nødvendig, men ikke tilstrekkelig vilkår for konvergens er at: lim 0 Konvergens vha. delsummer :,.,,,. I motsatt fall divergerer rekka.

Detaljer

Kodegenerering del 3: Tilleggsnotat fra AHU Samt litt om class-filer og byte-kode INF5110 V2007. Stein Krogdahl, Ifi UiO

Kodegenerering del 3: Tilleggsnotat fra AHU Samt litt om class-filer og byte-kode INF5110 V2007. Stein Krogdahl, Ifi UiO Kodegenerering del 3: Tilleggsnotat fra AHU Samt litt om class-filer og byte-kode INF5110 V2007 Stein Krogdahl, Ifi UiO ASU, kap 9.5: Vi generer kode for én og én basal blokk Da er det lett å holde orden

Detaljer

GJENNOMGANG UKESOPPGAVER 6 MER OM OBJEKTORIENTERING OG UML

GJENNOMGANG UKESOPPGAVER 6 MER OM OBJEKTORIENTERING OG UML GJENNOMGANG UKESOPPGAVER 6 MER OM OBJEKTORIENTERING OG UML INF1050 V16 KRISTIN BRÆNDEN DAGENS TEMA Klassediagram Aktivitetsdiagram Tilstandsdiagram Sekvensdiagram 1 Ta utgangspunkt i følgende klasser:

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i: INF2810 Eksamensdag: Fredag 5. juni 2015 Tid for eksamen: 14:30 (4 timer) Oppgavesettet er på 4 sider (ikke medregnet denne siden)

Detaljer

MAT1030 Diskret matematikk

MAT1030 Diskret matematikk MAT1030 Diskret matematikk Plenumsregning 1: Kapittel 1 Roger Antonsen Matematisk Institutt, Universitetet i Oslo 17. januar 2008 Velkommen til plenumsregning for MAT1030 Torsdager 10:15 12:00 Gjennomgang

Detaljer

Ukeoppgaver fra kapittel 3 & 4

Ukeoppgaver fra kapittel 3 & 4 Plenumsregning 4 Ukeoppgaver fra kapittel 3 & 4 Roger Antonsen - 7. februar 2008 Oppgave 3.15 Forklar følgende påstand ved å vise til beregninger med reelle tall på eksponentiell form: Man mister presisjon

Detaljer

Models of Concurrency

Models of Concurrency Models of Concurrency Martin Steffen 1 University of Oslo, Norway INF3140 Høst 2007 Dagens program Mer asynkron meldingsutveksling Interagerende prosesser med ulike kommunikasjonsmønstre Oppsummering av

Detaljer

MAT1030 Forelesning 7

MAT1030 Forelesning 7 MAT1030 Forelesning 7 Logikk, predikatlogikk Dag Normann - 9. februar 2010 (Sist oppdatert: 2010-02-09 14:24) Kapittel 4: Logikk (predikatlogikk) Predikatlogikk Vi brukte hele forrige uke til å innføre

Detaljer

Beskrivelse av programmeringsspråket Simpila INF5110 - Kompilatorteknikk Våren 2012

Beskrivelse av programmeringsspråket Simpila INF5110 - Kompilatorteknikk Våren 2012 Beskrivelse av programmeringsspråket Simpila INF5110 - Kompilatorteknikk Våren 2012 Her beskrives syntaksen og den statiske semantikken (hva som skal sjekkes av kompilatoren) til språket Simpila. Den dynamiske

Detaljer

Velkommen til. INF våren 2017

Velkommen til. INF våren 2017 Velkommen til INF1010 - våren 2017 Idag: 1. time: Om INF1010 2.time: Om Objekter i Java 1 Stein Gjessing og Stein Michael Storleer Universitetet i Oslo 1 INF1010 Objektorientert programmering I INF1010

Detaljer

ALGORITMER OG DATASTRUKTURER

ALGORITMER OG DATASTRUKTURER Eksamen i ALGORITMER OG DATASTRUKTURER Høgskolen i Østfold Avdeling for Informatikk og Automatisering Onsdag 11.desember, 1996 Kl. 9.00-15.00 Tillatte hjelpemidler: Alle trykte og skrevne. Kalkulator.

Detaljer

Kapittel 4: Logikk (predikatlogikk)

Kapittel 4: Logikk (predikatlogikk) MAT1030 Diskret Matematikk Forelesning 7: Logikk, predikatlogikk Roger Antonsen Institutt for informatikk, Universitetet i Oslo Kapittel 4: Logikk (predikatlogikk) 10. februar 2009 (Sist oppdatert: 2009-02-11

Detaljer

INF1000 undervisningen INF 1000 høsten 2011 Uke september

INF1000 undervisningen INF 1000 høsten 2011 Uke september INF1000 undervisningen INF 1000 høsten 2011 Uke 2 30. september Grunnkurs i Objektorientert Programmering Institutt for Informatikk Universitetet i Oslo Siri Moe Jensen og Arne Maus Forelesningene: Første

Detaljer

INF 1000 høsten 2011 Uke september

INF 1000 høsten 2011 Uke september INF 1000 høsten 2011 Uke 2 30. september Grunnkurs i Objektorientert Programmering Institutt for Informatikk Universitetet i Oslo Siri Moe Jensen og Arne Maus 1 INF1000 undervisningen Forelesningene: Første

Detaljer

Oppsummering av digitalteknikkdelen

Oppsummering av digitalteknikkdelen Oppsummering av digitalteknikkdelen! Følgende hovedtemaer er gjennomgått! Boolsk Algebra! von Neuman-arkitektur! Oppbygging av CPU! Pipelining! Cache! Virtuelt minne! Interne busser 09.05. INF 1070 1 Boolsk

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Prøveeksamen i : INF2440 Praktisk parallell programmering Prøveeksamensdag : 26. mai 2014 Tidspunkter: 11.00 Utdeling av prøveeksamen 15:15

Detaljer

INF3140 Modeller for parallellitet INF3140/4140: Monitorer

INF3140 Modeller for parallellitet INF3140/4140: Monitorer INF3140/4140: Monitorer Uke 6, side 1. Monitor Programmoduler med mer struktur enn semaforer Monitorer er en mekanisme for data-abstraksjon Data i monitor er innkapslet og manipuleres vha. monitorprosedyrer

Detaljer

Forelesning 28: Kompleksitetsteori

Forelesning 28: Kompleksitetsteori MAT1030 Diskret Matematikk Forelesning 28: Kompleksitetsteori Roger Antonsen Institutt for informatikk, Universitetet i Oslo Forelesning 28: Kompleksitetsteori 12. mai 2009 (Sist oppdatert: 2009-05-13

Detaljer

Ny EKSAMEN. Operativsystemer og nettverk

Ny EKSAMEN. Operativsystemer og nettverk Ny EKSAMEN Emnekode: ITF22514 Dato: 4. juni 2015 Emne: Operativsystemer og nettverk Eksamenstid: kl 09.00 til kl 13.00 Hjelpemidler: Alle trykte og skrevne. Faglærere: Jan Høiberg og Tore Petter Engen

Detaljer

Dagens temaer. Fra kapittel 4 i Computer Organisation and Architecture. Kort om hurtigminne (RAM) Organisering av CPU: von Neuman-modellen

Dagens temaer. Fra kapittel 4 i Computer Organisation and Architecture. Kort om hurtigminne (RAM) Organisering av CPU: von Neuman-modellen Dagens temaer Fra kapittel 4 i Computer Organisation and Architecture Kort om hurtigminne (RAM) Organisering av CPU: von Neuman-modellen Register Transfer Language (RTL) Instruksjonseksekvering Pipelining

Detaljer

Concurrency. Lars Vidar Magnusson. September 20, Lars Vidar Magnusson () Forelesning i Operativsystemer September 20, / 17

Concurrency. Lars Vidar Magnusson. September 20, Lars Vidar Magnusson () Forelesning i Operativsystemer September 20, / 17 Concurrency Lars Vidar Magnusson September 20, 2011 Lars Vidar Magnusson () Forelesning i Operativsystemer 20.09.2011 September 20, 2011 1 / 17 Oversikt Concurrency 1 Concurrency Beskrivelse Prinsipper

Detaljer

Tre måter å lese fra terminal. Java 4. Eksempel. Formatert utskrift til skjerm

Tre måter å lese fra terminal. Java 4. Eksempel. Formatert utskrift til skjerm Mer om easyio Mer om forgreninger Løkker 7. september 2004 Ole Christian Lingjærde Gruppen for bioinformatikk Institutt for informatikk Universitetet i Oslo Java 4 1 Tre måter å lese fra terminal Først:

Detaljer

Dagens plan INF3170 Logikk. Obliger og eksamen. Forelesning 1: Introduksjon, mengdelære og utsagnslogikk. Christian Mahesh Hansen og Roger Antonsen

Dagens plan INF3170 Logikk. Obliger og eksamen. Forelesning 1: Introduksjon, mengdelære og utsagnslogikk. Christian Mahesh Hansen og Roger Antonsen Dagens plan INF3170 Logikk Forelesning 1: Introduksjon, mengdelære og utsagnslogikk Christian Mahesh Hansen og Roger Antonsen Institutt for informatikk, Universitetet i Oslo 1 Praktisk informasjon 2 23.

Detaljer

Mer kodegenerering: Tilleggsnotat fra AHU. INF mai Stein Krogdahl,

Mer kodegenerering: Tilleggsnotat fra AHU. INF mai Stein Krogdahl, Mer kodegenerering: Tilleggsnotat fra AHU Om Javas Byte-kode INF5110 4. mai 2010 Stein Krogdahl, Ifi UiO Avsluttende om kodegenerering g Avsluttende pensum: En del fra utdelt kap 9 fra Aho, Sethi og Ullmann

Detaljer

ENC - 100. ENKEL AKSE og KLIPPE LENGDE KONTROLLER for PLATESAKSER

ENC - 100. ENKEL AKSE og KLIPPE LENGDE KONTROLLER for PLATESAKSER ENC - 100 ENKEL AKSE og KLIPPE LENGDE KONTROLLER for PLATESAKSER 1. GENERELLE SPESIFIKASJONER Membran tastatur med lang levetid. Klart og lett lesbart display. Viser hver av de 6 sifrene for aktuell og

Detaljer

INF mai 2014 Stein Krogdahl, Ifi, UiO

INF mai 2014 Stein Krogdahl, Ifi, UiO INF5110 7. mai 2014 Stein Krogdahl, Ifi, UiO Dette er foiler om global data-analyse NB: Disse foilene er også pensum (men stoffet finnes bare her på disse foilene.) Global dataflyt-analyse, eksempler:

Detaljer

Velkommen til MAT1030!

Velkommen til MAT1030! MAT1030 Diskret Matematikk Forelesning 1: Algoritmer, pseudokoder, kontrollstrukturer Roger Antonsen Institutt for informatikk, Universitetet i Oslo Velkommen til MAT1030! 13. januar 2009 (Sist oppdatert:

Detaljer

MAT1030 Diskret Matematikk

MAT1030 Diskret Matematikk MAT1030 Diskret Matematikk Forelesning 1: Algoritmer, pseudokoder, kontrollstrukturer Roger Antonsen Institutt for informatikk, Universitetet i Oslo 13. januar 2009 (Sist oppdatert: 2009-01-14 16:44) Velkommen

Detaljer

var y :{x :T R}; S endvar y

var y :{x :T R}; S endvar y uttrykk av formen some x : T R selekterer ikke-deterministisk Et T -verdi som tilfredsstiller R, det vil si en verdi av subtypen en skal regnes med i den applikative delen av programmeringsspråket, some-uttrykk

Detaljer

Løsningsforslag til underveisvurdering i MAT111 vår 2005

Løsningsforslag til underveisvurdering i MAT111 vår 2005 Løsningsforslag til underveisvurdering i MAT111 vår 5 Beregn grenseverdien Oppgave 1 (x 1) ln x x x + 1 Svar: Merk at nevneren er lik (x 1), så vi kan forkorte (x 1) oppe og nede og får (x 1) ln x ln x

Detaljer

D: Ingen trykte eller håndskrevne hjelpemiddel tillatt. Bestemt, enkel kalkulator tillatt.

D: Ingen trykte eller håndskrevne hjelpemiddel tillatt. Bestemt, enkel kalkulator tillatt. Side 1 av 8 Norges teknisk-naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap Løsningsforslag til EKSAMENSOPPGAVE I FAG TDT4186 OPERATIVSYSTEMER Versjon: 13.des 2011 Faglig

Detaljer

SKOLEEKSAMEN I. SOS4010 Kvalitativ metode. 19. oktober 2015 4 timer

SKOLEEKSAMEN I. SOS4010 Kvalitativ metode. 19. oktober 2015 4 timer SKOLEEKSAMEN I SOS4010 Kvalitativ metode 19. oktober 2015 4 timer Ingen hjelpemidler, annet enn ordbøker som er kontrollert av SV-infosenter, er tillatt under eksamen. Sensur for eksamen faller 12. november

Detaljer

Velkommen til INF Kompilatorteknikk

Velkommen til INF Kompilatorteknikk Velkommen til INF5110 - Kompilatorteknikk Kursansvarlige: Stein Krogdahl [steink@ifi.uio.no] Birger Møller-Pedersen [birger@ifi.uio.no] Eivind Gard Lund (hjelpelærer) [eivindgl@student.matnat.uio.no] Kursområdet:

Detaljer

Ark 1 av 18. programmeringsspråkenes. Velkommen til IN 211. verden. IN 211 Programmeringsspråk

Ark 1 av 18. programmeringsspråkenes. Velkommen til IN 211. verden. IN 211 Programmeringsspråk Ark 1 av 18 IN 211 Programmeringsspråk Velkommen til programmeringsspråkenes verden IN 211 Forelesning 20.8.2001 Foreleser Ragnhild Kobro Runde E-post: ragnhilk@ifi.uio.no Kontor: 3345 Treffetid: torsdager

Detaljer

Kort notat om parallellstyring IN147

Kort notat om parallellstyring IN147 Kort notat om parallellstyring IN147 Kristin Skar 18. mai 2001 1 Kommunikasjon mellom prosesser Mange problemer man kommer borti kan kreve en paralell løsning: Man kan ha behov for økt hastighet, og dermed

Detaljer

VELKOMMEN TIL MAT-INF1100(L) Knut Mørken knutm@ifi.uio.no Rom 1033, Niels Henrik Abels hus

VELKOMMEN TIL MAT-INF1100(L) Knut Mørken knutm@ifi.uio.no Rom 1033, Niels Henrik Abels hus VELKOMMEN TIL MAT-INF1100(L) Knut Mørken knutm@ifi.uio.no Rom 1033, Niels Henrik Abels hus Forelesere Knut Mørken og Martin Reimers, Matematisk institutt, 10. etg i Niels Henrik Abels hus Arbeider med

Detaljer

Hvordan blir jeg en ordentlig informatikkstudent? Kurs i studiestrategier med fokus på INF1000

Hvordan blir jeg en ordentlig informatikkstudent? Kurs i studiestrategier med fokus på INF1000 Hvordan blir jeg en ordentlig informatikkstudent? Kurs i studiestrategier med fokus på INF1000 Agenda Overgangen til UNIVERSITETET Studiestrategier Organisert undervisningstilbudet Motivasjon Lure tips

Detaljer

Plan for dagen. Kræsj-kurs i sanntidsprogrammering. Måter å tenke på. Programmering intro. Tråder & synkronisering

Plan for dagen. Kræsj-kurs i sanntidsprogrammering. Måter å tenke på. Programmering intro. Tråder & synkronisering Kræsj-kurs i sanntidsprogrammering 1. Amanuensis Sverre Hendseth Teknisk Kybernetikk. http://www.itk.ntnu.no/ansatte/hendseth_sverre/ Plan for dagen Programmering intro Tråder & Synkronisering Non-preemptive

Detaljer

GJENNOMGANG UKESOPPGAVER 3 KRAVHÅNDTERING

GJENNOMGANG UKESOPPGAVER 3 KRAVHÅNDTERING GJENNOMGANG UKESOPPGAVER 3 KRAVHÅNDTERING INF1050 V16 HVA ER KRAVHÅNDTERING? Kravhåndtering er prosessen å identifisere, analysere og spesifisere kravene til et nytt system eller et system som skal forbedres

Detaljer

Dagens temaer. Dagens temaer hentes fra kapittel 3 i Computer Organisation and Architecture. Kort repetisjon fra forrige gang. Kombinatorisk logikk

Dagens temaer. Dagens temaer hentes fra kapittel 3 i Computer Organisation and Architecture. Kort repetisjon fra forrige gang. Kombinatorisk logikk Dagens temaer Dagens temaer hentes fra kapittel 3 i Computer Organisation and Architecture Kort repetisjon fra forrige gang Kombinatorisk logikk Analyse av kretser Eksempler på byggeblokker Forenkling

Detaljer

Betinget eksekvering og logiske tester i shell

Betinget eksekvering og logiske tester i shell Betinget eksekvering og logiske tester i shell Betinget eksekvering *? Programmet utfører operasjon(er) bare hvis en logisk betingelse er sann Bash tilbyr to kontrollstrukturer for å kunne gjøre betinget

Detaljer

Forelesning 1. Algoritmer, pseudokoder og kontrollstrukturer. Dag Normann - 14. januar 2008. Vi som skal undervise. Hva er diskret matematikk?

Forelesning 1. Algoritmer, pseudokoder og kontrollstrukturer. Dag Normann - 14. januar 2008. Vi som skal undervise. Hva er diskret matematikk? Forelesning 1 Algoritmer, pseudokoder og kontrollstrukturer Dag Normann - 14. januar 2008 Vi som skal undervise Dag Normann Roger Antonsen Christian Schaal Robin Bjørnetun Jacobsen http://www.uio.no/studier/emner/matnat/math/mat1030/v08/

Detaljer

Eksamen 1T høsten 2015, løsningsforslag

Eksamen 1T høsten 2015, løsningsforslag Eksamen 1T høsten 015, løsningsforslag Del 1, ingen hjelpemidler Oppgave 1 1,8 10 1 0,0005 = 1,8 10 1 5 10 4 = 1,8 5 10 1+( 4) = 9 10 8 Oppgave Velger addisjonsmetoden Legger sammen ligningene: x + y =

Detaljer

PRIMTALL FRA A TIL Å

PRIMTALL FRA A TIL Å PRIMTALL FRA A TIL Å VEILEDER FOR FORELDRE MED BARN I 5. 7. KLASSE EMNER Side 1 Innledning til primtall P - 2 2 Grunnleggende om primtall P - 2 3 Hvordan finne et primtall P - 5 Innledning til primtall

Detaljer

Dagens tema. Dagens tema hentes fra kapittel 3 i Computer Organisation and Architecture. Sekvensiell logikk. Flip-flop er. Tellere og registre

Dagens tema. Dagens tema hentes fra kapittel 3 i Computer Organisation and Architecture. Sekvensiell logikk. Flip-flop er. Tellere og registre Dagens tema Dagens tema hentes fra kapittel 3 i Computer Organisation and Architecture Sekvensiell logikk Flip-flop er Tellere og registre Design av sekvensielle kretser (Tilstandsdiagram) 1/19 Sekvensiell

Detaljer

Fortsettelses kurs i Word

Fortsettelses kurs i Word Fortsettelses kurs i Word Lynkurs fra Kristiansand folkebibliotek Innholdsfortegnelse Formål med dagens kurs... 2 Sette inn forsider... 2 Sette inn tabeller... 2 Topptekst Bunntekst Sidetall... 2 Sett

Detaljer

Kompleksitetsanalyse

Kompleksitetsanalyse :: Forside Kompleksitetsanalyse Åsmund Eldhuset asmunde *at* stud.ntnu.no folk.ntnu.no/asmunde/algdat/ Først: studietips OpenCourseWare fra MIT Forelesninger tatt opp på video Algoritmekurset foreleses

Detaljer

Om Kurset og Analyse av Algoritmer

Om Kurset og Analyse av Algoritmer Om Kurset og Analyse av Algoritmer Lars Vidar Magnusson 8.1.2014 Praktisk informasjon om kurset Hva er en algoritme? (kapittel 1) Hvordan analysere en algoritme? (kapittel 2) Praktisk Informasjon Introduction

Detaljer

INF1000 Variable. Marit Nybakken 27. januar 2004

INF1000 Variable. Marit Nybakken 27. januar 2004 INF1000 Variable Marit Nybakken marnybak@ifi.uio.no 27. januar 2004 Hva er en variabel Datamaskinens minne (eller hurtiglager) består av en masse celler som kan inneholde verdier. Hver av cellene har en

Detaljer

Oppgavene 1, 2, 4, 5, 6, 9, 12 og 13 passer best til å løses ved en datamaskin.

Oppgavene 1, 2, 4, 5, 6, 9, 12 og 13 passer best til å løses ved en datamaskin. Oppgaver uke 35: Oppgavene 1, 2, 4, 5, 6, 9, 12 og 13 passer best til å løses ved en datamaskin. Oppgave 1. Skriv et C-program som leser mål i tommer og skriver det ut i fot og tommer. (Det er 12 tommer

Detaljer

Velkommen til. IN1010 Objektorientert programmering Våren 2018

Velkommen til. IN1010 Objektorientert programmering Våren 2018 Velkommen til IN1010 Objektorientert programmering Våren 2018 Idag: 1. time: Om IN1010 2. time (+ i morgen og neste uke): Om Java og objekter i Java 1 Stein Gjessing, Siri Jensen og Dag Langmyhr Universitetet

Detaljer

Stein Gjessing. Institutt for informatikk. Universitetet i Oslo. Institutt for informatikk

Stein Gjessing. Institutt for informatikk. Universitetet i Oslo. Institutt for informatikk INF1010 11. mai 2017 Monitorer med kritiske regioner og passive venting innbygget i Java - Kommunikasjon mellom prosesser i Java (Ikke pensum i INF1010) Stein Gjessing Universitetet i Oslo 1 Repetisjon:

Detaljer

Dagens tema: 12 gode råd for en kompilatorskriver. Sjekking av navn. Lagring av navn. Hvordan finne et navn?

Dagens tema: 12 gode råd for en kompilatorskriver. Sjekking av navn. Lagring av navn. Hvordan finne et navn? Dagens tema: 12 gode råd for en kompilatorskriver Hva skal gjøres med navn? Sjekking av navn Hvordan sjekke navn? Testutskrifter 12 gode råd En kompilator må også sjekke riktig navnebruk: Det må ikke forekomme

Detaljer

Fra sekvensielt til parallelt

Fra sekvensielt til parallelt Fra sekvensielt til parallelt «Sanntidprogrammering etter 33 år» Øyvind Teig senior utviklingsingeniør Autronica Fire and Security, «a UTC company» Gjesteforelesning på Høgskolen i Sør-Trøndelag (HiST)

Detaljer

Leksjon 3. Kontrollstrukturer

Leksjon 3. Kontrollstrukturer 6108 Programmering i Java Leksjon 3 Kontrollstrukturer Del 2 Løkker Roy M. Istad 2015 Utførelse av et program Programflyt så langt start setning setning setning setning Sekvensielt Alle setninger utføres,

Detaljer

Øvingsforelesning i Matlab (TDT4105)

Øvingsforelesning i Matlab (TDT4105) Øvingsforelesning i Matlab (TDT4105) Øving 1. Frist: 11.09. Tema: matematiske uttrykk, variabler, vektorer, funksjoner. Benjamin A. Bjørnseth 2. september 2016 2 Oversikt Praktisk informasjon Om øvingsforelesninger

Detaljer

TDT4110 Informasjonsteknologi, grunnkurs Uke 35 Introduksjon til programmering i Python

TDT4110 Informasjonsteknologi, grunnkurs Uke 35 Introduksjon til programmering i Python TDT4110 Informasjonsteknologi, grunnkurs Uke 35 Introduksjon til programmering i Python Professor Guttorm Sindre Institutt for datateknikk og informasjonsvitenskap Læringsmål og pensum Mål Vite hva et

Detaljer

Løsningsforslag ukeoppg. 9: 19. - 25. okt (INF1000 - Høst 2011)

Løsningsforslag ukeoppg. 9: 19. - 25. okt (INF1000 - Høst 2011) Løsningsforslag ukeoppg. 9: 19. - 25. okt (INF1000 - Høst 2011) HashMap, innstikksortering, javadoc (kap. 9.1-9.11, m.m. i "Rett på Java" 3. utg.) NB! Legg merke til at disse er løsningsforslag. Løsningene

Detaljer

Kodestil i C++ Introduksjon. Navnekonvensjoner. Globale variabler. Simen Hagen 26.9.2003

Kodestil i C++ Introduksjon. Navnekonvensjoner. Globale variabler. Simen Hagen 26.9.2003 Kodestil i C++ Simen Hagen 26.9.2003 Introduksjon I store programmeringsprosjekter er det viktig at koden har et konsistent utseende og at alle bruker en felles stil på koden. Alle som skriver kode har

Detaljer

INF2810: Funksjonell Programmering. En Scheme-evaluator i Scheme, del 2

INF2810: Funksjonell Programmering. En Scheme-evaluator i Scheme, del 2 INF2810: Funksjonell programmering INF2810: Funksjonell Programmering En Scheme-evaluator i Scheme, del 2 Erik Velldal Universitetet i Oslo 7. mai 2015 Tema Forrige uke SICP 4.1. Structure and interpretation

Detaljer

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT Eksamen i: ECON2130 Statistikk 1 UNIVERSITETET I OSLO ØONOIS INSTITUTT Eksamensdag: 01.06.2015 Sensur kunngjøres: 22.06.2015 Tid for eksamen: kl. 09:00 12:00 Oppgavesettet er på 4 sider Tillatte hjelpemidler:

Detaljer

Binomisk fordeling. Tilfeldige variabler. MAT0100V Sannsynlighetsregning og kombinatorikk

Binomisk fordeling. Tilfeldige variabler. MAT0100V Sannsynlighetsregning og kombinatorikk MAT0100V Sannsynlighetsregning og kombinatorikk Forventning, varians og standardavvik Tilfeldige variabler Når vi kaster to terninger er det 36 utfall Vi ser på X = «sum antall øyne» De mulige verdiene

Detaljer

INF2810: Funksjonell Programmering. En Scheme-evaluator i Scheme, del 2

INF2810: Funksjonell Programmering. En Scheme-evaluator i Scheme, del 2 INF2810: Funksjonell Programmering En Scheme-evaluator i Scheme, del 2 Erik Velldal Universitetet i Oslo 4. mai 2017 Tema 2 Forrige uke SICP 4.1. Structure and interpretation of computer programs Metacircular

Detaljer

INF3140 Modeller for parallellitet INF3140/4140: Semaforer

INF3140 Modeller for parallellitet INF3140/4140: Semaforer INF3140/4140: Semaforer Uke 3, side 1. I dag Symmetriske barrierer Semaforer Verktøy for synkroniseringsprotokoller Skal se flere klassiske problemstillinger Uke 3, side 2. Symmetriske barrierer Alle nodene

Detaljer

INF2810: Funksjonell Programmering. En Scheme-evaluator i Scheme, del 2

INF2810: Funksjonell Programmering. En Scheme-evaluator i Scheme, del 2 INF2810: Funksjonell Programmering En Scheme-evaluator i Scheme, del 2 Erik Velldal Universitetet i Oslo 4. mai 2017 Tema 2 Forrige uke SICP 4.1. Structure and interpretation of computer programs Metacircular

Detaljer

Fakultet for informasjonsteknologi, Kontinuasjonsløsning på SIF8037 Distribuerte systemer og ytelsesvurdering (Distribuerte systemer kun)

Fakultet for informasjonsteknologi, Kontinuasjonsløsning på SIF8037 Distribuerte systemer og ytelsesvurdering (Distribuerte systemer kun) Side 1 av 5 NTNU Norges teknisk naturvitenskapelige universitet Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap Kontinuasjonsløsning

Detaljer

er et er et heltall. For eksempel er 2, 3, 5, 7 og 11 primtall, mens 4 = 2 2, 6 = 2 3 og 15 = 3 5 er det ikke.

er et er et heltall. For eksempel er 2, 3, 5, 7 og 11 primtall, mens 4 = 2 2, 6 = 2 3 og 15 = 3 5 er det ikke. . Primtall og primtallsfaktorisering Definisjon Et primtall p er et heltall, større enn, som ikke er delelig med andre tall enn og seg selv, altså bare delelig med og p (og egentlig også og p) At et tall

Detaljer

INF5110, onsdag 19. februar, Dagens tema: Parsering ovenfra-ned (top-down)

INF5110, onsdag 19. februar, Dagens tema: Parsering ovenfra-ned (top-down) INF5110, onsdag 19. februar, 2014 Dagens tema: Kapittel 4 Parsering ovenfra-ned (top-down) Vi har med alle foilene til kap. 4 her, også de som ble gjennomgått mot slutten av forelesning 7. februar Pensum

Detaljer

Algoritmer - definisjon

Algoritmer - definisjon Algoritmeanalyse Algoritmer - definisjon En algoritme er en beskrivelse av hvordan man løser et veldefinert problem med en presist formulert sekvens av et endelig antall enkle, utvetydige og tidsbegrensede

Detaljer

Kapittel 3: Litt om representasjon av tall

Kapittel 3: Litt om representasjon av tall MAT1030 Diskret Matematikk Forelesning 3: Litt om representasjon av tall, logikk Roger Antonsen Institutt for informatikk, Universitetet i Oslo Kapittel 3: Litt om representasjon av tall 20. januar 2009

Detaljer