Plan for dagen. Måter å tenke på
|
|
- Gunvor Sletten
- 7 år siden
- Visninger:
Transkript
1 Plan for dagen Måter å tenke på Måter å tenke på (perspektiv på UML) Dagens sidesprang: yacc Transaksjoner Hva er det? Atomiske beregninger Hvordan håndtere SW feil abortere transaksjonen Hvordan håndtere kræsj/restart Log? Oppdeling i funksjoner Transaksjoner Dataflyt/datalagring? Objekter Tilstandsmaskiner? Design patterns / generic objects Tråder & synkronisering Prosesser & kommunikasjon %{ % %% Lex & Yacc repetisjon lex \+ { return PLUS; - { return MINUS; [0-9]+ { yylval.number = atoi(yytext); return NUMBER; ; %% Lex & Yacc YACC %{ % %token PLUS MINUS LPAR RPAR %token <number> NUMBER %union{ int number; %type <number> Expr %% Expression: Expr { printf("result = %d\n",$1); Expr: NUMBER { Expr PLUS Expr{ $$ = $1 + $3; Expr MINUS Expr{ $$ = $1 - $3; LPAR Expr RPAR{ $$ = $2; %% #include "lexyy.c"
2 $./lexyacc.exe Result = Result = 16 Lex & Yacc Kjøring Lex & Yacc bygging av Abstract Syntax Tree (AST) Dette er vel og bra for f.eks. lesing av enkle config filer, men hva om vi ikke skal evaluere der og da? En standard måte å bygge datastrukturer som svarer til det innleste (9-2)+3 Expression Result = 4 9lkas+2 lkjd Result = 10 lkas lkjd Result = 11 Expression_Int int value int eval() int eval() Expression_Plus Expr * e1,e2 int eval() Expression_Minus Expr * e1,e2 int eval() Lex & Yacc AST eksempel Lex [0-9]+ { yylval.expr = new Expression_Int(atoi(yytext)); return NUMBER; ; Yacc %union{ Expression * expr; %type <expr> Expr Expr: NUMBER { Expr PLUS Expr{ $$ = new(expression_plus($1,$3); Expr MINUS Expr{ $$ = new(expression_minus($1,$3); LPAR Expr RPAR{ $$ = $2; Transaksjoner (Design) rammeverk for SW en filosofi :-) Database folk tenker transaksjoner, men det er ikke begrenset til databaser Knakende bra grunnlag for bl.a. feilhåndtering & tilgjengelighet. Begreper Transaksjon == Atomiske Beregninger Commit, Abort
3 En transaksjon har ACID egenskaper: Atomisk enten utføres hele transaksjonen eller ingen ting. Consistency en transaksjon er en transformasjon av tilstanden i systemet fra en konsistent tilstand til en annen (ingen halvparter). Isolation Andre transaksjoner enten ser eller ikke ser transaksjonen. Durability Når en transaksjon er utført mistes aldri resultatet. Kontekst Consistency er rent design av transaksjonene inkludert konsistenssjekker. Isolation kan fikses ved lese/skrivelåser Atomicy & Durability er ikke tull: Skal holde uansett feil! Vil anta bare en feil her, men vi kan lett generalisere. Alloker låser Gjør jobben Frigi låser En transaksjon? Isolation er ok, vi antar consistency, og atomicy er greit hvis ingen ting går galt, men hva med durability? Vi skal bygge på dette eksemplet i to timer til for å resten på plass :-) Hva hvis en beregning mislykkes? Vi må: Sette alle variable tilbake (og rette opp alle andre effekter) frigi låser rapportere abort tilbake til oppdragsgiver.
4 Feilhåndtering Alloker låser Lagre unna variable Gjør jobben, hopp til end: hvis problemer label end: if(error){ sett variable tilbake status = FAIL; else{ status = OK; Frigi låser return status; Men hva hvis II... vi skal gjøre flere ting i samme transaksjon / det er flere moduler (/servere/maskiner...) involvert? Enten må alt gjøres eller ingen ting! --> To-fase commit protokoll (Til alle deltagere:) Gjør dette! Fikk dere det til? Hvis alle svarer ja Commit, ellers Abort Forsøk på tofase commit: status = OK; if(doworkx(...) == FAIL) status = FAIL; if(doworky(...) == FAIL) status = FAIL; if(doworkz(...) == FAIL) status = FAIL; if(status == OK){ commitworkx(); commitworky(); commitworkz(); else{ abortworkx(); abortworky(); abortworkz(); Mye overhead både i klient og modul/server Tofase commit standard løsning Vi innfører en Transaction Manager TransactionId beginwork() Status endwork(tid) TransactionId tid = beginwork(); doworkx(tid,...); doworky(tid,...); doworkz(tid,...); result = endwork(tid); Temmelig rigid Håndterer det flere samtidige transaksjoner?
5 Transaction Manager Holder rede på hvem som er med i transaksjonen. Tar seg av avstemmingen Sett fra en Resource Manager resource manager == det jeg hittil har kalt en modul eller server Den må: Melde seg selv til Transaction Manager for å være med i en transaksjon. Holde rede på hvilke låser som er assosiert med en transaksjon Holde rede på hvile variable/effekter som må settes tilbake ved en evt. abort. Klient Transaction Manager Resource Manager beginwork Transaksjons Id doworkx(tid,...) doworky(tid,...) doworkz(tid,...) endwork(tid) OK/Fail jointransaction(tid) preparetocommit OK/Fail commit/abort Resource Manager i praksis Alle kall tar tid inn Alle kall sjekker om RM er påmeldt transaksjonen Alle låser lagres unna Alle variable/effekter lagres Staus (OK/fail) lagres unna Må implementere: en generell preparetocommit (dvs. returnere status for transaksjonen) generelle commit & abort. Alle disse tre virker bare på modulens datastrukturer!
6 Deadlocks, Starvation & timing problemer Et transaksjonsbasert system gjør ingen antagelser som gjør at slike ikke forekommer! (Mao. i sterk kontrast til sanntidssystemer.) Standardløsning: Gi transaksjoner en tidsfrist, og så abortere om tiden går ut (en jobb for transaction manager) Alternativ løsning: Å gjøre de nødvendige antagelsene: Dette er ikke mulig i det generelle databasesystemet, men er det sannsynligvis for våre applikasjoner. (Burns&Wellings tar opp noe av dette!) Interaksjon med utenverdenen En utskrift til skjermen, eller et utsatt pådrag kan ikke aborteres... Løsningen må være applikasjonsavhengig: Holde pådrag utenfor transaksjonsregimet. Vente med utsetting til commit. Intelligent HW som håndterer abort. Oppsummering Vi håndterer nå alle feil uten å komme i inkonsistent tilstand. Det har kostet en del infrastruktur (Transaction Manager + en del datastrukturer i Resource Manager), men gitt denne er det relativt rett frem å lage applikasjoner. Vi har ikke diskutert durability enda! Durability Dette er jo ikke noe problem så lenge prosesser ikke kræsjer/restartes... Å lagre tilstand til disk etter hver transaksjon er ingen løsning... Selv om en transaksjon er ferdig kan det være andre som er midt i, dessuten kan disk-skrivingen skjære seg. Så, hvordan?
7 Durability Bruk av Log Hver deltager (unntatt klienten) skriver til en logg hva den har tenkt å gjøre, og så venter til logg'en er trygt bevart før den gjør det. La oss, mens vi holder på, før-status til loggen også (vi kommer til hvorfor...) Når en prosess kommer opp igjen kan den rekonstruere tilstanden ved å utføre alle log recordene. Durability Bruk av Log - II Den må selvfølgelig sjekke, før den utfører noe, at transaksjonen faktisk ble committed. (Anta at vi skriver commit & abort logrecorder også) Noen transaksjoner vil kunne mangle commit eller abort-logrecorder (TransactionManager har enda ikke tatt avgjørelse, eller den ble tatt mens vi var nede.) Vi må kunne spørre TM om dette. Hvordan gikk det egentlig med denne transaksjonen? Durability Bruk av Log - III Foil fra boken p Men hva om TM går ned? Etter at avstemmingen er ferdig, men før commit/abort sendes ut, logges resultatet. Alle transaksjoner som er aktive når TM går ned aborteres. Så, hvorfor skrev vi før-tilstand til loggen? Genistrek: Vi slipper å holde rede på førtilstand til variable i modulen, men kan bare kjøre undo på logrecordene i motsatt rekkefølge.
8 Log IV: Blir ikke log'en uendelig stor? Innimellom skrives komplett tilstand, inkludert en liste over aktive transaksjoner skrevet til log'en. (et sjekkpunkt ) Log som er eldre enn det siste sjekkpunktet som ikke inneholder aktive transaksjoner kan kastes. NB: et sjekkpunkt representerer alene ingen konsistent tilstand! På tide med en Log Manager? Jepp, dermed kan denne samle opp logrecorder og gjøre diskskrivingen mer effektiv. Og går den på en annen maskin kan vi til og med være fornøyd med å få kvittering for mottatt logrecord istedet for å vente på den trege diskskrivingen! Lock Manager? Figur p. 534 OK, vi kan få funksjonalitet som frigi alle låser assosiert med tid. Også: I den grad vi har låsing av ting utenfor prosessen kan lock manager låse opp hvis vi dør.
9 Gray & Reuter: Transaction Processing ~1000 sider med detaljert stoff Mer avansert transaksjonsmodell Implementasjon på kodenivå Kunsten er å bruke bare det vi har bruk for og få det riktig. Dette er en filosofi - en måte å tenke på som kan ligge under designet ditt. Case I Høy tilgjengelighet: Vi har to maskiner hvor den ene skal kunne ta over for den andre på kort varsel. Skalerbarhet: Systemet skal være forberedt på å sette inn ekstra maskiner ved flaskehalser i beregningene. Case II Feilhåndtering: Backward error recovery (fra Burns&Wellings) er en ad-hoc måte å få til abort på. Distribuerte systemer: (Autronica:) Hvordan beholde en konsistent tilstand ved restart av et subsystem? Lastbalansering: Bruk databaser til data! De har denne funksjonaliteten inne og mer. God ytelse Store datamengder Administrasjonsprogrammer Kan spille Resource Manager rolle
Repetisjonsforelesning, SQL og utover
Repetisjonsforelesning, SQL og utover Evgenij Thorstensen V18 Evgenij Thorstensen Repetisjon V18 1 / 23 Temaer SQL, semantikk Databasearkitektur Spørringskompilering og optimisering Indekser Transaksjonshåndtering
DetaljerØving 5: Transaksjonshåndtering, logging og normalisering
Øving 5: Transaksjonshåndtering, logging og normalisering Lars Kirkholt Melhus Oppgave 1 a) ACID Atomic En transaksjon er en minste enhet. Alle ledd i transaksjonen må gå feilfritt for at transaksjonen
Detaljer1b) 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
DetaljerTransaksjoner. transaksjon. når starter/slutter 1 trans.?
Transaksjoner IBE211 Kap. 10 feil mediefeil: disk feiler må gjenopprette (fra sikkerhetskopi, kap. 11) instansfeil: databasen stopper midt i noe tilbakeføring (rollback) til konsistent samtidighet når
DetaljerFakultet for informasjonsteknologi,
Side 1 av 9 NTNU Norges teknisk naturvitenskapelige universitet Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap Løsning på SIF8037 Distribuerte
DetaljerTransaksjonsmodell. Samtidighet (1) ACID-transaksjoner. Samtidighet (2) Systemkræsj (1) Kapittel 17, Coping With System Failure
SIF8020 Datamodellering og databasesystemer: Transaksjonsmodell Kapittel 17, Coping With System Failure 20. april 2004, Roger Midtstraum, IDI/ ACID-transaksjoner Atomicity Alt eller ingenting Consistency
DetaljerTransaksjoner og flerbrukerproblematikk. Transaksjoner
LC238D http://www.aitel.hist.no/fag/_dmdb/ Transaksjoner og flerbrukerproblematikk Transaksjoner side 2-4 Låseteknikker side 5 Isolasjonsnivåer side 6-7 Flerbrukerproblemer i fbm utførelse av transaksjoner
DetaljerLøsningsskisse, eksamen J2EE og distribuerte systemer 19.mai 2004
Løsningsskisse, eksamen J2EE og distribuerte systemer 19.mai 2004 Oppgave 1 RMI-tjenerobjekt (databasewrapper) A Sentral tjenermaskin med database, RMi-register og RMI-tjenerprogram vis kart gjør bestilling
DetaljerEksamen 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
DetaljerDeling av data Transaksjoner
Deling av data Transaksjoner INF5040 Foreleser: Olav Lysne SRL & Ifi/UiO 1 Introduksjon Tjenere kan tilby samtidig aksess fra klienter til de objekter/data tjenerne innkapsler o fler-trådede tjenere =>
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
DetaljerDeling av data Transaksjoner
Deling av data Transaksjoner INF5040 Foreleser: Olav Lysne SRL & Ifi/UiO 1 Introduksjon Tjenere kan tilby samtidig aksess fra klienter til de objekter/data tjenerne innkapsler o fler-trådede tjenere =>
DetaljerFakultet for informasjonsteknologi, Løsning på kontinuasjonseksamen i TDT4190 Distribuerte systemer 19. 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å kontinuasjonseksamen
DetaljerFakultet for informasjonsteknologi, Kontinuasjonsløsning på SIF8037 Distribuerte systemer og ytelsesvurdering (Distribuerte systemer kun)
Side 1 av 5 NTNU Norges teknisk naturvitenskapelige universitet Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap Kontinuasjonsløsning
DetaljerPresentasjon av doktorgradsprosjekt
Presentasjon av doktorgradsprosjekt Fredag Jon Grov Tre deler Del 1 - litt om transaksjonshåndtering. Del 2 - om doktorgradsarbeidet. Del 3 - bittelitt om Python og SimPy (bare hvis vi har tid). 1 av 14
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
Detaljer- analyse og implementasjon
- analyse og implementasjon Hvem er vi? Vi heter Anders S Finnerud Dennis JMJ Lundh studerer til bachelorgraden i ingeniørfag for data ved Høgskolen i Oslo. Oppgaven Lage et lett system som kan utføre
DetaljerKap.4, del 2: Top Down Parsering Kap. 5, del 1: Bottom Up Parsing INF5110, 7/ Legger ut en oppgave til kap. 4 (se beskjed).
Kap.4, del 2: Top Down Parsering Kap. 5, del 1: Bottom Up Parsing INF5110, 7/2-2008 Legger ut en oppgave til kap. 4 (se beskjed). tein Krogdahl Ifi, UiO Merk: Av de foilene som ble delt ut på papir på
DetaljerKTN1 - Design av forbindelsesorientert protokoll
KTN1 - Design av forbindelsesorientert protokoll Beskrivelse av A1 A1 skal tilby en pålitelig, forbindelsesorientert tjeneste over en upålitelig, forbindelsesløs tjeneste A2. Det er flere ting A1 må implementere
DetaljerFakultet for informasjonsteknologi, Løsning på eksamen i TDT4190 Distribuerte systemer Torsdag 9. juni 2005, 0900 1300
Side 1 av 10 NTNU Norges teknisk naturvitenskapelige universitet Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap Løsning på eksamen i
DetaljerFakultet for informasjonsteknologi, Løsning på kontinuasjonseksamen i TDT4190 / SIF8042 Distribuerte systemer August 2005, 0900 1300
Side 1 av 11 NTNU Norges teknisk naturvitenskapelige universitet Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap Løsning på kontinuasjonseksamen
DetaljerINF3100 V2018 Obligatorisk oppgave nr. 2
INF3100 V2018 Obligatorisk oppgave nr. 2 Oppgavesettet skal løses og leveres individuelt. Gjennomføring og innlevering av oppgaven skal skje i henhold til gjeldende retningslinjer ved Institutt for informatikk,
DetaljerKonfigurasjonsstyring
INF1050: Systemutvikling 28. mars 2017 Konfigurasjonsstyring Yngve Lindsjørn ynglin@ifi.uio.no INF1050 Systemutvikling ->Konfigurasjonsstyring 1 Temaer i dagens forelesning Versjonshåndtering Systembygging
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
DetaljerEnkle generiske klasser i Java
Enkle generiske klasser i Java Oslo, 7/1-13 Av Stein Gjessing, Institutt for informatikk, Universitetet i Oslo Del 1: Enkle pekere Før vi tar fatt på det som er nytt i dette notatet, skal vi repetere litt
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
DetaljerINF1300 Introduksjon til databaser
UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: SQL: Outer join Denormalisering og splitting Transaksjoner og ACID-reglene DBMSer en introduksjon til INF3100 INF1300 19.11.2007 Ragnar
DetaljerEKSAMENSOPPGAVE. INF-1100 Innføring i programmering og datamaskiners virkemåte. Ingen. Elektronisk (WiseFlow) Robert Pettersen
Fakultet for naturvitenskap og teknologi EKSAMENSOPPGAVE Eksamen i: Dato: 20.02.2017 Klokkeslett: 09:00 13:00 INF-1100 Innføring i programmering og datamaskiners virkemåte Sted: Teorifagbygget, Hus 3,
DetaljerTransaksjoner og flerbrukerproblematikk. Transaksjoner
LC238D http://www.aitel.hist.no/fag/_dmdb/ Transaksjoner og flerbrukerproblematikk Transaksjoner side 2-4 Låseteknikker side 5 Isolasjonsnivåer side 6-7 Flerbrukerproblemer i fbm utførelse av transaksjoner
DetaljerHva har vi gjort? SQL og Databasedesign
Hva har vi gjort? SQL og Databasedesign HVA? Begrepsmessig databasedesign E/R diagram Logisk databasedesign Tabeller HVORDAN? Fysisk databasedesign Filer Indekser Etter vi har behandlet de mer statiske
DetaljerIkke 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
DetaljerDel 3: Evaluere uttrykk
Del 3: Evaluere uttrykk Hva skal vi gjøre? Hvordan lagre Asp-verdier Hvilke operasjoner må jeg implementere? Er operasjonen lovlig? Utføre operasjonen Strukturen til interpreten vår f.asp 3&4 Interpret
DetaljerTor-Eirik Bakke Lunde torebl@stud.cs.uit.no
Obligatorisk oppgave 1 INF-3200 12. oktober 2003 Tor-Eirik Bakke Lunde torebl@stud.cs.uit.no Oppgavebeskrivelse: Designe og implementere en distribuert ray-tracing applikasjon, med basis i kontroller-
DetaljerINF5030. Håndtering av virksomhetskritiske data
UNIVERSITETET I OSLO INF5030 Håndtering av virksomhetskritiske data Jon Grov Ragnar Normann 8. september 2005 INF5030 - Jon Grov 1 Introduksjon Tema for kurset er transaksjonshåndtering Vi er altså interessert
DetaljerEKSAMEN. 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
DetaljerDatabasesystemer, oversikt
Databasesystemer, oversikt Evgenij Thorstensen V18 Evgenij Thorstensen Databasesystemer, oversikt V18 1 / 23 Kurset Databasesystemer og databaser. Databaser er abstrakte objekter (datastrukturer, spørrespråk).
DetaljerDBS22 Databasegjenopprettingsteknikker
Side 1 for Databaser DBS22 Databasegjenopprettingsteknikker onsdag 1. juni 2016 21.49 Pensum: 22.1-22.5, side 813-831 22.1 Gjenopprettingskonsepter 22.1.1 Recovery outline and categorization of recovery
DetaljerOppgaver til INF 5110, kapittel 4, med svarforslag Gjennomgått torsdag 14. febr Disse foilene er justert 15/2, kl. 11
Oppgaver til INF 5110, kapittel 4, med svarforslag Gjennomgått torsdag 14. febr. 2008. Disse foilene er justert 15/2, kl. 11 Oppgave 1 (Mye repetisjon): Gitt gram.: exp exp op exp (exp) num op + - * /
DetaljerTransaksjonshåndtering Del 2
UNIVERSITETET I OSLO Transaksjonshåndtering Del 2 Ragnar Normann Noen figurer er basert på en original laget av Hector Garcia-Molina INF3100 3.5.2005 Ragnar Normann 1 En ny type serialiseringsprotokoll
DetaljerTilstandsmaskiner 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
DetaljerForklaring til programmet AbstraktKontoTest.java med tilhørende filer Konto.java, KredittKonto.java, SpareKonto.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 Forklaring til programmet AbstraktKontoTest.java med tilhørende
DetaljerIsolasjon i postgres og mysql
Isolasjon i postgres og mysql Evgenij Thorstensen V19 Evgenij Thorstensen Isolasjon i postgres og mysql V19 1 / 20 Isolasjonsnivåer Read uncommitted Read committed Repeatable read Serializable SELECT...
DetaljerDBS20 - Introduksjon til transaksjonsprosessering og teori
Side 1 for Databaser DBS20 - Introduksjon til transaksjonsprosessering og teori søndag 29. mai 2016 21.15 Pensum: 20.1-20-6, side 745-776, untatt 2.5.4 og 2.5.5 20.1 Introduksjon til transaksjonsprosessering
DetaljerLøsningsforslag for Eksamensoppgave i TDT4190 Distribuerte systemer
Institutt for datateknikk og informasjonsvitenskap Løsningsforslag for Eksamensoppgave i TDT4190 Distribuerte systemer Faglig kontakt under eksamen: Jon Olav Hauglid Tlf.: 93 80 58 51 Eksamensdato: Onsdag
DetaljerEt større programeksempel. Hvordan løse et reelt problem med en objektorientert fremgangsmåte
Et større programeksempel Hvordan løse et reelt problem med en objektorientert fremgangsmåte Plan for forelesingen Beskrive en større problemstilling Planlegge programmet Skrive koden, én klasse om gangen
DetaljerLøsningsforslag for Eksamen i TDT4190 Distribuerte systemer. Onsdag 23. mai 2012 9.00 13.00
NTNU Norges teknisk-naturvitenskapelige universitet BOKMÅL Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap Sensurfrist: 13. juni 2012
DetaljerOppgaver til INF 5110, kapittel 4, med svarforslag Gjennomgås tirsdag 21. febr. 2012
Oppgaver til INF 5110, kapittel 4, med svarforslag Gjennomgås tirsdag 21. febr. 2012 Oppgave 1: Sjekk om grammatikken S ( S ) S ε er LL(1) Oppgave 2: Gitt gram.: exp exp + exp (exp) if exp then exp else
DetaljerVisma Reconciliation NYHETER OG FORBEDRINGER
Visma Reconciliation 11.0.0.0 NYHETER OG FORBEDRINGER Oslo, mai 2016 1. opplag All informasjon i denne dokumentasjonen vil kunne forandres uten varsel og representerer ikke en forpliktelse fra produsenten.
DetaljerTransaksjonshåndtering Del 2
UNIVERSITETET I OSLO Transaksjonshåndtering Del 2 Institutt for Informatikk INF3100 14.3.2014 Ellen Munthe-Kaas 1 En ny type serialiseringsprotokoll Hittil har vi bare sett på 2PL-baserte protokoller Alle
DetaljerMål. Pensum. TDT4110 Informasjonsteknologi grunnkurs: Tema: Et større case. Terje Rydland - IDI/NTNU. Lære å lage større og sammensatte programmer
1 Kunnskap for en bedre verden TDT4110 Informasjonsteknologi grunnkurs: Tema: Et større case Terje Rydland - IDI/NTNU 2 Læringsmål og pensum Mål Lære å lage større og sammensatte programmer Pensum Kapitlene
Detaljerklassen Vin må få en ny variabel Vin neste alle personvariable (personpekere) i listeklassen må byttes til Vin
INF1010 forelesning Lenkelister II Dette skrivet inneholder en oversikt over det jeg planlegger å forelese på andre forlesning om lenkelister. Det inneholder stort sett programeksempler med kommentarer
DetaljerObligatorisk oppgave 1 INF1020 h2005
Obligatorisk oppgave 1 INF1020 h2005 Frist: fredag 7. oktober Oppgaven skal løses individuelt, og må være godkjent for å kunne gå opp til eksamen. Før innlevering må retningslinjene Krav til innleverte
DetaljerCORBA Component Model (CCM)
CORBA Component Model (CCM) INF5040 Høst 2005 Erlend Birkedal Jan Erik Johnsen Tore Ottersen Løkkeberg Denne presentasjonen CORBA Svakheter ved CORBA Object Model Komponenter CORBA Component Model Hva
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Side 1 Det matematisk-naturvitenskapelige fakultet Eksamen i: INF1010 Objektorientert programmering Eksamensdag: Tirsdag 12. juni 2012 Tid for eksamen: 9:00 15:00 Oppgavesettet er
DetaljerINF1300 Introduksjon til databaser
UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: ORM og normalisering Denormalisering og splitting Transaksjonshåndtering INF1300 17.11.2010 Ellen Munthe-Kaas 1 ORM og normalisering
DetaljerUse case modellen. Use case modellering i analysefasen. Hva er en Aktør? Hva er et Use case? Use case modellering. Eksempel
Use case modellen Use case modellering i analysefasen Metode for å identifisere og beskrive de funksjonelle kravene til et system Kapittel 3 i UML Distilled Kirsten Ribu beskriver kravene til systemet,
DetaljerAnatomien til en kompilator - I
Anatomien til en kompilator - I program Symboltabell tekst tokens syntaks-tre beriket syntaks-tre Finne struktur i programmet OK i henhold til grammatikk? Preprocessor Makroer Betinget kompilering Filer
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
DetaljerSensorveiledning eksamen ttk
Sensorveiledning eksamen ttk4145-04. Dette er slik jeg ville svart på oppgavene (vel, noe kort, kanskje :-) Det kan være at studentene kan svare på andre måter som fortjener uttelling, og det er godt mulig
DetaljerTransaksjonshåndtering Del 2
UNIVERSITETET I OSLO Transaksjonshåndtering Del 2 Ragnar Normann Noen figurer er basert på en original laget av Hector Garcia-Molina INF3100 10.3.2008 Ellen Munthe-Kaas 1 En ny type serialiseringsprotokoll
DetaljerBasis interoperabilitetstest - ebxml
Basis interoperabilitetstest - ebxml Testversjon: 1.0 2 Basis interoperabilitetstest - ebxml Innholdsfortegnelse 1. Revisjonshistorikk... 3 2. Basis interoperabilitetstest - ebxml... 4 Hvordan gjennomføre
DetaljerKap. 5, Del 2: INF / (og 2/3 og 3/3)
Kap. 5, Del 2: SLR(1), LR(1)- og LALR(1)-grammatikker INF5110 23/2-2010 (og 2/3 og 3/3) Løsningsforslag s til oppgaver til kap 4 ligger bakerst her Oblig 1 legges ut i løpet av uka Stein Krogdahl, Ifi,
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
DetaljerUse case modellen. Use case modellering i analysefasen. Hva er en Aktør? Hva er et Use case?
1/15/2004 1 Use case modellen Use case modellering i analysefasen Metode for å identifisere og beskrive de funksjonelle kravene til et system Kapittel 3 i UML Distilled Kapittel 8 i Gurholt og Hasle Kirsten
DetaljerRepetisjon: Binære. Dagens plan: Rød-svarte trær. Oppgave (N + 1)!
Repetisjon: Binære søketrær Dagens plan: Rød-svarte trær (kap. 12.2) B-trær (kap. 4.7) bstrakte datatyper (kap. 3.1) takker (kap. 3.3) For enhver node i et binært søketre gjelder: lle verdiene i venstre
DetaljerUKE 13 Mer UML modellering. Gruppetime INF1055 Julie Hagen Nilsen & Maria Stolinski
UKE 13 Mer UML modellering Gruppetime INF1055 Julie Hagen Nilsen & Maria Stolinski Hva skal vi i dag? Objektorientert design - kapittel 5 og 7 UML modellering Aktivitetsdiagrammer Klassediagram Ukesoppgaver
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
DetaljerBinære trær: Noen algoritmer og anvendelser
Binære trær: Noen algoritmer og anvendelser Algoritmer / anvendelser: Søking i usortert binært tre Telling av antall noder og nivåer i treet Traversering av binære trær Binære uttrykkstrær Kunstig intelligens(?):
DetaljerUse Case Modeller. Administrator og standardbruker
Vedlegg 1 Use Case Modeller Administrator og standardbruker 2 Use case Logge inn Bruker Bruker ønsker å logge inn Bruker har valgt å logge inn Bruker er logget inn 1. Systemet ber om brukernavn 2. Systemet
DetaljerFakultet for informasjonsteknologi, Løsning på kontinuasjon i TDT4190 Distribuerte systemer Onsdag 4. august 2004, 0900 1300
Side 1 av 9 NTNU Norges teknisk naturvitenskapelige universitet Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap Løsning på kontinuasjon
DetaljerHva er verdien til variabelen j etter at følgende kode er utført? int i, j; i = 5; j = 10; while ( i < j ) { i = i + 2; j = j - 1; }
Hva er verdien til variabelen j etter at følgende kode er utført? int i, j; i = 5; j = 10; while ( i < j ) { i = i + 2; j = j - 1; Hva skrives ut på skjermen når følgende kode utføres? int [] tallene =
DetaljerKap. 5, Del 2: SLR(1), LR(1)- og LALR(1)-grammatikker INF /2-2011
Kap. 5, Del 2: SLR(1), LR(1)- og LALR(1)-grammatikker INF5110 22/2-2011 Stein Krogdahl, Ifi, UiO Oppgaver til kap 4: På slutten av dagens foiler ligger noen oppgaver med svarforslag. Disse vil bli forholdsvis
Detaljerprogrameksempel Et større En større problemstilling Plan for forelesingen Problemstillingen (en tekstfil) inneholdt ordet "TGA"
Et større programeksempel Hvordan løse et reelt problem med en objektorientert fremgangsmåte En større problemstilling I uke 4 skrev vi et program for å sjekke om et gen (en tekstfil) inneholdt ordet "TGA"
DetaljerINF1010 notat: Binærsøking og quicksort
INF1010 notat: Binærsøking og quicksort Ragnhild Kobro Runde Februar 2004 I dette notatet skal vi ta for oss ytterligere to eksempler der rekursjon har en naturlig anvendelse, nemlig binærsøking og quicksort.
Detaljer(MVC - Model, View, Control)
INF1010 - våren 2008 Modell - Utsyn - Kontroll (MVC - Model, View, Control) Stein Gjessing Inst. for informatikk Et bankprogram Vi skal lage et program som håndterer kontoene i en bank. En konto eies av
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF3100 Databasesystemer Eksamensdag: 11. juni 2013 Tid for eksamen: 9.00 13.00 Oppgavesettet er på 6 sider. Vedlegg: ingen Tillatte
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)
DetaljerTirsdag 21/11. Onsdag 24/11. Tirsdag 12/12. TDT4110 Informasjonsteknologi grunnkurs: Tema: Et større case
1 Kunnskap for en bedre verden TDT4110 Informasjonsteknologi grunnkurs: Tema: Et større case Terje Rydland - IDI/NTNU 2 Fram mot eksamen Tirsdag 21/11 Repetisjon. Send inn behov/ønsker til : terjery@idi.ntnu.no
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
DetaljerTransaksjonshåndtering og samtidighetskontroll
UNIVERSITETET I OSLO Transaksjonshåndtering og samtidighetskontroll Ragnar Normann Mange lysark er basert på en original laget av Hector Garcia-Molina INF3100 26.4.2005 Ragnar Normann 1 Transaksjoner En
DetaljerDette er et lite notat der jeg forsøker å beskrive hvordan innblandinger kan implementeres og visualiseres i MUSIT sine databaser og applikasjoner.
OM INNBLANDINGER Stein Olsen, 27. oktober 2013 Dette er et lite notat der jeg forsøker å beskrive hvordan innblandinger kan implementeres og visualiseres i MUSIT sine databaser og applikasjoner. Jeg sier
DetaljerGJØVIK INGENIØRHØGSKOLE
GJØVIK INGENIØRHØGSKOLE Postboks 191-2801 GJØVIK KANDIDATNUMMER: E K S A M E N FAGNAVN: FAGNUMMER: Programmering i C++ / Pascal / C LO154A, LO151A og LO142A EKSAMENSDATO: 7. juni 1994 TID: 09.00-14.00
DetaljerINF1010, 22. mai Prøveeksamen (Eksamen 12. juni 2012) Stein Gjessing Inst. for Informatikk Universitetet i Oslo
INF, 22. mai 23 Prøveeksamen 23 (Eksamen 2. juni 22) Stein Gjessing Inst. for Informatikk Universitetet i Oslo Oppgave a Tegn klassehierarkiet for de 9 produkttypene som er beskrevet over. Inkluder også
DetaljerInformasjon Eksamen i IN1000 og IN1001 høsten a) 1 poeng. 1b) 1 poeng. Tid. Oppgavene. Tillatte hjelpemidler. 30. november kl. 14.
IN1000-INF1001-2018 Informasjon Eksamen i IN1000 og IN1001 høsten 2018 Tid 30. november kl. 14.30 (4 timer) Faglærere vil besøke lokalet ca kl 15-16. Oppgavene Oppgave 1a-f er kortsvarsoppgaver som rettes
DetaljerTransaksjonshåndtering og samtidighetskontroll
UNIVERSITETET I OSLO Transaksjonshåndtering og samtidighetskontroll Institutt for Informatikk INF3100 7.3.2016 Ellen Munthe-Kaas 1 Transaksjoner En transaksjon er en sekvens av operasjoner som bevarer
DetaljerDebugging. Tore Berg Hansen, TISIP
Debugging Tore Berg Hansen, TISIP Innhold Innledning... 1 Å kompilere og bygge et program for debugging... 1 Når debugger er i gang... 2 Symbolene i verktøylinjen... 3 Start på nytt... 3 Stopp debugging...
Detaljer2. Beskrivelse av installasjon av SQL Server 2005 og hvordan lage databasen som trengs av administrasjonsprogrammet:
Workaround for DFS Administrasjonssystem og Windows Vista NB! Dette er IKKE en installasjon av systemet, men en måte for å få det til å virke på Windows Vista. Denne veiledningen er laget for litt avanserte
DetaljerZFS. Solaris og ZFS som ny hjemmekatalogløsning for ansatte og studenter ved UiB
ZFS Solaris og ZFS som ny hjemmekatalogløsning for ansatte og studenter ved UiB Hva er ZFS? ZFS (Zettabyte filesystem) er utviklet fra grunnen med en del helt radikale endringer i forhold til eksisterende
DetaljerKap. 4 del I Top Down Parsering INF5110 v2006. Stein Krogdahl Ifi, UiO
Kap. 4 del I Top Down Parsering INF5110 v2006 Stein Krogdahl Ifi, UiO 1 Innhold First og Follow-mengder Boka ser på én parseringsmetode først, uten å se på First/Follow-mengder. Vi tar teorien først To
DetaljerFeilsøking i BO. Olav Syse, konsulent. Jan Terje Hansen, service manager. Be business intelligent
Feilsøking i BO Olav Syse, konsulent Jan Terje Hansen, service manager Hovedfokus: Business Intelligence 900 ansatte i Norge, Sverige, Danmark, Finland, Estland, Latvia, Litauen og Polen 135 ansatte i
Detaljer4.1. Kravspesifikasjon
4.1. Kravspesifikasjon Dette delkapittelet beskriver nærgående alle deler av systemet, hvordan det er tenkt ferdigutviklet med fokus på oppdragsgivers ønsker. 4.1.1. Innledning Informasjon om hvordan kravspesifikasjonens
DetaljerKjenner du alle funksjonene på tastaturet?
Kjenner du alle funksjonene på tastaturet? Guide: Tastaturet Av Bjørn André Hagen 30. Januar 2008 17:45 Kilde: Tastatur layout Et tastatur har mange knapper man ikke bruker hver dag, vi skal prøve å forklare
DetaljerEventhandler Teknologi, kunst og design Høgskolen i Oslo og Akershus, våren 2013. Testrapport
Eventhandler Teknologi, kunst og design Høgskolen i Oslo og Akershus, våren 2013 Testrapport 1 INNHOLDSFORTEGNELSE 1 INNHOLDSFORTEGNELSE... 1 2 Innledning... 2 3 Formål med testing... 3 3.1 Funksjonalitet...
DetaljerCompello Fakturagodkjenning 10.5 Dokument Import - Hva er nytt?
Compello Fakturagodkjenning 10.5 Dokument Import Hva er nytt? Dokumentopplysninger 2018 Compello AS. Med enerett. Microsoft, MSDOS og Windows er registrerte varemerker for Microsoft Corporation. Microsoft
DetaljerImplementering av caching ved hjelp av Spring. Christian Vestøl 27.04.06
Implementering av caching ved hjelp av Spring Christian Vestøl 27.04.06 Agenda Kort introduksjon til Spring med Spring Praktiske eksempler Forskjellige rammeverk for caching April 2006 2 Kort om Spring
DetaljerUNIVERSITETET I OSLO
Bokmål UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i: INF1000 Grunnkurs i objektorientert programmering Eksamensdag: Torsdag 4. desember 2014 Tid for eksamen: 14.30 (4 timer)
DetaljerFra Python til Java, del 2
Fra Python til Java, del 2 Hvordan kjøre Java? På Ifis maskiner På egen maskin Et eksempel Array-er For-setninger Lesing og skriving Metoder Biblioteket Hva trenger vi egentlig? Å kjøre Java For å kunne
DetaljerOptimalJ-kurs UIO Oppsummering av kurset. De ulike modellene egenskaper og formål
OptimalJ-kurs UIO 2004 Agenda Time 1: Oppsummering av kurset Time 2: De ulike modellene egenskaper og formål Team Development med OptimalJ Domain Patterns Egenutviklede transformasjoner (krever Architect
Detaljer