Models of Concurrency
|
|
- Solbjørg Nilssen
- 7 år siden
- Visninger:
Transkript
1 Models of Concurrency Martin Steffen 1 University of Oslo, Norway INF3140 Høst 2007
2 Dagens program Mer asynkron meldingsutveksling Interagerende prosesser med ulike kommunikasjonsmønstre Oppsummering av erfaringer Remote procedure call ( RPC ) Hva RPC er Eksempler: klokketjener, strømfletting, verdi-ombytting Rendezvous Hva rendezvous er Eksempler: buffer, klokketjener, verdi-ombytting Kombinasjoner av RPC, rendezvous og meldingsutveksling Eksempler: Begrenset buffer, lesere og skrivere Martin Steffen (UiO) Models of Concurrency / 32
3 Interagerende prosesser: ombytting av verdier Studerer prosesser som likemenn (eng. peers ). Bruker følgende modellproblem: Gitt n prosesser P[0],..., P[n 1], n > 1 Hver prosess har et tall lagret i lokal variabel v Mål: alle prosesser skal få vite største og minste tall Sammenligner og vurderer ulike kommunikasjonsmønstre: Martin Steffen (UiO) Models of Concurrency / 32
4 Interagerende prosesser: ombytting av verdier Studerer prosesser som likemenn (eng. peers ). Bruker følgende modellproblem: Gitt n prosesser P[0],..., P[n 1], n > 1 Hver prosess har et tall lagret i lokal variabel v Mål: alle prosesser skal få vite største og minste tall Sammenligner og vurderer ulike kommunikasjonsmønstre: P 5 P 4 P 5 P 4 P 5 P 4 P 1 P 0 P 3 P 0 P 3 P 0 P 3 P2 P 1 P 2 P 1 P 2 sentralisert symmetrisk ringformet Martin Steffen (UiO) Models of Concurrency / 32
5 Sentralisert løsning: kommentarer P 5 P 4 P 1 P 0 P2 P 3 Prosess P[0] er koordinator : P[0] gjør beregningen, dvs. finner største og minste tall. De andre prosessene bare sender sine tall og venter på svar fra P[0]. Telling av utvekslete meldinger: Ett send receive-par per melding nok å telle antall send: P[0]: n 1 P[1],..., P[n 1]: (n 1) 1 Totalt (n 1) + (n 1) = 2(n 1) meldinger utvekslet n kanaler nødvendig. Martin Steffen (UiO) Models of Concurrency / 32
6 Sentralisert løsning: kode chan values ( i nt ), r e s u l t s [ 1.. n 1]( i n t smallest, i nt l a r g e s t ) ; process P [ 0 ] { # koordinator prosess i nt v =... ; # anta v i n i t i a l i s e r t i nt new, s ma llest = v, l a r g e s t = v ; # i n i t i a l i s e r i n g # faa tak i v e r di e r og l agre s t o e r s t og minst for [ i = 1 to n 1] { r eceive values (new ) ; i f (new < s m allest ) s ma llest = new ; i f (new > l a r g e s t ) l a r g e s t = new ; } # send r e s u l t a t e t t i l de andre prosessene for [ i = 1 to n 1] send r e s u l t s [ i ] ( smallest, l a r g e s t ) ; } process P[ i = 1 to n 1] { i nt v =... ; i nt smallest, l a r g e s t ; send values ( v ) ; r e ceive r e s u l t s [ i ]( smallest, l a r g e s t ) ; } # Fig i Andrews ( l i t e problem r e t t e t ) Martin Steffen (UiO) Models of Concurrency / 32
7 Symmetrisk løsning: kommentarer P 5 P 4 P 0 P 3 P 1 P 2 Single-program, multiple data ( SPMD ) -løsning: Hver prosess utfører samme program og kommuniserer resultatet til alle andre. n prosesser som hver sender n 1 meldinger, dvs. totalt n(n 1) meldinger utvekslet. n kanaler nødvendig Martin Steffen (UiO) Models of Concurrency / 32
8 Symmetrisk løsning: kode chan values [ n ]( i n t ) ; process P[ i = 0 to n 1] { i nt v =... ; i nt new, s ma llest = v, l a r g e s t = v ; # send v t i l de n 1 andre prosessene for [ j = 0 to n 1 st j!= i ] send values [ j ] ( v ) ; # faa tak i n 1 v er d i e r # og l agre s t oerst og minst. for [ j = 1 to n 1] { # j ikke brukt i loekka r eceive values [ i ] ( new ) ; i f (new < s m allest ) smallest = new ; i f (new > l a r g e s t ) l a r g e s t = new ; } } # Fig i Andrews Martin Steffen (UiO) Models of Concurrency / 32
9 Ringformet løsning: kommentarer P 5 P 4 P 0 P 3 P 1 P 2 Nesten symmetrisk, bortsett fra P[0], P[n 2] og P[n 1]. Hver prosess utfører samme program og sender svaret videre (hvis nødvendig). Teller antall send: P[0]: 2 P[1],..., P[n 3]: (n 3) 2 P[n 2]: 1 P[n 1]: 1 Totalt 2 + 2(n 3) = 2(n 1) meld. utvekslet. n kanaler nødv. Martin Steffen (UiO) Models of Concurrency / 32
10 Ringformet løsning: kode (1) chan values [ n ]( i n t smallest, i nt l a r g e s t ) ; process P [ 0 ] { # i n i t i a l i s e r utveklsingen i nt v =... ; i nt smallest = v, l a r g e s t = v ; # send v t i l neste prosess, P[ 1 ] send values [ 1 ] ( smallest, l a r g e s t ) ; # faa globale s ma llest og l a r g e s t f ra P[ n 1] # og send dem videre t i l P[ 1 ] r e ceive values [ 0 ] ( smallest, l a r g e s t ) ; send values [ 1 ] ( smallest, l a r g e s t ) ; } Martin Steffen (UiO) Models of Concurrency / 32
11 Ringformet løsning: kode (2) process P[ i = 1 to n 1] { i nt v =... ; i nt smallest, l a r g e s t ; # motta s ma llest og l a r g e s t saa langt, # og oppdater dem ved sammenlingning med v r e ceive values [ i ] ( smallest, l a r g e s t ) i f ( v < s ma llest ) s m allest = v ; i f ( v > l a r g e s t ) l a r g e s t = v ; # send r e s u l t a t e t t i l neste, og vent paa globalt r e s u l t a t send values [( i +1) mod n ]( smallest, l a r g e s t ); i f ( i < n 1) r eceive values [ i ] ( smallest, l a r g e s t ) ; # send glob. res. videre, men ikke f r a P[ n 1] t i l P[ 0 ] i f ( i < n 2) send values [ i +1]( smallest, l a r g e s t ) ; } # Fig. 7.3 i Andrews ( r e t t e t ) Martin Steffen (UiO) Models of Concurrency / 32
12 Erfaring med meldingsutveksling Meldingsutveksling velegnet for applikasjoner der prosesser kommuniserer enveis over én eller flere kanaler. Kan også lage klient-tjener-applikasjoner ved meld.utv., men: Hver klient må ha egen svarkanal Generelt: to-veis kommunikasjon må realiseres med 2 kanaler Gir mange kanaler RPC og rendezvous passer bedre for klient-tjener -applikasjoner. Martin Steffen (UiO) Models of Concurrency / 32
13 Remote Procedure Call: hovedidé kallende prosess paa maskin A kalt prosedyre paa maskin B op foo(formals); # deklarasjons... call foo(args); -----> proc foo(formals) # ny prosess lages... <----- end;... Martin Steffen (UiO) Models of Concurrency / 32
14 RPC (forts.) RPC kombinerer noen elementer fra monitorer og meldingsutveksling Som vanlig prosedyrekall, men kaller og kalt prosedyre kan være i ulike adresserom, f.eks. på ulike maskiner i nettverk. Kallerprosessen blokkerer til kalt prosedyre er ferdig, som ved monitor-kall og synkron meldingsutveksling. Asynkron programmering støttes ikke direkte. 1 En ny prosess håndterer hvert kall. Potensielt toveis kommunikasjon: kaller sender argumenter og mottar resultat. 1 Men: Creol... Martin Steffen (UiO) Models of Concurrency / 32
15 RPC: modul, prosedyre, prosess Modul : ny programmeringskonstruksjon for både prosedyrer, og prosesser. module M g r e n s e s n i t t for eksporterte operasjoner ; body v a r i a b e l d e k l a r a s j o n e r ; i n i t i a l i s e r i n g s k o d e ; prosedyrer for eksport erte operasjoner ; l okale prosesser ; end M Moduler kan være i ulike adresserom Prosedyrer og prosesser i M: kan dele variable utføres samtidig (eng. concurrent) må synkronisering for gjensidig utelukkelse kan kun kommunisere med prosesser i M ved prosedyrer eksportert av M Martin Steffen (UiO) Models of Concurrency / 32
16 RPC: operasjoner Deklarasjon av operasjon O: op O(formelle arg.) [ returns type ] ; Implementasjon av operasjon O: proc O(formelle arg.) [ returns variabel ] { lokale variabeldeklarasjoner; setninger } Kall av modul Ms operasjon O: call M.O(aktuelle arg.) Prosesser : som før. Martin Steffen (UiO) Models of Concurrency / 32
17 Eksempel: Klokketjener (RPC) Problem: Lage modul som tilbyr klokke-tjenester til prosesser i andre moduler. Klokketjeneren har to operasjoner synlige for klientprosesser: get time() returns int returnerer klokkeslettet delay(int interval) lar prosess sove i spesifisert antall tidsenheter Flere klienter dvs. flere prosesser kan utføre operasjoner samtidig behov for beskyttelse av variable. Klokketjeneren har en intern prosess som får avbrudd (eng. interrupts) fra en maskinvareklokke og oppdaterer sin klokke. Martin Steffen (UiO) Models of Concurrency / 32
18 Kode: Klokketjener (RPC 1) module TimeServ er op get time () returns i n t ; op delay ( i nt i n t e r v a l ) ; body i nt tod = 0; # k l o k k e s l e t t e t sem m = 1; # for gj e n s i d i g u telukkelse sem d [ n ] = ([ n ] 0); # for ventende prose sser queue of ( i nt waketime, i nt p r ocess i d ) napq ; ## naar m == 1, tod < waketime for ventende prosesser proc get time () r eturns time { time = tod ; } proc delay ( i n t i n t e r v a l ) { P(m) ; # anta myid unik og i [0, n 1] i n t waketime = tod + i n t e r v a l ; s ett inn ( waketime, myid) paa r e t t sted i napq ; V(m) ; P(d [ myid ] ) ; } process Clock.... end TimeServ er # vent paa aa b l i vekket Martin Steffen (UiO) Models of Concurrency / 32
19 Kode: Klokketjener (RPC 2) process Clock { i n t id ; s t a r t maskinvareklokka ; while ( true ) { vent paa avbrudd, og r e s t a r t maskinvareklokka tod = tod + 1; P(m) ; # mutex while ( tod >= minste waketime i napq) { f j e r n ( waketime, id ) fra napq ; V(d [ id ] ) ; } V(m) ; } } end TimeServer # Fig. 8.1 i Andrews ( f e i l r e t t e t ) # vekk prosess # mutex Martin Steffen (UiO) Models of Concurrency / 32
20 Rendezvous RPC: Tilbyr intermodul-kommunikasjon Programmeren må lage synkronisering eksplisitt Rendezvous: Kjent fra språket Ada (US DoD) Kombinerer kommunikasjon mellom og synkronisering av prosesser Lager ikke ny prosess ved kall. I stedet: gjør rendezvous med eksisterende prosess Operasjoner utføres én av gangen synch send og receive kan betraktes som primitiv rendezvous. Martin Steffen (UiO) Models of Concurrency / 32
21 Rendezvous: hovedidé kallende prosess paa maskin A kalt prosess paa maskin B op foo(formals); # eksisterende prosess call foo(args); -----> in foo(formals) -> BODY;... <----- ni Martin Steffen (UiO) Models of Concurrency / 32
22 Rendezvous: modul-deklarasjon module M op O 1 ( typer ) ;... op O n ( typer ) ; body process P 1 { v a r i a b e l d e k l a r a s j on e r ; while ( true ) in O 1 ( v a r i a b l e ) and B 1 > S 1 ;... [ ] O n ( v a r i a b l e ) and B 1 > S n ; ni }... andre prosesse r end M Martin Steffen (UiO) Models of Concurrency / 32
23 Rendevous: uttrykkssyntaks Kall: c a l l O i (expr 1,..., expr m ) ; Innputt-setning, serie av guarde de uttrykk: in O 1 (v 1,...v m1 ) and B 1 > S 1 ;... [ ] O n(v 1,... v mn ) and B n > S n ; ni Bestanddeler i guard: and B i synkroniseringsuttrykk (valgfri) S i setninger (1 eller flere) Variablene v 1,...,v mi kan refereres av B i og leses/skrives av S i. Martin Steffen (UiO) Models of Concurrency / 32
24 Rendezvous: semantikk for innputt-setningen Gitt følgende: in... [ ] O i (v i,..., v mi ) and B i > S i ;... ni Guard en slår til når O i kalles og B i sann (eller utelatt). Utførelse av in-setningen: Blokkerer til guard for en operasjon slår til Hvis flere guard er slår til, betjen det eldste kallet Verdier returneres til kaller Så er call- og in-setningene ferdige Martin Steffen (UiO) Models of Concurrency / 32
25 Eksempel: begrenset buffer (rendezvous) module BoundedBuf f er op deposit ( elem ), fetch ( r e s u l t elem ) ; body process Buffer { elem buf [ n ] ; i n t front = 0, rear = 0, count = 0; while ( true ) in deposit ( item ) and count < n > buf [ rear ] = item ; count++; rear = ( rear +1) mod n ; [ ] fetch ( item ) and count > 0 > item = buf [ front ] ; count ; f ront = ( front +1) mod n ; ni } end BoundedBuffer # Fig. 8.5 i Andrews ( modulo navn ) Martin Steffen (UiO) Models of Concurrency / 32
26 Eksempel: klokketjener (rendezvous) module TimeServ er op get time () returns i n t ; op delay ( i nt ) ; # NB: absolutt tid som argument op t i ck ( ) ; # k a l l e s ved timer s t y r t avbrudd body process Timer { i n t tod = 0; s t a r t maskinvare timer ; while ( true ) in get time () r eturns time > time = tod ; [ ] delay ( waketime ) and waketime <= tod > skip ; [ ] t i c k () > { tod++; r e s t a r t maskinvare timer &; ni } end TimeServer # Fig. 8.7 i Andrews Martin Steffen (UiO) Models of Concurrency / 32
27 RPC, rendezvous og meldingsutveksling Programmerer nå med blanding av primitiver: forespørsel håndtering effekt call proc prosedyrekall (RPC) call in rendezvous send proc dynamisk prosess-laging send in asynkron meldingsutveksling Martin Steffen (UiO) Models of Concurrency / 32
28 RPC, rendezvous og meldingsutveksling Programmerer nå med blanding av primitiver: forespørsel håndtering effekt call proc prosedyrekall (RPC) call in rendezvous send proc dynamisk prosess-laging send in asynkron meldingsutveksling i tilleg (ikke i Andrews) asynkron prosedyrekall, wait-by-necessity, futures Martin Steffen (UiO) Models of Concurrency / 32
29 Rendezvous, meldingsutveksling og semaforer sammenhenger Sammenligning av innputt-setning og receive: in O(a 1,...,a n ) -> v 1 =a 1,...,v n =a n ni receive O(v 1,...,v n ) Sammenligning av meldingsutveksling og semaforer: send O() og receive O() V(O) og P(O) Martin Steffen (UiO) Models of Concurrency / 32
30 Eksempel: begrenset buffer (igjen) module BoundedBuf f er op deposit ( elem ), fetch ( r e s u l t elem ) ; body elem buf [ n ] ; i nt front = 0, rear = 0; # l okale operasjoner som s imulerer semaforer op empty (), f u l l (), mutexd (), mutexf ( ) ; send mutexd ( ) ; send mutexf ( ) ; # i n i t. semaforer t i l 1 for [ i = 1 to n ] # i n i t. empty semaforen t i l n send empty ( ) ; proc deposit ( item ) { r eceive empty ( ) ; r eceive mutexd ( ) ; buf [ rear ] = item ; rea r = ( r ear +1) mod n ; send mutexd ( ) ; send f u l l ( ) ; } proc fetch ( item ) { r eceive f u l l ( ) ; r e ceive mutexf ( ) ; item = buf [ front ] ; front = ( front +1) mod n ; send mutexf ( ) ; send empty ( ) ; } end BoundedBuffer # Fig i Andrews ( modulo navn ) Martin Steffen (UiO) Models of Concurrency / 32
31 Primitivet?O i rendezvous Nytt primitiv på operasjoner, jf. empty(...) for bet.var. og kanaler.?o betyr antall utestående forespørsler på operasjon O. Nyttig i innputt-setningen for å gi prioritet: in O 1 (...) -> S 1 ; [] O 2 (...) and?o 1 == 0 -> S 2 ; ni Her prioriteres O 1 over O 2. Martin Steffen (UiO) Models of Concurrency / 32
32 Lesere og skrivere, beskyttet adgang module ReadersWriters op read ( r e s u l t types ) ; # bruker RPC op write ( types ) ; # bruker rendezvous body op s tartread (), endread ( ) ; # l o kale op.... databasen (DB )... ; proc read ( vars ) { c a l l s tartread ( ) ; # faa leseadgang... l e s vars fra DB... ; send endread ( ) ; # f r i g i DB } process Writer { i n t nr = 0; while ( true ) in s tartread () > nr++; [ ] endread () > nr ; [ ] write ( vars ) and nr == 0 >... s k r i v vars t i l DB... ; ni } end ReadersWriters Martin Steffen (UiO) Models of Concurrency / 32
33 Lesere og skrivere: preferanse skr. module ReadersWriters op read ( r e s u l t types ) ; # bruker RPC op write ( types ) ; # bruker rendezvous body op s tartread (), endread ( ) ; # l o kale op.... databasen (DB )... ; proc read ( vars ) { c a l l s tartread ( ) ; # faa leseadgang... l e s vars fra DB... ; send endread ( ) ; # f r i g i DB } process Writer { i n t nr = 0; while ( true ) in s tartread () and? write == 0& > nr++; [ ] endread () > nr ; [ ] write ( vars ) and nr == 0 >... s k r i v vars t i l DB... ; ni } end ReadersWriters Martin Steffen (UiO) Models of Concurrency / 32
34 References I [1] G. R. Andrews. Foundations of Multithreaded, Parallel, and Distributed Programming. Addison-Wesley, Martin Steffen (UiO) Models of Concurrency / 32
Operativsystemer, 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
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
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
DetaljerFra 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)
DetaljerMeldingsutveksling. Martin Steffen 1. University of Oslo, Norway INF3140. Høst 2007
Martin Steffen 1 University of Oslo, Norway INF3140 Høst 2007 University of Oslo, Norway INF3140 Høst 2007 2007-10-24 Martin Steffen 1 The following slides come at week 8. This lection opens the second
DetaljerINF2810: Funksjonell Programmering. En metasirkulær evaluator, del 2
INF2810: Funksjonell Programmering En metasirkulær evaluator, del 2 Stephan Oepen & Erik Velldal Universitetet i Oslo 03. mai 2013 Tema 2 Forrige uke SICP 4.1. Structure and interpretation of computer
DetaljerINF2810: Funksjonell Programmering. En metasirkulær evaluator, del 2
INF2810: Funksjonell Programmering En metasirkulær evaluator, del 2 Stephan Oepen & Erik Velldal Universitetet i Oslo 03. mai 2013 Tema 2 Forrige uke SICP 4.1. Structure and interpretation of computer
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
DetaljerFra sekvensielt til parallelt
Fra sekvensielt til parallelt «Sanntidprogrammering etter 34 år» Øyvind Teig senior utviklingsingeniør Autronica Fire and Security, «a UTC company» Gjesteforelesning på Høgskolen i Sør-Trøndelag (HiST)
DetaljerINF2810: 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
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
DetaljerINF2810: Funksjonell Programmering. Kommentarer til prøveeksamen
INF2810: Funksjonell programmering INF2810: Funksjonell Programmering Kommentarer til prøveeksamen Erik Velldal Universitetet i Oslo 1: Grunnleggende (6 poeng)? (define foo '(a b))? (define bar foo)? (set!
DetaljerHjemmeeksamen 2 i INF3110/4110
Hjemmeeksamen 2 i INF3110/4110 Innleveringsfrist: onsdag 19. november kl. 1400 Innlevering Besvarelsen av oppgave 2,3,4 og 5 skal leveres skriftlig på papir i IFI-ekspedisjonen. Merk denne med navn, kurskode,
DetaljerLars Vidar Magnusson. October 11, Lars Vidar Magnusson () Forelesning i Operativsystemer October 11, / 28
Tråder Lars Vidar Magnusson October 11, 2011 Lars Vidar Magnusson () Forelesning i Operativsystemer 09.09.2011 October 11, 2011 1 / 28 Oversikt Tråder 1 Tråder Introduksjon Multithreading Prosesser og
DetaljerINF2810: 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
DetaljerINF2810: 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
DetaljerForelesning III Kap 8 & 7; Dagsplan. Gjenbruk. Condition synchronization. Gjennomgående eksempler. Kode: Design: Verktøy
Forelesning III Kap 8 & 7; Dagsplan Moral: Gjenbruk Kap 8: Shared variable-based synchronization and communication Condition synchronization Mutual Exclution Conditional Critical Regions Suspend & Resume
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
DetaljerStein 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:
DetaljerINF våren 2017
INF1010 - våren 2017 Om Java Objekter og klasser Både for deg som kan og for deg som ikke kan Java Stein Gjessing Universitetet i Oslo Ny versjon etter forlesningen der tre meningsløse private modifikatorer
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
Detaljer2 Om statiske variable/konstanter og statiske metoder.
Litt om datastrukturer i Java Av Stein Gjessing, Institutt for informatikk, Universitetet i Oslo 1 Innledning Dette notatet beskriver noe av det som foregår i primærlageret når et Javaprogram utføres.
DetaljerTDT4110 Informasjonsteknologi grunnkurs: Kapittel 7 Filer og unntak ( exceptions ) Professor Alf Inge Wang Stipendiat Lars Bungum
1 TDT4110 Informasjonsteknologi grunnkurs: Kapittel 7 Filer og unntak ( exceptions ) Professor Alf Inge Wang Stipendiat Lars Bungum 2 Læringsmål Mål Introduksjon til filer (som inndata og utdata) Å bruke
DetaljerIN våren 2018 Tirsdag 16. januar
IN1010 - våren 2018 Tirsdag 16. januar Java Objekter og klasser Stein Gjessing Universitetet i Oslo 1 1 IN1010: Objektorientert programmering Hva er et objekt? Hva er en klasse? Aller enkleste eksempel
DetaljerIN våren 2019 Onsdag 16. januar
IN1010 - våren 2019 Onsdag 16. januar Java Objekter og klasser Stein Gjessing Universitetet i Oslo 1 1 IN1010: Objektorientert programmering Hva er et objekt? Hva er en klasse? Aller enkleste eksempel
DetaljerINF2810: Funksjonell Programmering. En Scheme-evaluator i Scheme
INF2810: Funksjonell Programmering En Scheme-evaluator i Scheme Erik Velldal Universitetet i Oslo 27. april 2017 Tema 2 Forrige forelesning Strømmer og utsatt evaluering Kort om makroer I dag Kap. 4 Metasirkulær
DetaljerRM-ODP og Multimedia middleware (M3W):
RM-ODP og Multimedia middleware (M3W): INF 5040 høst 2003 foreleser: Frank Eliassen SRL & Ifi/UiO 1 Litteratur Gordon Blair, Jean-Bernard Stefani, Distributed Processing and Multimedia, Addison-Wesley
DetaljerDagens tema. Hva er kompilering? Anta at vi lager dette lille programmet doble.rusc (kalt kildekoden): Hva er kompilering?
Dagens tema Dagens tema Kildekode Hva er kompilering? Hva er kompilering? Hvordan foreta syntaksanalyse av et program? Hvordan programmere dette i Java? Hvordan oppdage feil? Anta at vi lager dette lille
DetaljerINF2810: Funksjonell Programmering. En Scheme-evaluator i Scheme
INF2810: Funksjonell Programmering En Scheme-evaluator i Scheme Erik Velldal Universitetet i Oslo 19. april 2016 Tema 2 Forrige uke Strømmer og utsatt evaluering Kort om makroer I dag Kap. 4 Metasirkulær
DetaljerØving i Tornado og VxWorks
Øving 5 Øving i Tornado og VxWorks Innledning Denne øvingen går ut på å programmere for et målsystem som benytter sanntidsoperativsystemet VxWorks. Til dette benyttes utviklingssystemet Tornado fra WindRiver.
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
DetaljerLøsningsforslag ukeoppg. 6: 28. sep - 4. okt (INF1000 - Høst 2011)
Løsningsforslag ukeoppg. 6: 28. sep - 4. okt (INF1000 - Høst 2011) Løsningsforslag til oppgave 7, 8, og 9 mangler Klasser og objekter (kap. 8.1-8.14 i "Rett på Java" 3. utg.) NB! Legg merke til at disse
DetaljerKompilering Statiske Syntaksanalyse Feilsjekking Eksempel Oppsummering
Dagens tema Hva er kompilering? Hvordan foreta syntaksanalyse av et program? Hvordan programmere dette i Java? Statiske metoder og variabler Hvordan oppdage feil? Kildekode Hva er kompilering? Anta at
Detaljerpublic static <returtype> navn_til_prosedyre(<parameter liste>) { // implementasjon av prosedyren
Prosedyrer Hensikten med en prosedyre Hensikten med en prosedyre er, logisk sett, å representere en jobb eller en funksjonalitet i et eller flere programmer. Bruk av entall er viktig: vi har generelt en
DetaljerAnbefalt litteratur: Pensum-bøker: Forelesere: Velkommen til INF Introduksjon til operativsystemer og datakommunikasjon
Forelesere: Velkommen til INF-1060 Introduksjon til operativsystemer og datakommunikasjon Pål Halvorsen (paalh@ifi.uio.no) Nettverk og Distribuerte systemer (ND) (ved Simula) Kjell Åge Bringsrud (kjellb@ifi.uio.no)
Detaljerpublic static <returtype> navn_til_prosedyre(<parameter liste>) { // implementasjon av prosedyren
Prosedyrer Hensikten med en prosedyre Hensikten med en prosedyre er, logisk sett, å representere en jobb eller en funksjonalitet i et eller flere programmer. Bruk av entall er viktig: vi har generelt en
DetaljerProgrammering i C++ Løsningsforslag Eksamen høsten 2005
Programmering i C++ Eksamen høsten 2005 Simen Hagen Høgskolen i Oslo, Avdeling for Ingeniørutdanning 7. desember 2005 Generelt Denne eksamensoppgaven består av tre oppgaver, pluss en ekstraoppgave. Det
DetaljerINF3430/4430. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer
INF3430/4430 Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer 19.09.2006 Agenda Funksjoner og operatorer Prosedyrer Begrepet overload Biblioteker Package/package body Standard
DetaljerINF2810: Funksjonell Programmering. En metasirkulær evaluator
INF2810: Funksjonell Programmering En metasirkulær evaluator Stephan Oepen & Erik Velldal Universitetet i Oslo 26. april 2013 Tema 2 Forrige uke Strømmer og utsatt evaluering Memoisering Kort om makroer
DetaljerForslag til løsning på oppgavesett for uke 40
Forslag til løsning på oppgavesett for uke 40 Lars Vidar Magnusson November 3, 2011 1 Tråder 1. Lag et program som starter tre ulike tråder (forskjellige trådfunksjoner) som hver av skriver ut en melding
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
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i : INF5110 Eksamensdag : Tirsdag 6. juni 2006 Tid for eksamen : 09.00-12.00 Oppgavesettet er på : 5 sider Vedlegg : Intet Tillatte
DetaljerINF2810: Funksjonell Programmering. En metasirkulær evaluator
INF2810: Funksjonell Programmering En metasirkulær evaluator Stephan Oepen & Erik Velldal Universitetet i Oslo 26. april 2013 Tema 2 Forrige uke Strømmer og utsatt evaluering Memoisering Kort om makroer
DetaljerFaglig kontakt under eksamen: Orestis Gkorgkas
Side 1 av 5 Norges teknisk-naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap Løsningsforslag til EKSAMENSOPPGAVE I FAG TDT4186 OPERATIVSYSTEMER Faglig kontakt under eksamen:
DetaljerFakultet for informasjonsteknologi,
Side 1 av 6 NTNU Norges teknisk-naturvitenskapelige universitet Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap Kontinuasjonsløsning
DetaljerOPPGAVE 1 OBLIGATORISKE OPPGAVER (OBLIG 1) (1) Uten å selv implementere og kjøre koden under, hva skriver koden ut til konsollen?
OPPGAVESETT 4 PROSEDYRER Oppgavesett 4 i Programmering: prosedyrer. I dette oppgavesettet blir du introdusert til programmering av prosedyrer i Java. Prosedyrer er også kjent som funksjoner eller subrutiner.
DetaljerVelkommen til INF Introduksjon til operativsystemer og datakommunikasjon
Velkommen til INF-1060 Introduksjon til operativsystemer og datakommunikasjon 21.08.2007 INF1060 1 Forelesere: Pål Halvorsen (paalh@ifi.uio.no) Nettverk og Distribuerte systemer (ND) (ved Simula) Kjell
DetaljerModerne Funksjonell Programmering i Lisp
Moderne Funksjonell Programmering i Lisp Lars Tveito 11. mai, 2017 Institutt for Informatikk, University of Oslo Introduksjon Abstract Vi skal utforske programmeringsspråket Clojure, en moderne Lisp-dialekt.
DetaljerRekursjon og lister. Stephan Oepen & Erik Velldal. 1. februar, Universitetet i Oslo
INF2810: Funksjonell programmering Rekursjon og lister Stephan Oepen & Erik Velldal Universitetet i Oslo 1. februar, 2013 Agenda 2 Forrige uke Scheme Substitusjonsmodellen Blokkstruktur Predikater Kondisjonale
DetaljerRepetisjon: Statiske språk uten rekursive metoder (C1 og C2) Dagens tema Kjøresystemer (Ghezzi&Jazayeri 2.6, 2.7)
Dagens tema Kjøresystemer (Ghezzi&Jazayeri.6,.7) Repetisjon Språk med rekursjon (C3) og blokker (C4) Statisk link Dynamisk allokering (C5) Parameteroverføring 1/5 Repetisjon: Statiske språk uten rekursive
DetaljerTDT4258 Eksamen vår 2013
Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap Side 1 av 8 TDT4258 Eksamen vår 2013 Løsningsforslag Oppgave 1 Flervalgsoppgave (16 poeng) Du får 2 poeng
DetaljerOppgave 1 JK-flip-flop (Total vekt 20%)
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i IN 147 Program- og maskinvare Eksamensdag: 12. mai 1997 Tid for eksamen: 9.00 15.00 Oppgavesettet er på 6 sider. Vedlegg: Tillatte
DetaljerDagens tema Kjøresystemer (Ghezzi&Jazayeri 2.6, 2.7)
Dagens tema Kjøresystemer (Ghezzi&Jazayeri 2.6, 2.7) Repetisjon Språk med rekursjon (C3) og blokker (C4) Statisk link Dynamisk allokering (C5) Parameteroverføring 1/25 Forelesning 11 5.11.2003 Repetisjon:
DetaljerViktig. Rettet i koden. Obligatorisk oppgave 2 Litt flere detaljer om semantikksjekk og kodegenerering. Semantikksjekk
Obligatorisk oppgave 2 Litt flere detaljer om semantikksjekk og kodegenerering Viktig Ny patch (patch_oblig2.zip) er lagt ut (15/4) Oblig 1 vil bli rettet denne uken Sjekk om det er registrert at den er
DetaljerEksamensoppgave i TDT4258 Energieffektive datamaskinsystemer
Institutt for datateknikk og informasjonsvitenskap Eksamensoppgave i TDT4258 Energieffektive datamaskinsystemer Faglig kontakt under eksamen: Asbjørn Djupdal Tlf.: 909 39452 Eksamensdato: 29. mai 2013
DetaljerVelkommen til INF Introduksjon til operativsystemer og datakommunikasjon
Velkommen til INF-1060 Introduksjon til operativsystemer og datakommunikasjon 22.08.12 INF1060 1 Forelesere: Pål Halvorsen (paalh@ifi.uio.no) Nettverk og Distribuerte systemer (ND) (ved Simula) Tor Skeie
DetaljerProgrammeringsspråket C
Programmeringsspråket C Bakgrunn Implementasjon av Unix ved AT&Ts laboratorium i Palo Alto 1960 75. Navnet kommer fra BCPL B C. Opphavsmannnen heter Dennis Ritchie. ANSI standard i 1988; omtrent alle følger
DetaljerSemantisk Analyse del I
Semantisk Analyse del I Attributtgrammatikker Kapittel 6.1-6.2 26.02.2013 1 Statisk semantisk analyse kapittel 6: Innhold Generelt om statisk semantisk analyse Attributt-grammatikker (kapittel 6.1-6.2)
DetaljerKap 2: Løkker og lister
Kap 2: Løkker og lister Ole Christian Lingjærde, Inst for Informatikk, UiO 26-30 August, 2019 (Del 2 av 2) Forrige forelesning på en foil Formatert utskrift: %-operator og f-strings To typer løkker: while-løkker
DetaljerINF3430. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer
INF3430 Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer Innhold Funksjoner og operatorer Prosedyrer Begrepet overload Biblioteker Package/package body Standard biblioteker
DetaljerBeskrivelse av programmeringsspråket Compila15 INF Kompilatorteknikk Våren 2015
Beskrivelse av programmeringsspråket Compila15 INF5110 - Kompilatorteknikk Våren 2015 Her beskrives syntaksen og den statiske semantikken (hva som skal sjekkes av kompilatoren) til språket Compila15. Den
DetaljerOversikt Kompilering Syntaksanalyse Java Feilsjekking Oppsummering
Dagens tema Dagens tema Hva er kompilering? Hvordan foreta syntaksanalyse av et program? Hvordan programmere dette i Java? Hvordan oppdage feil? Kildekode Hva er kompilering? Anta at vi lager dette lille
DetaljerC:\web\service-elektronikk\fagprover\Anders\flashlite_program_Anders.pas Page 1
C:\web\service-elektronikk\fagprover\Anders\flashlite_program_Anders.pas Page 1 { F A G P R Ø V E N V Å R E N 1 9 9 9 Universitetet i Bergen Institutt for den Faste Jords Fysikk A D - K O R T P R O G R
DetaljerINF2810: Funksjonell Programmering
INF2810: Funksjonell Programmering Høyereordens prosedyrer, lambda og lokale variabler Stephan Oepen Universitetet i Oslo 9. februar 2015 Tema 2 Forrige uke Lister og listerekursjon quote Høyereordens
Detaljer2 Om statiske variable/konstanter og statiske metoder.
Gaustadbekkdalen, januar 22 Litt om datastrukturer i Java Av Stein Gjessing, Institutt for informatikk, Universitetet i Oslo Innledning Dette notatet beskriver noe av det som foregår i primærlageret når
DetaljerD: 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
DetaljerINF2810: Funksjonell Programmering
INF2810: Funksjonell Programmering Høyereordens prosedyrer, lambda og lokale variabler Stephan Oepen Universitetet i Oslo 9. februar 2015 Tema 2 Forrige uke Lister og listerekursjon quote Høyereordens
DetaljerObligatorisk Innlevering 2
Obligatorisk Innlevering 2 INF5110 - Kompilatorteknikk Våren 2017 Frist 07.05.2017 23:59 Dette er den andre av to oppgaver våren 2017. Den bygger videre på det som er gjort i den første innleveringen.
DetaljerDagens tema: 12 gode råd for en kompilatorskriver
Dagens tema: 12 gode råd for en kompilatorskriver Hvordan sjekke navn? Testutskrifter 12 gode råd Hva skal gjøres med navn? Sjekking av navn En kompilator må også sjekke riktig navnebruk: Det må ikke forekomme
DetaljerObject interaction. Innhold. Abstraksjon 03.09.2007. Grunnleggende programmering i Java Monica Strand 3. september 2007.
Object interaction Grunnleggende programmering i Java Monica Strand 3. september 2007 1 Innhold Til nå: Hva objekter er og hvordan de implementeres I klassedefinisjonene: klassevariable (fields), konstruktører
DetaljerOppsummering av IN147 siste del Operativsystemer Parallellisering Veien videre
Oppsummering av IN147 siste del Operativsystemer Parallellisering Veien videre Ark 1 av 12 Forelesning 12.5.1999 Operativsystemer I kurset har vi fokusert på UNIX, men prinsippene gjelder i større eller
DetaljerEivind Gard Lund. 24. Mars 2009 Foilene bygger på 2009 utgaven av Andreas Svendsen
Eivind Gard Lund 24. Mars 2009 Foilene bygger på 2009 utgaven av Andreas Svendsen Informasjon Semantikksjekk Kodegenerering Oblig 2 tilgjengelig på kurssiden Bygger på deres oblig 1 kode. Det er lagt ut
DetaljerINF2810: Funksjonell Programmering. Strømmer og utsatt evaluering
INF2810: Funksjonell Programmering Strømmer og utsatt evaluering Stephan Oepen Universitetet i Oslo 30. mars 2017 Forrige forelesning 2 Mer om (prosedyre)navn, bindinger, og verditilordning Nok en ny abstrakt
DetaljerINF5110 Obligatorisk Oppgave 2 del 2. Andreas Svendsen SINTEF. 23. April Oversikt
INF5110 Obligatorisk Oppgave 2 del 2 Andreas Svendsen SINTEF 23. April 2009 Oversikt Tilbakeblikk på oppgaven Eksempel på sjekk av semantikk Eksempel på kodegenerering Nødvendige instruksjoner for IF-noden
DetaljerRekursjon som programmeringsteknikk
Rekursjon Kap.7 Sist oppdatert 15.02.10 Rekursjon som programmeringsteknikk 10-1 Rekursiv tenkning Rekursjon er en programmeringsteknikk der en metode kan kalle seg selv for å løse problemet. En rekursiv
Detaljer23.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
DetaljerArray&ArrayList Lagring Liste Klasseparametre Arrayliste Testing Lenkelister
Dagens tema Lister og generiske klasser, del I Array-er og ArrayList (Big Java 6.1 & 6.8) Ulike lagringsformer (Collection) i Java (Big Java 15.1) Klasser med typeparametre («generiske klasser») (Big Java
DetaljerINF3430/4430. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer
INF3430/4430 Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer 2005-10-26 Agenda Funksjoner og operatorer Prosedyrer Begrepet overload Biblioteker Package/package body Standard
DetaljerDiverse eksamensgaver
Diverse eksamensgaver Noen har fått den idé å lage et språk hvor klasser kan ha noe tilsvarende byvalue-result -parametere. Klasser har ingen konstruktører, og by-value-result parametere spesifiseres som
DetaljerDistribuerte objekter og objekt-basert mellomvare
Distribuerte objekter og objekt-basert mellomvare INF 5040 H2004 foreleser: Frank Eliassen Frank Eliassen, SRL & Ifi/UiO 1 Hvorfor objekt-basert distribuert mellomvare?! Innkapsling " naturlig tilnærming
DetaljerOversikt. INF1000 Uke 2. Repetisjon - Program. Repetisjon - Introduksjon
Oversikt INF1000 Uke 2 Variable, enkle datatyper og tilordning Litt repetisjon Datamaskinen Programmeringsspråk Kompilering og kjøring av programmer Variabler, deklarasjoner og typer Tilordning Uttrykk
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:
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i : INF5110 - Kompilatorteknikk Eksamensdag : Onsdag 4. juni 2008 Tid for eksamen : 14.30-17.30 Oppgavesettet er på : 7 sider Vedlegg
DetaljerDistribuerte objekter og objekt-basert mellomvare
Distribuerte objekter og objekt-basert mellomvare INF 5040 H2006 foreleser: Frank Eliassen INF5040 Frank Eliassen 1 Hvorfor objekt-basert distribuert mellomvare? Innkapsling naturlig tilnærming til utvikling
DetaljerINF2810: Funksjonell Programmering. Dataabstraksjon og Trerekursjon
INF2810: Funksjonell Programmering Dataabstraksjon og Trerekursjon Stephan Oepen & Erik Velldal Universitetet i Oslo 15. februar, 2013 Tema 2 Forrige uke Høyere-ordens prosedyrer: Prosedyrer som argumenter
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
DetaljerUNIVERSITETET I OSLO
Bokmål UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i: INF1000 Grunnkurs i objektorientert programmering Eksamensdag: Fredag 4. desember 2015 Tid for eksamen: 14.30 (4 timer)
DetaljerLisp 5: Makroer. Programvareverkstedet. 29. april 2010
Eirik Alderslyst Nygaard Øystein Ingmar Skartsæterhagen Programvareverkstedet 29. april 2010 (Introduksjon: Litt om evaluering) (Funksjonskall: Alle argumentformene evalueres først, så kalles funksjonen
DetaljerSamtidige prosesser. Prosessor modus. Hvordan kan OS effektivt kontrollere brukerprosesser? Hvordan kan OS. kontrollere brukerprosesser?
Samtidige To (tasks) må ikke ødelegge for hverandre: skrive til samme minne kapre for mye CPU-tid få systemet til å henge Beste løsning: All makt til OS = Preemptive multitasking Preemptive = rettighetsfordelende.
DetaljerPresentasjon av: Erling Ringen Elvsrud Nils Fredrik Gjerull Håkon Torjus Bommen
SUMO Presentasjon av: Erling Ringen Elvsrud Nils Fredrik Gjerull Håkon Torjus Bommen Innhold Hva er SUMO Programmeringsmodellen Anvendelser Sammenligning med CORBA Systemstøtte Oppsummering Hva er SUMO
DetaljerDistribuerte objekter og objekt-basert mellomvare
Distribuerte objekter og objekt-basert mellomvare INF5040 foreleser: Olav Lysne Frank Eliassen, SRL & Ifi/UiO 1 Hvorfor objekt-basert distribuert mellomvare? Innkapsling naturlig tilnærming til utvikling
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
DetaljerJSP - 2. Fra sist. Hvordan fungerer web? Tjenerside script HTML. Installasjon av Web-tjener Et enkelt JSP-script. Ønsker dynamiske nettsider:
Fra sist JSP - 2 Installasjon av Web-tjener Et enkelt JSP-script HTML statisk Forms Tags Ønsker dynamiske nettsider: Klientside-script/programmering Javascript, vbscript, applets Tjenerside-script/programmering
DetaljerI denne oppgaven skal vi repetere litt Python-syntaks, det er en god blanding av alle tingene du har lært i Python til nå.
Repetisjon Skrevet av: Ole Kristian Pedersen, Kodeklubben Trondheim Kurs: Python Tema: Tekstbasert Fag: Programmering Klassetrinn: 8.-10. klasse Introduksjon I denne oppgaven skal vi repetere litt Python-syntaks,
DetaljerKapittel 13 Advanced Hypertext Implementation. Martin Lie Ole Kristian Heggøy
Kapittel 13 Advanced Hypertext Implementation Martin Lie Ole Kristian Heggøy 08.11.04 Forbedring av arkitektur Problem med alt i ett -løsning: Spredning av forretningslogikk. Avhengighet mellom presentasjonssider
DetaljerINF3430/4431. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer
INF3430/4431 Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer Innhold Funksjoner og operatorer Prosedyrer Begrepet overload Biblioteker Package/package body Standard biblioteker
DetaljerMPIntroduksjon Et eksempel
MPIntroduksjon Et eksempel Jon Nilsen Kjerne- og energigruppen MPIntro p.1/17 Litt om parallisering Grunnleggende ideer: Vil ha raskere og større beregninger parallellisering. Flere prosessorer brukes
DetaljerINF2810: Funksjonell Programmering
INF2810: Funksjonell Programmering Høyereordens prosedyrer, lambda og lokale variabler Erik Velldal Universitetet i Oslo 9. februar 2017 Tema 2 Forrige uke Lister og listerekursjon quote Høyereordens prosedyrer
DetaljerDagens forelesning. Java 13. Rollefordeling (variant 1) Rollefordeling (variant 2) Design av større programmer : fordeling av roller.
Dagens forelesning Java 13 Design av større programmer : fordeling av roller INF 101-13. mars 2003 Flere eksempler på bruk av objekter MVC-prinsippet MVC-prinsippet Flere eksempler på programmer med objekter
DetaljerArray&ArrayList Lagring Liste Klasseparametre Arrayliste Testing Lenkelister Videre
Dagens tema Lister og generiske klasser, del I Array-er og ArrayList (Big Java 6.1 & 6.8) Ulike lagringsformer (Collection) i Java (Big Java 15.1) Klasser med typeparametre («generiske klasser») (Big Java
Detaljer