Realtidssystem HT03. Vad är realtidssystem? Inbyggda system. Att programmera, Tasks (Uppgifter) Realtidssystem kräver analys

Relevanta dokument
Outline. Datorsystemtekni. Kravspecifikation. Kravspecifikation (forts.)

Föreläsning 2. Operativsystem och programmering

Realtidssystem. - Schemaläggning - EDAF85 - Realtidssystem (Helsingborg) Elin A. Topp. Föreläsning 6

Fö 7: Operativsystem. Vad är ett operativsystem? Målsättning med operativsystem. Styr operativsystemet datorn?

Introduktion till hårdvara, mjukvara och operativsystem

Operativsystem DVG A06. Definition. Varför operativsystem? - Vad är ett operativsystem?

Definition DVG A06. Varför operativsystem? Operativsystem. Översikt. - Vad är ett operativsystem?

TDDC77 Objektorienterad Programmering

DVG A06. Operativsystem, mm. Karlstads universitet Datavetenskap. DVG A06 Johan Eklund. Datavetenskap, Karlstads universitet 1

Realtidssystem. - Schemaläggning - EDA698 - Realtidssystem (Helsingborg) Elin A. Topp. Föreläsning 6

Introduktion till Datalogi DD1339. Föreläsning 1 8 sept 2014

Försättsblad till skriftlig tentamen vid Linköpings Universitet Cover page for written exam at Linköping University

Distribuerade affärssystem

Operativsystem Lektion 1. Lärare. Schema. Kurssajten Finns på adressen. Jan Erik Moström. Set Norman

Operativsystem. Informationsteknologi sommarkurs 5p, Agenda. Slideset 7. Exempel på operativsystem. Operativsystem

Om NXTprogrammering. Vad är MINDSTORMS NXT? Vad är MINDSTORMS NXT? Vad är MINDSTORMS NXT? Vad är MINDSTORMS NXT? Vad är MINDSTORMS NXT?

Vad händer egentligen före en krasch? Svarta lådor och tidsmaskiner sparar pengar för företag

LEGO MINDSTORMS Education EV3

Realtidssystem Z EDA300 Tentamen 15/ , kl i V-huset

Introduktion till Arduino

KUNGLIGA TEKNISKA HÖGSKOLAN. Laboration II1310. Programmera Lego Mindstorm robot i NXC

Fö 1 TSEA81 Datorteknik och realtidssystem

Föreläsning 17 UTBLICK: FORTSÄTTNINGSKURSER I DATAVETENSKAP + ANDROID

GRUNDKURS I C-PROGRAMMERING

Objektorienterad Programmering (TDDC77)

Föreläsning 1: Introduktion till kursen

KUNGLIGA TEKNISKA HÖGSKOLAN. Linefollower. Med LEGO Mindstorms och NXC. Paul Coada Introduktion i datateknik II1310

Vad är viktigast? Sammanfattning. Processer och trådar. Processer och trådar. Flerprocessorsystem. Schemaläggning. Interprocesskommunikation.

Formell Verifiering. Hur vet man att ett system fungerar korrekt? Lisa Kaati

Laboration - Programmering av LEGO Mindstorm robot

Introduktion till Arduino

Realtidssystem, device drivers. Föreläsning 10

Synkronisering. Föreläsning 8

Robot Educator En introduktion

Aktivitetsschemaläggning för flerkärninga processorer

TDIU01 (725G67) - Programmering i C++, grundkurs

TDP001/TDP002. Introduktionsföreläsning. Eric Elfving Institutionen för Datavetenskap (IDA)

Webservice & ERP-Integration Rapport

Operativsystem. Innehåll. Operativsystemets funktion. Vad är ett OS? Vart hittar men ett OS? OS hanterar processorns resurser

Konstruera, styra, reglera och programmera en röd tråd F-9

TENTAMEN I REALTIDSPROCESSER OCH REGLERING TTIT62

Föreläsning 1: Introduktion till kursen

Datakom II (MNP) ht 1998 Bengt Ahlgren 1. Vad är speciellt med implementering av kommunikationsprotokoll?

Institutionen för elektro- och informationsteknologi, LTH

Datorteknik. Föreläsning 5. Realtidssystem och realtidsprogrammering. Institutionen för elektro- och informationsteknologi, LTH.

Innehålls förteckning

Processprogrammering och operativsystem Introduktion. Kursinformation. Varför operativsystem?

Program & programmering

Universitetet i Linköping Institutionen för datavetenskap Anders Haraldsson

Metoder och verktyg för funktionssäkerhet

Mål. Datorteknik. Repetition av avbrott. Innehåll. Mätning och styrning. Datorer för mätning och styrning. timer. Datorsystem A/D. Analog insignal D/A

Schemaläggningsmetodik för multi-core inom Windows 7 OS Vad är scheduling och hur schemalägger Windows OS sina processer?

PARALLELLISERING AV ALGORITMER PROCESSORER FÖR FLERKÄRNIGA

Minnesisolering för virtuella maskiner en hypervisorstudie

Cargolog Impact Recorder System

Hyper-Threading i Intelprocessorer

En Von Neumann-arkitektur ( Von Neumann-principen i föreläsning 1) innebär:

Tentamen i Informationsteknologi 5p Fredagen den 13 augusti 2004

Realtidsprogrammering Ordinarie tentamen

Föreläsning 1: Introduktion till kursen

Moment 2 Digital elektronik. Föreläsning Inbyggda system, introduktion

epublikation - Sammanfattning på svenska

INSTITUTIONEN FÖR DATA- OCH INFORMATIONSTEKNIK

Realtidssystem. - Dödläge - EDAF85 - Realtidssystem (Helsingborg) Elin A. Topp. Föreläsning 5

TDDD63-Perspektiv på datateknik/datavetenskap

Programmeringspalett. Pr o gr a mvar a

Grundkurs i programmering - intro

Omtentamen i Realtidsprogrammering för Au3, D3, E3

Lärare. Operativsystem. Handledning. Kurssajt. Schema. Lektioner. Jan Erik Moström

Datorsystem. Laboration 3: Operativsystem Senast uppdaterad: 14 oktober 2012 Version 1.3. Student: Underskrift: Underskrift: Datum:

Tentamen i Realtidsprogrammering

Fö 7 TSEA81. Scheduling

Laboration 2 Datorverktyg vid LiU

DIG IN TO Dator och nätverksteknik

Tentamen i ID2206, ID2200 samt IS1350 Operativsystem

Föreläsning 1: Intro till kursen och programmering

Viktiga begrepp. Algoritm. Array. Binärkod. Blockprogrammering. Bugg / fel och felsökning. Dataspel. Dator

Programmeringsteknisk översiktskurs för yrkeshögskoleprogram

Datorsystem 5. På denna föreläsning skall vi prata om Operativsystem Exempel på tenta (typ fjolårets)

OOP Objekt-orienterad programmering

Laborationsrapport av robotprogrammering

Validering av XML, Svensk geoprocess Guide för validering av XML, Svensk Geoprocess

Thomas Pettersson. Sammanfattning. Född: Telefon: Kristinagatan 23B Norrköping.

Testplanering, test-first, testverktyg

Lunds Tekniska Högskola Datorarkitektur med operativsystem EITF60. Superscalar vs VLIW. Cornelia Kloth IDA2. Inlämningsdatum:

Datorsystemteknik DAV A14 Föreläsning 1

Introduktion till E-block och Flowcode

Fö 5+6 TSEA81. Real-time kernel + Real-time OS

Labbrapport LEGO-robot linefollower

Imperativ programmering

Operativsystem Introduktion

DIG IN TO Dator och nätverksteknik

Strukturerad problemlösning. Metoder och verktyg för datavetare Ht09

Designing a Shading System. David Larsson

Introduktion till programmering, hösten 2011

Att välja kurser på Datateknik år 4-5

Laborationer i SME094 Informationsteknologi I för

Du kan även lyssna på sidorna i läroboken: Teknik direkt s Lyssna gör du på inläsningstjänst.

Dagens OS. Unix, Linux och Windows. Unix. Unix. En översikt av dagens OS Titt på hur de gör. Många varianter Mycket gemensamt. En del som skiljer

Operativsystem. Hierarkin för hårdvara läses nerifrån

Transkript:

Realtidssystem HT03 Vad är realtidssystem? Föreläsare: Wang Yi Rum: 1235, yi@it.uu.se, Tel: 471 3110 Assistent: Tobias Amnell Rum: 1216, tobiasa@it.uu.se, Tel: 4717122 Webbsida: www.it.uu.se/edu/course/homepage/realtid/h03 Tidskritiska datorsystem Resultat måste levereras vid rätt tid Förekommer i: reglersystem, multimedia, flygledningsystem m.m. Snabbhet inte nödvändigtvis viktigast Förutsägbarhet ofta viktigare 1 2 Inbyggda system Att programmera, Datorer som inte ser ut som datorer Mobiltelefoner, bilar, medicinsk utrustning m.m. Begränsad: beräkningskraft minne(ram och disk) batteri kostnad per enhet inbyggda system Hårdvarunära ev. assembler Utveckling på annan maskin Emulering av verklig hårdvara realtidssystem Debugkod påverkar tidsbeteendet Svårt att debugga i realtid 3 4 Realtidssystem kräver analys Tasks (Uppgifter) Ofta säkerhetskritiska tillämpningar Testkörning räcker sällan för att ta reda på tidsbeteendet Försöker istället på förhand analysera om systemet fyller specifikationerna För design och analys av realtidssystem används vanligen tasks En task är en upppgift som programmet skall utföra I praktiken motsvaras en task ofta av en tråd eller process En task har parametrar tex: exekveringstid, prioritet, deadline... 5 6

Schemaläggning Schemaläggningsanalys Vill undersöka om ett realtidssystem kan klara sina uppgifter i tid Scheman visas ofta i Gantt-diagram: Task 2 Task 2 Task 3 Task 1 Task 1 Task 1 Tid Vill avgöra om en uppsättning tasks med givna parametarar klarar sina deadlines Olika typer: Rate monotone Earliest deadline first med flera Ibland tillåts en task avbryta en annan, ibland inte 7 8 Körtidsanalys Resursdelningsprotokoll Förutsättning för schemaläggning Körtid beror bland annat på: hårdvara (cachar, pipelines i CPU, etc) indata ( storlek och komplexitet ) programspråk/körmiljö ( garbage collection et.c.) Programkonstruktioner ( loopgränser ) Flera task kan dela en resurs (t.ex. en kommunikationsport) Tasken måste exekvera i kritisk sektion när resursen används Skyddas med exempelvis semaforer Gör schemaläggning mer komplex risk för: deadlock prioritetsinversion Mars Pathfinder 9 10 Utvecklingsverktyg Analys och verifiering Modeller av program som beskrivningar av systemet T.ex. Unified modelling language (UML): generellt för mjukvara, tillägg för realtid, många verktyg med simulering och kodgenerering Matlab/Simulink för modellering av kontrollsystem Olika typer för olika aspekter: Formella metoder, t.ex. model checking, för säkerhet och logisk korrekthet (svårt) Schemaläggningsanalys, för realtids egenskaper (utvecklad teori) Körtidsanalys, förutsättning för schemaläggning (svårt) 11 12

Laborationer Filmtajm LEGO robot miniprojekt C-programmering av inbyggt system Modellering och analys med Times laborationer Verifiering och schemläggningsanalys Schemaläggningsanalys hemuppgift och labbtillfälle Övningar i schemaläggningsteori 13 14 LEGO Mindstorms brickos/legos Operativsystem LEGO Mindstorms RCX Programerbar mikrokontroller (Hitachi H8/3932) Sensorer 2 tryck 1 ljus Ställdon 2 motorer Batteridriven IR-sändtagare Öppen källkods OS för RCX-kloss Utveckla program i C/C++ på Windows eller Linux Ladda ned till kloss med IR OS använder 10-15 kb, resten för program Ej hård real-time, dock tådar, semaforer m.m. 15 16 Uppgift Uppgift, forts Del 1, Ljusmätare Gör en geigermätare för ljus Del 2, Statiskt cykliskt schema Bygg ett fordon. Använd en enda tråd som anropar procedurer motsvarande tasks i systemet. Procedurerna skall anropas vid regelbundna tidsinterval. Använd dess task: motorkontroll, kör_framåt, byt_riktning och hantera_hinder Del 3, Övervakare Lägg till en task till det statisk schemat som kontrollerar att alla procedurer håller sig inom tidsbudgeten. Del 4, Multitrådning - Gör om systemet så att tasken körs i samtidiga trådar som schemaläggs av operativsystemet. Lägg till task: linjehantering 17 18

Uppgift, forts Gruppindelning Del 5, Robottävling - Kortast tid för tre vändor Start/vänd Grupper om två (2) personer Varje grupp lånar en LEGO-låda Introduktion 10 sep 13-17 i 1312/1313 Instruktioner på webben Cygwin/legOS-miljö i 1312 och 1313 Tävlingsbana kommer att finnas i 1312 Tävling (redovisning): 16 oktober Uppsamling veckan efter tentan 19 20 Times Times editor Program för modellering, simulering och verifiering av realtidssystem. Systemet beskrivs med tidsautomater med tasks Verifieringsmotor kan kontrollera om ett schema är möjligt och andra egenskaper Utvecklat av forskare vid insutitionen 21 22 Times simulator Uppgift i Times Grupper om två(2) personer Introduktion 22 sep 13-15 i 1211 Lab 23 sep 15-17 i 1515 Lab 25 sep 15-17 i 1515 Inlämnas senast 10 oktober 23 24

Schemaläggning Hemuppgift med FpsCalc Övningar i schemaläggningsanalys för taskar med fixa prioriteter Löses enskilt Genomgång/lab 7 oktober Inlämnas senast 17 oktober 25