• No results found

TDIU16. Föreläsning 0. Filip Strömbäck, Klas Arvidsson

N/A
N/A
Protected

Academic year: 2022

Share "TDIU16. Föreläsning 0. Filip Strömbäck, Klas Arvidsson"

Copied!
23
0
0

Loading.... (view fulltext now)

Full text

(1)

TDIU16

Föreläsning 0

Filip Strömbäck, Klas Arvidsson

(2)

2 Introduktion till C

(3)

Resurser

• Kurshemsida: http://www.ida.liu.se/~TDIU16/

• Litteratur: Operating System Concepts av Silbertschatz, Galvin, Gagne

Examinator Filip Strömbäck

Assistenter Klas Arvidsson (även KL) Daniel Thorén

Kasper Landgren

Administratör Madeleine Häger Dahlqvist

(4)

Distansundervisning

All undervisning sker på distans tills vidare.

• Föreläsningar - Via Zoom på detta viset

• Laborationer:

Eget arbete: Välj själva hur ni arbetar, Teams och GitLab kan vara lämpliga

Handledning: Via Zoom, med kösystem

• Seminarier - Via Zoom, som föreläsningar

(5)

Mål med kursen

Tillämpa teori från TDIU11:

• Hur ser en ”vanlig” dator ut?

• Hur körs program?

• Vilka viktiga resurser finns för programkörning?

• Varför finns operativsystem?

• Vad gör operativsystemet? När körs det?

(6)

Mål med kursen

Nytt innehåll:

• Multitrådning

• Synkronisering

• Programmering i C Praktisk erfarenhet:

• Programmera i större system

• Läsa, förstå och modifiera kod som andra har skrivit

• Felsökning

(7)

Mål med kursen

(8)

Examination

DAT1 Skriftlig tentamen med dator, 1hp (U, 3, 4, 5) LAB1 Laborationer, 3hp (U, G)

Ett ofärdigt operativsystem (Pintos) skrivet i C

80h skall användas

Arbeta i par som vanligt (ex.vis via Teams)

Redovisas muntligt (under labpass, via Zoom)

Mjuka deadlines ger bonus

En hård deadline

Eget arbete utöver schemalagd tid krävs

(9)

Labanmälan

• Arbete sker parvis som vanligt.

• Tre klasser efter program:

1. DI2, EL2, A 2. DI2, EL2, B 3. IP2

• Labanmälan öppen tom. 30/3, anmäl er snarast!

(10)

Tid i kursen

• Kursen är 4hp ≈ 100h

• Du kommer att behöva alla 100h. Planera din tid så att du pluggar varje vecka. Lämna inte alla 100h till dagarna före tenta.

• Det finns fristående uppgifter ni kan börja med ifall ni kör fast.

(11)

Planering

Vecka Fö/Se Lab

14 Fö: C + Syscall C1, halt, exit, console 15 Fö: Semaforen (+ påsk) console, filhantering 16 Se: Första processen main, första processen 17 Fö: Lås, cond, impl. exec, exit

18 Fö: Deadlock exec, exit, wait

19 - Synkronisering

20 - Synkronisering, accesskontroll

21 Se: Deadlock + tenta Synkronisering, accesskontroll

22 - Synkronisering, accesskontroll

1lämpligt att demonstrera första passet

(12)

FÖ, SE, LA

• Föreläsningar

Slides är inte avsedda att fungera självständigt:

Närvara

Ställ frågor

Svara (gärna fel) på ställda frågor

• Seminarier

Bidra till problemlösning

Ställ ännu mer frågor

• Lab

Arbeta så långt som möjligt på egen hand

Ställ frågor/demonstrera på labpassen

Det är ofta hög belastning på passen

(13)

Insiktsnivå

• Jag ställer inga frågor

Jag har inte förstått

• Jag ställer grundläggande frågor

Jag har förstått att jag inte kan och vill lära mig

• Jag ställer kontrollfrågor

Jag har börjat förstå och vill bekräfta det jag kan

• Jag ställer djupa frågor

Jag har förstått och vill lära mig mer

(14)

Kommentarer från tidigare år

• Bra föreläsningar/material

• Bra tentamen

• Laborationerna är intressanta, men tar mycket tid

• Får ibland vänta länge på labpassen Förändringar:

• Nytt upplägg på laborationerna (instruktioner + wiki) Hör av er om ni ser något konstigt så kan vi fixa det

(15)

Forskningsprojekt

• Jag har tidigare sammanställt vanliga fel under tentan (också vanliga under labbserien)

• Jag planerar att utvärdera ett verktyg för att illustrera dessa under kursen

• Hör av er via e-post till mig om ni är intresserade

• Fördel för deltagare:

Extra övning på trådning, underlättar på tentan och under labbserien (kring 8:e april)

• Fördel för mig:

Jag vet om detta är något som är värt att använda i hela kursen framöver

(16)

2 Introduktion till C

(17)

C och C++ – vad är skillnaden?

I allmänhet är C ett mycket tunnare lager ovanpå hårdvaran än C++.

Det mesta i C är giltigt i C++, men det finns små skillnader.

Notera att struct och union har separata namnrymder i C. Går att komma runt med typedef.

Notera: int foo(); ̸⇐⇒ int foo(void);

(18)

C och C++ – vad är skillnaden?

C++ C

cout printf

klasser struct

referenser pekare

vector, string arrayer

private definiera i c-fil, static statisk datamedlem extern

new, delete malloc, free virtuella funktioner funktionspekare

klassmallar void *, makron (se Pintos lista) exceptions returvärden

överlagring -

(19)

Utmatning

int main () { int a = 1;

unsigned int b = 2;

float c = 3.5f;

double d = 5.8;

char e = 'A';

int *f = &a;

const char *g = " hello ";

cout << a << b << c << d

<< e << f << g << endl;

}

(20)

Utmatning

int main () { int a = 1;

unsigned int b = 2;

float c = 3.5f;

double d = 5.8;

char e = 'A';

int *f = &a;

const char *g = " hello ";

printf ("%d %u %f %f %c %p %s\n", a, b, c, d, e, f, g);

}

(21)

Utmatning

int main () { int a = 10;

const char *b = " hello ";

printf ("%6d\n%06d\n%6s\n", a, a, b);

// Ger:

// 10

// 000010 // hello }

(22)

På första labpasset

• C-intro (Associativ container används senare)

• Installera Pintos

• (Systemanrop)

exit, halt

(23)

www.liu.se

References

Related documents

Enligt en lagrådsremiss den 28 augusti 2008 (Jordbruksdeparte- mentet) har regeringen beslutat att inhämta Lagrådets yttrande över förslag till lag om skyldighet för kommunerna

2 § Myndigheter under regeringen ska på begäran av Coronakommis- sionen (S 2020:09) lämna uppgifter som de förfogar över om kommissionen behöver uppgifterna för

5 § Sådana uppgifter om antimikrobiella läkemedel för djur som tagits emot enligt 2 eller 3 § ska av Jordbruksverket, eller Statens veterinärmedi- cinska anstalt på

När det ser ut som bilden ovan, klicka på nästa (vill du kan du såklart installera allt, då kommer några extra steg i installationen visas).. Klicka sedan

Eftersom examensarbetena ombr yts i olika program så skall den bakomliggande bilden (med logo och sigill) fogas till som en separat fil (jpg, tiff, eller pdf), benämnda:.

An Exploratory Study of how Event Planning Relate to Planning Techniques. Projektledning

Frågeställningarna är ”Kan jag som musiker idag dra nytta av att skaffa mig teoretiska och praktiska kunskaper om historiska instrument?” och ”Hur mycket hänsyn vill jag ta

Lyssnandet till en diktuppläsning är fragmentariskt, nästan slumpmässigt, för orden i sig själva kan också väcka något inom en som inte direkt har med dikten att göra.. Man går