STE6221 Sanntidssystemer LØSNINGSFORSLAG TIL EKSAMEN

Like dokumenter
STE6221 Sanntidssystemer Løsningsforslag kontinuasjonseksamen

STE6221 Sanntidssystemer LØSNINGSFORSLAG TIL KONTINUASJONSEKSAMEN

STE6221 Sanntidssystemer Løsningsforslag

LØSNINGSFORSLAG TIL EKSAMEN I STE6221 Sanntidssystemer

D: Ingen trykte eller håndskrevne hjelpemiddel tillatt. Bestemt, enkel kalkulator tillatt.

GJENNOMGANG UKESOPPGAVER 9 TESTING

Eksamen i TTK4145 Sanntidsprogrammering 12. august

Introduksjon til kurset og dets innhold

EKSAMEN STE 6219 Digital signalbehandling

STE 6219 Digital signalbehandling Løsningsforslag

Læringsmål og pensum. Oversikt. Systemprogramvare Operativsystemer Drivere og hjelpeprogrammer. To hovedtyper programvare

Faglig kontakt under eksamen: Orestis Gkorgkas

Løsningsforslag for TDT4186 Operativsystemer

D: Ingen trykte eller håndskrevne hjelpemiddel tillatt. Bestemt, enkel kalkulator tillatt.

Eksamensoppgave i TDT4258 Energieffektive Datamaskinsystemer

HØGSKOLEN I SØR-TRØNDELAG

Løsningsforslag for TDT4186 Operativsystemer

STE 6219 Digital signalbehandling Løsning til kontinuasjonseksamen

Eksamensoppgave i TDT4258 Energieffektive Datamaskinsystemer

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

Kort notat om parallellstyring IN147

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

KONTINUASJONSEKSAMEN STE 6159 Styring av romfartøy

Fakultet for informasjonsteknologi,

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

UNIVERSITETET I OSLO

Løsningsforslag for Eksamensoppgave i TDT4190 Distribuerte systemer

LØSNINGSFORSLAG TIL EKSAMEN STE 6219 Digital signalbehandling

TDT4160 AUGUST, 2008, 09:00 13:00

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

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

HØGSKOLEN I SØR-TRØNDELAG

EKSAMENSOPPGAVE. Adm.bygget, rom K1.04 og B154 Ingen. Vil det bli gått oppklaringsrunde i eksamenslokalet? Svar: JA / NEI Hvis JA: ca. kl.

Eksamensoppgave i TDT4186 Operativsystemer

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG

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.

Læreplan i informasjonsteknologi - programfag i studiespesialiserende utdanningsprogram

Avanserte byggeblokker (Maxfield kap.13 og 17)

GetMutex(lock) { while(testandset(lock)) {} } En context switch kan ikke ødelegge siden testen og endringen av lock skjer i samme instruksjon.

Concurrency. Lars Vidar Magnusson. September 20, Lars Vidar Magnusson () Forelesning i Operativsystemer September 20, / 17

EKSAMEN STE 6159 Styring av romfartøy

Eksamen i fag SIF8018 Systemutvikling. Fredag 25. mai 2001 kl

EKSAMEN I TDT4160 DATAMASKINER GRUNNKURS

AlgDat 10. Forelesning 2. Gunnar Misund

EKSAMEN TTK4175 INSTRUMENTERINGSSYSTEMER. Torsdag 26. Mai 2005 Tid: kl Sensurfrist 16. Juni Totalt 4 timer

Evaluering av It-systemer i et forvaltningsperspektiv. Drift, vedlikehold og videreutvikling av IT-systemet

AVSLUTTENDE EKSAMEN I. TDT4160 Datamaskiner Grunnkurs. Torsdag 29. November 2007 Kl

LØSNINGSFORSLAG. EKSAMEN I Sanntidssystemer Fagkode: STE6221

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

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

public static <returtype> navn_til_prosedyre(<parameter liste>) { // implementasjon av prosedyren

EKSAMEN Styring av romfartøy Fagkode: STE 6122

EKSAMEN I FAG TDT MMI Tirsdag 1. juni 2004 Tid: kl

AlgDat 12. Forelesning 2. Gunnar Misund

TDT4160 OG IT2201 DATAMASKINER GRUNNKURS EKSAMEN

Forside Eksamen INF1055 V17

Etter uke 6 skal du. Introduksjon til objektorientert programmering. Hva skjedde ~1967? INF1001. Grunnkurs i objektorientert programmering

Generelt om operativsystemer

Innhold. Introduksjon til parallelle datamaskiner. Ulike typer parallelle arkitekturer. Prinsipper for synkronisering av felles hukommelse

Eksamensoppgave i TDT4258 Energieffektive datamaskinsystemer

PR november 2009 Programvare, pc-basert kontroll Side 1 av 5

EKSAMENSOPPGAVE. Vil det bli gått oppklaringsrunde i eksamenslokalet? Svar: NEI

Oppsummering av IN147 siste del Operativsystemer Parallellisering Veien videre

Tilstandsmaskiner med UML og Java

Språkform: Bokmål Navn: Truls Gundersen, Energi og Prosessteknikk Tlf.: (direkte) / (mobil) / (sekretær)

Innhold uke 7. Objektorientert programmering i Python: Introduksjon. Lite tilbakeblikk: Programflyt og skop. Lite tilbakeblikk: Funksjoner er uttrykk

Skisse til løsning for eksamensoppgave i TDT4186 Operativsystemer

UNIVERSITETET I OSLO

Velkommen! I dag. Viktige beskjeder. Studieadministrasjonen. IN Høst Siri Moe Jensen Geir Kjetil Sandve Henrik Hillestad

Hvorfor objektorientert programmering? Objektorientert programmering i Python: Introduksjon. Læringsmål uke 7. Undervisning og pensum IN1000

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

Tråder og concurrency i Linux

Introduksjon til programmering og programmeringsspråk

UNIVERSITETET I OSLO

Vranglås (Deadlocks) Fag: Operativsystemer

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

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

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

- analyse og implementasjon

EKSAMEN FAG INSTRUMENTERINGSSYSTEMER

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

Universitetet i Bergen Det matematisk-naturvitenskapelige fakultet Institutt for informatikk

Introduksjon til programmering og programmeringsspråk. Henrik Lieng Høgskolen i Oslo og Akershus

Lykke til! Eksamen i fag SIF8018 Systemutvikling. 20 mai, 2003 kl Fakultet for fysikk, informatikk og matematikk

Løsningsforslag: Oblig 1. INF1050: Gjennomgang, uke 12

Fakultet for informasjonsteknologi,

Moderne Materialer og Beregninger Modern Materials and Computations STE 6289

Design med ASIC og FPGA (Max kap.7 og 18)

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

Hvorfor objektorientert programmering?

Scheduling og prosesshåndtering

LØSNINGSFORSLAG. EKSAMEN I Sanntidssystemer Fagkode: STE6221

Læringsmål og pensum. v=nkiu9yen5nc

Mulige Master-oppgaver hos Peter C. Ölveczky

oppgavesett 4 INF1060 H16 Hans Petter Taugbøl Kragset Øystein Dale Christian Resell 27. september 2016 Institutt for informatikk, UiO

UNIVERSITETET I OSLO

EKSAMEN I INNEMILJØ: STE-6068 ABMST 1292 og ABMVA ingen trykte eller håndskrevne hjelpemidler tillatt.

EKSAMENSOPPGAVE. Vil det bli gått oppklaringsrunde i eksamenslokalet? Svar: JA / NEI Hvis JA: ca. kl. 10

Løsning til eksamen i IA3112 Automatiseringsteknikk

Transkript:

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 kalkulator, med tomt minne. Ingen trykte eller håndskrevne hjelpemidler tillatt. Faglærer: Førsteamanuensis, Dr.ing. Per J. Nicklasson, Tlf. 76 96 64 01 Oppgavenes vekt er angitt i prosent av total poengsum. Hvert delspørsmål gir 5 poeng.

Oppgave 1 (10%) a) Forklar kort hva som menes med funksjonelle og ikke-funksjonelle krav til programvare. s. 97-98 Funksjonelle krav fokuserer på hva systemet gjør, dvs. oppførsel. Ikke-funksjonelle krav fokuserer på hva systemet har, dvs. egenskaper. b) Forklar på hvilke måter prototyping kan benyttes ved utvikling av sanntidssystemer. s. 102-103 Utforskende prototyping for å teste om begge parter er enige i krav. Exploratory prototyping Prototyping av krav f.eks. ved hjelp av visuelle verktøy. Solution prototyping. Granskende prototyping (alternative løsninger i designfasen, visuelle verktøy). Investigative prototyping. Verifikasjon (analyse av kode vha. formelle spesifikasjonsmetoder). Verification prototyping. Utviklende prototyping (modifikasjoner og oppgradering). Evolutionary prototyping. Oppgave 2 (20%) a) Hvilke to plattformer kan maskinvare for sanntidssystemer hovedsakelig deles inn i? s. 11 Spesielle skreddersydde plattformer ( bespoke designs ) Bruk av hyllevare (COTS) b) Hvilke fysiske faktorer må en ofte ta hensyn til ved design av maskinvare for embedded systems? s. 13 Temperatur, sjokk og vibrasjon, fuktighet, størrelse, vekt. c) Hvorfor er det spesielt krevende å teste innebygde systemer tilstrekkelig godt? s. 598 Det er reduserte muligheter for innsyn i systemet, og utvikling må ofte foregå på et annet system enn vertssystemet. Virkningen av det fysiske miljøet rundt systemet er ofte vanskelig å inkludere i testene. d) Anta at det oppstår en feil i et sanntidssystem. Hvilke 3 ulike måter bør systemet kunne takle feilen på, avhengig av hvilke krav om sikkerhet som stilles til systemet? s. 16-17 Fail-safe -systemet går inn i en sikker tilstand. Reduced service -systemet opererer med redusert ytelse. Full and safe operation -systemet fortsetter å operere med full ytelse. Oppgave 3 (20%) a) Forklar kort hvilke 7 hovedgrupper av operativsystemtjenester som inngår i en såkalt mikrokjerne ( microkernel ). s. 310-311. Konfigurering av systemet og spesielle funksjoner: System set-up and special functions Tidsfordeling av oppgaver: Process (task) scheduling and control Mekanismer for gjensidig utelukkelse: Mutual exclusion Synkronisering uten dataoverføring

Dataoverføring uten synkronisering Synkronisering med dataoverføring Dynamisk allokering av minne b) Hvordan skiller en mikrokjerne ( microkernel ) seg fra et generelt større sanntids operativsystem for innebygde systemer ( general-purpose embedded RTOS )? s. 311 Mikrokjerne inneholder de mest nødvendige funksjonene for å kjøre oppgaver i sann tid samt grensesnitt mot maskinvaren i egen Board Support Package, mens et GP-RTOS har mange flere funksjoner (nettverk, Board Support Package er bare en tilleggspakke, filhåndtering, grafikk, forskjellige andre tilleggssfunksjoner). GP-RTOS: Mellom mikrokjernen og applikasjonsprogramvaren, er det et lag som tar seg av minnehåndtering og beskyttelse (protected, non-protected). c) Er det mulig å prediktere nøyaktig hvor lang tid det tar å utføre gitte operasjoner i et sanntidssystem som kjører flere oppgaver samtidig ( multitasking )? Forklar. s. 344 Nei, generelt ikke. Når mekansimer som semaforer, postbokser, avbrudd og annet tillates brukt, kan en ikke prediktere tidsforbruket eksakt. En kan imidlertid komme frem til et omtrent worst case estimat.dersom en skal kunne angi et eksakt tidsestimat, må systemet være meget enkelt, og ikke ha innslag av stokastiske elementer (avbrudd, venting på semaforer osv.). d) Forklar kort hvilke krav man må sette til prediksjon av ytelse for operativsystemtjenester i følgende kategorier sanntidssystemer: 1. Soft-slow 2. Hard-slow 3. Soft-fast 4. Fast-hard s. 344 1. Ytelse ikke så veldig viktig. Holder med estimat av midlere tider. 2. Samme som over. 3. Holder med midlere tider. 4. Må kjenne til worst-case tidsforbruk. Spesielt viktig for kritiske applikasjoner.

Side 3 av 3 Oppgave 4 (15 %) a) Det finnes i hovedsak 3 teknikker for integrasjonstesting av programvare, hvorav 2 er å anbefale i seriøse utviklingsgprosjekter. Forklar kort hva disse 3 teknikkene går ut på. s. 579 Big-bang fremgansgmåte. Alt inkluderes og testes på en gang. Anbefales ikke. Top-down hierarkisk med emulering av lavere (ikke ennå programmerte) enheter. Bottom-up hierarkisk med testing av små enheter først, så større enheter. b) Det finnes ulike mål på integrasjonskompleksitet når N programvareenheter skal settes sammen, hvorav ett av disse kan beskrives med formelen j N S i iv G j N 1 j 1 Forklar hva faktoren iv G j er et mål på. s. 588 N enheter skal integreres. iv G j er et mål på syklomatisk kompleksitet av den reduserte flytgrafen til enhet j. c) Forklar hvorfor funksjonaliteten dynamic polymorphism, som finnes i en rekke objektorienterte programmeringsspråk, ikke bør benyttes ved utvikling av kode som skal benyttes i sanntidssystemer. s. 592 Det er ikke mulig å bestemme utfra koden hvilket objekt som vil bli brukt under utførelsen for en gitt operasjon, fordi dette ikke er definert på forhånd. Nærmest umulig å teste alle muligheter for en gitt operasjon. Oppgave 5 (15%) a) Designteknikker kan deles inn i tre hovedkategorier: Monolittisk, modulært og uavhengig design. Forklar disse teknikkene i forhold til et produkt uten programvare (bruk diagram der det passer). b) Beskriv konsepter ved de forskjellige teknikkene i forhold til struktur på kildekode og produksjon av kjørbare program. c) Gi fordeler og ulemper ved de forskjellige teknikkene når de benyttes på programvare. Se eget Word-dokument. Oppgave 6 (25%) Forklar kort hva følgende begreper omhandler, relatert til et sanntidssystem: a) Scheduling s. 200 Tidsfordeling til ulike oppgaver (tasks) i sanntidssystem. b) Wait og Signal s. 222 Operasjoner på semafor. Beslaglegging og frigjøring av semafor. c) Monitor

s. 224, s. 628 Avansert mekanisme for gjensidig utelukkelse, evt. også program som kjører på verstsystem og muliggjør overvåkning av systemet (to monitor -overvåke). d) Re-entrancy s. 212, s.313 Kode (funksjoner, operasjoner) som kan benyttes på en sikker måte av flere brukere (tasks). e) Preemption s. 202 Operativsystemet kan kaste ut en oppgave fra prosessoren før den er ferdig på naturlig måte.