Realtidssystem, device drivers. Föreläsning 10

Storlek: px
Starta visningen från sidan:

Download "Realtidssystem, device drivers. Föreläsning 10"

Transkript

1 Realtidssystem, device drivers Föreläsning 10

2 Dagens föreläsning Realtidssystem Device drivers (Multimedia video)

3 Realtidssystem Karakteristika Mjuka realtidssystem Hårda realtidssystem Schemaläggning

4 Realtidssystem Uppgifter, jobb, som måste lösas inom givna tidsramar Ett jobb är oftast en ganska liten beräkning Ex: Läsa av och analysera sensordata Styra saker, ex. tändning i en bilmotor, instabila flygplan (JAS 39) Jobb har en deadline som inte får missas Realtidssystem, Device Drivers 4

5 Jobb Ett jobb har följande attribut starttid S är det tidigaste tillfälle då det kan startas beräkningstid C är den maximala exekveringstid det kan behöva för att utföra sin uppgift (kallas också critical path, kritisk väg) deadline D är tiden då det måste vara utfört S+C D (annars går det inte) Realtidssystem, Device Drivers 5

6 Periodiska jobb Ett periodiskt jobb sköter en uppgift som utförs med regelbundna intervall Styrsystem (mät,räkna,styr) Mätdatainsamling Tiden mellan två startider för ett jobb är dess period P Ex: mät något 10 ggr/sek ger period P = 0.1 sek Olika jobb i samma system kan ha olika period Ett system med bara periodiska jobb kallas periodiskt Realtidssystem, Device Drivers 6

7 Aperiodiska jobb Realtidsystem innehåller ofta uppgifter som inte är periodiska utan förorsakas av någon händelse Ex: Styrsystem: någon parameters värde indikerar att systemet måste nödstoppas Vanligt är att realtidsystem innehåller både periodiska och aperiodiska jobb Realtidssystem, Device Drivers 7

8 Hårda och mjuka system I ett hårt realtidssystem får man inte missa deadlines eftersom det medför fatala fel. Ex: En robotarm bör stoppas innan den slagit genom vindrutan på bilen den sätter samman Styrstavarna i en kärnreaktor bör hinna sänkas ned i härden innan kärnreaktionen skenar I mjuka realtidssystem bör man hålla deadlines men det inträffar inte katastrofer om man missar en deadline. Ex: Spelar man upp en videosnutt och missar en deadline så att det blir ett hack i filmen är det inte bra men heller inte katastrofalt Realtidssystem, Device Drivers 8

9 Mer eller mindre hårda/mjuka jobb I den mesta grundläggande litteraturen om realtidssystem är världen svart-vit eller hård-mjuk Men många verkliga realtidsystem kan innehålla uppgifter (jobb) som är mer eller mindre viktiga (hårda) Ofta bör man prioritera säkerhetskritiska jobb före sådana som styr normalfallet Ex: styr/kontrollsystem i en bil Vid en inbromsning bör man kanske prioritera att styra ABSbromsarna framför att klara perfekt motorstyrning om man inte klarar bägge optimalt jobb kan ha en vikt som talar om hur viktiga de är Realtidssystem, Device Drivers 9

10 Vilken typ av stöd från OS behövs? - hårda system Hårda realtidsystem kräver att man inte råkar ut för svårförutsägbara fördröjningar Hårda realtids OS har därför oftast inte stöd för: Virtuellminne Filsystem och många andra typer av I/O-enheter som kan läsas/skrivas under drift av realtidsystemet Data lagras oftast i ROM Exempel på realtids OS: VxWorks, Eneas OS-E... Realtidssystem, Device Drivers 10

11 Vilken typ av stöd från OS behövs? - mjuka system De flesta moderna UNIX och vissa Windows varianter stödjer mjuka realtids krav Användarna vill kunna titta på video, spela interaktiva spel, utnyttja IP-telefoni etc. Stödet består normalt av Möjlighet att ge processer högre prioritet Mjuka realtidsprocessers prioritet får inte sjunka genom t.ex ageing Möjlighet att låsa sidor i minnet (pinning) Möjlighet att avbryta andra processers systemanrop (kärnan) Realtidssystem, Device Drivers 11

12 Varför avbryta andra processers systemanrop? Vanligen måste ett OS vänta på att ett systemanrop eller blockerande I/O utförs innan ett processbyte kan utföras Ger upphov till dispatch latency när en ny process skall schemaläggas Kan ge oacceptabla fördröjningar för en (mjuk) realtidsprocess som vill exekvera Lösning: Gör det möjligt att avbryta (pre-emption) systemanrop och kärnan! Realtidssystem, Device Drivers 12

13 Att avbryta systemanrop och kärnan -forts. Problem: Hur hanteras datastrukturer som är under modifiering när systemanropet avbryts? Två alternativ: Preemption points kärnan kan bara avbrytas på vissa bestämda punkter Kärnan kan avbrytas var som helst men den avbrytande processen kan inte modifiera datastrukturer som den avbrutna processen arbetade med Ex: Solaris 2 och senare Kärnan kan avbrytas var som helst Dispatch latency utan pre-emption på kärnan ~100msec med pre-emption på kärnan ~2msec Realtidssystem, Device Drivers 13

14 Prioritetsinversion En process med hög prioritet kan bli tvungen att vänta på en process med lägre prioritet om: Processen med låg prioritet håller en resurs som inte kan göras pre-emption på och som procesen med hög prioritet behöver Lösningar: En process (jobb) får bara köra om den kan få alla resurser på en gång som den behöver för att slutföra sin uppgift (nå sin deadline i tid) Ha bara resurser som kan pre-emptas Realtidssystem, Device Drivers 14

15 Prioritetsinversion forts. - att ärva prioriteter Antag att en högprioriterad process begär att en lågprioriterad process skall utföra ett jobb åt den och att den högprioriterade måste ha svaret innan den kan fortsätta - den högprioriterade processen kan då få vänta på andra processer med mellanhöga prioriteter som avbryter den lågprioriterade! Lösning: låt den lågprioriterade processen ärva den högprioriterades priorited under det att den utför arbetet åt den högprioriterade Realtidssystem, Device Drivers 15

16 Schemaläggning i realtidssytem -Mål och kvalitetesmått Mål: klara alla deadlines En optimal realtidsschemaläggningsalgoritm är optimal om den bara misslyckas med att klara en deadline om ingen annan schemaläggningsalgoritm heller klarar det Mått som används för schemaläggningsalgoritmer: Minimera en viktad summa av tidpunkterna då jobb är klara (kan vara ett bra mått om man har jobb som är olika viktiga att slutföra) Minimera den maximala tiden T ett jobb missar sin deadline med dvs. maximala förseningen (om T > 0 måste mer resurser tillföras annars klarar man inte alla deadlines) OBS! Säger inget om hur många deadlines som klaras! Realtidssystem, Device Drivers 16

17 Maximal försening - exempel T1 T2 T3 T4 T5 Missar alla deadline d1 d2 d3 d4 d5 Maximal försening T2 T3 T4 T5 T1 Missar en deadline d1 d2 d3 d4 d5 Realtidssystem, Device Drivers 17 Maximal försening

18 Bivillkor för schemläggning Bivillkoren för en realtidsschemaläggning kan inkludera Deadlines Beräkningstider, C Starttider, S Ordning mellan jobb (ex. jobb A måste vara klart före jobb B) Vikter Realtidssystem, Device Drivers 18

19 Schemaläggningsvarianter - del 1 Statisk schemaläggning Alla bivillkor är kända a priori Fix processpopulation Schemaläggningsalgoritm: En statisk schemaläggning som aldrig ändras Dynamisk schemaläggning Alla bivillkor kända för de processer som är aktiva Dynamisk processpopulation, processer kan tillkomma, få nya starttider Schemaläggningen kan förändras med processpopulationen Vill man säkerställa att man kan möta deadline måste begära att nya processer kan deklarera hela sitt resursbehov/alla bivillkor och man kan tvingas neka en process/jobb att starta för att skydda jobb som redan schemalagts Realtidssystem, Device Drivers 19

20 Schemaläggningsvarianter - del 2 Off-line schemaläggning Schemaläggningen beräknas off-line Kan göras för statisk schemaläggning Bör också användas för att testa värsta fallet vid dynamisk schemaläggning On-line schemaläggning Schemalägningen beräknas vid exekveringen Realtidssystem, Device Drivers 20

21 Schemaläggning utan pre-emption Jacksons regel Varje schemaläggning som ordnar processerna efter strikt ökande deadline-tider är optimal Realtidssystem, Device Drivers 21

22 Periodiska system Nödvändigt villkor för att ett periodiskt system skall vara schemaläggningsbart C i /P i <= 1 C/P är andelen av perioden som en process måste få exekvera (last) Realtidssystem, Device Drivers 22

23 Analys av periodiska system Det kritiska ögonblicket är när alla jobb vill starta var sitt uppdrag samtidigt En prioritetstilldelning fungerar om den fungerar från det kritiska ögonblicket till dess att alla jobb är idle utan att något jobb missar en deadline Realtidssystem, Device Drivers 23

24 Rate Monotonic Scheduling - statisk schemaläggning för periodiska system Avbrytande (preemptive) schemaläggning med fasta prioriteter Processer kan avbrytas av att högre prioriterade processer blir körbara En process (eller tråd) per jobb Kortast period har högst prioritet p = 1/P Används i många system Realtidssystem, Device Drivers 24

25 Rate Monotonic Scheduling - schemaläggningsbarhet n oberoende periodiska processer kan schemaläggas med RMS omm: C i /P i <= n(2 1/n 1) Gränsvärde då n går mot : Realtidssystem, Device Drivers 25

26 Earliest deadline first Dynamisk avbrytande schemaläggning för periodiska och aperiodiska system Den process som har kortast tid kvar till sin deadline får köra först En process som blir körklar anmäler sin deadline till systemet Optimal enligt Jacksons regel Klarar alla periodiska system med känd processpopulation och last <= 1 Men vid överlast kan den fungera riktigt dåligt och ge en dominoeffekt av jobb som missar sin deadline!!! Realtidssystem, Device Drivers 26

27 Exempel på schemaläggning T A (C=15, P=30) T B (C=15, P=40) T C (C=5, P=50) RMS prioriteter 1/30 1/40 1/50 Total last: 15/30+15/40+5/50 = RMS EDF T C missar sin deadline! Realtidssystem, Device Drivers 27

28 Schemaläggning med vikter Smiths regel Antag att varje process har en vikt w som anger hur viktig den är En schemaläggning är optimal som schemalägger processerna i icke-avtagande ordning efter C/w Realtidssystem, Device Drivers 28

29 Vad är svårt (omöjligt) Delade resurser är ett problem... Schemaläggning med allmänna ordningsvillkor (precedence constraints) mellan jobb är ett NP komplett problem Schemaläggning för processer som synkroniserar med semaforer är ett NP-komplett problem Earliest deadline first är icke-optimal om man har fler än en processor ex: 2 processorer jobb: T1(C=1, d=1), T2(C=1, d= 2), T3(C=3, d = 3.5) EDF kör T1 och T2 på var sin processor och T3 missar deadline Realtidssystem, Device Drivers 29

30 Device drivers Allmänt Lite om LINUX

31 Vilken kod ska en device driver innehålla Interface mot kärnan Kod för systemanrop Kod för avbrottshantering Kod för initialisering när device drivern installeras Kod för att städa upp om device drivern tas bort Device driver är en typ av svart-låda som ska styra hårdvaruenheten Realtidssystem, Device Drivers 31

32 Policy och mekansim En device driver bör implementera mekanismer för att hantera enheten En device driver bör inte implementera policy Viss implementation av policy kan dock vara på sin plats när det gäller säkerhet Kontrollera vem som kör rutinen Intialisera dataareor till noll så inte information sprids oavsiktligt (om en gammal datarea återanvänds) Man måste få till det rätt vad avser säkerheten! Realtidssystem, Device Drivers 32

33 Programmering Oftast vanlig C med lite assembler Alla C s biblioteksfunktioner är inte tillgängliga Kärnan har oftast egna motsvarigheter Ex. från LINUX: kmalloc(), printk() Koden måste vara reentrant Måste hantera parallelism (concurrency) Kod i kärnan kan avbrytas av avbrott! Om OS:et tillåter exekvering på multiprocessorer eller kärnan kan avbrytas kan dessutom flera processer exekvera koden samtidigt Realtidssystem, Device Drivers 33

34 Kompilering En device driver måste kompileras: För en viss arkitektur Normalt också för en viss version av OS-kärnan Realtidssystem, Device Drivers 34

35 Debuggning I de flesta fall kan man skriva meddelanden till en demon eller till en speciell fil från kod i kärnan En del system har inbyggda debuggers i kärnan Inte LINUX eftersom Linus T anser att interaktiva debuggers lätt leder till patchar För LINUX finns separatutvecklade kärndebuggers (kdb) Fel leder ofta till att den process som körde i device drivern dör men kärnan överlever oftast Har man riktig otur kan man få en maskin att hänga sig helt så den måste power-switchas Realtidssystem, Device Drivers 35

36 Device (driver) typer i LINUX Character device Block device Network interfaces Character och Block devices Hanteras som filer open, read, write, close systemanrop Network interfaces Syns i filsystemet Hanterar paket istället för strömmar av data Realtidssystem, Device Drivers 36

37 LINUX moduler LINUX har ett modulsystem för att kunna länka in /ta bort device drivers dynamiskt Inte länkning i vanlig mening Det byggs ingen exekverbar fil Objektkoden länkas till kärnans funktioner genom att funktionspekare sätts upp Kommandon för att installera/ta bort moduler insmod rmmod Realtidssystem, Device Drivers 37

38 LINUX moduler - forts. En modul i LINUX skall ha Funktion för installation Registerar funktioner hos kärnan Initierar data Funktion för upprensing om modulen tas bort med rmmod Realtidssystem, Device Drivers 38

39 LINUX moduler insmod module init_module() kernel proper register_capability() capabilities[] printk() rmmod cleanup_module() unregister_capability() Realtidssystem, Device Drivers 39

40 U s e r s p a c e Systemanrop och device drivers exit(0) Lägg parametern i register t.ex %o0 Lägg koden för systemanropet i register t.ex %g0 Gör trap, ta K e r n e l I TRAP-handlern Kolla att det var ett systemanrop Använd koden för systemanropet och slå upp/anropa funktionen från en tabell %g0 exit(%o0) s p a c e Realtidssystem, Device Drivers 40

41 U s e r s p a c e K e r n e l Systemanrop och device drivers write(fd, buf, len) TRAP-vektor %g0 write(%o0, %o1, %o2)? fd -> i-nodstabell DeviceDriverTabell write_to_terminal(fd, buf, len) s p a c e write_to_disk Realtidssystem, Device Drivers 41

42 LINUX moduler Globala variabler och funktioner blir normalt synliga för hela kärnan när en modul installeras För att undvika name-space pollution Deklarera funktioner och globala variabler som bara används lokalt i modulen som static Välj namn på sådant som skall vara synligt utanför modulen så att det går att förstå vad de används till Realtidssystem, Device Drivers 42

43 Att anropa funktioner i modulen En device driver identifieras av kärnan med ett major device number En enhet som hanteras av en device driver identifieras med ett minor device number När kärnan anropar funktioner i en device driver skickar den med major och minor device number till device drivern För att kärnan skall kunna använda funktioner i en device driver ska device drivern ha fördefinierade datastrukturer med pekare till funktioner struct file_operations med pekare till open, read, write etc. Realtidssystem, Device Drivers 43

44 Att bli en erkänd device driver En device driver måste välja ett ledigt major device number och registrera det hos kärnan För att skapa en device fil (node) i filsystemet (/dev) används kommandot mknod Kan bara köras av super-user (root) Ex: mknod /dev/scull c Realtidssystem, Device Drivers 44

45 Att ta bort en device driver (modul) Man kan få stora problem om man tar bort en modul (device driver) som används Modulen skall ha en räknare som talar om hur många aktiva användare av modulen som finns Ansvaret att uppdatera räknaren ligger på modulen själv Räknaren måste uppdateras direkt när en ny användare startar använda modulen och räknas ned som det sista som görs när en användare slutar använda modulen Misslyckas man med dessa räknare kan man hamna i lägen då modulen inte går att avinstallera Dessutom skall modulen ha en funktion som rensar upp då modulen tas bort Lämnar tillbaka resurser den allokerat till kärnan som minne, datastrukturer etc. Realtidssystem, Device Drivers 45

46 Att lära sig mer LINUX device drivers 3 d edition Rubini & Corbet, O Reilly 2001 Boken finns tillgänglig på webben under GNU licens lab2 &3 Realtidssystem, Device Drivers 46

47 Lite om multimedia - både realtid och device drivers

48 Multimedia Integrering av Video (rörliga bilder) Ljud Text (textremsor) Multimedia blir allt vanligare Filmer på DVD Videoclips från nätet Spel Redigeringsverksamhet (produktion av multimedia) Video on demand Realtidssystem, Device Drivers 48

49 Karakteristika Ett dokument (t.ex. en film) kan bestå av Videoinformation (bilder) Flera ljudspår på olika språk Flera textspår på olika språk Extra ljud och bildspår för snabbspolning Videoinformationen är huvuddelen av data Oftast MPEG 2 kodad (kompression) Ungefär 4 megabit per sekund Består av bildrutor (25-30 per sekund) som på grund av kompression är olika stora Realtidssystem, Device Drivers 49

50 Något om videokompression med MPEG 2 En videoström (film) består av bildrutor (frames) per sekund De flesta bildrutor skickas som diff av föregående (eller nästa), P (eller B)-frame Mycket kraftigt komprimerande i allmänhet En bild i sekunden eller så skickas som en JPEG bild, kallas I-frame Gör att man kan börja titta där Medger även fortsättning efter fel Kanske 10 gånger större än P eller B-frame Realtidssystem, Device Drivers 50

51 Krav för hantering av multimediadata Hög bandbredd och stora datavolymer 4-6 megabit per sekund en tvåtimmarsfilm blir 3,6 till 5,4 gigabyte stor ljudet tar ytterligare 70 kilobit per sekund och kanal Realtidskrav data måste komma i jämn ström Förutsägbarhet efter en bild kommer nästan alltid nästa Realtidssystem, Device Drivers 51

52 Filsystem för multimediadata Prestanda förbättras om filsystemet anpassas Strategi: använd förutsägbarhet lagra all information som används nära i tiden tillsammans en bild (I,B eller P-frame) ljudet för de millisekunderna ev annan info read-ahead av data kan kräva stora buffrar men sparar många förflyttningar av diskarmen och kan spara mycket tid Realtidssystem, Device Drivers 52

53 Organisation av multimediafiler Småblocksmodellen (the small block model) blockstorlek mycket mindre än bildstorlek (inklusive ljud), t.ex. 1 KB varje bild är ett antal block, sista blocket halvfullt blocken i varje bild är konsekutiva på disken ett bildindex ger info om vilket blocknummer en bild ligger på samt hur stor den är diskhantering lite knepig då allokeringsenheten är olika stor Realtidssystem, Device Drivers 53

54 Organisation av multimediafiler Storblocksmodellen (the large block model) man lagrar flera bilder per block, block är t.ex. 256 KB ett blockindex håller reda på vilken bild som börjar i ett visst block och var på disken det blocket finns om det är plats över i ett block (bara en del av en bild får plats) kan man göra två saker lämna slutet av blocket tomt ha halva bilden i det blocket och andra halvan i nästa Realtidssystem, Device Drivers 54

55 Multimediafiler och cachning Använd inte LRU Använd inte LRU Använd inte LRU... Realtidssystem, Device Drivers 55

56 Multimediafiler och cachning Om två användare ser samma film nästan samtidigt kan man låta data ligga kvar efter första filmens hämtning Dock behövs en stor buffer eftersom filmen tar 4-6 megabit per sekund Realtidssystem, Device Drivers 56

57 Multimediafiler och diskarmsschemaläggning Om man har flera diskoperationer på kö kan man ordna om dem för ökade prestanda Enligt SJF algoritmen skulle man alltid ta det närmaste härnäst, men då svälts vissa operationer ut Man kan dela upp operationerna i grupper och optimera varje grupp för sig Hissalgoritmen lämplig för varje grupp Realtidssystem, Device Drivers 57

58 Nästa föreläsning Fallstudie LINUX & Windows Realtidssystem, Device Drivers 58

Multimedia. Multimedia. Datakompression. Annorlunda krav. Inte bara text eller nerladdning av filer. Video, ljud med tidskrav.

Multimedia. Multimedia. Datakompression. Annorlunda krav. Inte bara text eller nerladdning av filer. Video, ljud med tidskrav. Multimedia nte bara text eller nerladdning av filer Multimedia Video, ljud med tidskrav Video-on-demand TV Telefoni Förändring av mediasituationen Sveriges TV jmf Blattnicksele TV Annorlunda krav Stora

Läs mer

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

Realtidssystem HT03. Vad är realtidssystem? Inbyggda system. Att programmera, Tasks (Uppgifter) Realtidssystem kräver analys 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

Läs mer

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

Realtidssystem. - Schemaläggning - EDAF85 - Realtidssystem (Helsingborg) Elin A. Topp. Föreläsning 6 Realtidssystem - Schemaläggning - EDAF85 - Realtidssystem (Helsingborg) Elin A. Topp Föreläsning 6 Kursens innehåll motsvarar tidigare omgångar under beteckning EDA698 Stora delar baserad på: Föreläsningsmaterial

Läs mer

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

Vad är viktigast? Sammanfattning. Processer och trådar. Processer och trådar. Flerprocessorsystem. Schemaläggning. Interprocesskommunikation. Vad är viktigast? Sammanfattning Processer och trådar Avbrottshantering Vad det är och hur det fungerar (på låg nivå) Vilka problem finns Schemaläggning Flerprocessorsystem Varianter, problem Interprocesskommunikation

Läs mer

Realtidsprogrammering Ordinarie tentamen

Realtidsprogrammering Ordinarie tentamen Tentamen i Realtidsprogrammering Ordinarie tentamen Datum: 2006-10-20 Tid: 08:00 13:00 Ansvarig lärare: Telefon: 1438 (kontor) Hjälpmedel: Miniräknare Poäng: Tentamen omfattar 40 poäng fördelade på 7 uppgifter.

Läs mer

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

Operativsystem. Innehåll. Operativsystemets funktion. Vad är ett OS? Vart hittar men ett OS? OS hanterar processorns resurser Innehåll Operativsystem Vad är operativsystem och hur fungerar de Vad är ett OS? Syfte Att tillåta flera program att köra samtidigt Att fungera som ett abstraktionslager mot hårdvaran Att hantera olika

Läs mer

Tentamen i Realtidsprogrammering för Au3, D3, E3

Tentamen i Realtidsprogrammering för Au3, D3, E3 Tentamen i Realtidsprogrammering för Au3, D3, E3 Ordinarie Tentamen Datum: 2005-10-21 Tid: 14:00-19:00 Ansvarig lärare: Telefon: 1438 (kontor) Hjälpmedel: Miniräknare Poäng: Tentamen omfattar 40 poäng

Läs mer

Tentamen i ID2206, ID2200 samt IS1350 Operativsystem

Tentamen i ID2206, ID2200 samt IS1350 Operativsystem Tentamen i ID2206, ID2200 samt IS1350 Operativsystem Tisdagen 2014-03-18 kl 09:00-13:00 Examinator: ID2206, ID2200 Robert Rönngren, IS1350 Jim Dowling Hjälpmedel: Inga Tentamensfrågorna behöver inte återlämnas

Läs mer

Omtentamen i Realtidsprogrammering för Au3, D3, E3

Omtentamen i Realtidsprogrammering för Au3, D3, E3 Omtentamen i Realtidsprogrammering för Au3, D3, E3 Datum: 2004-01-14 Tid: 0800-1300 Ansvarig lärare: Telefon: 1438 (kontor) Hjälpmedel: Inga särskilda hjälpmedel är tillåtna. Poäng: Tentamen omfattar 40

Läs mer

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

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 Dagens OS En översikt av dagens OS Titt på hur de gör Unix, Linux och Windows Unix Många varianter Mycket gemensamt Unix En del som skiljer Vanliga program, shell, etc System calls Interupts and traps

Läs mer

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

Operativsystem. Informationsteknologi sommarkurs 5p, 2004. Agenda. Slideset 7. Exempel på operativsystem. Operativsystem Informationsteknologi sommarkurs 5p, 2004 Mattias Wiggberg Dept. of Information Technology Box 337 SE751 05 Uppsala +46 18471 31 76 Collaboration Jakob Carlström Slideset 7 Agenda Exempel på operativsystem

Läs mer

TDDIU81. Processer och trådar. Andreas Dahlberg, Jonathan Doherty, Tony Magnusson, Patrik Ottosson, Rasmus Siljedahl

TDDIU81. Processer och trådar. Andreas Dahlberg, Jonathan Doherty, Tony Magnusson, Patrik Ottosson, Rasmus Siljedahl TDDIU81 Processer och trådar Andreas Dahlberg, Jonathan Doherty, Tony Magnusson, Patrik Ottosson, Rasmus Siljedahl Sammanfattning Den här rapporten innehåller en kort genomgång av allmän process och trådhantering

Läs mer

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

Olika OS. Unix, Linux och Windows. Unix. Unix. En översikt av ett par OS. Titt på hur de gör. Många varianter. Mycket gemensamt. En del som skiljer Olika OS En översikt av ett par OS Titt på hur de gör Unix, Linux och Windows Unix Många varianter Mycket gemensamt Unix En del som skiljer Begrepp Hur skapas en process Deamon rocess Föräldrar & barn

Läs mer

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

Fö 7: Operativsystem. Vad är ett operativsystem? Målsättning med operativsystem. Styr operativsystemet datorn? Fö 7: Operativsystem Introduktion. Klassificering. Vad är ett operativsystem? Program som kontrollerar andra andra program. Gränssnitt mellan användare och hårdvaran. Kärnan. Historisk översikt. Typeset

Läs mer

Datorteknik ERIK LARSSON

Datorteknik ERIK LARSSON Datorteknik ERIK LARSSON Inledning Ken Thompson och Dennis M. Ritchie utvecklade C Turingpriset( Nobelpris i datavetenskap ), 1983 Alan Turing (1912-1954) För deras utveckling av generell OS teori och

Läs mer

Synkronisering. Föreläsning 8

Synkronisering. Föreläsning 8 Synkronisering Föreläsning 8 Synkronisering Så stort, intrikat och viktigt att det finns hela kurser om det i parallellprogrammering. Vi fuskar lite med några av de viktigaste bitarna! Synkronisering Vad

Läs mer

Flera processer. Minneshantering. Trashing kan uppstå ändå. Ersätta globalt

Flera processer. Minneshantering. Trashing kan uppstå ändå. Ersätta globalt Flera processer Minneshantering Operativsystem lektion 6 Potentiellt problem: Den sida som plockas bort behöver inte vara den sida som används minst!! Det kan finnas andra processer som inte körs eller

Läs mer

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

Lunds Tekniska Högskola Datorarkitektur med operativsystem EITF60. Superscalar vs VLIW. Cornelia Kloth IDA2. Inlämningsdatum: Lunds Tekniska Högskola Datorarkitektur med operativsystem EITF60 Superscalar vs VLIW Cornelia Kloth IDA2 Inlämningsdatum: 2018-12-05 Abstract Rapporten handlar om två tekniker inom multiple issue processorer

Läs mer

Fö 8: Operativsystem II. Minneshantering. Minneshantering (1) Minneshantering (2) Minneshantering och Virtuelltminne.

Fö 8: Operativsystem II. Minneshantering. Minneshantering (1) Minneshantering (2) Minneshantering och Virtuelltminne. Fö 8: Operativsystem II Minneshantering och Virtuelltminne. Virtuella I/O enheter och Filsystemet. Flerprocessorsystem. Minneshantering Uniprogrammering: Minnet delas mellan operativsystem och användarprogrammet.

Läs mer

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

Realtidssystem. - Schemaläggning - EDA698 - Realtidssystem (Helsingborg) Elin A. Topp. Föreläsning 6 Realtidssystem - Schemaläggning - EDA698 - Realtidssystem (Helsingborg) Elin A. Topp Föreläsning 6 Stora delar baserad på: Föreläsningsmaterial EDA040 (Klas Nilsson, Mathias Haage) samt EDA698 (Mats Lilja)

Läs mer

Föreläsning 2. Operativsystem och programmering

Föreläsning 2. Operativsystem och programmering Föreläsning 2 Operativsystem och programmering Behov av operativsystem En dator så som beskriven i förra föreläsningen är nästan oanvändbar. Processorn kan bara ges enkla instruktioner såsom hämta data

Läs mer

Filsystem. Varför? Hur? För att kunna lagra data mer permanent än i RAM. Vettig organisation Vettiga namn

Filsystem. Varför? Hur? För att kunna lagra data mer permanent än i RAM. Vettig organisation Vettiga namn Varför? För att kunna lagra data mer permanent än i RAM Hur? Vettig organisation Vettiga namn Stora/små bokstäver 8-bitars tecken (teckenkodning) File extensions Längd Struktur på filerna Byte efter byte,

Läs mer

Öka prestanda i Shared-Cache multi-core processorer

Öka prestanda i Shared-Cache multi-core processorer Öka prestanda i Shared-Cache multi-core processorer 1. Abstract Många processorer har nuförtiden flera kärnor. Det är även vanligt att dessa kärnor delar på högsta nivås cachen för att förbättra prestandan.

Läs mer

Lösningsförslag till tentamen i IS1350 Operativsystem

Lösningsförslag till tentamen i IS1350 Operativsystem sförslag till tentamen i IS1350 Operativsystem Måndagen 2015-03-16 kl 09:00-13:00 Examinator: IS1350 Jim Dowling Hjälpmedel: Inga Tentamensfrågorna behöver inte återlämnas efter avslutad tentamen. Ange

Läs mer

Institutionen för elektro- och informationsteknologi, LTH

Institutionen för elektro- och informationsteknologi, LTH Datorteknik Föreläsning 5 Realtidssystem och realtidsprogrammering Mål Att du ska förstå hur avbrott används för - Mätning - Styrning - Stöd för körning av flera processer Att du ska förstå begreppet tråd

Läs mer

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

Datorteknik. Föreläsning 5. Realtidssystem och realtidsprogrammering. Institutionen för elektro- och informationsteknologi, LTH. Datorteknik Föreläsning 5 Realtidssystem och realtidsprogrammering Mål Att du ska förstå hur avbrott används för - Mätning - Styrning - Stöd för körning av flera processer Att du ska förstå begreppet tråd

Läs mer

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

Fö 5+6 TSEA81. Real-time kernel + Real-time OS Fö 5+6 TSEA81 Real-time kernel + Real-time OS Stackens användningsområde * JSR / RTS : returadress * Temporärdata (push / pop) void myfunc(void) { int i; // hamnar nog i register int test[10]; // hamnar

Läs mer

syftar till att förbättra prestanda. Den kan avse något eller flera av följande mått.

syftar till att förbättra prestanda. Den kan avse något eller flera av följande mått. 71 4. 4.1. Allmänt Vid multiprogrammering kan det vara önskvärt att anpassa systemets beteende till olika tillämpningars behov. En anledning till multiprogrammering var att man önskade öka genomströmningen.

Läs mer

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

Försättsblad till skriftlig tentamen vid Linköpings Universitet Cover page for written exam at Linköping University Försättsblad till skriftlig tentamen vid Linköpings Universitet Cover page for written exam at Linköping University Datum för tentamen Date of exam Sal Room Tid Time Kurskod Course code Provkod LADOK code

Läs mer

Operativsystem ID1200/06 Tentamen :00-18:00

Operativsystem ID1200/06 Tentamen :00-18:00 Operativsystem ID1200/06 Tentamen 2018-01-12 14:00-18:00 Instruktioner Du får, förutom skrivmateriel, endast ha med dig en egenhändigt handskriven A4 med anteckningar. Svaren skall lämnas på dessa sidor,

Läs mer

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

Datorsystem 5. På denna föreläsning skall vi prata om Operativsystem Exempel på tenta (typ fjolårets) Datorsystem 5 På denna föreläsning skall vi prata om Operativsystem Exempel på tenta (typ fjolårets) Vad är ett operativsystem (OS)? Syfte Att tillåta flera program att köra samtidigt Att fungera som ett

Läs mer

Schemaläggning Unix. Minneshantering etc. Linux. Schemaläggning av trådar (kernel threads) Detaljer. Operativsystem - Lektion 7

Schemaläggning Unix. Minneshantering etc. Linux. Schemaläggning av trådar (kernel threads) Detaljer. Operativsystem - Lektion 7 Schemaläggning Unix 20 priority = CPU_usage + nice + base Minneshantering etc Operativsystem - Lektion 7-20 Linux Schemaläggning av trådar (kernel threads) Real-time FIFO Real-time round robin Timesharing

Läs mer

Deluppgift 17 Processhantering: exec, sleep, exit, plist

Deluppgift 17 Processhantering: exec, sleep, exit, plist Linköpings Tekniska Högskola Institutionen för Datavetanskap (IDA), Software and Systems (SaS) (c) Klas Arvidsson Deluppgift 17 Processhantering: exec, sleep, exit, plist Inledning För att få ett praktiskt

Läs mer

Design och trender. Föreläsning 12

Design och trender. Föreläsning 12 Design och trender Föreläsning 12 Design och trender Varför är det svårt att skriva OS? Vad ska man tänka på när man implementerar OS? Vart är utvecklingen på väg? Fortsättningskurser för den som vill

Läs mer

Outline. Datorsystemtekni. Kravspecifikation. Kravspecifikation (forts.)

Outline. Datorsystemtekni. Kravspecifikation. Kravspecifikation (forts.) Outline för D2, ICT2, E3 och Mek3 Nicholas Wickström Högskolan i Halmstad Sverige p.1/18 Förra föreläsningen Specifikation -Kravspecifikation -Funktionsspecifikation -Blockdiagram Operativsystem -Grunder,

Läs mer

F5: Högnivåprogrammering

F5: Högnivåprogrammering F5: Högnivåprogrammering Parameteröverföring Koppling mellan låg- och högnivåprogrammering Lokala variabler Heapen Datatyper 1 Subrutin, parameteröverföring: 1(3) Via register genom värde Skicka data via

Läs mer

F5: Högnivåprogrammering

F5: Högnivåprogrammering 1 F5: Högnivåprogrammering Parameteröverföring Koppling mellan låg- och högnivåprogrammering Lokala variabler Heapen Datatyper 1 Subrutin, parameteröverföring: 1(3) Via register genom värde Skicka data

Läs mer

Operativsystem (IS1350) :00-12:00

Operativsystem (IS1350) :00-12:00 Operativsystem (IS1350) 2017-03-15 08:00-12:00 Namn: Instruktioner Betyg Du får endast ha med dig skrivmateriel. Mobiler etc skall lämnas till tentamensvakterna. Svaren skall lämnas på dessa sidor, använd

Läs mer

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

Realtidssystem Z EDA300 Tentamen 15/ , kl i V-huset Realtidssystem Z EDA300 Tentamen 15/12 2005, kl. 08.30 12.30 i V-huset Examinator: Docent Jan Jonsson Förfrågningar: Docent Jan Jonsson Telefon: 031 772 5220 Hjälpmedel: Utdrag ur Ada 95 Reference Manual

Läs mer

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

Operativsystem Lektion 1. Lärare. Schema. Kurssajten Finns på adressen. Jan Erik Moström. Set Norman Operativsystem Lektion 1 1 Lärare jem@cs.umu.se, B449 Lektioner etc Set Norman set@cs.umu.se, NAdv105 Labbar, labhandledning 2 Schema Notera att det finns ändringar i schemat!! Under perioden 1-8 mars

Läs mer

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

Datakom II (MNP) ht 1998 Bengt Ahlgren 1. Vad är speciellt med implementering av kommunikationsprotokoll? 1 Vad är speciellt med implementering av kommunikationsprotokoll? 2 Översikt Inledning Hårdvaru-vy och mjukvaru-vy Mjukvaruarkitektur Rules of thumb Minnesbandbredd TCP-implementering ILP Integrated Layer

Läs mer

Information Coding / Computer Graphics, ISY, LiTH. Minnesaccess. Vitalt för prestanda! Minnestyper. Coalescing

Information Coding / Computer Graphics, ISY, LiTH. Minnesaccess. Vitalt för prestanda! Minnestyper. Coalescing Minnesaccess Vitalt för prestanda! Minnestyper Coalescing Exampel på hur man kan använda delat minne Minnestyper Global Shared Constant (read only) Texture cache (read only) Local Registers Viktiga när

Läs mer

Program & programmering

Program & programmering Program & programmering Vad är program? Satser och instruktioner, toggla igenom exempel Program på olika nivåer, för olika maskiner, för olika saker Tolka program; kompilator, intepretator, binärbytekod,

Läs mer

Tentamen i Realtidsprogrammering

Tentamen i Realtidsprogrammering Tentamen i Realtidsprogrammering Ordinarie Tentamen Datum: 2011-05-14 Tid: 08:15 11:15 Ansvarig lärare: Telefon: 301438 Hjälpmedel: Miniräknare Poäng: Tentamen omfattar 40 poäng fördelade på 5 uppgifter.

Läs mer

Realtidsstöd i Minix. En laborationrapport. Oktober 2012

Realtidsstöd i Minix. En laborationrapport. Oktober 2012 Realtidsstöd i Minix En laborationrapport Karl Zylinski Hampus Gustafsson Oktober 2012 1 Innehåll 1 Introduktion 3 1.1 Problem................................ 3 1.1.1 Skapa ett testprogram....................

Läs mer

Operativsystem - input/output, skydd, virtualisering

Operativsystem - input/output, skydd, virtualisering Operativsystem - input/output, skydd, virtualisering Mats Björkman 2015-03-12 Lärandemål, I/O n Typer av I/O-enheter n Character, Block & Special n Minnesmappad I/O n Typer av I/O-programmering n Programmerad,

Läs mer

Operativsystem ID2200 Tentamen TEN1 3.8 hp :00-18:00

Operativsystem ID2200 Tentamen TEN1 3.8 hp :00-18:00 Operativsystem ID2200 Tentamen TEN1 3.8 hp 2018-04-03 14:00-18:00 Instruktioner Du får, förutom skrivmateriel, endast ha med dig en egenhändigt handskriven A4 med anteckningar. Svaren skall lämnas på dessa

Läs mer

Hjälpmedel: Inga hjälpmedel förutom penna, suddgummi och glatt humör.

Hjälpmedel: Inga hjälpmedel förutom penna, suddgummi och glatt humör. Tentamen Inst. för Informationsteknologi Avdelningen för Datorteknik Herbert P Sander Tel: 070 376 06 87 Ämne: Operativsystem Lokal: Post Scriptum, sal 2 Datum: Måndagen den 13 maj 2002 Tid: Kl 09.00-14.00

Läs mer

Operativsystem IS1350

Operativsystem IS1350 Operativsystem IS1350 LAB 3 2009-09-21 Checklista: ÿ ÿ Inloggningsuppgifter till KTH.SE-konto Tillgång till PC med Windows och C-kompilator, t.ex. Dev-C++ Sammanfattning I den här laborationen ska vi titta

Läs mer

Tentamen, Distribuerade System/Programvaruarkitektur 2001-08-24

Tentamen, Distribuerade System/Programvaruarkitektur 2001-08-24 Tentamen, Distribuerade System/Programvaruarkitektur 2001-08-24 FÖRSÄTTSBLAD Inlämnas ifyllt tillsammans med tentan. Skriv namn på samtliga blad. Ange nedan vilka uppgifter du besvarat. Uppgift Besvarad

Läs mer

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

Realtidssystem. - Dödläge - EDAF85 - Realtidssystem (Helsingborg) Elin A. Topp. Föreläsning 5 Realtidssystem - Dödläge - EDAF85 - Realtidssystem (Helsingborg) Elin A. Topp Föreläsning 5 Kursens innehåll motsvarar tidigare omgångar under beteckning EDA698 Stora delar baserad på: Föreläsningsmaterial

Läs mer

Operativsystem (ID2200/06) XX XX:00-XX:00

Operativsystem (ID2200/06) XX XX:00-XX:00 Operativsystem (ID2200/06) 2017-01-XX XX:00-XX:00 Namn: Instruktioner Du får, förutom skrivmateriel, endast ha med dig en egenhändigt handskriven A4-sida med anteckningar. Mobiler etc skall lämnas till

Läs mer

Operativsystem ID2206 7.5hp, ID2200 6hp

Operativsystem ID2206 7.5hp, ID2200 6hp Operativsystem ID2206 7.5hp, ID2200 6hp Robert Rönngren Innehåll Om kursen www.it.kth.se/courses/id2206 ID2200 Vad är ett operativsystem och varför ser de ut som de gör? kap. 1.1-1.3, 1.6-1.7 Processer

Läs mer

Introduktion till hårdvara, mjukvara och operativsystem

Introduktion till hårdvara, mjukvara och operativsystem Introduktion till hårdvara, mjukvara och operativsystem Grundläggande operativsystem 1DV415 1 1 Lärare Marcus Wilhelmsson Universitetsadjunkt i datavetenskap Linux, UNIX (Solaris, OpenSolaris, Mac OS X),

Läs mer

INSTITUTIONEN FÖR DATA- OCH INFORMATIONSTEKNIK

INSTITUTIONEN FÖR DATA- OCH INFORMATIONSTEKNIK INSTITUTIONEN FÖR DATA- OCH INFORMATIONSTEKNIK DIT162 Realtidssystem, 7,5 högskolepoäng Real-Time Systems, 7.5 credits Fastställande Kursplanen är fastställd av Institutionen för data- och informationsteknik

Läs mer

Operativsystem ID2206 Tentamen TEN1 4.5 hp :00-18:00

Operativsystem ID2206 Tentamen TEN1 4.5 hp :00-18:00 Operativsystem ID2206 Tentamen TEN1 4.5 hp 2018-04-03 14:00-18:00 Instruktioner Du får, förutom skrivmateriel, endast ha med dig en egenhändigt handskriven A4 med anteckningar. Svaren skall lämnas på dessa

Läs mer

Minneshantering segmentering och virtuellminne. Föreläsning 3

Minneshantering segmentering och virtuellminne. Föreläsning 3 Minneshantering segmentering och virtuellminne Föreläsning 3 Minneshantering forts. Hur kan man köra processer som är större än primärminnet? Hur kan man undvika att stack och heap växer ihop? Virtuellminne

Läs mer

Omkoppling av in- och utmatning. In- och utmatning i Unix. Kommando exempel, ls, pipe forts. Kommando exempel, ls, pipe

Omkoppling av in- och utmatning. In- och utmatning i Unix. Kommando exempel, ls, pipe forts. Kommando exempel, ls, pipe In- och utmatning i Unix Program i Unix skriver och läser till och från filer. En fil betyder här en vanlig fil med text eller binära data, ett tangentbord, en skärm, ett annat program etc. Innan ett program

Läs mer

Generell säkerhet. Loggning - Hur mycket ska man logga? Inloggningsrutinerna i Unix. Loggning fortsättning

Generell säkerhet. Loggning - Hur mycket ska man logga? Inloggningsrutinerna i Unix. Loggning fortsättning Generell säkerhet Här finns det inga direkta rätt eller fel. Snarare saker man bör tänka på när man implementerar ett program. Kort sagt: Efter att du kommit på hur du tänkt göra, sov på saken och tänk

Läs mer

Operativsystem ID1200/06 Tentamen :00-18:00

Operativsystem ID1200/06 Tentamen :00-18:00 Operativsystem ID1200/06 Tentamen 2018-01-12 14:00-18:00 Instruktioner Du får, förutom skrivmateriel, endast ha med dig en egenhändigt handskriven A4 med anteckningar. Svaren skall lämnas på dessa sidor,

Läs mer

In- och Utenheter. Fö 3: In/Ut matning och kopplingsstruktur. Några exempel. Egenskaper. In- och Utenheter. Styrning.

In- och Utenheter. Fö 3: In/Ut matning och kopplingsstruktur. Några exempel. Egenskaper. In- och Utenheter. Styrning. Fö 3: In/Ut matning och kopplingsstruktur In- och Utenheter In- och Utenheter. Styrning. I/O-kanalenheter Kopplingsstruktur. Buss. Två huvudsakliga typer av I/O enheter: - Interaktiva. Exempelvis en terminal.

Läs mer

Tentamen Lösningar EDA698 Realtidssystem

Tentamen Lösningar EDA698 Realtidssystem LUNDS TEKNISKA HÖGSKOLA 1(7) Institutionen för datavetenskap Tentamen Lösningar EDA698 Realtidssystem 13 10 22, 14:00 19:00 1. Prioriteter, korrekthet a) Realtidsproblemet kvarstår. Det finns ingen garanti

Läs mer

Hur hänger det ihop med användarkommandon, biblioteksfunktioner och systemanrop?

Hur hänger det ihop med användarkommandon, biblioteksfunktioner och systemanrop? I/O Föreläsning 5 Dagens fråga: Hur hänger det ihop med användarkommandon, biblioteksfunktioner och systemanrop? User space Vanliga program Användarkommandon Kommandon som är inbyggda i kommandotolken

Läs mer

Static vs Dynamic binding Polymorfism. Objekt-orienterad programmering och design (DIT953) Niklas Broberg, 2018

Static vs Dynamic binding Polymorfism. Objekt-orienterad programmering och design (DIT953) Niklas Broberg, 2018 Static vs Dynamic binding Polymorfism Objekt-orienterad programmering och design (DIT95) Niklas Broberg, 2018 Diagnostiskt prov Shape + overlaps(shape): int return 1; Shape shape = new Shape(); Polygon

Läs mer

SMD 134 Objektorienterad programmering

SMD 134 Objektorienterad programmering SMD 134 Objektorienterad programmering Lärare: pl@cdt.luth.se A 3113 Tomas Klockar klockar@sm.luth.se A 3019 Mats Folke folke@sm.luth.se A 3019 Labhandledare: Natasja Saburova Fredrik Jonsson Lars Persson

Läs mer

Några gamla tentamensuppgifter: Processer. 3. Antag givet ett system i vilket rent CPU-bundna processer med följande egenskaper exekveras.

Några gamla tentamensuppgifter: Processer. 3. Antag givet ett system i vilket rent CPU-bundna processer med följande egenskaper exekveras. 1 Tentamen 1992-08-26 1. Fyra processer ska synkroniseras så att A går före B och B och C går före D. Realisera denna ordning genom att använda (potentiellt blockerande) send- och receive- operationer

Läs mer

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

Schemaläggningsmetodik för multi-core inom Windows 7 OS Vad är scheduling och hur schemalägger Windows OS sina processer? LUNDS TEKNISKA HÖGSKOLA Schemaläggningsmetodik för multi-core inom Windows 7 OS Vad är scheduling och hur schemalägger Windows OS sina processer? 2015-12-07 1. Inledning Det är ett faktum idag att multi-core

Läs mer

Tentamen vid Institutionen för Datavetenskap, Linköpings universitet

Tentamen vid Institutionen för Datavetenskap, Linköpings universitet TENTAMEN TDDC47 Realtids- och processprogrammering Datum: 2008-12-12 Tid: 8-12 Lokal: KÅRA Jourhavande-lärare: Jonas Elmqvist (Tel: 013-28 26 75, 070-647 63 72) Hjälpmedel: Poängantal: Engelsk lexikon/english

Läs mer

Fö 7 TSEA81. Scheduling

Fö 7 TSEA81. Scheduling Fö 7 TSEA81 Scheduling Reflektion Lab 3 Operation Linux Simple OS * wait pthread_mutex_lock si_sem_wait * signal pthread_mutex_unlock si_sem_signal * await pthread_cond_wait si_ev_await * cause pthread_cond_broadcast

Läs mer

Operativsystem. IS1350 7.5hp. Jim Dowling Docent, PhD jdowling@kth.se. [Bilder av Robert Rönngren]

Operativsystem. IS1350 7.5hp. Jim Dowling Docent, PhD jdowling@kth.se. [Bilder av Robert Rönngren] Operativsystem IS1350 7.5hp Jim Dowling Docent, PhD jdowling@kth.se [Bilder av Robert Rönngren] Innehåll Om kursen w w w. i t. k t h. s e / c o u r s e s / I S 1 3 5 0 Vad är ett operativsystem och varför

Läs mer

Trådar och Multiprocessorer. Föreläsning 6

Trådar och Multiprocessorer. Föreläsning 6 Trådar och Multiprocessorer Föreläsning 6 Trådar och multiprocessorer Hur skriver man program som hanterar många saker samtidigt, t.ex. en web-server som hanterar många samtidiga begäran från olika klienter?

Läs mer

Kompletterande kompendium till kursen Realtidsprogrammering

Kompletterande kompendium till kursen Realtidsprogrammering Kompletterande kompendium till kursen Realtidsprogrammering Mathias Broxvall, Lars Karlsson Örebro Universitet Januari 2010 v2010.1 1 2 Innehåll Innehåll...1 Processer i VxWorks...2 Multitasking...2 Ett

Läs mer

Operativsystem Introduktion

Operativsystem Introduktion Lärare Operativsystem Introduktion Jan Erik Moström jem+os@cs.umu.se Handledning Kurssajt Finns på www.cs.umu.se/kurser/tdbc33/vt06/ Mattias Linde linde@cs.umu.se Handledning www.cs.umu.se/kurser/tdbc33/vt06/jem

Läs mer

DIG IN TO Dator och nätverksteknik

DIG IN TO Dator och nätverksteknik DIG IN TO Dator och nätverksteknik CCNA 1 Operativsystem Agenda Datorsystemets struktur Vad är ett operativsystem? Minneshantering Threads och processer Threads eller exekveringstrådar Processhantering

Läs mer

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

Lärare. Operativsystem. Handledning. Kurssajt. Schema. Lektioner. Jan Erik Moström Lärare Operativsystem Introduktion Jan Erik Moström jem+os@cs.umu.se Handledning Set Norman set@cs.umu.se Handledning Kurssajt Finns på www.cs.umu.se/kurser/tdbc28/vt05/ Innehåller: Schema Allmän info

Läs mer

Tentamen vid Institutionen för Datavetenskap, Linköpings universitet

Tentamen vid Institutionen för Datavetenskap, Linköpings universitet TENTAMEN TDDC47 Realtids- och processprogrammering Datum: 2009-04-14 Tid: 14-18 Lokal: TER2 Jourhavande-lärare: Simin Nadjm-Tehrani (Tel: 070-2282412) Hjälpmedel: Poängantal: Miniräknare/Calculator 40p

Läs mer

Tentamen. Datorteknik och realtidssystem

Tentamen. Datorteknik och realtidssystem Tentamen Datorteknik och realtidssystem, TSEA81 Datum 2017-08-18 Lokal TER2 Tid 14-18 Kurskod TSEA81 Provkod TEN1 Kursnamn Datorteknik och realtidssystem Institution ISY Antal frågor 5 Antal sidor (inklusive

Läs mer

Systembeskrivning. Systemskiss. Moduler.

Systembeskrivning. Systemskiss. Moduler. Page 1 of 5 Systembeskrivning Projektets namn: Educational Operating System (EOS) Uppdragsgivare: Virtutech Gruppmedlemmar: Jens Lind (Projektledare) Peter Wåhlander (Sekreterare) Åke Wallebom Gilbert

Läs mer

Realtidsprogrammering

Realtidsprogrammering Realtidsprogrammering En introduktion - Principer och begrepp Realtidsprog. - Anders Arvidsson 1 Vad är ett realtidssystem? Ett system som reagerar på yttre händelser och ger svar inom en bestämd tid.

Läs mer

Aktivitetsschemaläggning för flerkärninga processorer

Aktivitetsschemaläggning för flerkärninga processorer Lunds Tekniska Högskola Datorarkitekturer med Operativsystem EDT621 Aktivitetsschemaläggning för flerkärninga processorer Tobias Lilja 5 december 2016 Innehåll 1 Inledning 3 1.1 Syfte................................

Läs mer

Öppna filer och filsystem i PintOS Hemuppgift TDDI81, 21/

Öppna filer och filsystem i PintOS Hemuppgift TDDI81, 21/ Öppna filer och filsystem i PintOS Hemuppgift TDDI8, /0-03 Almquist Mathias (matal09) Nguyen Johan (johng86) Hamzic Mirza (mirha348) Timliden Erik (eriti930) INLEDNING PintOS är ett operativsystem utvecklat

Läs mer

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

Försättsblad till skriftlig tentamen vid Linköpings Universitet Cover page for written exam at Linköping University Försättsblad till skriftlig tentamen vid Linköpings Universitet Cover page for written exam at Linköping University Datum för tentamen Date of exam Sal Room Tid Time Kurskod Course code Provkod LADOK code

Läs mer

Operativsystem - Filsystem

Operativsystem - Filsystem Operativsystem - Filsystem Mats Björkman 2015-03-09 Administrativt n Extraföreläsning istället för den inställda: torsdag 12/3 kl 8-10 i Pi n Seminarier preliminärt schema ute n 15 minuter per grupp lämna

Läs mer

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

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 Mål Datorteknik Föreläsning 5 Att du ska förstå hur avbrott används för - Mätning - Styrning - Stöd för körning av fle processer Att du ska förstå begreppet tråd Att du ska veta hur odelba resurser kan

Läs mer

Datorsystemteknik Föreläsning 7DAVA14

Datorsystemteknik Föreläsning 7DAVA14 Datorsystemteknik Föreläsning 7DAVA14 Innehåll Introduktion (forts) Polling (cyklisk avfrågning) Större delen av materialet framtaget av :Jan Eric Larsson, Mats Brorsson och Mirec Novak IT-inst LTH Exempel

Läs mer

Programmering i C++ Kompilering från kommandoraden

Programmering i C++ Kompilering från kommandoraden Programmering i C++ Kompilering från kommandoraden Sven Gestegård Robertz Datavetenskap, LTH 9 november 2015 Sammanfattning Ibland vill man, av olika anledningar, inte använda en stor integrerad utvecklingsmiljö

Läs mer

Static vs Dynamic binding Polymorfism. Objekt-orienterad programmering och design Alex Gerdes, 2016

Static vs Dynamic binding Polymorfism. Objekt-orienterad programmering och design Alex Gerdes, 2016 Static vs Dynamic binding Polymorfism Objekt-orienterad programmering och design Alex Gerdes, 2016 Diagnostiskt prov Shape + overlaps(shape): int return 1; Shape shape = new Shape(); Polygon tripoly =

Läs mer

3) Routern kontrollerar nu om destinationen återfinns i Routingtabellen av för att se om det finns en väg (route) till denna remote ost.

3) Routern kontrollerar nu om destinationen återfinns i Routingtabellen av för att se om det finns en väg (route) till denna remote ost. Routingprocessen Vid kommunikation mellan datorer måste de känna till var och hur de skall skicka paketen, om de datorer som ska kommunicera ligger på samma IP-nät är det ju inget problem. Men är det så

Läs mer

4 grundregler. Minneshantering. Problemet. Windows minkrav

4 grundregler. Minneshantering. Problemet. Windows minkrav 4 grundregler 1. Man kan aldrig få för mycket minne 2. Minnet kan aldrig bli för snabbt Minneshantering 3. Minne kan aldrig bli för billigt 4. Programmens storlek ökar fortare än minnet i datorerna (känns

Läs mer

Hantering av hazards i pipelines

Hantering av hazards i pipelines Datorarkitektur med operativsystem Hantering av hazards i pipelines Lisa Arvidsson IDA2 Inlämningsdatum: 2018-12-05 Abstract En processor som använder pipelining kan exekvera ett flertal instruktioner

Läs mer

Översikt. Datorarkitekturer med operativsystem. Inledning. Inledning

Översikt. Datorarkitekturer med operativsystem. Inledning. Inledning Datorarkitekturer med operativsystem ERIK LARSSON Översikt Inledning Inledning Inledning En processor eller central processing unit (CPU) är enheten som exekverar program i en dator En dator är en maskin

Läs mer

Tentamen. Datorteknik och realtidssystem

Tentamen. Datorteknik och realtidssystem Tentamen Datorteknik och realtidssystem, TSEA81 Datum 2017-04-18 Lokal KÅRA Tid 14-18 Kurskod TSEA81 Provkod TEN1 Kursnamn Datorteknik och realtidssystem Institution ISY Antal frågor 5 Antal sidor (inklusive

Läs mer

MESI i Intel Core 2 Duo

MESI i Intel Core 2 Duo MESI i Intel Core 2 Duo Sammanfattning Denna rapport beskriver en processor (Intel Core 2 Duo) vars cache coherence protokoll är MESI. Rapporten beskriver hur processorn är uppbyggd, hur många kärnor den

Läs mer

Föreläsning 13 Innehåll

Föreläsning 13 Innehåll Föreläsning 13 Innehåll Exempel på problem där materialet i kursen används Hitta k största bland n element Histogramproblemet Schemaläggning PFK (Föreläsning 13) VT 2013 1 / 15 Hitta k största bland n

Läs mer

Nemo96 HD och Nemo96 HD+ firmware uppdatering

Nemo96 HD och Nemo96 HD+ firmware uppdatering Nemo96 HD och Nemo96 HD+ firmware uppdatering Gå till vår hemsida www.taljemat.se Klicka på Ladda ner programvaror Välj IME Välj Nemo96HD/HD+ IDM = Ime Device Manager Ladda ner IDM_WINXP om Du arbetar

Läs mer

Exam Concurrent and Real-Time Programming

Exam Concurrent and Real-Time Programming LUNDS TEKNISKA HÖGSKOLA 1(5) Institutionen för datavetenskap Exam Concurrent and Real-Time Programming 2018 08 23, 14.00 19.00 1. Vad är prioritetsinversion? Illustrera med ett enkelt exempel. Redogör

Läs mer

Skyddsmekanism. Säkerhet. Säkerhet. Policy. Principle of least privilege. Säkerhetsnivåer 2013-05- 22

Skyddsmekanism. Säkerhet. Säkerhet. Policy. Principle of least privilege. Säkerhetsnivåer 2013-05- 22 Skyddsmekanism Säkerhet mekanism och policy En mekanism som, rä# använd, hjälper dig förhindra något du vill undvika Dörrlås inbrof FilräHgheter informaionsstöld Kryptering avlyssning Lösenord obehörig

Läs mer

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

En Von Neumann-arkitektur ( Von Neumann-principen i föreläsning 1) innebär: Lösningsförslag för 725G45-tentan 3/11-10 1. Vad menas med Von Neumann-arkitektur? (2p) En Von Neumann-arkitektur ( Von Neumann-principen i föreläsning 1) innebär: Data och instruktioner lagras i samma

Läs mer

Tentamen i Realtidsprogrammering

Tentamen i Realtidsprogrammering Tentamen i Realtidsprogrammering Omtentamen Datum: 2008-12-13 Tid: 14:00 17:00 Ansvarig lärare: Telefon: 301438 Hjälpmedel: Miniräknare Poäng: Tentamen omfattar 40 poäng fördelade på 5 uppgifter. 20 poäng

Läs mer