INF3140 Modeller for parallellitet INF3140/4140: Låser og Barrierer
|
|
- Hallgeir Knutsen
- 6 år siden
- Visninger:
Transkript
1 INF3140/4140: Låser og Barrierer Uke 2, side 1.
2 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 Lille Aud: fra og med neste uke (dvs )! Uke 2, side 2.
3 Innledning Sentralt for kurset er generelle mekanismer og problemstillinger knyttet til parallelle programmer Forrige gang: await språket og enkel versjon av produsent/konsument-eksemplet I dag Inngangs- og utgangsprotokoller til kritisk region Beskytte lesing og skriving til felles variable Barrierer Iterative algoritmer: Prosessene må synkroniseres mellom hver iterasjon Koordinering v.h.a. flagg Uke 2, side 3.
4 Hoved-spørsmål: Hvordan kan man implementere kritiske regioner/ betingede kritiske regioner? v.h.a. låser og lavnivå operasjoner aktiv venting (senere semaphorer og passiv venting) ulike løsninger og egenskaper Uke 2, side 4.
5 Adgang til Kritisk Region (KR) Flere prosesser konkurrerer om tilgang til felles ressurs Bare én prosess kan ha tilgang av gangen Mulige eksempler: Utføring av banktransaksjoner Tilgang til skriver Løsning kan brukes til å implementere await-setninger Uke 2, side 5.
6 Kritisk region: Første tilnærming til løsning Operasjoner på felles variable skjer inne i KR. Aksess til KR må da beskyttes for å unngå interferens process p[i=1 to n] { while (true) { KRinngang ; KR; KRutgang ; ikke KR # inngang til KR # utgang fra KR Antagelse: En prosess som kommer inn i KR vil til slutt forlate denne. Uke 2, side 6.
7 Naiv løsning int in = 1; 1 eller 2 process p1 { process p2 { while (true) { while (true) { while (in=2) skip; while (in=1) skip; KR KR in = 2; in = 1; ikke KR ikke KR God løsning? Hva er bra, hva er ikke så bra? Uke 2, side 7.
8 Safety egenskaper Safety: Ikke noe går galt, kommer ikke i uønsket tilstand Typiske eksempler for sekvensielle programmer Sluttilstanden er riktig, invariant holder,... Typiske safety egenskaper for parallelle programmer Mutex: Bare én prosess i kritisk region om gangen Fravær av vranglås: unngå at alle prosessene venter på betingelser samtidig (deadlock) Uke 2, side 8.
9 Safety: Invarianter (repetisjon) En sikkerhetsegenskap uttrykker at et program ikke kommer til en dårlig tilstand. For å bevise dette, kan vi vise at programmet aldri vil forlate en god tilstand: Vis at egenskapen holder i alle starttilstander Vis at programsetningene opprettholder egenskapen En slik egenskap kalles gjerne global invariant Uke 2, side 9.
10 Atomære regioner Brukes til synkronisering av prosesser Generell form: < await(b)s; > B: Synkroniseringsbetingelse Utføres atomært nårber sann Ubetinget kritisk region (B er true): < S; > S utføres atomært Betingelsessynkronisering: < await(b); > Uke 2, side 10.
11 Kritisk region v.h.a. lås bool lock = false; Lås: Én variabel brukes til regulere process p[i=1 to n] { adgang til KR for n prosesser while (true) { < await (!lock) lock = true; > # KRinngang KR lock = false; # KRutgang ikke KR Safety egenskaper: Mutex Fravær av deadlock Fravær av unødig venting Hva med å endre plasseringen av <...>? Uke 2, side 11.
12 Test & Set Test & Set er en metode for å implementere betinget atomær aksjon: bool TS(bool lock) { < bool initial = lock ; lock = true; return initial; > Virkningen avts(lock): Variabelenlock vil alltid ha verditrue etterts(lock), men returverdien vil variere mellomtrue ogfalse. Finnes som atomær instruksjon på mange maskiner. Uke 2, side 12.
13 Kritisk region v.h.a. TS og Spinnelås bool lock = false; Spinnelås: process p[i=1 to n] { Prosessene brukerts til å gå i løkke. while (true) { while (TS(lock)) skip; Utgang fra løkka skjer nårlock KR har verdienfalse før while-testen. lock = false; ikke KR Uke 2, side 13.
14 Kritisk region v.h.a. Test, test & Set Låsvariabelenlock blir kontinuerlig skrevet til av prosessene. Dette kan være ineffektivt, og en mer effektiv løsning er test, test og set. bool lock = false; process p[i=1 to n] { while (true) { while (lock) skip; while (TS(lock)) { while (lock) skip; KR lock = false; ikke KR spinn mens låsen er opptatt prøv å ta låsen spinn hvis det feiler Uke 2, side 14.
15 Implementere await-setninger LaKRinngang ogkrutgang implementere inngangs- og utgangsprotokoller til kritisk region. Da kan setningen< S;> implementeres ved KRinngang; S; KRutgang; Implementasjon av betinget kritisk region < await (B) S;> : KRinngang; while (!B) { KRutgang; KRinngang; S; KRutgang; Implementasjonen kan effektiviseres meddelay mellom utgang og inngang i kroppen påwhile-setningen. Uke 2, side 15.
16 Liveness egenskaper Liveness: Noe går godt Typisk eksempel for sekvensielle programmer Programmet terminerer Typisk liveness egenskap for parallelle programmer En gitt prosess vil til slutt komme inn i kritisk region Dette påvirkes av strategier for skedulering. Uke 2, side 16.
17 Skedulering og fairness Fairness: garanti for at prosesser får anledning til å eksekvere. Skedulering: Strategi for å avgjøre hvilken prosess som får anledning til å eksekvere. Eksempel: bool x = true; co while (x); x = false; oc Uke 2, side 17.
18 Ubetinget fairness En strategi for skedulering er ubetinget fair hvis enhver ubetinget atomær aksjon som kan velges til slutt blir valgt. Round robin eksekvering Eksempel: bool x = true; co while (x); x = false; oc x = false er ubetinget Må dermed før eller siden bli valgt Dette garanterer terminering Uke 2, side 18.
19 Svak fairness En strategi for skedulering er svakt fair hvis den er ubetinget fair enhver betinget atomær aksjon blir til slutt valgt, forutsatt at betingelsen blir sann og deretter forblir sann til aksjonen blir eksekvert. Eksempel: bool x = true, int y = 0; co while (x) y = y + 1; < await y >= 10; > x = false; oc Nåry >= 10 blir sann, så forblir denne betingelsen sann Dette sikrer terminering av programmet Round robin eksekvering Uke 2, side 19.
20 Sterk fairness En strategi for skedulering er sterkt fair hvis den er ubetinget fair enhver betinget atomær aksjon blir til slutt valgt, forutsatt at betingelsen er sann uendelig ofte. Eksempel: bool x = true, y = false; co while (x) { y = true; y = false; < await (y) x = false; > oc Med sterk fairness: Programmet vil terminere, fordiyer sann uendelig ofte. Med svak fairness: Programmet trenger ikke terminere, fordiyogså er usann uendelig ofte. Uke 2, side 20.
21 Fairness for kritisk region v.h.a lås KR løsningene tidligere i forelesningen trenger antagelse om sterk fairness for å garantere tilgang for en gitt prosess (i ): Jevnt tilsig av prosesser som ønsker låsen Verdien tillock pendler (uendelig lenge) mellomtrue ogfalse Svak fairness: Prosess i kan leselock bare når verdien erfalse Sterk fairness: Garanterer at i før eller siden ser atlock ertrue Vanskelig å lage en skeduleringsstrategi som er både praktisk og sterkt fair. Skal nå se på KR-løsninger der inngang garanteres med svakt fair strategier Uke 2, side 21.
22 Fair løsninger på KR-problemet Tie-Breaker Kø-lapp I tillegg beskriver boka bakeri-algoritmen Uke 2, side 22.
23 Tie-Breaker algoritmen Trenger ingen spesiell maskininstruksjon (somts) Ser på løsning med to prosesser Hver prosess har privat lås Hver prosess setter sin lås i inngangsprotokollen Den private låsen leses, men blir ikke endret av den andre prosessen Uke 2, side 23.
24 Tie-Breaker algoritmen: Forsøk 1 bool in1 = false, in2 = false process p1 { process p2 { while (true) { while (true) { while (in2) skip; while (in1) skip; in1 = true; in2 = true; KR KR in1 = false; in2 = false; ikke KR ikke KR Her kan vi ikke garantere mutex! Uke 2, side 24.
25 Tie-Breaker algoritmen: Forsøk 2 Prøver å snu rekkefølgen i inngangsprotokollen: bool in1 = false, in2 = false process p1 { process p2 { while (true) { while (true) { in1 = true; in2 = true; while (in2) skip; while (in1) skip; KR KR in1 = false; in2 = false; ikke KR ikke KR Her kan vi ikke garantere fravær av deadlock! Uke 2, side 25.
26 Tie-Breaker algoritmen: Forsøk 3 Innfører variabellast som forteller hvilken prosess som sist begynte på inngangsprotokollen. bool in1 = false, in2 = false int last = 1 process p1 { while (true) { in1 = true; last = 1; < await (!in2 or last==2);> KR in1 = false; ikke KR process p2 { while (true) { in2 = true; last = 2; < await (!in1 or last==1);> KR in2 = false; ikke KR Uke 2, side 26.
27 Tie-Breaker algoritmen Selv om variablenein1,in2 oglast kan endre verdi mens en ventebetingelse evaluerer til sann, vil ventebetingelsen fremdeles være sann. p1 ser at ventebetingelsen er sann: in2 == false in2 kan etterhvert blitrue, men da måp2 også settelast til 2 Da holder forsatt ventebetingelsen tilp1 last == 2 Da villast == 2 holde helt tilp1 har eksekvert Dermed kan vi erstatte await-setningen med en while-løkke. Uke 2, side 27.
28 Tie-Breaker algoritmen (4): Implementasjon bool in1 = false, in2 = false int last = 1 process p1 { while (true) { in1 = true; last = 1; while (in2 and last==1) skip; KR in1 = false; ikke KR process p2 { while (true) { in2 = true; last = 2; while (in1 and last==2) skip; KR in2 = false; ikke KR Kan generaliseres til flere prosesser (se boka) Uke 2, side 28.
29 Kølapp-algoritmen Hvis Tie-Breaker algoritmen skaleres for n prosesser, får vi en løkke med n 1 2-prosess Tie-Breaker algoritmer Kølapp-algoritmen gir enklere løsning på KR-problemet for n prosesser. Fungerer som køsystemet på posten (med én luke) En kunde (prosess) som kommer inn trekker et nummer som er høyere enn nummeret til alle andre som venter Kunden betjenes når luka er ledig og hun har lavest nummer av ventende prosesser Uke 2, side 29.
30 Kølapp-algoritmen: Skisse (n prosesser) int number = 1, next = 1, turn[1:n]= ([n] 0); process p[i = 1 to n] { while (true) { < turn[i] = number; number = number + 1; > < await (turn[i] = next);> KR < next = next + 1; > Ikke KR Første linje i løkka må gjøres atomært! await-setningen kan implementeres som egen løkke Noen maskiner har instruksjonen FA(var, incr): < int tmp = var; var = var + incr; return tmp; > Uke 2, side 30.
31 Kølapp-algoritmen: Implementasjon int number = 1, next = 1, turn[1:n]= ([n] 0); process p[i = 1 to n] { while (true) { turn[i] = FA(number, 1); while (turn[i]!= next) skip; KR next = next + 1; Ikke KR FA(var, incr): < int tmp = var; var = var + incr; return tmp; > Uten denne instruksjonen, bruker vi en annen KR: KRinngang; turn[i]=number; number = number + 1; KRutgang; Problem med fairness for KR. Løses med bakeri-algoritmen (se boka). Uke 2, side 31.
32 Kølapp-algoritmen: Invariant Vi kan formulere en global invariant for prosessene i kølapp-algoritmen: 0 < next number For hver prosessp[i]: turn[i] < number hvisp[i] er i KR så erturn[i] == next. For alle prosesserp[i],p[j] deri!= j: hvisturn[i] > 0 så erturn[j]!= turn[i]. Dette holder initielt, og blir opprettholdt av alle atomære setninger. Uke 2, side 32.
33 Barriere-synkronisering Utregning av disjunkte deler i parallell (f.eks. array-elementer). Prosessene går i løkke, der hver gjennomgang er avhengig av resultatene fra forrige gjennomgang. process Worker[i=1 to n] { while (true) { Arbeidsoppgave i; Vent til n-oppgaver er gjort; # Barriere Alle prosessene må nå barrieren før noen kan forsette. Uke 2, side 33.
34 Delt teller Et antall prosesser skal synkronisere avslutning av sine arbeidsoppgaver. Synkroniseringen kan implementeres ved en felles teller : int count = 0; process Worker[i=1 to n] { while (true) { Arbeidsoppgave i < count = count + 1; > < await (count == n); > Kan implementeres v.h.a. FA-instruksjon. Ulemper: count må nullstilles mellom hver gjennomgang. Må endres v.h.a. atomære operasjoner. Ineffektivt: Mange prosesser leser og skriver tilcount samtidig. Uke 2, side 34.
35 Koordinering ved hjelp av flagg Målsetning: Unngår overbelastning av lese- og skriveoperasjoner på én variabel. Deler felles teller i flere lokale variable. Worker[i]: arrive[i] = 1; < await (continue[i] == 1);> Coordinator: for [i=1 to n] < await (arrive[i]==1);> for [i=1 to n] continue[i] = 1; Hvis det er flere synkroniseringspunkter på samme flagg, gjelder følgende: Prosessen som venter på et flagg, er den som skal nullstille flagget etter synkronisering Et flagg skal ikke settes før det er nullstilt Uke 2, side 35.
36 Synkronisering v.h.a. flagg int arrive[1:n] = ([n] 0), continue[1:n] = ([n] 0); process Worker[i = 1 to n] { process Coordinator { while(true) { while(true) { Arbeidsoppgave i; for[i = 1 to n] { arrive[i] = 1; < await (arrive[i] == 1);> < await (continue[i] == 1);> arrive[i] = 0; continue[i] = 0; for [i = 1 to n] continue[i] = 1; Uke 2, side 36.
37 Kombinerte barrierer Rollene til Worker- og Coordinator-prosessene kan kombineres. I en kombinert tre-barriere er prosessene organisert i en trestruktur. Prosessene signaliserer arrive oppover i treet og continue nedover i treet. Uke 2, side 37.
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
DetaljerUNIVERSITETET 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
DetaljerINF3140 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
DetaljerINF4140 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
DetaljerINF3140 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
DetaljerINF3140 / INF4140 MODELLER FOR PARALLELLITET. PMA-gruppen. Institutt for informatikk Universitetet i Oslo.
INF3140 / INF4140 MODELLER FOR PARALLELLITET PMA-gruppen Institutt for informatikk Universitetet i Oslo http://www.ifi.uio.no/~pma Uke 1, side 1. Modeller for parallellitet Forelesere Johan Dovland (IFI)
DetaljerInnhold. 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
DetaljerGetMutex(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
DetaljerPlan. 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
DetaljerINF1010 Tråder II 6. april 2016
INF1010 Tråder II 6. april 2016 Stein Gjessing Universitetet i Oslo 1 Tråder i Java tråden minrunp class MinRun implements Runable { MinRun(... ) {... } public void run( ) {...... } } //end
DetaljerEn prosess kan sees på som et stykke arbeid som skal utføres på datamaskinen. Ofte vil det være flere prosesser/tråder på datamaskinen samtidig.
Synkronisering En prosess kan sees på som et stykke arbeid som skal utføres på datamaskinen. Ofte vil det være flere prosesser/tråder på datamaskinen samtidig. Behov for synkronisering Mange prosesser/tråder
DetaljerConcurrency. 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
DetaljerTråder Repetisjon. 9. og 13. mai Tråder
Tråder Repetisjon 9. og 13. mai Tråder Hva er tråder? 2 Hva er tråder? I utgangspunktet uavhengige aktiviteter som konkurrerer om å få bruke prosessoren. 2 Hvorfor tråder? 3 Hvorfor tråder? Flere oppgaver
DetaljerPlenumsregning 1. Kapittel 1. Roger Antonsen januar Velkommen til plenumsregning for MAT1030. Repetisjon: Algoritmer og pseudokode
Plenumsregning 1 Kapittel 1 Roger Antonsen - 17. januar 2008 Velkommen til plenumsregning for MAT1030 Torsdager 10:15 12:00 Gjennomgang av ukeoppgaver Gjennomgang av eksempler fra boka Litt repetisjon
DetaljerMAT1030 Plenumsregning 1
MAT1030 Plenumsregning 1 Kapittel 1 Mathias Barra - 16. januar 2009 (Sist oppdatert: 2009-02-02 14:21) Plenumsregning 1 Velkommen til plenumsregning for MAT1030 Fredager 12:15 14:00 Vi vil gjennomgå utvalgte
DetaljerMer om C programmering og cuncurrency
Mer om C programmering og cuncurrency Lars Vidar Magnusson September 23, 2011 Lars Vidar Magnusson () Forelesning i Operativsystemer 20.09.2011 September 23, 2011 1 / 19 Oversikt Mer om C programmering
DetaljerVelkommen til plenumsregning for MAT1030. MAT1030 Diskret matematikk. Repetisjon: Algoritmer og pseudokode. Eksempel fra boka. Eksempel
Velkommen til plenumsregning for MAT1030 MAT1030 Diskret matematikk Plenumsregning 1: Kapittel 1 Roger Antonsen Matematisk Institutt, Universitetet i Oslo 17. januar 2008 Torsdager 10:15 12:00 Gjennomgang
DetaljerPlenumsregning 1. MAT1030 Diskret Matematikk. Repetisjon: Algoritmer og pseudokode. Velkommen til plenumsregning for MAT1030
MAT1030 Diskret Matematikk Plenumsregning 1: Kapittel 1 Mathias Barra Matematisk institutt, Universitetet i Oslo Plenumsregning 1 16. januar 2009 (Sist oppdatert: 2009-02-02 14:21) MAT1030 Diskret Matematikk
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i: INF2440 Effektiv parallellprogrammering Eksamensdag: 2. juni 2015 Tidspunkter: 09.00 13.00 Oppgavesettet er på: 3 sider + 2 sider
DetaljerMAT1030 Diskret Matematikk
MAT1030 Diskret Matematikk Plenumsregning 1: Kapittel 1 Mathias Barra Matematisk institutt, Universitetet i Oslo 16. januar 2009 (Sist oppdatert: 2009-02-02 14:21) Plenumsregning 1 MAT1030 Diskret Matematikk
DetaljerINF2810: Funksjonell Programmering. Muterbare data
INF2810: Funksjonell Programmering Muterbare data Stephan Oepen Universitetet i Oslo 15. mars 2016 Agenda Forrige uke Prosedyrebasert objektorientering Lokale tilstandsvariabler Innkapsling + set! Eksempel:
DetaljerKodegenerering, 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
DetaljerIN1010 våren Repetisjon av tråder. 15. mai 2018
IN1010 våren 2018 Repetisjon av tråder 15. mai 2018 Stein Gjessing,, Universitetet i Oslo 1 Tråder Datamaskinarkitektur prosessor registre cache 1 cache 2 prosessor registre cache 1 Disk System-bus Minne
DetaljerProgrammeringsspråket C Del 3
Programmeringsspråket C Del 3 Michael Welzl E-mail: michawe@ifi.uio.no 29.08.13 inf1060 1 Dynamisk allokering Ofte trenger man å opprette objekter under kjøringen i tillegg til variablene. Standardfunksjonen
DetaljerINF5110, 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
DetaljerINF2810: Funksjonell Programmering. Køer, tabeller, og (litt om) parallelitet
INF2810: Funksjonell Programmering Køer, tabeller, og (litt om) parallelitet Stephan Oepen & Erik Velldal Universitetet i Oslo 5. april 2013 Tema 2 Siste gang Kort om underveisevaluering Destruktive listeoperasjoner
DetaljerInnhold uke 4. INF 1000 høsten 2011 Uke 4: 13. september. Deklarasjon av peker og opprettelse av arrayobjektet. Representasjon av array i Java
INF høsten 2 Uke 4: 3. september Grunnkurs i Objektorientert Programmering Institutt for Informatikk Universitetet i Oslo Siri Moe Jensen og Arne Maus Mål for uke 4: Innhold uke 4 Repetisjon m/ utvidelser:
DetaljerTDT4105 Informasjonsteknologi, grunnkurs. Matlab 5: Løkker (FOR og WHILE) Matlab 6: Problemløsning / Algoritmer
1 TDT4105 Informasjonsteknologi, grunnkurs Matlab 5: Løkker (FOR og WHILE) Matlab 6: Problemløsning / Algoritmer Rune Sætre (satre@idi.ntnu.no) Anders Christensen (anders@idi.ntnu.no) TDT4105 IT Grunnkurs
DetaljerProgrammeringsspråket C Del 3
Programmeringsspråket C Del 3 Michael Welzl E-mail: michawe@ifi.uio.no 8/25/10 inf1060 1 Dynamisk allokering Ofte trenger man å opprette objekter under kjøringen i tillegg til variablene. Standardfunksjonen
DetaljerINF2810: Funksjonell Programmering. Køer, tabeller, og (litt om) parallelitet
INF2810: Funksjonell Programmering Køer, tabeller, og (litt om) parallelitet Stephan Oepen & Erik Velldal Universitetet i Oslo 5. april 2013 Tema 2 Siste gang Kort om underveisevaluering Destruktive listeoperasjoner
DetaljerAlgoritmer og datastrukturer E Løkker i Java
Vedlegg E Løkker i Java Side 1 av 6 Algoritmer og datastrukturer E Løkker i Java E Løkker i Java E.1 For-løkker En for-løkke består av de fire delene initialisering, betingelse, oppdatering og kropp (eng:
Detaljerwhile-løkker while-løkker gjentar instruksjonene så lenge en betingelse er oppfylt Eksempel 1: en enkel while-løkke
while-løkker while-løkker gjentar instruksjonene så lenge en betingelse er oppfylt [Kurssidene] [ ABI - fagsider bibin ] Michael Preminger (michaelp@hioa.no) 01/09-17 En liten repetisjon Løkker Arrayer
DetaljerINF2810: Funksjonell Programmering. Strømmer
INF2810: Funksjonell Programmering Strømmer Stephan Oepen & Erik Velldal Universitetet i Oslo 12. april 2013 Tema 2 Forrige uke Litt mer i dybden om køer Eksperiment: live-programmering Tabeller som hierarkiske
DetaljerINF2810: Funksjonell Programmering. Strømmer
INF2810: Funksjonell Programmering Strømmer Stephan Oepen & Erik Velldal Universitetet i Oslo 12. april 2013 Tema 2 Forrige uke Litt mer i dybden om køer Eksperiment: live-programmering Tabeller som hierarkiske
DetaljerKort 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
Detaljer13.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,
DetaljerLæringsmål og pensum. Oversikt
1 2 Læringsmål og pensum TDT4105 Informasjonsteknologi grunnkurs: Uke 39 Betingede løkker og vektorisering Læringsmål Skal kunne forstå og programmere betingede løkker med while Skal kunne utnytte plassallokering
DetaljerUNIVERSITETET 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
DetaljerHvis en person har inntekt < , så betaler han 10% skatt på alt, og ellers betaler han 10% skatt på de første og 30% på resten.
Oppgave 1: RPJ, kapittel 4, oppg. 2 INF1000 Plenumsgruppe 1, 22.09.02 Hvis en person har inntekt < 10 000, så betaler han 10% skatt på alt, og ellers betaler han 10% skatt på de første 10 000 og 30% på
DetaljerHvis en person har inntekt < , så betaler han 10% skatt på alt, og ellers betaler han 10% skatt på de første og 30% på resten.
Oppgave 1: RPJ, kapittel 4, oppg. 2 INF1000 Plenumsgruppe 1, 22.09.02 Hvis en person har inntekt < 10 000, så betaler han 10% skatt på alt, og ellers betaler han 10% skatt på de første 10 000 og 30% på
DetaljerINF3140 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
DetaljerLøkker og arrayer. Løse problemer med programmering. INF1000, uke3 Geir Kjetil Sandve
Løkker og arrayer Løse problemer med programmering INF1000, uke3 Geir Kjetil Sandve Hva vi har lært så langt Variabler og uttrykk Beslutninger Kontrollflyt og feilmeldinger Metoder og parametre Fokus i
DetaljerINF1000 EKSTRATILBUD. Stoff fra uke 1-5 (6) 3. oktober 2012 Siri Moe Jensen
INF1000 EKSTRATILBUD Stoff fra uke 1-5 (6) 3. oktober 2012 Siri Moe Jensen PLAN FOR DAGEN gjennomgå stoff fra uke 1-5(6), men med en litt annen tilnærming kun gjennomgått stoff, men vekt på konsepter og
DetaljerOppgave 1 a. INF1020 Algoritmer og datastrukturer. Oppgave 1 b
Oppgave 1 1 a INF1020 Algoritmer og datastrukturer Forelesning 14: Gjennomgang av eksamen vår 2001 oppgave 1,2,4 Arild Waaler Institutt for informatikk, Universitetet i Oslo Oppgave 1 a Programmer en ikke-rekursiv
DetaljerProgrammeringsspråket C Del 3
Programmeringsspråket C Del 3 Kjell Åge Bringsrud E-mail: kjellb@ifi.uio.no Dynamisk allokering Ofte trenger man å opprette objekter under kjøringen i tillegg til variablene. Standardfunksjonen malloc
DetaljerNy/utsatt EKSAMEN. Dato: 6. januar 2017 Eksamenstid: 09:00 13:00
Ny/utsatt EKSAMEN Emnekode: ITF20006 Emne: Algoritmer og datastrukturer Dato: 6. januar 2017 Eksamenstid: 09:00 13:00 Hjelpemidler: Alle trykte og skrevne Faglærer: Jan Høiberg Om eksamensoppgavene: Oppgavesettet
DetaljerHjemmeeksamen 1 i INF3110/4110
Hjemmeeksamen i INF30/40 Innleveringsfrist: fredag 24. oktober kl. 500 Innlevering Hele besvarelsen skal leveres skriftlig på papir i IFI-ekspedisjonen innen fredag 24. oktober kl. 500. Merk besvarelsen
DetaljerINF2810: Funksjonell programmering: Mer om Scheme. Rekursjon og iterasjon.
INF2810: Funksjonell programmering: Mer om Scheme. Rekursjon og iterasjon. Stephan Oepen & Erik Velldal Universitetet i Oslo 25. januar, 2013 På blokka 2 Forrige uke Introduksjon og oversikt Funksjonell
DetaljerProgrammeringsspråket C Del 3
Programmeringsspråket C Del 3 Kjell Åge Bringsrud E-mail: kjellb@ifi.uio.no 9/1/2005 inf1060 V05 1 Dynamisk allokering Ofte trenger man å opprette objekter under kjøringen i tillegg til variablene. Standardfunksjonen
DetaljerFeilmeldinger, brukerinput og kontrollflyt
Feilmeldinger, brukerinput og kontrollflyt Skjønne hvordan et program presist utføres og forberede seg på håndtering av feil INF1000, uke2 Ragnhild Kobro Runde Programmeringskrøll Programmet vil ikke kjøre
DetaljerINF2440 Prøveeksamen, løsningsforslag, 20 mai Arne Maus PSE, Inst. for informatikk
INF2440 Prøveeksamen, løsningsforslag, 20 mai 2015 Arne Maus PSE, Inst. for informatikk 1 Prøveeksamen Er en modell av hva du får til eksamen: - like mange (+-1) oppgaver som eksamen og nesten samme type
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i : INF5110 Eksamensdag : Tirsdag 5. juni 2007 Tid for eksamen : 14.30-17.30 Oppgavesettet er på : 6 sider (pluss vedlegg) Vedlegg
DetaljerI et Java-program må programmøren lage og starte hver tråd som programmet bruker. Er dette korrekt? Velg ett alternativ
INF2440-V18 Information INF2440 Vår 2018 eksamen Dato og tid: 11. juni 2018 09:00. Varighet: 4 timer Hjelpemidler: Alt skriftlig materiale er tillatt. Ingen elektroniske hjelpemidler er tillatt. Powerpoint
DetaljerTDT4110 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
DetaljerLenkelister. Lister og køer. Kopi av utvalgte sider fra forelesningen.
Lenkelister. Lister og køer. Kopi av utvalgte sider fra forelesningen. "Taher" type: String : type: :... type: : inf1010student null michael@ifi.uio.no INF1010 26. januar 2012 (uke 4) 2 class Eks01 { public
DetaljerRepetisjon Novice Videregående Python PDF
Repetisjon Novice Videregående Python PDF Introduksjon I denne oppgaven skal vi repetere litt Python-syntaks. Hele dette kurset er for de som har programmert Python før. Dersom ikke har mye erfaring med
DetaljerPlan 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
DetaljerProgrammering Høst 2017
Programmering Høst 2017 Tommy Abelsen Ingeniørfag - Data Innledning Dette er et dokument med litt informasjon og eksempler om kontrollstrukturer, samt oppgaver til forskjellige kontrollstrukturer. Spør
DetaljerINF2270. Input / Output (I/O)
INF2270 Input / Output (I/O) Hovedpunkter Innledning til Input / Output Ulike typer I/O I/O internt i datamaskinen I/O eksternt Omid Mirmotahari 3 Input / Output En datamaskin kommuniserer med omverdenen
DetaljerINF2440 Uke 4, våren2014 Avsluttende om matrisemultiplikasjon og The Java Memory Model + bedre forklaring Radix. Arne Maus OMS, Inst.
INF Uke, våren Avsluttende om matrisemultiplikasjon og The Java Memory Model + bedre forklaring Radix Arne Maus OMS, Inst. for informatikk Hva så vi på i uke. Presisering av hva som er pensum. Samtidig
Detaljerstatic int skrivetidsfrist = 0; // antall overskredet tid når skrive
// Dette eksempelet viser en ReaderWriterLock beskytte en delt // ressurs som kan leses samtidig av mange tråder, men kun // skrives til av en tråd om gangen. #include "stdafx.h" using namespace System;
DetaljerTDT4105 Informasjonsteknologi, grunnkurs. Matlab 5: Løkker (FOR og WHILE) Matlab 6: Problemløsning / Algoritmer
1 TDT4105 Informasjonsteknologi, grunnkurs Matlab 5: Løkker (FOR og WHILE) Matlab 6: Problemløsning / Algoritmer Rune Sætre (satre@idi.ntnu.no) Anders Christensen (anders@idi.ntnu.no) TDT4105 IT Grunnkurs
DetaljerPensumoversikt - kodegenerering. Kap. 8 del 1 kodegenerering INF5110 v2006. Hvordan er instruksjonene i en virkelig CPU? Arne Maus, Ifi UiO
Pensumoversikt - kodegenerering Kap. 8 del 1 kodegenerering INF5110 v2006 Arne Maus, Ifi UiO 8.1 Bruk av mellomkode 8.2 Basale teknikker for kodegenerering 8.3 Kode for referanser til datastrukturer (ikke
DetaljerOppgave 1. Oppgave 2. Høgskolen i Østfold Avdeling for informasjonsteknologi
Høgskolen i Østfold Avdeling for informasjonsteknologi Løsningsforslag til ny/utsatt eksamen i ITF20006 Algoritmer og datastrukturer 05.01.2018 Oppgave 1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
DetaljerTråder Repetisjon. 9. og 13. mai Tråder
Tråder Repetisjon 9. og 13. mai Tråder Hva er tråder? 2 Hva er tråder? I utgangspunktet uavhengige aktiviteter som konkurrerer om å få bruke prosessoren. 2 Hvorfor tråder? 3 Hvorfor tråder? Flere oppgaver
DetaljerKapittel 5 - Advanced Hypertext Model Kapittel 6 - Overview of the WebML Development Process
INF 329 Web-teknologier Kapittel 5 - Advanced Hypertext Model Kapittel 6 - Overview of the WebML Development Process Navn: Bjørnar Pettersen bjornarp.ii.uib.no Daniel Lundekvam daniell.ii.uib.no Presentasjonsdato:
DetaljerOppsummering fra sist
1 av 34 Kunnskap for en bedre verden TDT4110 Informasjonsteknologi grunnkurs: Tema: Løkker/Sløyfer Utgave 3: Kap. 4 Terje Rydland - IDI/NTNU 2 av 34 Oppsummering fra sist Betingelser i Python: ,
DetaljerMed løkke: Læringsmål og pensum. TDT4110 Informasjonsteknologi grunnkurs: Tema: Løkker/Sløyfer Utgave 3: Kap. 4 Utgave 2: Kap. 5. Mål.
1 Kunnskap for en bedre verden TDT4110 Informasjonsteknologi grunnkurs: Tema: Løkker/Sløyfer Utgave 3: Kap. 4 Utgave 2: Kap. 5 Terje Rydland - IDI/NTNU 2 Læringsmål og pensum Mål Lære om begrepet løkker
DetaljerOppgave 1 - Linux kommandolinje (%)
Løsningsforslag Eksamen høst 2017 Operativsystemer Oppgave 1 - Linux kommandolinje (%) a) pwd b) ps Oppgave 2 - Bash-scripting (%) a) ping -i 5 www.hin.no b) ping -c 1 www.hin.no ping -c 1 -t 1 www.hin.no
DetaljerINF2220: Forelesning 2
INF2220: Forelesning 2 Mer om analyse av algoritmer Analyse av binære søketrær Balanserte søketrær Rød-svarte trær (kapittel12.2) B-trær (kapittel 4.7) ANALYSE AV ALGORITMER 2 Analyse av tidsforbruk Hvor
DetaljerMAT1030 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
DetaljerBruk piazza for å få rask hjelp til alles nytte!
Kunnskap for en bedre verden 1 TDT4105 Informasjonsteknologi, grunnkurs Matlab 5: Løkker (FOR og WHILE) Amanuensis Terje Rydland Kontor: ITV-021 i IT-bygget vest (Gløshaugen) Epost: terjery@idi.ntnu.no
DetaljerINF1800 Forelesning 4
INF1800 Forelesning 4 Utsagnslogikk Roger Antonsen - 27. august 2008 (Sist oppdatert: 2008-09-03 12:39) Før vi begynner Praktiske opplysninger Kursets hjemmeside blir stadig oppdatert: http://www.uio.no/studier/emner/matnat/ifi/inf1800/
DetaljerINF Algoritmer og datastrukturer
INF2220 - Algoritmer og datastrukturer HØSTEN 2016 Institutt for informatikk, Universitetet i Oslo Forelesning 6: Grafer II Ingrid Chieh Yu (Ifi, UiO) INF2220 28.09.2016 1 / 30 Dagens plan: Dijkstra fort.
DetaljerEn enkel while-løkke. 1 of 12 15.09.2015 15:28. 2 of 12 15.09.2015 15:28. while-løkker gjentar instruksjonene så lenge en betingelse er oppfylt
while-løkker gjentar instruksjonene så lenge en betingelse er oppfylt [Kurssidene] [ ABI - fagsider bibin ] Michael Preminger (michaelp@hioa.no) 15/09-15 En liten repetisjon Løkker Arrayer (tabeller) Løkker
DetaljerKorteste vei i en vektet graf uten negative kanter
Dagens plan: IN - Algoritmer og datastrukturer HØSTEN 7 Institutt for informatikk, Universitetet i Oslo IN, forelesning 7: Grafer II Korteste vei, en-til-alle, for: Vektet rettet graf uten negative kanter
DetaljerMatchinger i ikke-bipartite grafer
Matchinger i ikke-bipartite grafer Stein Krogdahl, Notat til INF 3/4130 Sist revidert september 2006 Vi skal i dette notatet se på det å finne matchinger i generelle grafer, uten noe krav om at grafen
DetaljerLøse reelle problemer
Løse reelle problemer Litt mer om løkker, metoder med returverdier, innlesing fra fil og strenger INF1000, uke5 Ragnhild Kobro Runde MER OM LØKKER Repetisjon fra forrige uke: while Syntaks: while (condition)
DetaljerOppgaver til kodegenerering etc. INF-5110, 12. mai, 2015
Oppgaver til kodegenerering etc. INF-5110, 12. mai, 2015 Oppgave 1: Vi skal se på koden generert av TA-instruksjonene til høyre i figur 9.10 i det utdelte notatet, side 539 a) (repetisjon fra forelesningene)
DetaljerC# (.Net) Tema: Loops (Løkker) Leksjon 7 Kap 18
C# (.Net) Tema: Loops (Løkker) Leksjon 7 Kap 18 Olav Dæhli - C#-kurs høsten 2017 1 Løkker Dagens temaer Inkrementering/dekrementering Løkkebetingelser Løkketyper Nøstede løkker Escape-sequences Debugger
Detaljerløsningsforslag-uke5.txt
INF 1000 LØSNINGSFORSLAG TIL UKEOPPGAVER FOR UKE 5 1) Setningen er kompakt skrivemåte for int[] a; a = new int[50]; hvor den første setningen deklarerer arrayen a, og den andre setningen oppretter et array-objekt
DetaljerINF1800 LOGIKK OG BEREGNBARHET
INF1800 LOGIKK OG BEREGNBARHET FORELESNING 4: UTSAGNSLOGIKK Roger Antonsen Institutt for informatikk Universitetet i Oslo 27. august 2008 (Sist oppdatert: 2008-09-03 12:39) Før vi begynner Praktiske opplysninger
DetaljerINF1000 - Uke 10. Ukesoppgaver 10 24. oktober 2012
INF1000 - Uke 10 Ukesoppgaver 10 24. oktober 2012 Vanlige ukesoppgaver De første 4 oppgavene (Oppgave 1-4) handler om HashMap og bør absolutt gjøres før du starter på Oblig 4. Deretter er det en del repetisjonsoppgaver
DetaljerKap. 4: Ovenfra-ned (top-down) parsering
Kap. 4: Ovenfra-ned (top-down) parsering Dette bør leses om igjen etter kapittelet: First og Follow-mengder Boka tar det et stykke uti kap 4, vi tok det først (forrige foilbunke) LL(1)-parsering og boka
DetaljerDBS21 Samtidighetskontrollteknikker
Side 1 for Databaser DBS21 Samtidighetskontrollteknikker mandag 30. mai 2016 21.25 Pensum: 21.1, side 781-792, og 21.3 side 795-796 tom 21.3.1 21.1 Tofaselåsingsteknikker for samtidighetskontroll 21.1.1
DetaljerI Kapittel 3 så vi på hvordan data, som hele tall og reelle tall, kan representeres som bitsekvenser
Forelesning 5 Logikk Dag Normann - 28. januar 2008 Oppsummering av Kapittel 3 I Kapittel 3 så vi på hvordan data, som hele tall og reelle tall, kan representeres som bitsekvenser i en datamaskin. Stoffet
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i : INF5110 - Kompilatorteknikk Eksamensdag : Onsdag 2. juni 2010 Tid for eksamen : 14.30-17.30 Oppgavesettet er på : 5 sider (pluss
DetaljerLøsningsforslag til eksamen i IN 147(A)
Løsningsforslag til eksamen i IN 147(A) Dag Langmyhr (oppgave 1, 4 og 6) ØysteinGranLarsen (oppgave 2, 3 og 5) 31. mai 1999 1 Oversettelse Funksjonen strxxx går gjennom en tekst og finner adresessen til
DetaljerOppgave 3 a. Antagelser i oppgaveteksten. INF1020 Algoritmer og datastrukturer. Oppgave 3. Eksempelgraf
Oppgave 3 3 a IN1020 Algoritmer og datastrukturer orelesning 15: Gjennomgang av eksamen vår 2001 oppgave 3 Arild Waaler Institutt for informatikk, Universitetet i Oslo 11. desember 2006 Oppgave 3 a. Antagelser
DetaljerAlgDat 12. Forelesning 2. Gunnar Misund
AlgDat 12 Forelesning 2 Forrige forelesning Følg med på hiof.no/algdat, ikke minst beskjedsida! Algdat: Fundamentalt, klassisk, morsomt,...krevende :) Pensum: Forelesningene, oppgavene (pluss deler av
Detaljerwhile-økker while-løkker gjentar instruksjonene så lenge en betingelse er oppfylt Eksempel 1: en enkel while-løkke
[Kurssidene] [ ABI - fagsider bibin ] Utvikling av dynamiske nettsteder med PHP og databaser, våren 2014 while-økker while-løkker gjentar instruksjonene så lenge en betingelse er oppfylt Michael Preminger
DetaljerMAT1030 Diskret Matematikk
MAT1030 Diskret Matematikk Forelesning 4: Logikk Roger Antonsen Institutt for informatikk, Universitetet i Oslo 21. januar 2009 (Sist oppdatert: 2009-01-22 13:02) Kapittel 4: Logikk (fortsettelse) MAT1030
DetaljerKapittel 4: Logikk (fortsettelse)
MAT1030 Diskret Matematikk Forelesning 4: Logikk Roger Antonsen Institutt for informatikk, Universitetet i Oslo Kapittel 4: Logikk (fortsettelse) 21. januar 2009 (Sist oppdatert: 2009-01-22 13:03) MAT1030
DetaljerRekursjon. Binærsøk. Hanois tårn.
Rekursjon Binærsøk. Hanois tårn. Hvorfor sortering (og søking) er viktig i programmering «orden» i dataene vi blir fort lei av å lete poleksempel internett «alt» er søking og sortering alternativer til
DetaljerMAT1030 Forelesning 4
MAT1030 Forelesning 4 Logikk Roger Antonsen - 21. januar 2009 (Sist oppdatert: 2009-01-22 13:02) Kapittel 4: Logikk (fortsettelse) Enda et eksempel (a) Jeg liker ikke Bamsemums. (b) Du liker alt jeg liker.
DetaljerOppsummering av Kapittel 3. MAT1030 Diskret matematikk LOGIKK. Logikk. Forelesning 5: Logikk
Oppsummering av Kapittel 3 MAT1030 Diskret matematikk Forelesning 5: Logikk Dag Normann Matematisk Institutt, Universitetet i Oslo 28. januar 2008 I Kapittel 3 så vi på hvordan data, som hele tall og reelle
DetaljerØvingsforelesning 5 Python (TDT4110)
Øvingsforelesning 5 Python (TDT4110) Repetisjon av løkker og funksjoner Ole-Magnus Pedersen Oversikt Praktisk Info Gjennomgang av Øving 3 Repetisjon 2 Praktisk info Prosjekter i PyCharm må startes med
DetaljerEn implementasjon av binærtre. Dagens tema. Klassestruktur hovedstruktur abstract class BTnode {}
En implementasjon av binærtre Dagens tema Eksempel på binærtreimplementasjon Rekursjon: Tårnet i Hanoi Søking Lineær søking Klassestruktur hovedstruktur abstract class { class Person extends { class Binaertre
DetaljerOperativsystemer, prosesser og tråder
Dagens program Grunnleggende tråd-programmering i Java: Java-tråder: definisjoner, egenskaper Interferens Låsing og synkronisering Venting og signallering Løpende eksempel: lesere og skrivere Erfaringer
DetaljerKap. 8 del 1 kodegenerering INF5110 Vår2007
Kap. 8 del 1 kodegenerering INF5110 Vår2007 Stein Krogdahl, Ifi UiO Forelesninger framover: Tirsdag 8. mai: Vanlig forelesning Torsdag 10. mai: Ikke forelesning Tirsdag 15. mai: Vanlig forelesning (siste?)
Detaljer