Forelesning III Kap 8 & 7; Dagsplan. Gjenbruk. Condition synchronization. Gjennomgående eksempler. Kode: Design: Verktøy

Størrelse: px
Begynne med side:

Download "Forelesning III Kap 8 & 7; Dagsplan. Gjenbruk. Condition synchronization. Gjennomgående eksempler. Kode: Design: Verktøy"

Transkript

1 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 primitiver Semaforen Monitors Protected objects (Ada) Synchronized Methods (Java) Kap 7 prosesser POSIX Kode: Biblioteker Objekter? Design: Patterns Verktøy... Gjenbruk Gjennomgående eksempler Conditional synchronization Critical region Delt resurs Det begrensede bufferet Readers/Writers problem (ikke dataoverføring) Condition synchronization Begrep for å vente på en tilstand eller event (brukes mye senere i kap.) Løses greit med spin locks hvis atomisk test (?)

2 Problem: Mutual Exclution Mutual Exclution Busy wait (spin lock) (antar ingen infrastruktur...) thread1(){ i=i+1; } thread2(){ i=i-1; } Begrep critical section - Løsning Mutual exclution thread1(){ entry protocol i=i+1; exit protocol } Boken gir 3 eksempler som ikke virker Mutual Exclution forsøk 1 & 2 Mutual Exclution forsøk 3 Entry: flag1 = 1; while(flag2 == 1); Exit: flag1 = 0; Bruker 2 flagg gir livelock Bytte av rekkefølgen gir ikke beskyttelse Entry: while(turn!=otherthreadno); Exit: turn = otherthreadno; Bruker 1 flagg forutsetter annenhver gang.

3 Mutual Exclution løsning Bruker 3 flagg: Entry: flag1 = 1; turn = 2; while(flag2==1 && turn==2); Exit: flag1 = 0; Mutual Exclution ulemper (med primitivløs synkronisering) Vanskelig å få riktig Vanskelig å teste Ineffektivt (pga. spin locks/aktiv venting) En prosess som ikke følger protokollen ødelegger alt. Konklusjon; Vi trenger primitiver! Forestill deg flere enn to prosesser! Suspend & Resume (Trenger suspended-queue i scheduleren) Kan unngå spin locks. Imidlertid mye av de samme problemene ( race condition, two-stage suspend ) Java methods suspend/resume tatt ut... Ada gir trygg overbygning byggestein. Semaforen wait()/signal() - atomiske prosedyrer Condition synchronization & Mutual exclution trivielt Implementasjon: (i tillegg schedulerens suspended kø) enten (f.eks) test&set instruksjon eller disable interrupt. Problemer: deadlock, starvation, (uoversiktlighet!).

4 Kode eks s. 240/41 Sidesprang p236: With a true concurrent language, the programmer should assume a non-deterministic order - når det gjelder hvilken prosess som blir vekt opp... prioriteter kommer inn her! Må vite nok til å unngå starvation. Conditional Critical Region Region == Section med guard Alternativ(/utvidelse) til semaforer som middelnivå primitiv. Monitors Def: Automatisk mutual exclution av prosedyrer i en modul. Veldig god mekanisme for bunnivå moduler. Men; Hva med andre synkroniseringsbehov? Hva med avhengighet av andre moduler? --> condition variables ligner litt på semaforer (derfor wait & signal) wait suspenderer alltid! og frigir monitor! signal ingen effekt hvis ingen venter...

5 Eks p247 Monitors problemer wait i sub-monitor frigir ikke supermonitoren Mao. ukurant byggeblokk (?) Basis monitor Protected objects (Ada) guards ( barriers ) i stedet for condition variables No reasons to suspend from inside! (suspend -> exception) functions!= procedures read/write locks Eks p255 -

6 Bounded buffer Eks p (Ned i linjer men husk hva som måtte til :-) Protected objects - Implementasjon Hanging on barrier -> suspend Hanging on access -> not suspend ( delay? - assumes only short calls!) Barrier evaluation Not as part of call! Eks: 260 semafor implementert ved protected object. Protected objects til slutt Protected objects are not classes.

7 Synchronized methods (Java) Eks p264 Lock in each object synchronized mehods needs lock synchronized(object){...} needs lock wait(), notify(), notifyall() ( interrupt can also wake up with exception) No condition variables/barriers --> loops Readers/Writers problem in Java Eks. p265 To løsninger i boken: Løkke rundt condition variable Bruke låsen i to ekstra objekter Eksemplene lange og grisete

8 Inheritance anomaly Vi kan arve ned klasser med synkronisering. Men; Hvordan forholder vi oss til baseklassens synkronisering i forhold til vårt synkroniseringsbehov? Forsøk på strategi: Alltid vent på condition variables i løkker Kode p268 Eksempel på inheritance anomaly Alltid bruk notifyall... Dette virker heller ikke (deadlock/manglende beskyttelse pga. venteløkker etter hverandre.) Sant eller usant? Kap 7 prosesser. Vi trenger paralellitet for å forholde oss til paralellitet i omgivelsene If a language does not support a particular concept then those that use the language cannot apply that notion and may even be toally unaware of its existence Virtually all real-time systems are inherently concurrent. Languages intended for use in this domain have greater expressive power if they provide the programmer with primitives that match the application's paralellism. For: Concurrency som del av programmeringsspråket Lesbarhet og vedlikeholdbarhet Portabilitet Kjekt når vi ikke har RT OS? Mot: Hva om vi vil kombinere kode fra flere prog.språk? OS gir RT features hvorfor ikke bruke disse? ineffektivt med et lag over? OS RT egenskaper standardiseres -> portabilitet.

9 Kap 7: Nomenklatur figurer og begreper. Mye lettlest stoff tar dem etterhvert som de brukes Objects Active, reactive or passive Resources Active ( servers ) Hvor kommer prosesser inn? Coroutines (trenger ikke scheduler) fork & join/wait (prosesser under unix) cobegin/par Explicit process declaration Protected ( resources ) Passive (no synch needed) Java tråder Arv Thread & implementer run() Implementer interface runnable & gi det til Thread objekt. POSIX creating threads p207 extract

10 POSIX creating threads p209 extract

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

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

Ikke pensum! Plan for dagen. Resource Management Kontekst: Bloom (1979) Kap. 11: Resource control (utvalg)

Ikke pensum! Plan for dagen. Resource Management Kontekst: Bloom (1979) Kap. 11: Resource control (utvalg) Plan for dagen Kap. 11: Resource control (utvalg) Hva trenger vi av egenskaper? Hvordan unngår vi vranglåser? Ikke pensum! Kap. 11.4 (The requeue facility) Kap 14 (Distributed Systems) Kap 14 Distributed

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

Fra sekvensielt til parallelt

Fra 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)

Detaljer

INF1010 Repetisjonskurs i tråder

INF1010 Repetisjonskurs i tråder Eivind Storm Aarnæs eivinsaa@student.matnat.uio.no 19. mai og 21. mai 2014 Hello, World! La oss starte med det vanlige eksempelet: Hello, World Alle trådene skriver ut samtidig. Hello, World! La oss starte

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

1b) RaceCondision: En bug som kommer til overflaten ved uheldig timing/scheduling. Det klassiske eksemplet er vel med suspend og resume:

1b) RaceCondision: En bug som kommer til overflaten ved uheldig timing/scheduling. Det klassiske eksemplet er vel med suspend og resume: Sensor: Noter kommentarer til dette arket, hvis studenter kommer opp med ting som hadde fortjent å stå her. Jeg kommer vel til å gjøre denne veiledningen tilgjengelig for dem til neste år... 1a) Dette

Detaljer

Tråder og concurrency i Linux

Tråder og concurrency i Linux Tråder og concurrency i Linux Lars Vidar Magnusson September 27, 2011 Lars Vidar Magnusson () Forelesning i Operativsystemer 27.09.2011 September 27, 2011 1 / 14 Oversikt Tråder i Linux 1 Tråder i Linux

Detaljer

Tråder Repetisjon. 9. og 13. mai Tråder

Trå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

Detaljer

Operativsystemer, prosesser og tråder

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

Detaljer

Tråder Repetisjon. 9. og 13. mai Tråder

Trå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

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

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

Plan for dagen Dagens sidesprang: Sverres editorer gjennom tidene & verktøyet tinyclip. Meldingsbasert synkronisering & kommunikasjon

Plan for dagen Dagens sidesprang: Sverres editorer gjennom tidene & verktøyet tinyclip. Meldingsbasert synkronisering & kommunikasjon Plan for dagen Dagens sidesprang: Sverres editorer gjennom tidene & verktøyet tinyclip. Meldingsbasert synkronisering & kommunikasjon Ada & Occam (men hopper over occam.) Tilstandsmaskinmodellering Implementasjon

Detaljer

INF1010 Tråder II 6. april 2016

INF1010 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

Detaljer

Tinyclip eksempel. Dagsplan

Tinyclip eksempel. Dagsplan Dagsplan Dagens sidesprang: Cliprep Kap. 13 (Mesteparten) oversikt kommer på senere foiler. - Tinyclip eksempel This is normal text outside of all stubs and will be thrown away. /*** #File "test.txt" ***/

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

Mer om C programmering og cuncurrency

Mer 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

Detaljer

Invitation to Tender FSP FLO-IKT /2013/001 MILS OS

Invitation to Tender FSP FLO-IKT /2013/001 MILS OS Invitation to Tender FSP FLO-IKT /2013/001 MILS OS April 15th 2013 Forfatter Prosjektittel 19.04.2013 19.04.2013 1 Introduction AGENDA Important aspects regarding the competition and Invitation to tender

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

Sensuren vil bli avsluttet i henhold til gjeldende regelverk. Alle deloppgaver teller likt unntatt implementasjonsoppgavene som teller dobbelt.

Sensuren vil bli avsluttet i henhold til gjeldende regelverk. Alle deloppgaver teller likt unntatt implementasjonsoppgavene som teller dobbelt. NTNU Norges teknisk vitenskapelige universitet Institutt for teknisk kybernetikk Fakultet for informasjonsteknologi, matematikk og elektroteknikk Bokmål Eksamen i TTK4145 Sanntidsprogrammering 7. desember

Detaljer

INF Notater. Veronika Heimsbakk 10. juni 2012

INF Notater. Veronika Heimsbakk 10. juni 2012 INF1010 - Notater Veronika Heimsbakk veronahe@student.matnat.uio.no 10. juni 2012 1 Tilgangsnivåer 2 CompareTo Modifier Class Package Subclass World public Y Y Y Y protected Y Y Y N no modifier Y Y N N

Detaljer

Eksempler på ikke-blokkerende systemkall:

Eksempler på ikke-blokkerende systemkall: Blokkerende systemkall Thread-modeller Thread-modeller Blokkerende systemkall Viktigste grunn for tråder: blokkerende I/O forespørsler Applikasjonen som ber om I/O blir satt på vent av operativsystemet

Detaljer

Lars Vidar Magnusson. October 11, Lars Vidar Magnusson () Forelesning i Operativsystemer October 11, / 28

Lars 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

Detaljer

Eksamen i TTK4145 Sanntidsprogrammering 12. august

Eksamen i TTK4145 Sanntidsprogrammering 12. august NTNU Norges teknisk-vitenskapelige universitet Institutt for teknisk kybernetikk Fakultet for informasjonsteknologi, matematikk og elektroteknikk Bokmål Eksamen i TTK4145 Sanntidsprogrammering 12. august

Detaljer

Object interaction. Innhold. Abstraksjon 03.09.2007. Grunnleggende programmering i Java Monica Strand 3. september 2007.

Object 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

Detaljer

Deadlocks og mer om concurrencymekanismer

Deadlocks og mer om concurrencymekanismer Deadlocks og mer om concurrencymekanismer Lars Vidar Magnusson September 30, 2011 Lars Vidar Magnusson () Forelesning i Operativsystemer 27.09.2011 September 30, 2011 1 / 17 Oversikt Deadlocks 1 Deadlocks

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i MAT2400 Analyse 1. Eksamensdag: Onsdag 15. juni 2011. Tid for eksamen: 09.00 13.00 Oppgavesettet er på 6 sider. Vedlegg: Tillatte

Detaljer

Dynamic Programming Longest Common Subsequence. Class 27

Dynamic Programming Longest Common Subsequence. Class 27 Dynamic Programming Longest Common Subsequence Class 27 Protein a protein is a complex molecule composed of long single-strand chains of amino acid molecules there are 20 amino acids that make up proteins

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i: INF1010 Objektorientert programmering Dato: 9. juni 2016 Tid for eksamen: 09.00 15.00 (6 timer) Oppgavesettet er på 7 sider.

Detaljer

MID-TERM EXAM TDT4258 MICROCONTROLLER SYSTEM DESIGN. Wednesday 3 th Mars Time:

MID-TERM EXAM TDT4258 MICROCONTROLLER SYSTEM DESIGN. Wednesday 3 th Mars Time: Side 1 av 8 Norwegian University of Science and Technology DEPARTMENT OF COMPUTER AND INFORMATION SCIENCE MID-TERM EXAM TDT4258 MICROCONTROLLER SYSTEM DESIGN Wednesday 3 th Mars 2010 Time: 1615-1745 Allowed

Detaljer

Fakultet for informasjonsteknologi, Løsning på kontinuasjon i TDT4186 Operativsystemer 14. august 2006,

Fakultet for informasjonsteknologi, Løsning på kontinuasjon i TDT4186 Operativsystemer 14. august 2006, Side 1 av 8 NTNU Norges teknisk-naturvitenskapelige universitet Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap Løsning på kontinuasjon

Detaljer

INF1000 Metoder. Marit Nybakken marnybak@ifi.uio.no 16. februar 2004

INF1000 Metoder. Marit Nybakken marnybak@ifi.uio.no 16. februar 2004 INF1000 Metoder Marit Nybakken marnybak@ifi.uio.no 16. februar 2004 Motivasjon Når man begynner å skrive store programmer, vil man fort oppleve at programmene blir uoversiktlige. Det blir vanskeligere

Detaljer

oppgavesett 4 INF1060 H15 Øystein Dale Hans Petter Taugbøl Kragset September 22, 2015 Institutt for informatikk, UiO

oppgavesett 4 INF1060 H15 Øystein Dale Hans Petter Taugbøl Kragset September 22, 2015 Institutt for informatikk, UiO oppgavesett 4 INF1060 H15 Øystein Dale Hans Petter Taugbøl Kragset September 22, 2015 Institutt for informatikk, UiO oppgave 1 Hvorfor har vi operativsystemer? Portable programmer Enklere å programmere

Detaljer

Spøkelsesjakten. Introduksjon

Spøkelsesjakten. Introduksjon 1 Spøkelsesjakten All Code Clubs must be registered. Registered clubs appear on the map at codeclubworld.org - if your club is not on the map then visit jumpto.cc/ccwreg to register your club. Introduksjon

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

STILLAS - STANDARD FORSLAG FRA SEF TIL NY STILLAS - STANDARD

STILLAS - STANDARD FORSLAG FRA SEF TIL NY STILLAS - STANDARD FORSLAG FRA SEF TIL NY STILLAS - STANDARD 1 Bakgrunnen for dette initiativet fra SEF, er ønsket om å gjøre arbeid i høyden tryggere / sikrere. Både for stillasmontører og brukere av stillaser. 2 Reviderte

Detaljer

Prosesser og Tråder. Ketil Danielsen January 16, 2005. en tråd arbeider sekvensielt gjennom program

Prosesser og Tråder. Ketil Danielsen January 16, 2005. en tråd arbeider sekvensielt gjennom program Prosesser og Tråder Ketil Danielsen January 16, 2005 Prosess og tråd en tråd arbeider sekvensielt gjennom program en prosess har minst en tråd i gang en tråd er Running (er tildelt CPU), Ready (venter

Detaljer

Hvordan komme i gang med ArchiMate? Det første modelleringsspråket som gjør TOGAF Praktisk

Hvordan komme i gang med ArchiMate? Det første modelleringsspråket som gjør TOGAF Praktisk Hvordan komme i gang med ArchiMate? Det første modelleringsspråket som gjør TOGAF Praktisk Logica 2012. All rights reserved No. 3 Logica 2012. All rights reserved No. 4 Logica 2012. All rights reserved

Detaljer

INF2810: Funksjonell Programmering. Kommentarer til prøveeksamen

INF2810: 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!

Detaljer

KROPPEN LEDER STRØM. Sett en finger på hvert av kontaktpunktene på modellen. Da får du et lydsignal.

KROPPEN LEDER STRØM. Sett en finger på hvert av kontaktpunktene på modellen. Da får du et lydsignal. KROPPEN LEDER STRØM Sett en finger på hvert av kontaktpunktene på modellen. Da får du et lydsignal. Hva forteller dette signalet? Gå flere sammen. Ta hverandre i hendene, og la de to ytterste personene

Detaljer

Trigonometric Substitution

Trigonometric Substitution Trigonometric Substitution Alvin Lin Calculus II: August 06 - December 06 Trigonometric Substitution sin 4 (x) cos (x) dx When you have a product of sin and cos of different powers, you have three different

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

INF1010 - Seminaroppgaver til uke 3

INF1010 - Seminaroppgaver til uke 3 INF1010 - Seminaroppgaver til uke 3 Oppgave 1 I denne oppgaven skal vi lage et klassehiearki av drikker. Alle klassene i hiearkiet skal implementere følgende grensesnitt p u b l i c i n t e r f a c e Drikkbar

Detaljer

INF2810: Funksjonell Programmering. En metasirkulær evaluator, del 2

INF2810: 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

Detaljer

EKSAMEN I FAG TDT4180 - MMI Lørdag 11. august 2012 Tid: kl. 0900-1300

EKSAMEN I FAG TDT4180 - MMI Lørdag 11. august 2012 Tid: kl. 0900-1300 Side 1 av 8 NORGES TEKNISK-NATURVITENSKAPELIGE UNIVERSITET INSTITUTT FOR DATATEKNIKK OG INFORMASJONSVITENSKAP Faglig kontakt under eksamen: Dag Svanæs, Tlf: 73 59 18 42 EKSAMEN I FAG TDT4180 - MMI Lørdag

Detaljer

Tilstandsmaskiner med UML og Java

Tilstandsmaskiner med UML og Java Tilstandsmaskiner med UML og Java DAT2160 DAT2160 Høst Høst 2002 2002 Tilstandsmaskiner Tilstandsmaskiner med med UML UML og og Java Java Hva er en (endelig) tilstandsmaskin? En tilstandsmaskin kan sees

Detaljer

INF2810: Funksjonell Programmering. En metasirkulær evaluator, del 2

INF2810: 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

Detaljer

INF1010 Tråder J. Marit Nybakken Motivasjon. Å lage en tråd

INF1010 Tråder J. Marit Nybakken Motivasjon. Å lage en tråd J INF1010 Tråder J Marit Nybakken marnybak@ifi.uio.no Motivasjon Til nå har vi kun skrevet programmer der programmet bare var på ett sted i koden til enhver tid (bortsett fra når vi har drevet med GUI,

Detaljer

INF2440 Uke 6, v2015 om faktorisering av primtall + tre løsninger på et produsent/konsumentproblem. Arne Maus PSE, Inst.

INF2440 Uke 6, v2015 om faktorisering av primtall + tre løsninger på et produsent/konsumentproblem. Arne Maus PSE, Inst. INF2440 Uke 6, v2015 om faktorisering av primtall + tre løsninger på et produsent/konsumentproblem Arne Maus PSE, Inst. for informatikk 1 Hva så vi på i Uke5 1. Mer om ulike strategier for å dele opp et

Detaljer

Inf1010 oppgavesamling

Inf1010 oppgavesamling Table of ontents Inf1010 oppgavesamling.. 1 Subklasser... 1 Grensesnitt.. 2 Rekursjon... 3 Datastrukturer... 3 GUI. 4 Sortering... 6 Tråder... 6 Inf1010 oppgavesamling Subklasser Klassehirarki for dyr

Detaljer

buildingsmart Norge seminar Gardermoen 2. september 2010 IFD sett i sammenheng med BIM og varedata

buildingsmart Norge seminar Gardermoen 2. september 2010 IFD sett i sammenheng med BIM og varedata buildingsmart Norge seminar Gardermoen 2. september 2010 IFD sett i sammenheng med BIM og varedata IFD International Framework for Dictionaries Hvordan bygges en BIM? Hva kan hentes ut av BIM? Hvordan

Detaljer

Generiske mekanismer i statisk typede programmeringsspråk

Generiske mekanismer i statisk typede programmeringsspråk Generiske mekanismer i statisk typede programmeringsspråk Dette stoffet er Pensum, og det er bare beskrevet her Mye her er nok kjent stoff for mange INF5110 7. mai 2013 Stein Krogdahl 1 Hvordan kunne skrive

Detaljer

IN1010 våren Repetisjon av tråder. 15. mai 2018

IN1010 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

Detaljer

Information search for the research protocol in IIC/IID

Information search for the research protocol in IIC/IID Information search for the research protocol in IIC/IID 1 Medical Library, 2013 Library services for students working with the research protocol and thesis (hovedoppgaven) Open library courses: http://www.ntnu.no/ub/fagside/medisin/medbiblkurs

Detaljer

kpmg AS Senior revisor

kpmg AS Senior revisor Fra: mira susann einarsen[furia.as@gmail.com] Dato: 15.03.2017 12:48:52 Til: Ellen Neeraas Tittel: Fwd: Bekreftelse alkoholomsetning Heisann Ellen Fikk denne i dag, vil du at jeg skal fylle ut et nytt

Detaljer

UNIVERSITY OF OSLO DEPARTMENT OF ECONOMICS

UNIVERSITY OF OSLO DEPARTMENT OF ECONOMICS UNIVERSITY OF OSLO DEPARTMENT OF ECONOMICS Postponed exam: ECON420 Mathematics 2: Calculus and linear algebra Date of exam: Tuesday, June 8, 203 Time for exam: 09:00 a.m. 2:00 noon The problem set covers

Detaljer

Kapittel 7: Mer om arv

Kapittel 7: Mer om arv Kapittel 7: Mer om arv Redigert av: Khalid Azim Mughal (khalid@ii.uib.no) Kilde: Java som første programmeringsspråk (3. utgave) Khalid Azim Mughal, Torill Hamre, Rolf W. Rasmussen Cappelen Akademisk Forlag,

Detaljer

Medisinsk statistikk, KLH3004 Dmf, NTNU 2009. Styrke- og utvalgsberegning

Medisinsk statistikk, KLH3004 Dmf, NTNU 2009. Styrke- og utvalgsberegning Styrke- og utvalgsberegning Geir Jacobsen, ISM Sample size and Power calculations The essential question in any trial/analysis: How many patients/persons/observations do I need? Sample size (an example)

Detaljer

Fellesprosjekt: gruppe 214

Fellesprosjekt: gruppe 214 Fellesprosjekt: gruppe 214 Innholdsliste Use case diagrammer...3 Scenario 1 - Registrere prosjekt...3 Scenario 2 - Registrere erfaringer...4 Scenario 3, 4, 5 - Lese og kommentere erfaringer...5 Klassediagram...6

Detaljer

Presentasjon av: Erling Ringen Elvsrud Nils Fredrik Gjerull Håkon Torjus Bommen

Presentasjon 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

Detaljer

Førsteamanuensis John I. Dalseng Høgskolen i Finnmark 9500 Alta

Førsteamanuensis John I. Dalseng Høgskolen i Finnmark 9500 Alta Visualisering og animasjon av diskret-event simuleringsmodeller Innledning Førsteamanuensis John I. Dalseng Høgskolen i Finnmark 9500 Alta En diskret-event simuleringsmodell er et program som etterligner

Detaljer

Om Samba/fildeling. Hans Nordhaug 17.09.2013. Institutt for informatikk Høgskolen i Molde

Om Samba/fildeling. Hans Nordhaug 17.09.2013. Institutt for informatikk Høgskolen i Molde Om Samba/fildeling Hans Nordhaug Institutt for informatikk Høgskolen i Molde 17.09.2013 Tema 1 Introduksjon Om SMB Om Samba Hvorfor Samba? 2 Generelt Delte ressurser Server Message Block En protokoll for

Detaljer

Likhet i helsetjenesten

Likhet i helsetjenesten Likhet i helsetjenesten Berit Bringedal Legeforeningens forskningsinstitutt 13.2.2011 Sosial ulikhet i helse og helsetjenestens rolle Betydningen av helsetjenester Mindre enn andre forhold Kan likevel

Detaljer

Utstyr for avstandsmåling. Dommersamling 14. mars 2015 Stein Jodal

Utstyr for avstandsmåling. Dommersamling 14. mars 2015 Stein Jodal Utstyr for avstandsmåling Dommersamling 14. mars 2015 Stein Jodal Dommersamlingen 2012 Regulert i R 14-3 Kunstige hjelpemidler, uvanlig utstyr og uvanlig bruk av utstyr Anmerkning: Komiteen kan lage en

Detaljer

Modeller av prosessering Implementasjon av tjenere

Modeller av prosessering Implementasjon av tjenere Modeller av prosessering Implementasjon av tjenere Foreleser: Kjell Åge Bringsrud 1 Oversikt Motivasjon for flertrådede prosesser og deres anvendelse i distribuerte system Modeller av prosessering i CORBA

Detaljer

Socket og ServerSocket

Socket og ServerSocket Side 1 av 5, socket og klient-tjener, V. Holmstedt, HiO 2006 Dette dokumentet er revidert den 29.8.2006, kl:12:30. Det er foretatt rettelser i begge versjoner av klassen A_Server. Socket og ServerSocket

Detaljer

Eksamen i TTK4145 Sanntidsprogrammering 20. desember

Eksamen i TTK4145 Sanntidsprogrammering 20. desember NTNU Norges teknisk-vitenskapelige universitet Institutt for teknisk kybernetikk Fakultet for informasjonsteknologi, matematikk og elektroteknikk Bokmål & Engelsk Eksamen i TTK4145 Sanntidsprogrammering

Detaljer

Sensorveiledning eksamen ttk4145 Sanntidsprogrammering h05.

Sensorveiledning eksamen ttk4145 Sanntidsprogrammering h05. Sensorveiledning eksamen ttk4145 Sanntidsprogrammering h05. Dette er ikke ment som en «ideal-besvarelse», men heller som en meta-nivå beskrivelse av hva som forventes evt. i hvilken retning en løsning

Detaljer

Løsningsforslag Test 2

Løsningsforslag Test 2 Løsningsforslag Test 2 Oppgave 1.1: Interface definerer et grensesnitt som kan implementeres av flere klasser. Dette gir en standardisert måte å kommunisere med objekter av en eller flere relaterte klasser.

Detaljer

Call function of two parameters

Call function of two parameters Call function of two parameters APPLYUSER USER x fµ 1 x 2 eµ x 1 x 2 distinct e 1 0 0 v 1 1 1 e 2 1 1 v 2 2 2 2 e x 1 v 1 x 2 v 2 v APPLY f e 1 e 2 0 v 2 0 µ Evaluating function application The math demands

Detaljer

Side 1 av 11, prosesser, tråder, synkronisering, V. Holmstedt, HiO 2006

Side 1 av 11, prosesser, tråder, synkronisering, V. Holmstedt, HiO 2006 Side 1 av 11, prosesser, tråder, synkronisering, V. Holmstedt, HiO 2006 Prosesser og tråder Datamaskinen lager prosesser. En prosess organiserer arbeidet i et program ved å administrere tråder. Det er

Detaljer

BOKMÅL Side 1 av 5. KONTERINGSEKSAMEN I FAG TDT4102 Prosedyre og objektorientert programmering. Onsdag 6. august 2008 Kl. 09.00 13.

BOKMÅL Side 1 av 5. KONTERINGSEKSAMEN I FAG TDT4102 Prosedyre og objektorientert programmering. Onsdag 6. august 2008 Kl. 09.00 13. BOKMÅL Side 1 av 5 NTNU Norges teknisk-naturvitenskapelige universitet Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap KONTERINGSEKSAMEN

Detaljer

EKSAMEN I FAG TDT4100 Objekt-orientert programmering. Fredag 3. juni 2005 KL. 09.00 13.00

EKSAMEN I FAG TDT4100 Objekt-orientert programmering. Fredag 3. juni 2005 KL. 09.00 13.00 Side 1 av 6 NTNU Norges teknisk-naturvitenskapelige universitet BOKMÅL Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap EKSAMEN I FAG

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Side 1 Det matematisk-naturvitenskapelige fakultet Eksamen i: INF1010 Objektorientert programmering Eksamensdag: Onsdag 4. juni 2014 Tid for eksamen: 9:00-15:00 Oppgavesettet er på

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

Graphs similar to strongly regular graphs

Graphs similar to strongly regular graphs Joint work with Martin Ma aj 5th June 2014 Degree/diameter problem Denition The degree/diameter problem is the problem of nding the largest possible graph with given diameter d and given maximum degree

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF 3230 Formell modellering og analyse av kommuniserende systemer Eksamensdag: 4. juni 2010 Tid for eksamen: 9.00 12.00 Oppgavesettet

Detaljer

Uke 5. Magnus Li INF /

Uke 5. Magnus Li INF / Uke 5 Magnus Li magl@ifi.uio.no INF3290 26/27.09.2017 Repetisjon av begreper Diskusjonsoppgaver I første innlevering ønsker vi et brukerperspektiv i et informasjonssystem - Hva kan inngå i et slikt informasjonssystem?

Detaljer

5 E Lesson: Solving Monohybrid Punnett Squares with Coding

5 E Lesson: Solving Monohybrid Punnett Squares with Coding 5 E Lesson: Solving Monohybrid Punnett Squares with Coding Genetics Fill in the Brown colour Blank Options Hair texture A field of biology that studies heredity, or the passing of traits from parents to

Detaljer

Løsningsforslag til slutteksamen i SESM3401 Styring av mekatroniske systemer

Løsningsforslag til slutteksamen i SESM3401 Styring av mekatroniske systemer Høgskolen i Buskerud Løsningsforslag til slutteksamen i SESM3401 Styring av mekatroniske systemer Utarbeidet av Finn Haugen, emnets lærer. Eksamensdato: Mandag 11. desember 2006. Varighet: 4 timer. Vekt

Detaljer

INF2440 Uke 6, v2017. Arne Maus PSE, Inst. for informatikk

INF2440 Uke 6, v2017. Arne Maus PSE, Inst. for informatikk INF2440 Uke 6, v2017 Arne Maus PSE, Inst. for informatikk 1 Hva så vi på i uke 5 1. Enda bedre Matrise-multiplisering 2. Modell2-kode for sammenligning av kjøretider på (enkle) parallelle og sekvensielle

Detaljer

Tilkobling og Triggere

Tilkobling og Triggere Tilkobling og Triggere Lars Vidar Magnusson October 12, 2011 Lars Vidar Magnusson () Forelesning i DAS 11.10.2011 October 12, 2011 1 / 25 Tilkobling med PHP PHP bruker databasespesifike moduler til å koble

Detaljer

EKSAMEN. Operativsystemer. 1. Læreboken "A Practical Guide to Red Hat Linux" av Mark Sobell 2. Maks. tre A-4 ark med selvskrevne notater.

EKSAMEN. Operativsystemer. 1. Læreboken A Practical Guide to Red Hat Linux av Mark Sobell 2. Maks. tre A-4 ark med selvskrevne notater. EKSAMEN Emnekode: ITF22506 Emne: Operativsystemer Dato: 12. desember 2007 Eksamenstid: kl. 9.00 til kl. 13.00 Hjelpemidler: 1. Læreboken "A Practical Guide to Red Hat Linux" av Mark Sobell 2. Maks. tre

Detaljer

SRP s 4th Nordic Awards Methodology 2018

SRP s 4th Nordic Awards Methodology 2018 SRP s 4th Nordic Awards Methodology 2018 Stockholm 13 September 2018 Awards Methodology 2018 The methodology outlines the criteria by which SRP judges the activity of Manufacturers, Providers and Service

Detaljer

LAVA. Om LAVA prosjektet UNINETT96

LAVA. Om LAVA prosjektet UNINETT96 Om LAVA prosjektet UNINETT96 Tryggve Sørensen, Norsk Regnesentral 16. oktober 1996 LAVA Delivery of video over ATM Financed by Norwegian Research Council Part of HUGIN - NFRs broadband initiative Develop

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

Husk at du skal ha to vinduer åpne. Det ene er 'Python Shell' og det andre er for å skrive kode i.

Husk at du skal ha to vinduer åpne. Det ene er 'Python Shell' og det andre er for å skrive kode i. Skilpaddeskolen Steg 1: Flere firkanter Nybegynner Python Åpne IDLE-editoren, og åpne en ny fil ved å trykke File > New File, og la oss begynne. Husk at du skal ha to vinduer åpne. Det ene er 'Python Shell'

Detaljer

API: Application programming interface, eller programmeringsgrensesnitt

API: Application programming interface, eller programmeringsgrensesnitt API: Application programming interface, eller programmeringsgrensesnitt 1 Interface 1: Cockpit i F16 2 Interface 2: GUI GUI: Graphical user interface The first Graphical User Interface on the XeroxStar

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

HONSEL process monitoring

HONSEL process monitoring 6 DMSD has stood for process monitoring in fastening technology for more than 25 years. HONSEL re- rivet processing back in 990. DMSD 2G has been continuously improved and optimised since this time. All

Detaljer

Ta kontakt i pausen. Viktig at vi kommer i gang med dette arbeidet!

Ta kontakt i pausen. Viktig at vi kommer i gang med dette arbeidet! 1 Kunnskap for en bedre verden TDT4105 Informasjonsteknologi, grunnkurs Mer om funksjoner. Logiske betingelser og betinget programutførelse (valg). Amanuensis Terje Rydland Kontor: ITV-021 i IT-bygget

Detaljer

I et Java-program må programmøren lage og starte hver tråd som programmet bruker. Er dette korrekt? Velg ett alternativ

I 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

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

Læringsmål for forelesningen

Læringsmål for forelesningen Læringsmål for forelesningen Objektorientering Bruk av grensesnitt og implementasjoner i Collection-klasser Java-prog, kap. 14-16 i Big Java Og side 990-997 i Appendix D Collection-rammeverket og iterasjon

Detaljer

Dataforeningen Østlandet Cloud Computing DEN NORSKE DATAFORENING Vi engasjerer, påvirker og skaper fremtid!

Dataforeningen Østlandet Cloud Computing DEN NORSKE DATAFORENING Vi engasjerer, påvirker og skaper fremtid! Dataforeningen Østlandet Cloud Computing DEN NORSKE DATAFORENING Vi engasjerer, påvirker og skaper fremtid! Peter Flem Forretnings rådgiver @ Cartagena peter@cartagena.no Mobil: 93477148 Leder for faggruppen

Detaljer

SeaWalk No 1 i Skjolden

SeaWalk No 1 i Skjolden SeaWalk No 1 i Skjolden August 2011 Luster Kommune Marked I løpet av de neste 10 år er verdens cruisemarked ventet å doble seg. Veksten forventes større i Europa enn i Kariben og USA. Markedet vil lete

Detaljer

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT UNIVERSITETET I OSLO ØKONOMISK INSTITUTT Eksamen i: ECON3120/4120 Mathematics 2: Calculus an linear algebra Exam: ECON3120/4120 Mathematics 2: Calculus an linear algebra Eksamensag: Tirsag 3. juni 2008

Detaljer

Summer Cup. 27-29 June 2014. Uken før vi reiser, vil vi trene her hjemme. Nærmere informasjon om dette kommer senere.

Summer Cup. 27-29 June 2014. Uken før vi reiser, vil vi trene her hjemme. Nærmere informasjon om dette kommer senere. Summer Cup 27-29 June 2014 Vestkantsvømmerne inviterer alle i B- gruppen og C+ (hospitanter i B gruppen) til Stevne i Stockholm. Vi skal bo på Zinkensdamm vandrehjem, og stevne foregår i Erisdalsbadet

Detaljer