LØSNINGSFORSLAG. EKSAMEN I Sanntidssystemer Fagkode: STE6221

Størrelse: px
Begynne med side:

Download "LØSNINGSFORSLAG. EKSAMEN I Sanntidssystemer Fagkode: STE6221"

Transkript

1 Side 1 av 3 HØGSKOLEN I NARVIK Institutt for data-, elektronikk- og romteknologi LØSNINGSFORSLAG EKSAMEN I Sanntidssystemer Fagkode: STE

2 Side 2 av 3 Oppgave 1 (15%) a) Forklar hvordan sanntidssystemer kan kategoriseres, og gi eksempler på systemer innenfor hver kategori. Løsning: Sanntidssystemer kan kategoriseres etter kritiskhet og hastighet: Harde sanntidsystemer: Resultatet må, i tillegg til å være korrekt, produseres innen en gitt tid ellers vil systemet feile. Systemet må altså tilfredstille absolutte tidskrav, og overskridelse av disse kravene kan gi fatale følger. Myke sanntidssystemer: System der variasjon i respons er akseptabel (applikasjonsavhengig). Tidskrav har gjerne anbefalt øvre grense, men overskridelse får ikke fatale følger. Raske sanntidssystemer: System der responstiden ligger under ett sekund. Trege sanntidssystemer: System der responstiden ligger over ett sekund. Grensen mellom responstid i trege og raske systemer er satt til ett sekund, da problemer i systemet vanligvis endres fra individuelle beregningsproblemer til generelle systemproblemer rundt denne tiden. Raske/harde sanntidssystem: Magnetisk levitasjonssystem for tog Fuel tank protection system teppelegging av gass som følge av flammedeteksjon Raske/myke sanntidssystem: 3D CAD-system TV fjernkontroll Trege/harde sanntidssystem: Patriot missil styresystem Preprogrammering av videoopptak Trege/myke sanntidssystem: Klimakontrollsystem i bil Dokumentprinting på nettverksprinter b) Driftssikker programvare kan sies å være korrekt, pålitelig og sikker. Definer hva som menes med disse begrepene. Løsning: Korrekt programvare: The Dictionary of Computing definerer korrekthet som the static property that a program is consistent with its specification. Med andre ord, dersom vi sjekker koden mot spesifikasjonen, så gjør den nøyaktig det den skal gjøre.

3 Side 3 av 3 Pålitelig programvare: IEEE definisjonen av programvare pålitelighet er the extent to which a program can be expected to perform its intended function with required precision. Det definerer altså hvor bra et program utfører den ønskede oppgaven på forespørsel. Sikker programvare: Har egenskapen at ingenting galt skjer ved feil. Gjelder primært konsekvens av feil. c) I relasjon til spørsmålet over, vil Korrekt programvare alltid være pålitelig? Pålitelig programvare alltid være korrekt? Begrunn svaret. Løsning: Korrekt programvare trenger ikke å være pålitelig, da en feil i spesifikasjon som er implementert i programvaren (og følgelig gjør programvaren korrekt) kan medføre at systemet ikke gir den ønskede respons. Patriot missile system i Gulf-krigen: Brukte 24-bits aritmetikk som ga avrundingsfeil i sanntids beregning. Systemet fungerte perfekt ved testing. Etter 100 timers bruk hadde avrundingsfeil bidratt til en feil på rundt 700 meter i radargenerert range-gate (skillelinje for hvor nærme innkommende missiler ble fanget opp) Pålitelig programvare trenger ikke å være korrekt, da for eksempel elementer i spesifikasjonen som ikke implementeres i koden (og følgelig gjør koden ikke korrekt) kan være overflødige. Systemet kan fremdeles fungere som forventet, og følgelig være pålitelig. Et annet eksempel er at styresystemer som ikke er implementert med ønsket nøyaktighet i henhold til spesifikasjon fremdeles kan være pålitelig dersom feil er små. Et missilstyringsprogram inkluderte exception handling på enkelte fysiske input. Pga kodefeil ble ikke alle fysiske input inkludert. SW fungerte allikevel perfekt i mange år, fordi feil aldri oppstod Oppgave 2 (35%) a) Hva er de ønskede egenskaper i et sanntids operativsystem (RTOS) i forhold til andre operativsystem? Løsning: Ønskede egenskaper ved operativsystemer kan oppsummeres som: Mulighet for multitasking Kjøring av aktiviteter (tasks) i parallell Tilgang til systemets ressurser Abstrahering av aktiviteter Gjennomstrømning (throughput) I et RTOS er de ønskede egenskaper:

4 Side 4 av 3 Predikerbarhet og ytelse Pålitelighet Scheduling Deling av ressurser mutual exclusion Synkronisering og kommunikasjon I et RTOS er vi mer opptatt av predikerbarhet enn gjennomstrømning. Dersom programvaren skal være driftssikker, må vi vite at de aktivitetene som skal kjøres, kjøres til rett tid. Et superraskt system er greit nok, men vi må kunne forutsi at det takler de tidskrav som foreligger. b) Forklar hva som menes med tidsdeling (scheduling) i sanntidssystemer og gi en beskrivelse av algoritmen for cyclic scheduling. Løsning: Scheduling i sanntidssystemer går ut på hvordan CPU skal tilordnes til de forskjellige aktiviteter slik at disse får utført sine oppgaver uten å overskride tidskrav. Cyclic cheduling: Aktiviteter som ønsker å kjøre legges i en FIFO-kø, og kjøres etter tur. Hver aktivitet får kjøre til den er ferdig med sin oppgave. Dersom denne etter kjøring ønsker å kjøre på nytt, legges den bakerst i køen. Nye aktiviteter som kommer inn, legges også bakerst i køen. Ulemper med cyclic sheduling: Dersom en aktivitet låses, låses hele systemet Lange aktiviteter svekker ytelse Nye aktiviteter som ønsker å kjøre kan få lang responstid c) Relatert til oppgaven over, forklar begrepene time slice og prioritet på aktiviteter, og hvordan disse elementene kan inkluderes i cyclic scheduling. Hvilke fordeler og ulemper medfører disse elementene? Løsning: Time slice: inndeling av CPU-tid i faste tidsintervall. Relatert til cyclic sheduling, vil aktiviteter fremdeles kjøres etter tur fra en FIFO-kø, men hver aktivitet får nå tildelt en fast tid for kjøring, før de legges bakerst i køen. Aktiviteter kan mao avbrytes selv om de ikke er ferdige med sin oppgave. Dette er også kjent som pre-emptive scheduling. Fordelene med dette er at responstiden for aktiviteter øker (de får starte tidligere med sin kjøring), og vi får en bedre deling av ressurser. Ulempen er at avbryting av aktiviteter krever context switch (save og restore av all informasjon vedrørende aktiviteter), noe som forbruker prosessortid. Valg av time slice vil i de fleste tilfeller være systemavhengig: Kort time slice: Lav responstid, og tilnærmet parallell kjøring, men hyppig bytting av aktiviteter vil ta mye prosessortid. Lang time slice: Prosessortid benyttes sjelden for bytting mellom aktiviteter, men responstiden vil bli høyere, og det kan medføre mye dødtid for prosessor (dersom en aktivitet er ferdig etter

5 Side 5 av 3 en liten andel av time slice, vil prosessor stå å vente på neste time slice før neste aktivitet kjører). Prioritet: Noen aktiviteter vil i de fleste tilfeller være viktige enn andre, og setting av prioritet på oppgaver vil gjøre det mulig å la de viktigste aktivitetene ha fortrinnsrett på prosessor. Køen av aktiviteter som ønsker å kjøre kan tilordnes etter prioriteter, slik at aktiviteter med høy prioritet kan flyttes lengre frem i køen, i stedet for å stille seg bakerst. Fordelen med prioritet er at viktige aktiviteter vil få lavere responstid, samt at det øker fleksibiliteten i systemet. Ulempene er at vi får mer kompleks kjøring i systemet, og det kan bidra til mer bytting av aktiviteter. Det kan ogsp medføre utsulting av aktiviteter med lav prioritet. d) Forklar hva en semafor er, og hvordan dette kan benyttes for å oppnå gjensidig utelukking (mutual exclusion). Løsning: Ved deling av ressurser er det ønskelig å benytte en metode som gjør det mulig for en aktivitet å melde fra til andre aktiviteter om at den ressursen som denne benytter er opptatt (gjensidig utelukking). For å gjøre dette, trengs et objekt som kan sjekke og sette tilstand i en udelt operasjon. Et slikt objekt kalles en semafor. En semafor kan tilordnes hver ressurs som ønskes å deles mellom aktiviteter, og en aktivitet må ta semaforen før ressursen benyttes. Dersom semaforen er ledig, kan aktiviteten fritt benyttes ressursen. Dersom semaforen er opptatt, vil RTOS suspendere aktiviteten, og så vekke opp aktiviteten igjen når semaforen blir ledig. Dersom flere aktiviteter vil ta en opptatt semafor, kan disse legges i en kø (FIFO eller prioritetsstyrt). Binære semaforer er semaforer som bare kan være ledig eller opptatt, og fungerer som beskrevet over. Det finnes også tellende (counting) semaforer, som kan tilordnes flere verdier. Disse kan for eksempel benyttes der det er tilgjengelig flere ressurser av samme type. e) Hva menes med deadlock, og hvilke betingelser må være oppfylt for at deadlock skal oppstå? Gi tre alternative metoder som kan benyttes for å sikre seg mot at deadlock oppstår (deadlock prevention). Løsning: Deadlock er en situasjon som kan oppstå når to eller flere aktiviteter ønsker to eller flere ressurser samtidig. Eksempel: Aktivitet A1 trenger ressurser R1 og R2, og tar først semafor S1. Før A1 rekker å ta S2 blir den avbrutt av A2, som også trenger begge ressurser. A2 tar først semafor S2, men får ikke tilgang til S1, fordi denne er tatt av A1. Denne blir suspendert, og A1 forsøker å ta S2, som er opptatt. Deadlock medfører mao at ingen aktiviteter får kjøre fordi alle venter på en ressurs som en annen aktivitet holder. Følgende betingelser må alle være oppfylt for at deadlock skal oppstå: Mutual exclusion: aktiviteter har eksklusiv rett til ressurser, og kan utestenge andre aktiviteter

6 Side 6 av 3 Hold and wait: En aktivitet kan holde en ressurs mens den venter på en annen Circular waiting: Det foreligger en sirkulær avhengighet av aktiviteter og ressurser No resource pre-emption: En aktivitet frigir ikke ressurser før den er ferdig å benytte de Non-recovery: Når deadlock inntreffer, varer det evig Deadlock prevention - Sørge for at deadlock ikke kan oppstå Design basert på ressursbruk Unngå flaskehalser og konfliktområder Metoder: Tillat deling av ressurser ingen mutual exclusion o Kølappsystem med ressurshåndterer o Hver aktivitet må trekke kølapp før bruk av ressurs Tillat resource pre-emption o En aktivitet kan ta en ressurs fra en suspendert aktivitet (styrt av RTOS) o Typisk lesing av data fra lager, I/O etc (Skriving ikke tillatt) o Krever ressurshåndtering som gir overhead i tid Styring av ressursallokering o Begrens antallet ressurser som en aktivitet benytter samtidig o Minimaliser tiden en ressurs benyttes Hold and wait prevention o Ta alle ressurser samtidig uten venting o Dersom en ressurs er opptatt når en aktivitet trenger den, frigjøres alle andre ressurser som aktivitet har før den suspenderes o Kan gi ytelsesproblem, og er ikke predikerbart Circular wait prevention o Definert rekkefølge av ressursallokering (ressurser får tildelt en verdi) o Alle aktiviteter følger samme rekkefølge ved allokering (f eks stigende rekkefølge) Disable interrupt ved benyttelse av delte ressurser o Medfører ingen context switch enkelt, billig, lett å implementere o Skummelt å disable interrupt bør minimaliseres f) Forklar hva som menes med prioritetsinversjon (priority inversion). Hvilken mekanisme kan benyttes for å løse slike problem? Løsning: Prioritetsinversjon oppstår når flere oppgaver kjører samtidig, og en oppgave med høy prioritet blokkeres av en oppgave med lavere prioritet, slik at andre oppgaver med mellomliggende prioritet kan kjøre.

7 Side 7 av 3 Løsningen på prioritetsinversjon er prioritetsarv, som innebærer at oppgaven med lav prioritet arver prioriteten til oppgaven den blokkerer for. g) Hva er rate monotonic scheduling (RMS), og hvilke antakelser er denne metoden bygget på? Gi også en beskrivelse av hvordan metoden kan utbedres for system med aperiodiske aktiviteter. Løsning: RMS er en algoritme for scheduling som baseres på aktiviteters periodetid. Prioritet tildeles etter prinsippet om at aktiviteter som kjører ofte (lav periodetid) får høy prioritet. Antakelser for RMS: Periodiske aktiviteter Deadline er det samme som periode for alle aktiviteter Aktiviteter kan avbrytes (pre-emption) Alle aktiviteter er like viktige Alle aktivitetene er uavhengige Worst-case eksekveringstid for en aktivitet er konstant Svakheten ved RM ligger i disse antakelsene, som sjelden kan sies å være realistiske. Dersom allikevel alle aktiviteter i systemet tilfredstiller antakelsene ovenfor, vil RMS garantere at alle n aktiviteter overholder sine tidskrav dersom utnyttelsesgraden U (Andel av tilgjengelig prosessortid som benyttes til eksekvering av aktiviteter) i systemet er slik at U n Tei n = n der U T i= 1 pi når n Til sensor: Det kreves ikke at studentene kan denne formelen i detalj, det er tilstrekkelig at de vet prinsippet med algoritmen og antakelser som ligger til grunn, og at det er mulig å bestemme matematisk om tidskrav overholdes eller ikke. Dersom det eksisterer aperiodiske aktiviteter i systemet, kan disse inkluderes i algoritmen ved å anta disse periodisk, og sette av en definert periode i kjøreplanen for å håndtere disse når de forekommer. Oppgave 3 (20%) a) Hva er nytten av å bruke diagrammetoder i designfasen av et prosjekt, og hva er de grunnleggende kvalitetene i diagram? Løsning: Den hovedsaklige årsaken for å benytte diagram er at et bilde sier mer enn tusen, altså vil dokumenter som utarbeides under et prosjekts oppstart, utvikling og avslutting, bli mer forståelige og gi et bedre bilde av det som skal forklares. Å benytte diagrammetoder i designfasen av et prosjekt, vil: Bidra til god forståelse av systemet

8 Side 8 av 3 Gjøre designdokumenter formelle og strukturerte Fjerne tvetydighet og tvil Gjøre det lettere å revidere og analysere design Synliggjøre ulogisk design og feil Grunnleggende kvaliteter ved diagram: Små Enkle og forståelige Komplett Benytter konkrete symboler Formelt definert b) Gi en beskrivelse av de grunnleggende elementene i et use case diagram, og forklar hva som er hensikten med slike diagram. Løsning: Hensikten med et use case er å illustrere hvorfor systemet benyttes og hvem som benytter det. Et use case kan bestå av aktører (actors), use case er og use case beskrivelser. Hvert system har sin egen modell, der aktører presenterer brukeres roller. Hvorfor disse aktørene benytter systemet er vist som et sett av use case er inni systemets ytre grense (boundary). Dette støttes opp av use case beskrivelser. Use Case 1 Text for use case 1 Use Case 2 Text for use case 2 Use Case 3 Text for use case 3 Actors Use cases Use case descriptions Navigator Vehicle navigation system Driver Get navigation waypoints c) Beskriv oppbygning av og hensikten med et UML sekvensdiagram (sequence diagram).

9 Side 9 av 3 Løsning: Den fundamentale hensikten med et UML sekvensdiagram er å vise samhandlinger mellom objekter over tid. Det grunnleggende konseptet for et system med to objekter er vist i figuren under. Det illustrerer: Hvilke meldinger som sendes. Når meldinger sendes. Hvem sender og mottaker er. Tidsforløp mellom sending og mottak. Time Object 1 Object 2 T 0 Processing Processing T 1 T 2 T 3 T 4 Send message Processing Message arrival and detection Processing Message arrival and detection Send acknowledgement Processing De vertikale linjene kalles livslinjer (lifelines) i UML. Andre aspekter ved semantikk i UML sekvensdiagram er: Focus of control: Tidsperioden som et objekt benytter for å utføre en aksjon. Dette representeres ved å vise livslinjen som et høyt, tynt rektangel mens aksjonen utføres. Ellers er livslinjen tegnet som stiplet linje. Melding eller stimuli: UML definerer kommunikasjonen mellom objekter som en stimuli, vist som en horisontal pil mellom livslinjer. Oppgave 4 (20%) a) Hvilke to grunnleggende metoder har vi for testing av kvalitet og oppførsel i programvare? Løsning: Statisk testing (test av kvalitet): Manuell eller automatisert analyse av kode for å finne feil Sjekk av kode mot designmodeller og kodestandarder

10 Side 10 av 3 Dynamisk testing (test av oppførsel): Kjøring av programvare etter spesifiserte retningslinjer for test Måling av ytelse Testing av målte resultater mot forventede resultater b) Beskriv prinsippet med programvarebasert debugging på målmaskin (target), og angi fordeler og ulemper med denne metoden. Løsning: For å gjennomføre programvarebasert debugging på target, trengs følgende fasiliteter (se figur under): GUI interface Macroprocessor Compiler Symbol table Source program Host Debugger and execution control interface Target Execution monitor Application software Prinsippet er at systemet kjøres på target i sitt virkelige miljø, mens debugging styres fra utviklingsmaskin (host). Programvaren for debugging av to ting, et grensesnitt for debugging og en eksekveringsmonitor. Grensesnittet ligger på host mens monitoren plasseres på target. Ekstra programvare trengs for kommunikasjon mellom disse. Dette består av kommunikasjonsfasiliteter på host og target. Kommunikasjon foregår vanligvis over serielle linjer, typisk RS232 eller Ethernet (på PC som host benyttes også ofte parallellporter). Programvarebasert debugging på target gjør det mulig å se hvordan systemet vil oppføre seg i sitt virkelige miljø, og det er mulig å analysere ytelse og identifisere feil som kan være vanskelig å oppdage dersom programvaren kjøres i en simulator på host. I tillegg vil oppsettet som er beskrevet her ha andre fordeler. For det første ligger all symbolinformasjon på host, selv om debugging gjøres på target. Dette gjør det mulig å tilby kraftige brukergrensesnitt med minimale krav til minne på target. En target run-time support pakke tar typisk noen få kilobyte kode. For det andre kan kjøring lagres på disk på host for senere analyser, og skrives ut. Den siste fordelen er at det eneste

11 Side 11 av 3 periferiutstyr som trengs på target er seriell kommunikasjon, alle andre kan fritt benyttes av applikasjonen. Ulempene med programvarebasert debugging på target er at vi forstyrrer systemets normale kjøring gjennom styring av eksekvering (stepping, breakpoints osv) og monitorering. Følgelig vil ikke systemet kjøre på samme måte under debugging som ved normal kjøring. Andre ulemper er at maskinvaren i systemet må fungere feilfritt, og det kan være vanskelig å håndtere asynkrone interrupts. En siste ulempe er at programvaren som ligger på target er plassert i RAM, uten noe fysisk skille fra systemet. Dette kan medføre minneproblematikk og interferens mellom debugger og system, i tillegg til at den tar opp plass. c) Forklar hvordan en software trace debugger fungerer. Løsning: Software trace debugging er i prinsippet å debugge kode på target ved å sammenligne kildekoden på host med en trace av koden som eksekveres, som i figuren under. Logic analyzer Address, control, data Target Object code Disassembler Symbol database Compiler Software analyzer Host machine En logikkanalysator benyttes som å samle informasjon i sann tid fra target. Dette disassembles og sendes til en programvareanalysator, der det sammenlignes med informasjonen i symbolfiler eller en database av kilden. Når traceinformasjonen er lagret, kan den vises i det samme programmeringsspråket som benyttes for kildekoden. En komplett nedtegning kan steppes gjennom for å finne ut nøyaktig hva som skjedde på target ved gitte tidspunkt. Oppgave 5 (10%) a) Hvilke to hovedkategorier for sikkerhetskritiske systemer finnes? Forklar forskjellen mellom disse to kategoriene, og gi eksempler på systemer i hver kategori. Løsning: Sikkerhetskritiske (Safety-critical) system: Feil på systemet medfører alvorlig skade eller dødsfall. Fly-by-wire, aero engine control systems, aircraft autoland systems, airbag systems

12 Side 12 av 3 Oppgavekritiske (Mission-critical) system: Feil på systemet medfører at planlagte operasjoner ikke kan gjennomføres. Search radar, telecommunication switches, online money transaction systems b) Forklar begrepene Backward error recovery (rollback) og N-version programming i forbindelse med håndtering av feil i en applikasjon under kjøring. Beskriv fordeler og ulemper med disse to metodene. Løsning: Backward error recovery: Kode består av et sjekkpunkt, primærkode, alternative koder og en akseptansetest. System data holdes i sjekkpunkt mens primærkode utføres. Dersom resultat ikke godkjennes av akseptansetest, kjøres alternativ kode 1. Dersom resultatet av denne ikke godkjennes kjøres alternativ kode 2. Dersom ingen godtaes, sendes en feilmelding Fordelen med metoden er at feil i koden kan detekteres, og denne kan fjernes med å kjøre alternative algoritmer. Ulempene er at dersom alle alternative algoritmer gjennomføres med feil resultat, stopper applikasjonen opp inntil ekstern recovery gjennomføres. I tillegg kan eksekveringstider variere mellom hver kjøring, noe som kan medføre problemer med ytelse. Det kan også være vanskelig å konstruere akseptansetest, da dette krever god kjennskap til systemet. N-version programming: Benytter N versjoner av en algoritme Output sjekkes av en voter, som sammenligner resultater, og sender ut det som flest (normalt N-1) mener er riktig Fordelen med denne metoden, er at vi har ingen behov for akseptansetest. Det er uinteressant hva resultatet er, bare flere er enige om det samme resultat. Ulempene er at det tar mye tid å kjøre N versjoner av en algoritme, og at dersom majoriteten av algoritmene kommer ut med feil resultat, så vil dette bli godkjent og sendt videre.

LØSNINGSFORSLAG. EKSAMEN I Sanntidssystemer Fagkode: STE6221

LØSNINGSFORSLAG. EKSAMEN I Sanntidssystemer Fagkode: STE6221 Side 1 av 3 HØGSKOLEN I NARVIK Institutt for data-, elektronikk- og romteknologi LØSNINGSFORSLAG EKSAMEN I Sanntidssystemer Fagkode: STE6221 XX.08.2004 Side 2 av 3 Oppgave 1 (35%) a) Definer hva det vil

Detaljer

STE6221 Sanntidssystemer LØSNINGSFORSLAG TIL EKSAMEN

STE6221 Sanntidssystemer LØSNINGSFORSLAG TIL EKSAMEN HØGSKOLEN I NARVIK Avdeling for teknologi MSc.-studiet EL/RT Side 1 av 3 STE6221 Sanntidssystemer LØSNINGSFORSLAG TIL EKSAMEN Tid: Torsdag 09.03.2006, kl: 09:00-12:00 Tillatte hjelpemidler: Godkjent programmerbar

Detaljer

LØSNINGSFORSLAG TIL EKSAMEN I STE6221 Sanntidssystemer

LØSNINGSFORSLAG TIL EKSAMEN I STE6221 Sanntidssystemer HØGSKOLEN I NARVIK Avdeling for teknologi MSc.-studiet EL/RT LØSNINGSFORSLAG TIL EKSAMEN I STE6221 Sanntidssystemer Tid: Onsdag 16.03.2005, kl: 09:00-12:00 Tillatte hjelpemidler: Godkjent programmerbar

Detaljer

STE6221 Sanntidssystemer Løsningsforslag

STE6221 Sanntidssystemer Løsningsforslag HØGSKOLEN I NARVIK Avdeling for teknologi MSc.-studiet EL/RT Side 1 av 3 STE6221 Sanntidssystemer Løsningsforslag Tid: Fredag 02.03.2007, kl: 09:00-12:00 Tillatte hjelpemidler: Godkjent programmerbar kalkulator,

Detaljer

Scheduling og prosesshåndtering

Scheduling og prosesshåndtering Scheduling og prosesshåndtering Håndtering av prosesser i et OS OS må kontrollere og holde oversikt over alle prosessene som kjører på systemet samtidig Prosesshåndteringen må være: Korrekt Robust Feiltolerant

Detaljer

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.

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. 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

Detaljer

STE6221 Sanntidssystemer Løsningsforslag kontinuasjonseksamen

STE6221 Sanntidssystemer Løsningsforslag kontinuasjonseksamen HØGSKOLEN I NARVIK Avdeling for teknologi MSc.-studiet EL/RT Side 1 av 3 STE6221 Sanntidssystemer Løsningsforslag kontinuasjonseksamen Tid: Mandag 06.08.2007, kl: 09:00-12:00 Tillatte hjelpemidler: Godkjent

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

STE6221 Sanntidssystemer LØSNINGSFORSLAG TIL KONTINUASJONSEKSAMEN

STE6221 Sanntidssystemer LØSNINGSFORSLAG TIL KONTINUASJONSEKSAMEN HØGSKOLEN I NARVIK Avdeling for teknologi MSc.-studiet EL/RT STE6221 Sanntidssystemer LØSNINGSFORSLAG TIL KONTINUASJONSEKSAMEN Tid: Fredag 18.08.2006, kl: 09:00-12:00 Tillatte hjelpemidler: Godkjent programmerbar

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

INF2270. Input / Output (I/O)

INF2270. Input / Output (I/O) INF2270 Input / Output (I/O) Hovedpunkter Innledning til Input / Output Ulike typer I/O I/O internt i datamaskinen I/O eksternt Omid Mirmotahari 3 Input / Output En datamaskin kommuniserer med omverdenen

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

INF2270. Input / Output (I/O)

INF2270. Input / Output (I/O) INF2270 Input / Output (I/O) Hovedpunkter Innledning til Input / Output Ulike typer I/O I/O internt i datamaskinen I/O eksternt Omid Mirmotahari 3 Input / Output En datamaskin kommuniserer med omverdenen

Detaljer

! Ytelsen til I/O- systemer avhenger av flere faktorer: ! De to viktigste parametrene for ytelse til I/O er:

! Ytelsen til I/O- systemer avhenger av flere faktorer: ! De to viktigste parametrene for ytelse til I/O er: Dagens temaer! Ulike kategorier input/output! Programmert! Avbruddstyrt! med polling.! Direct Memory Access (DMA)! Asynkrone vs synkrone busser! Med! Fordi! -enheter menes de enheter og mekanismer som

Detaljer

Vranglås (Deadlocks) Fag: Operativsystemer

Vranglås (Deadlocks) Fag: Operativsystemer Vranglås (Deadlocks) Fag: Operativsystemer 1 Innhold: Vranglås Vranglås Eksempler: Svensk flagg, Veikryss, spisende filosofer Betingelser for vranglås Metoder for å håndtere vranglås Tilbake til systemer

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

Hva er en kø? En lineær datastruktur der vi til enhver tid kun har tilgang til elementet som ble lagt inn først

Hva er en kø? En lineær datastruktur der vi til enhver tid kun har tilgang til elementet som ble lagt inn først Køer Hva er en kø? En lineær datastruktur der vi til enhver tid kun har tilgang til elementet som ble lagt inn først Et nytt element legges alltid til sist i køen Skal vi ta ut et element, tar vi alltid

Detaljer

CPU-Scheduling. Fag: Operativsystemer

CPU-Scheduling. Fag: Operativsystemer CPU-Scheduling Fag: Operativsystemer 1 Innhold: Scheduling (tidsplanlegger) Prosesstilstander, bakgrunn, begreper Kriterier for scheduling rettferdighet, - utnyttelse Responstid Throughput (antal prosesser

Detaljer

Fakultet for informasjonsteknologi,

Fakultet for informasjonsteknologi, Side 1 av 6 NTNU Norges teknisk-naturvitenskapelige universitet Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap Kontinuasjonsløsning

Detaljer

Løsningsforslag for TDT4186 Operativsystemer

Løsningsforslag for TDT4186 Operativsystemer Institutt for Datateknikk og Informasjonsvitenskap Løsningsforslag for TDT4186 Operativsystemer Eksamensdato: 9. august 2016 Eksamenstid (fra-til): 09:00-13:00 Hjelpemiddelkode/Tillatte hjelpemidler: D:

Detaljer

Forelesningsnotat. Kapittel 9 Designing and Constructing Software Code related Issues. Design og utvikling av programvare

Forelesningsnotat. Kapittel 9 Designing and Constructing Software Code related Issues. Design og utvikling av programvare Forelesningsnotat Kapittel 9 Designing and Constructing Software Code related Issues 1 Design og utvikling av programvare Grunnleggende metoder (Kap 9.1) Utvikling av kode (Kap 9.2) Programmeringsspråk

Detaljer

GJENNOMGANG UKESOPPGAVER 9 TESTING

GJENNOMGANG UKESOPPGAVER 9 TESTING GJENNOMGANG UKESOPPGAVER 9 TESTING INF1050 V16 KRISTIN BRÆNDEN 1 A) Testing viser feil som du oppdager under kjøring av testen. Forklar hvorfor testing ikke kan vise at det ikke er flere gjenstående feil.

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

- analyse og implementasjon

- 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

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

Løsningsforslag for TDT4186 Operativsystemer

Løsningsforslag for TDT4186 Operativsystemer Institutt for Datateknikk of Informasjonsvitenskap Løsningsforslag for TDT4186 Operativsystemer Eksamensdato: 13. august 2015 Eksamenstid (fra-til): 15:00-19:00 Hjelpemiddelkode/Tillatte hjelpemidler:

Detaljer

Det matematisk-naturvitenskapelige fakultet

Det matematisk-naturvitenskapelige fakultet UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF1060 Introduksjon til operativsystemer og datakommunikasjon Eksamensdag: 7. desember 2007 Tid for eksamen: 14.30 17.30 Oppgavesettet

Detaljer

TDT4258 Eksamen vår 2013

TDT4258 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

Detaljer

Introduksjon til kurset og dets innhold

Introduksjon til kurset og dets innhold til kurset og dets innhold Lars Vidar Magnusson September 4, 2011 Oversikt Forelesninger Kursets fagsider Øvingstimer Kunnskap Ferdigheter 1 Forelesninger Kursets fagsider Øvingstimer Kunnskap Ferdigheter

Detaljer

UKE 13 Mer UML modellering. Gruppetime INF1055 Julie Hagen Nilsen & Maria Stolinski

UKE 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

Detaljer

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

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

Detaljer

Grunnleggende testteori

Grunnleggende testteori 1 Grunnleggende testteori Error-Fault-Failure 2 Error : når en programmerer koder feil eller utelater kode (evt. miljøpåvirkning) årsaken til en fault Fault (defect eller bug): feil i kode kan lede til

Detaljer

Hva er en kø? En lineær datastruktur der vi til enhver tid kun har tilgang til elementet som ble lagt inn først

Hva er en kø? En lineær datastruktur der vi til enhver tid kun har tilgang til elementet som ble lagt inn først Køer Hva er en kø? En lineær datastruktur der vi til enhver tid kun har tilgang til elementet som ble lagt inn først Et nytt element legges alltid til sist i køen Skal vi ta ut et element, tar vi alltid

Detaljer

Samtidige prosesser. Prosessor modus. Hvordan kan OS effektivt kontrollere brukerprosesser? Hvordan kan OS. kontrollere brukerprosesser?

Samtidige 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.

Detaljer

Reelle tall på datamaskin

Reelle tall på datamaskin Reelle tall på datamaskin Knut Mørken 5. september 2007 1 Innledning Tirsdag 4/9 var tema for forelesningen hvordan reelle tall representeres på datamaskin og noen konsekvenser av dette, særlig med tanke

Detaljer

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG HØGSKOLEN I SØR-TRØNDELAG Eksamensdato: 21. desember 2005 Varighet: 3 timer ( 9:00 12:00 ) Avdeling for informatikk og e-læring Fagnummer: Fagnavn: LO249D Operativsystemer med Linux Klasser: FU (1. ING)

Detaljer

Generelt om operativsystemer

Generelt om operativsystemer Generelt om operativsystemer Hva er problemet? Styring av maskinvare og ressurser tilknyttet en datamaskin er komplisert, detaljert og vanskelig Maskinvare, komponenter og programvare endres og forbedres

Detaljer

Generelt om operativsystemer

Generelt om operativsystemer Generelt om operativsystemer Operativsystemet: Hva og hvorfor Styring av prosessorer (CPU), elektronikk, nettverk og andre ressurser i en datamaskin er komplisert, detaljert og vanskelig. Maskinvare og

Detaljer

Hva er en kø? En lineær datastruktur der vi til enhver tid kun har tilgang til elementet som ble lagt inn først

Hva er en kø? En lineær datastruktur der vi til enhver tid kun har tilgang til elementet som ble lagt inn først Køer Hva er en kø? En lineær datastruktur der vi til enhver tid kun har tilgang til elementet som ble lagt inn først Et nytt element legges alltid til sist i køen Skal vi ta ut et element, tar vi alltid

Detaljer

Fakultet for informasjonsteknologi, Løsning på kontinuasjon i TDT4186 Operativsystemer August 2005,

Fakultet for informasjonsteknologi, Løsning på kontinuasjon i TDT4186 Operativsystemer August 2005, Side 1 av 5 NTNU Norges teknisk-naturvitenskapelige universitet Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap Løsning på kontinuasjon

Detaljer

Eksamen DAT 103. Oppgave 2. Kandidatnr.: 145 1) B 2) B 3) A 4) A 5) D 6) C 7) B 8) A 9) A 10) D

Eksamen DAT 103. Oppgave 2. Kandidatnr.: 145 1) B 2) B 3) A 4) A 5) D 6) C 7) B 8) A 9) A 10) D Eksamen DAT 103 Kandidatnr.: 145 Oppgave 1 1) B 2) B 3) A 4) A 5) D 6) C 7) B 8) A 9) A 10) D Oppgave 2 a) Et OS er den administrerende softwaren i en datamaskin. Den bygger på prinsippene om filhåndtering,

Detaljer

Fakultet for informasjonsteknologi,

Fakultet for informasjonsteknologi, Side 1 av 7 NTNU Norges teknisknaturvitenskapelige universitet Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap Løsning på TDT418 Operativsystemer

Detaljer

Minnehåndtering i operativsystemer

Minnehåndtering i operativsystemer Minnehåndtering i operativsystemer Minnehåndtering? Minne er en begrenset ressurs i datamaskinen Tilgjengelig minne må fordeles til prosessene som OS-et håndterer, på en korrekt og rettferdig måte Minnet

Detaljer

Use 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. 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,

Detaljer

Grunnleggende testteori

Grunnleggende testteori 1 Grunnleggende testteori Industri - og software produkt Industriprodukt: Fysisk produkt Testes under produksjon og til slutt om produktet oppfyller kravene Tilpasses, endres, redesignes, og justeres så

Detaljer

System integration testing. Forelesning Systems Testing UiB Høst 2011, Ina M. Espås,

System integration testing. Forelesning Systems Testing UiB Høst 2011, Ina M. Espås, System integration testing Forelesning Systems Testing UiB Høst 2011, Ina M. Espås, Innhold Presentasjon Hva er integration testing (pensum) Pros og cons med integrasjonstesting Når bruker vi integration

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

Characteristics of a good design

Characteristics of a good design Characteristics of a good design (PPT. side 1) Innledning Høykvalitetsdesign bør ha visse karakteristikker for å oppnå kvalitetsprodukter, dvs.: enkelt å forstå enkelt å implementere enkelt å teste enkelt

Detaljer

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG HØGSKOLEN I SØR-TRØNDELAG Eksamensdato: 26. mai 25 Varighet: 3 timer ( 9: 2: ) Avdeling for informatikk og e-læring Fagnummer: Fagnavn: LO249D Operativsystemer med Linux Klasser: BADR. ING FU Studiepoeng:

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 5 Norges teknisk-naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap Løsningsforslag til EKSAMENSOPPGAVE I FAG TDT4186 OPERATIVSYSTEMER Versjon: 17.jan 2013 Faglig

Detaljer

Tildeling av minne til prosesser

Tildeling av minne til prosesser Tildeling av minne til prosesser Tildeling av minne til prosesser OS må hele tiden holde rede på hvilke deler av RAM som er ledig/opptatt Når (asynkrone) prosesser/run-time system krever tildeling av en

Detaljer

Minnehåndtering i operativsystemer

Minnehåndtering i operativsystemer Minnehåndtering i operativsystemer Minnehåndtering? Minne er en begrenset ressurs i datamaskinen Tilgjengelig minne må fordeles til prosessene som OS-et håndterer, på en korrekt og rettferdig måte Minnet

Detaljer

Akseptansetesten. Siste sjanse for godkjenning Etter Hans Schaefer

Akseptansetesten. Siste sjanse for godkjenning Etter Hans Schaefer Akseptansetesten Siste sjanse for godkjenning Etter Hans Schaefer Akseptansetesting Formell testing med hensyn til brukerbehov, krav, og forretningsprosesser som utføres for å avklare om et system oppfyller

Detaljer

TDT4110 Informasjonsteknologi, grunnkurs Uke 35 Introduksjon til programmering i Python

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

Detaljer

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

LSCs Live Sequence Charts

LSCs Live Sequence Charts LSCs Live Sequence Charts LSCs Live Sequence Charts / INF 5160 (Dbsem) 26. spril 2005 /Slide 1 Motivasjon Disposisjon - Message Sequence Charts (MSCs): Positive og negative sider - Fremtidsvisjon Basic

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

INF3140 Modeller for parallellitet INF3140/4140: Programanalyse

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

Detaljer

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG HØGSKOLEN I SØR-TRØNDELAG Eksamensdato: 26. mai 25 Varighet: 3 timer ( 9: 12: ) Avdeling for informatikk og e-læring Fagnummer: Fagnavn: LO249D Operativsystemer med Linux Klasser: BADR 1. ING FU Studiepoeng:

Detaljer

Fakultet for informasjonsteknologi, Kontinuasjonsløsning på TDT4155 Datamaskiner og operativsystemer

Fakultet for informasjonsteknologi, Kontinuasjonsløsning på TDT4155 Datamaskiner og operativsystemer Side 1 av 6 NTNU Norges teknisk-naturvitenskapelige universitet Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap Kontinuasjonsløsning

Detaljer

Oversikt. Historie Struktur Moderne UNIX systemer Moderne UNIX kernel struktur 1 UNIX. 2 Linux. 3 Process. 4 Process models

Oversikt. Historie Struktur Moderne UNIX systemer Moderne UNIX kernel struktur 1 UNIX. 2 Linux. 3 Process. 4 Process models Oversikt UNIX 1 UNIX Historie Struktur Moderne UNIX systemer Moderne UNIX kernel struktur 2 Linux 3 Process 4 Process models 5 Hvordan kjøre operativsystemet 6 Prosesshåndtering i UNIX SVR4 Lars Vidar

Detaljer

Tildeling av minne til prosesser

Tildeling av minne til prosesser Tildeling av minne til prosesser Tildeling av minne til en prosess Når en ny prosess opprettes har den et krav til hvor mye minne som skal reserveres for prosessen Memory Management System (MMS) i OS må

Detaljer

Oppgave 1 - Linux kommandolinje (%)

Oppgave 1 - Linux kommandolinje (%) Løsningsforslag Eksamen høst 2017 Operativsystemer Oppgave 1 - Linux kommandolinje (%) a) pwd b) ps Oppgave 2 - Bash-scripting (%) a) ping -i 5 www.hin.no b) ping -c 1 www.hin.no ping -c 1 -t 1 www.hin.no

Detaljer

EKSAMENSOPPGAVE I FAG TDT4186 OPERATIVSYSTEMER. Faglig kontakt under eksamen: Svein Erik Bratsberg og Arvid Staupe

EKSAMENSOPPGAVE I FAG TDT4186 OPERATIVSYSTEMER. Faglig kontakt under eksamen: Svein Erik Bratsberg og Arvid Staupe Side 1 av 8 Norges teknisk-naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap Løsningsforslag til EKSAMENSOPPGAVE I FAG TDT4186 OPERATIVSYSTEMER Versjon: 20. nov 2012 Faglig

Detaljer

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

Forelesning 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

Detaljer

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

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

Detaljer

Løsningsforslag for Eksamensoppgave i TDT4190 Distribuerte systemer

Lø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

Detaljer

Innholdsfortegnelse. 1. Testing Feiltesting av koden Funksjonstesting: Kilder.10

Innholdsfortegnelse. 1. Testing Feiltesting av koden Funksjonstesting: Kilder.10 1 Innholdsfortegnelse 1. Testing... 3 1.1 Feiltesting av koden... 3 1.2 Funksjonstesting:... 7 2. Kilder.10 2 1. Testing Testing av et system er nødvendig for å finne ut om systemet fungere slik det skal

Detaljer

Eksamensoppgave i TDT4258 Energieffektive Datamaskinsystemer

Eksamensoppgave i TDT4258 Energieffektive Datamaskinsystemer Institutt for Datateknikk og Informasjonsvitenskap Eksamensoppgave i TDT4258 Energieffektive Datamaskinsystemer Faglig kontakt under eksamen: Magnus Jahre Tlf.: 952 22 309 Eksamensdato: 19. Mai 2014 Eksamenstid

Detaljer

Transaksjoner. transaksjon. når starter/slutter 1 trans.?

Transaksjoner. 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

Detaljer

Eksamensoppgave i TDT4186 Operativsystemer

Eksamensoppgave i TDT4186 Operativsystemer Institutt for Datateknologi og Informatikk Eksamensoppgave i TDT4186 Operativsystemer Faglig kontakt under eksamen: Mads Nygård Tlf.: 905 96 534 Eksamensdato: 23. mai 2017 Eksamenstid (fra-til): 09:00-13:00

Detaljer

Oppgave 8.1 fra COD2e

Oppgave 8.1 fra COD2e Oppgave 8.1 fra COD2e To systemer brukes for transaksjonsprosessering: A kan utføre 1000 I/O operasjoner pr. sekund B kan utføre 750 I/O operasjoner pr. sekund Begge har samme prosessor som kan utføre

Detaljer

Oppgave 2: Gå til roten (/) av systemet. Finn minst tre forskjellige måter å gå tilbake til hjemmekatalogen din på.

Oppgave 2: Gå til roten (/) av systemet. Finn minst tre forskjellige måter å gå tilbake til hjemmekatalogen din på. Løsningsforslag for oppgavene i operativsystemer, uke 43 (18.10-22.10) På terminalstue: Oppgave 1: List alle filer og kataloger under XVUELQ som har filnavn som begynner på b. OVXVUELQE Oppgave 2: Gå til

Detaljer

Systemutviklingen er ferdig når et system er operativt. Med operativt menes når systemet blir brukt av brukerne på et faktisk arbeidssted.

Systemutviklingen er ferdig når et system er operativt. Med operativt menes når systemet blir brukt av brukerne på et faktisk arbeidssted. Presentasjon nummer 5 The changing system and the nature of maintenance Silde 1 Gruppen introduseres Slide 2 The changing system and the nature of maintenance The Changing system Systemutviklingen er ferdig

Detaljer

Definisjon av prosess

Definisjon av prosess Prosesser og tråder Definisjon av prosess Enkel definisjon: En prosess er et program som kjører på datamaskinen Mer presis definisjon: En prosess er en samling av ressurser som er nødvendige for å utføre

Detaljer

Eksamensoppgave i TDT4258 Energieffektive Datamaskinsystemer

Eksamensoppgave i TDT4258 Energieffektive Datamaskinsystemer Institutt for Datateknikk og Informasjonsvitenskap Eksamensoppgave i TDT4258 Energieffektive Datamaskinsystemer Faglig kontakt under eksamen: Magnus Jahre Tlf.: 952 22 309 Eksamensdato: 19. Mai 2014 Eksamenstid

Detaljer

Kravhåndtering. INF1050: Gjennomgang, uke 03

Kravhåndtering. INF1050: Gjennomgang, uke 03 Kravhåndtering INF1050: Gjennomgang, uke 03 Kompetansemål Kravhåndtering Anvende metoder og teknikker for å Innhente / Analysere / Spesifisere krav Ulike typer krav Funksjonelle krav Ikke-funksjonelle

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

Fra krav til objekter. INF1050: Gjennomgang, uke 05

Fra krav til objekter. INF1050: Gjennomgang, uke 05 Fra krav til objekter INF1050: Gjennomgang, uke 05 Kompetansemål Systemmodellering og systemperspektiv Utvikle abstrakte modeller av et system Ulike modeller representerer ulike perspektiver av systemet

Detaljer

Funksjonalitet og oppbygning av et OS (og litt mer om Linux)

Funksjonalitet og oppbygning av et OS (og litt mer om Linux) Funksjonalitet og oppbygning av et OS (og litt mer om Linux) Hovedfunksjoner i et OS OS skal sørge for: Styring av maskinvaren Deling av maskinens ressurser Abstraksjon vekk fra detaljer om maskinvaren

Detaljer

Operativsystemer og grensesnitt

Operativsystemer og grensesnitt Operativsystemer og grensesnitt Ulike måter å bruke OS'et på Application Program Interface (API) Applikasjoner (ofte C-programmer) som f.eks. emacs, som bruker tjenestene i OS ved å kalle på funksjoner

Detaljer

Faglig kontakt under eksamen: Orestis Gkorgkas

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

Detaljer

Use case modellen. Use case modellering i analysefasen. Hva er en Aktør? Hva er et Use case?

Use 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

Detaljer

Innholdsfortegnelse INNHOLDSFORTEGNELSE... 2 REVISJONSOVERSIKT...4 INTRODUKSJON MED FORUTSETNINGER... 5

Innholdsfortegnelse INNHOLDSFORTEGNELSE... 2 REVISJONSOVERSIKT...4 INTRODUKSJON MED FORUTSETNINGER... 5 1 Innholdsfortegnelse INNHOLDSFORTEGNELSE... 2 REVISJONSOVERSIKT...4 INTRODUKSJON MED FORUTSETNINGER... 5 FRA LEVERANSE 1 (GRUPPE 2)...5 TILLEGG I FORUTSETNINGER... 5 REVIDERT UTGAVE AV SPESIFIKASJON FRA

Detaljer

Modellering av brukstilfeller og forretningsprosesser. Kurs i standarder, Oslo, 12. juni 2018

Modellering av brukstilfeller og forretningsprosesser. Kurs i standarder, Oslo, 12. juni 2018 Modellering av brukstilfeller og forretningsprosesser Kurs i standarder, Oslo, 12. juni 2018 Modellering av brukstilfeller Innhold Kort innføring i brukstilfeller Elementer i Use Case diagram Relevante

Detaljer

Real-time Operativsystem

Real-time Operativsystem Real-time Operativsystem c Ketil Danielsen November 8, 2002 Oversikt hvilke behov har vi (kap. 1-2) hvordan organiseres arbeidet (kap. 3) CPU scheduling (kap. 6) Minnescheduling (kap. 10) Scheduling av

Detaljer

AlgDat 10. Forelesning 2. Gunnar Misund

AlgDat 10. Forelesning 2. Gunnar Misund AlgDat 10 Forelesning 2 Oversikt Java repetisjon IDE eller teksteditor + kommandolinje? Java Collections and Generics Programvareutvikling En mengde mer eller mindre veldefinerte metoder (software engineering):

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

I dag UML. Domenemodell visualisering av konsepter. Eksempel. Hvordan finne domeneklasser?

I dag UML. Domenemodell visualisering av konsepter. Eksempel. Hvordan finne domeneklasser? UML Use case drevet analyse og design 31.01.2005 Kirsten Ribu I dag Domenemodell (forløper til klassediagram) Interaksjonsdiagrammer Sekvensdiagram Kollaborasjonsdiagram 1 2 Domenemodell visualisering

Detaljer

DAT 103 - kandidatnummer: 142

DAT 103 - kandidatnummer: 142 DAT 103 - kandidatnummer: 142 Oppgave 1: 1) B 2) B 3) A 4) A 5) D 6) C 7) B 8) C 9) A 10) D Oppgave 2: a) Et operativsystem er en samling av systemprogrammer og brukes som et bindeledd mellom brukerprogrammer

Detaljer

Fra krav til objektdesign

Fra krav til objektdesign Fra krav til objektdesign Ansvarsdrevet OO: CRC og UML Sekvensdiagrammer INF1050-ansvar-1 Dagens forelesning o Kort repetisjon av kravspesifikasjon med UML Hva skal systemet gjøre? UML: Bruksmønstermodeller

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF1060 Introduksjon til operativsystemer og datakommunikasjon Eksamensdag: 6. desember 2012 Tid for eksamen: 14.30 18.30 Oppgavesettet

Detaljer

AlgDat 12. Forelesning 2. Gunnar Misund

AlgDat 12. Forelesning 2. Gunnar Misund AlgDat 12 Forelesning 2 Forrige forelesning Følg med på hiof.no/algdat, ikke minst beskjedsida! Algdat: Fundamentalt, klassisk, morsomt,...krevende :) Pensum: Forelesningene, oppgavene (pluss deler av

Detaljer

UML 1. Use case drevet analyse og design. 20.01.2004 Kirsten Ribu

UML 1. Use case drevet analyse og design. 20.01.2004 Kirsten Ribu UML 1 Use case drevet analyse og design 20.01.2004 Kirsten Ribu 1 I dag Domenemodell (forløper til klassediagram) Interaksjonsdiagrammer Sekvensdiagram Kollaborasjonsdiagram 2 Domenemodell visualisering

Detaljer

Del 4 Noen spesielle C-elementer

Del 4 Noen spesielle C-elementer Del 4 Noen spesielle C-elementer 1 RR 2016 Header-filer inneholder Prototypene til funksjonene i standard biblioteket Verdier og definisjoner som disse funksjonene bruker #include #include

Detaljer

Jobbkø. Innhold. Versjon 1.0 Copyright Aditro Side 1 av 18

Jobbkø. Innhold. Versjon 1.0 Copyright Aditro Side 1 av 18 Innhold Jobbkø / Varsling... 2 Jobbkø... 2 Generelt om jobbkø... 2 Hovedfunksjoner... 2 Jobbkø Bestilling og Status... 2 Bestilling... 3 Faste jobber... 5 Status... 6 Jobb... 7 Administrasjon... 8 Konsern...

Detaljer

Spesifikasjon av Lag emne. Kursregistrering bruksmønstermodell (ny versjon) Dagens forelesning. Fra krav til objektdesign

Spesifikasjon av Lag emne. Kursregistrering bruksmønstermodell (ny versjon) Dagens forelesning. Fra krav til objektdesign Dagens forelesning o Kort repetisjon av kravspesifikasjon med UML Fra krav til objektdesign Hva skal systemet gjøre? UML: Bruksmønstermodeller o Objektdesign Ansvarsdrevet OO: CRC og UML Sekvensdiagrammer

Detaljer

Team2 Requirements & Design Document Værsystem

Team2 Requirements & Design Document Værsystem Requirements & Design Document Høgskolen i Sørøst-Norge Fakultet for teknologi, naturvitenskap og maritime fag Institutt for elektro, IT og kybernetikk SRD 22/01/2018 Systemutvikling og dokumentasjon/ia4412

Detaljer

Grunnleggende testteori. Etter Hans Schaefer

Grunnleggende testteori. Etter Hans Schaefer Grunnleggende testteori Etter Hans Schaefer Industri- og softwareprodukt Industriprodukt Fysisk produkt Testes under produksjon og til slutt om produktet oppfyller kravene Tilpasses, endres, redesignes,

Detaljer

Eksamensoppgave i TDT4258 Energieffektive datamaskinsystemer

Eksamensoppgave 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

Detaljer