M5 - processer Flashcards

1
Q

Vad är en fil?

A

En abstraktion som döljer krångliga detaljer om maskinvaran. Refererar ofta till ett fyssikt lagringsutrymme på någon form av lagringsmedium, men kan också ligga i datorns primärminne då den behandlas.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Vad finns i /proc/?

A

Genererad information direkt från operativsystems kärna som beskriver attribut och egenskaper hos processerna med nummer.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Vad finns i /dev/?

A

Device-nodes (som möjliggör kontakt med de anslutna enheterna i systemet).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Vad gör kommandot hier?

A

Ger fullständig information om vad filhierarkin innehåller.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Vad är en process?

A

En process är ett körande program, något som pågår.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Vad är ett operativsystem?

A

Ett grundprogram som startar då datorn slås på. OS administrerar alla resurser till datorsystemet.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Vad är operativsystemets kärna uppgifter?

A

Skapa processer.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Vad är process image?

A

process image – en exakt avbild av en process tillstånd vid ett visst ögonblick

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Beskriv skalprocess

A

Skalprocesser erbjuder en möjlighet att ge körande processer en miljö. Vi kan koordinera flera processer med hjälp av ett skal då de alla ligger i samma miljö.
De är ett gränssnitt till operativsystemets kärna.
En skalprocess kan utföra systemanrop.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Pipe

A

Kommunikationsmedium mellan processer inom samma processgrupp. Enkel riktad kanal för kommunkation mellan 2 eller flera processer. (FIFO-buffert). Ligger i OS Filtabell.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Körande process

A

Dess instrunktioner exekveras på CPU:n.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Blockerad process

A

Processen väntar på att något ska hända. Den kan inte köra och vanligaste anledningen är att den väntar på in/utmaning.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Ready process

A

Kört slut sin tid på CPU:n och väntar på att köra.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Zombie/defunct

A

Måste finnas en punkt då en process anses ha kört klart så att operativsystemet kan avallokera administrationsresurerna (PCB) på ett solitt sätt. Föräldern ska vänta in barnprocessen som skickar en signal till operativsystemet att städa upp efter en avslutad process.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Avslutad/Terminated

A

Tas bort ur systemet

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Ny/New

A

Läggs in på tur för körning.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Fildeskriptor

A

Ett heltal/index i en fildeskriptortabell. Tillgänlig för processen i en för processen intern tabell.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Session

A

Flera processgrupper kan ingå i något som kallas session.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

FDT (fildeskriptor tabell)

A

Pekar in i operativsystemets tabell. Håller reda på vad fildeskriptorerna betyder för varje enskild process.

20
Q

OS file table

A

Förtecknar alla öppna filer i systemet.

21
Q

close()

A

Görs med en parameter som anger index för den post i FDT som ska stängas. Motsvarande post i FDT & FT frigörs under förutsättning att inen annan deskriptor refererar till samma post.

22
Q

Why close so much filedescriptors?

A

If child had the only fildeskriptor to pipe read, and closed it, parent would get sigpipe signal error and not being able to write on that pipe.

23
Q

dup()

A

Duplicerar en befintlig fildeskriptor fd så att en process kan tillgång en och samma fil eller pipe via två olika fildeskriptorer. Kopieringen sker till första fria fildeskriptor i FDT.

24
Q

Serverprocess

A

Kör på en central punkt i ett datorsystem där flera andra processer kan komma åt dem och få del av deras tjänster. De processer som får hjälp av sevrarna kallas klienter. Kunna betjäna flera klienter parallelt.

25
Q

Socket

A

Kommunikationskanal som kan gå mellan två orelaterade processer och vi kan läsa och skriva till båda ändarna av socketen.

26
Q

accept()

A

Levererar en ny deskriptor som hör ihop med ett specifikt klientanrop.

27
Q

Hur gör man en process till en demon?

A

Sätter den under init genom att döda föräldern.
Setsid(), create a new session.
chdir(“/server/”) under root.
close inherited descriptors and standard I/O descriptors.
umask(), will prevent unsecure file privileges that may occur on file creation.

28
Q

Vad är en tråd?

A

Aktiv del av en process och kan ses som en stack + program räknare, stack pointer. Har en egent priority, trådid.

29
Q

Which are thread operation?

A

Thread creation, termination, synchronization (join, blocking), scheduling, data management and process interaction.

30
Q

Hur kan vi synkronisera trådar?

A

Join, mutexar, condition variables, semaforer

31
Q

Beskriv tekniker för serialisering.

A

En sak ska ske efter en annan.

32
Q

Vad är mutual exclusion

A

Ska vara omsedigt uteslutna från att göra en kritisk handling samtidigt. En implementering av denna idé är en mutex som är ett lås med vilket man kan låsa en gemensam resurs för att uppnå denna uteslutning.

33
Q

Vad är en kritisk sektion?

A

Är ett helt kodavsnitt där det är nödvändigt för processen/tråden att ha exklusiv tillgång till delade data.

34
Q

Vad är en semafor?

A

Består av en counting variabel som möjliggör ett bestämt antal trådar att kunna dela en resurs. När count < 0, blockeras trådarna som försöker ta resursen och väkts när en av trådarna har släppt resursen och ökat counting med 1.

35
Q

Hur uppnår man atomicitet på maskindesignnivå?

A

Test-and-set-lock, temporarliy suspending preemption or disabling hardware interrupts.

36
Q

join()

A

Ett sätt för en tråd att invänta att en annan tråd avslutar. Kan invänta trådar man ej skapat.

37
Q

Vad är en condition variable?

A

En flagga.

38
Q

Vilka är de nödvändiga villkoren för låsning?

A

Cyklisk väntan (cyclical waiting), inget återtagande av resurser (no pre-emption), icke delbara resurser (non-sharable resources).

39
Q

Hur kan man förhindra låsning?

A

Prevention, recovery, ostrich

40
Q

Förklara prevention

A

Operativsystemet hanterar resurser på ett sätt som garanterat inte skapar låsning. Trådar kan nekas att vänta på en resurs, riktar sig in på cyklisk väntan.

41
Q

Förklara Recovery

A

Operativsystemet tillåter låsning, vidtar åtgärder för att återhämta sig. Återtagande av resurser. Riskabelt.

42
Q

Förklara ostrich

A

Strunta att låsning ibland upkommer, de flesta OS använder denna metod. Detection är dyrt, dyrt att välja vilken process som ska dö vid recovery, dyrt att räkna en massa på vem som får vänta på vem.

43
Q

Förklara context-switch mellan trådar.

A

Byter bara ut lite CPU-register + stackpekare. Behövs ingen inblandning av operativsystemet, switchen sker internt i den körande processen.

44
Q

Fördelar med trådar:

A

Mindre context switch, gemensam adressrymd, mer aspekter för programmeraren.

45
Q

Vad är användarprogram

A

Microsoft Office t.ex.

46
Q

Vad är systemprogram?

A

Nödvändiga för att datorn överhuvudtaget ska köra. Daemon-program är exempel.

47
Q

Vad betyder allt i detta: -rw-r-r–

A
  • anger filens typ. - = vanlig fil. Resten är rättighetsbitarna. Rättigheter för ägaren, (read, write men inte exekvera). Nästa gupp av rättighetsbitar avser dom som ingår i gruppen som är associerad med filen.