DSP Flashcards

1
Q

Vad är PCB?

A

Process Control Block (PCB) är en datastruktur som operativsystemet använder för att hålla reda på en process och alla dess egenskaper.

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

Vad innehåller PCB

A
  • CPU-register & programräknare (PC) → så att processen kan återupptas korrekt efter en kontextväxling
  • Process-ID (PID)
  • Tillstånd (Ready, Running, Waiting etc)
  • Planeringsinformation (prioritet, schemaläggningsdata)
  • Pekare till minnesområden (stack, heap, kod)
  • Öppna filbeskrivare (file descriptors)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Vad menas med kontextväxling?

A

Kontextväxling: När CPU:n byter från en process till en annan, sparas den gamla processens tillstånd i dess PCB, så att den kan återupptas exakt där den var.

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

Vad menas med paging?

A

Paging (sidindelning) är en teknik i virtuellt minne som låter både processer och fysisk minneshantering brytas upp i små, lika stora block:
- Virtuella sidor (pages)
- Fysiska ramar (frames)
Paging påverkar inte cache, utan hanterar RAM.

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

Vad är fördelen med paging?

A

Genom att processen inte behöver ett sammanhängande (contiguous) minnesutrymme i det fysiska minnet, kan minnet utnyttjas effektivare och problemet med extern fragmentering försvinner.

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

Vad står TCP för?

A

Transmission Control Protocol

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

Exempel på protokoll som följer end to end principen

A

TCP

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

Vad innebär end-to-end principen?

A

End-to-end-principen innebär att viktiga funktioner (t.ex. felhantering, pålitlig överföring, dataintegritet) ska hanteras i kommunikationsändarna (applikationerna hos sändare och mottagare) — inte av mellannoder som routrar.

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

Vad säkerställer TCP och hur gör det det?

A

✅ Säkerställer pålitlig leverans av data
✅ Sköter flödeskontroll och kongestionskontroll
✅Använder acknowledgements, retransmission, checksummor

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

Vad är kongestionskontroll?

A

Kongestionskontroll (congestion control) = Tekniker som TCP använder för att undvika att överbelasta nätverket.

➡ Exempel:
TCP minskar sändhastigheten om nätverket verkar trångt (t.ex. vid paketförlust).
Algoritmer: Slow Start, Congestion Avoidance, Fast Retransmit, Fast Recovery.

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

Vad är flödeskontroll?

A

Flödeskontroll = Ser till att avsändaren inte skickar data snabbare än mottagaren kan ta emot.

➡ TCP använder fönsterstorlek (window size) för att anpassa mängden data som kan skickas innan ack måste tas emot.

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

Vad är syftet med binära semaforer (mutex)

A

En binär semafor, även kallad mutex (mutual exclusion), används för att styra åtkomst till en delad resurs så att endast en tråd åt gången får använda den.
Det är en klassisk lösning på race conditions i parallellprogrammering.

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

Vad är ARP och vad används det för?

A

ARP (Address Resolution Protocol) = Används för att översätta en IP-adress → MAC-adress inom ett lokalt nätverk (LAN).

💡 Exempel: Om du vill skicka data till 192.168.0.5, måste din dator veta vilken fysisk nätverksadress (MAC) som motsvarar den IP:n.

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

Vad står ARP för?

A

Adress Resolution Protocol

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

Vad är ICMP och vad används det för?

A

ICMP (Internet Control Message Protocol) = Ett protokoll för felsökning och meddelanden i nätverk.

➡ Exempel:

Ping (echo request/reply)
Traceroute (Time Exceeded-meddelanden)
Används inte för att transportera data, utan för att informera om fel (t.ex. destination unreachable).

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

Vad står ICMP för?

A

Internet Control Message Protocol

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

Vad är DHCP och vad används det för?

A

DHCP (Dynamic Host Configuration Protocol) = Automatisk tilldelning av nätverksinställningar till klienter.

➡ DHCP-server skickar:
IP-adress, Default gateway, DNS-server, Subnet mask.
💡 Exempel: När du ansluter till ett nytt WiFi får du en IP via DHCP.

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

Hur skiljer sig TCP och UDP orientmässigt?

A

✅ TCP är segmentorienterat

TCP bryter ned data i segment, varje segment är en del av en logiskt sammanhängande ström.
Det är kopplingsorienterat, och mottagaren sammanfogar segmenten i rätt ordning.
✅ UDP är datagramorienterat

UDP behandlar varje enskilt paket (datagram) som fristående – utan garanti att det kommer fram, i rätt ordning eller alls.
Därför är det snabbare men opålitligt.

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

Vad står UDP för?

A

User Datagram Protocol

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

Använder UDP sig av checksummor?

A

UDP har också checksummor, även om de är valfria i IPv4, men obligatoriska i IPv6.

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

Vilken schemaläggningsalgoritm ger i regel den kortaste genomsnittliga väntetiden?

A

Shortest Job First (SJF) ger den lägsta genomsnittliga väntetiden jämfört med andra algoritmer – förutsatt att vi vet hur långa CPU-burstarna är i förväg.

Exempel: Om vi har tre processer med burst-tider:

P1: 2ms, P2: 4ms, P3: 8ms
→ Om vi kör dem i ordningen SJF (P1 → P2 → P3) får vi kort total väntetid.
💡 SJF prioriterar alltså kortare uppgifter först, vilket minskar köbildning.

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

Vad innebär att något är preemptivt?

A

Preemptiv schemaläggning betyder att operativsystemet kan avbryta (preempt) en process eller tråd även om den inte är klar med sin CPU-tid, för att ge plats åt en annan.

🔸 Motsats: Icke-preemptiv (non-preemptive) → En process får köra klart tills den frivilligt lämnar CPU:n (t.ex. väntar på I/O).

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

Vad händer vid en page fault i ett system med virtuellt minne?

A

En page fault uppstår när en process försöker använda en virtuell adress som inte finns i RAM. Då:

CPU:n skickar en signal till operativsystemet (OS)
OS hittar motsvarande sida i sekundär lagring (t.ex. hårddisk eller SSD)
Den sidan laddas in i RAM
Processen återupptas där den slutade
📌 Detta är grunden för demand paging – endast det som verkligen behövs laddas in.

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

Vilka är de 4 deadlockvilkoren?

A

1️⃣ Mutual Exclusion – En resurs kan bara användas av en process åt gången.
2️⃣ Hold and Wait – Processer håller resurser samtidigt som de väntar på fler.
3️⃣ No Preemption – Resurser kan inte tas ifrån en process med tvång.
4️⃣ Circular Wait – En cirkel av processer finns där varje process väntar på en resurs som nästa håller.

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

Vad innebär starvation?

A

En process väntar för länge på resurser, ofta pga. låg prioritet, men det kan ske utan att systemet är i deadlock.

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

Vilken metod för diskblockallokering ger snabbast slumpmässig åtkomst till data?

A

Indexed Allocation ger snabbast slumpmässig åtkomst till data, eftersom:

Alla blockadresser för en fil finns i ett indexblock (en slags innehållsförteckning).
Därmed kan operativsystemet direkt hoppa till vilket block som helst, utan att behöva läsa igenom andra först.
📌 Det är alltså idealisk för random access, vilket exempelvis mediafiler och databaser ofta kräver.

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

Vad innebär linked allocation?

A

Varje block innehåller en pekare till nästa block → måste läsas sekventiellt → långsam random access.

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

Vad innebär contiguous allocation?

A

Alla block ligger i följd i minnet → snabb random access, men extern fragmentering uppstår lätt.

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

Vad innebär FIFO allocation?

A

Det är inte en diskallokeringsmetod, utan ett köhanteringssystem – därför är det ett felaktigt alternativ här.

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

Vad används en routing-tabell till i ett nätverk?

A

En routing-tabell används av routrar (och ibland vanliga datorer) för att avgöra bästa vägen för att skicka ett IP-paket vidare till dess destination.

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

Vad innehåller ett routing table?

A
  • Destination (nätverk/subnät)
  • Next hop (vilken router eller gateway som ska användas)
  • Interface (t.ex. eth0, wlan0)
  • Metrik (kostnad/prioritet för vägen)

➡ När ett paket kommer in, matchas dess IP-måladress mot routingtabellen → den mest specifika matchningen väljs.

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

Vart lagras öppna TCP-sessioner?

A

Öppna TCP-sessioner lagras i operativsystemets socket-tabeller, inte routingtabellen.

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

Vad hanterar MAC-adresser?

A

MAC-adresser hanteras av ARP-tabellen, inte routingtabellen.

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

Vad hanterar översättning mellan IP och domännamn?

A

Översättning mellan IP och domännamn görs via DNS, inte routingtabellen.

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

Vad händer när en process gör ett systemanrop?

A

När en process gör ett systemanrop (system call) växlar den från user mode → kernel mode.

Detta krävs eftersom vissa operationer (t.ex. filåtkomst, minneshantering, nätverkskommunikation) bara får utföras av operativsystemet.
I user mode har programmet begränsade privilegier för att skydda systemet.
Kernel mode har full tillgång till systemresurser och hårdvara.

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

Exempel på systemanrop?

A

read(), write(), fork(), exec(), open()

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

Vilken resurs delas mellan alla trådar i en process?

A

Heap-segmentet delas av alla trådar i en process

Här lagras dynamiskt allokerade objekt (t.ex. via malloc() i C eller new i Java).
Alla trådar kan läsa och skriva till heapen, vilket är kraftfullt men riskabelt – därför behövs ofta synkronisering (mutexar/semaforer).

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

Vilka resurser får trådar en egen del av när de skapas?

A
  • Varje tråd har egen stack för sina lokala variabler och funktionsanrop.
  • Varje tråd har egna register, inklusive programräknaren.
  • Varje tråd exekverar egen kod → har egen PC.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
39
Q

Vad är huvudsyftet med portnummer i TCP/IP-modellen?

A

Processmultiplexering – portnummer används för att:

Identifiera specifika applikationer på en enskild värd (t.ex. webbläsare, e-postklient, SSH-klient).
Möjliggöra flera samtidiga kommunikationsflöden på samma IP-adress.
📌 Exempel:

IP: 192.168.0.2 → kan ha flera aktiva portanslutningar:
Port 80 (HTTP)
Port 443 (HTTPS)
Port 22 (SSH)

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

Vad används ICMP till i ett IP-baserat nätverk?

A

ICMP används för att hantera felmeddelanden och nätverksdiagnostik. Det är ett stödsystem till IP-protokollet, inte ett transportprotokoll som TCP eller UDP.

📌 Vanliga ICMP-meddelanden:

Echo request/reply → används av ping
Destination unreachable → t.ex. om det inte finns någon väg till destinationen
Time exceeded → används av traceroute för att visa hopp i nätverket
ICMP hjälper till att kommunicera problem i nätverket, t.ex. “det här paketet kunde inte levereras” – så att källan vet vad som gått fel.

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

Vad är syftet med DHCP i ett IP-nätverk?

A

DHCP används för att dynamiskt tilldela nätverksinställningar till klienter när de ansluter till ett nätverk.

📌 Inställningar som klienten får via DHCP:

IP-adress
Nätmask (subnet mask)
Standard-gateway
DNS-server
💡 Det gör att användaren slipper konfigurera detta manuellt varje gång.

📍 Exempel: När du ansluter till ett nytt Wi-Fi-nätverk hemma eller på campus, är det DHCP-servern i routern som automatiskt ger din dator dessa inställningar.

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

Vilken är den största nackdelen med Contiguous Allocation som metod för lagring av filer på disk?

A

Contiguous allocation innebär att en fil lagras i ett sammanhängande block på disken (precis som RAM i ett system utan paging).

📌 Fördelar:

Mycket snabb sekventiell och slumpmässig åtkomst, eftersom alla block ligger bredvid varandra.
❌ Nackdel:

Extern fragmentering: Efter många filoperationer kan disken bli uppdelad i små lediga bitar → svårt att hitta tillräckligt stort sammanhängande block för nya filer.
Detta leder till ineffektiv utnyttjande av lagringsutrymme.
🔍 Intern fragmentering uppstår främst i fixed-size blocks, inte contiguous allocation.

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

Vad är huvudsyftet med cacheminne i ett datorsystem?

A

Cacheminnets huvudsyfte är att minska åtkomsttiden till ofta använd data (temporal och spatial lokalitet).

📌 Cacheminne är:

Mycket snabbare än RAM, men också dyrare → används för att lagra de mest använda instruktionerna och data nära CPU:n.
Ligger ofta i nivåer: L1 (snabbast), L2, L3 – där L1 är närmast CPU:n.
💡 Temporal lokalitet = om du använde något nyss, kommer du troligen behöva det snart igen.
💡 Spatial lokalitet = om du använder en minnesadress, kommer du troligen använda närliggande adresser snart.

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

Är RR (Round Robin) preemptiv eller icke preemptiv?

A

Round Robin (RR) är en preemptiv algoritm, där varje process får köra i en tidskvantum (t.ex. 5 ms) innan den avbryts och CPU:n ges till nästa process i kön – oavsett om processen är färdig eller inte.

📌 Detta gör RR mycket bra för interaktiva system där många användare/processer behöver responsivitet och rättvisa tillgångar till CPU:n.

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

Vad innebär waiting time och hur räknar man på det?

A

Tid en process väntar i kön innan den får CPU
Starttid – Ankomsttid – Ev. tidigare CPU

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

Vadd innebär turnaround time och hur räknar man på det?

A

Total tid från ankomst till slutförande
Sluttid – Ankomsttid

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

Vad innebär responstid och hur räknar man på det?

A

Tid från ankomst till första gång CPU börjar exekvera processen Starttid – Ankomsttid

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

VAD ÄR CPU Utilization och hur räknar man på det?

A

Mäter hur stor andel av tiden CPU:n faktiskt är aktiv (dvs. inte idle/vilar).

📌 Formel:

CPUUtilization
= TidCPUvaraktiv/Totaltid ×100%

💡 Hög CPU-utilization = bra resursutnyttjande.
Låg utilization = mycket idle time → ineffektivt system.

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

Vad är Throughput och hur räknar man på det?

A

Mäter hur många processer som slutförs per tidsenhet.

📌 Formel:

Throughput
= antal färdiga processer/total tid

💡 Hög throughput = fler processer blir klara → systemet är effektivt.

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

Vad är en process?

A

En process är ett program i exekvering, dvs. ett aktivt körande tillstånd av en applikation. Operativsystemet hanterar processer genom att hålla reda på dess tillstånd, resurser och instruktioner.

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

Vilka tillstånd kan en process befinna sig i?

A

New- Processen har skapats men ännu inte schemalagts av operativsystemet.
Ready- Processen är redo att exekveras och väntar på CPU-tid.
Running - processen körs aktivt på CPU:n.
Waiting (Blocked) - Processen väntar på en händelse, t.ex. I/O eller signal.
Terminated (Exit) - Processen har avslutat sin exekvering.

52
Q

Vilka processtillstånd är ogiltiga?

A
  • New → Running: En nyskapad process går inte direkt till Running – den måste alltid först in i Ready-tillståndet där schemaläggaren tilldelar CPU.
  • Ready → Waiting: En process i Ready har inte tillgång till CPU och kan därmed inte blockeras på I/O eller andra väntesituationer – den måste först köra (Running).
  • Waiting → Running: Normalt går en process från Waiting → Ready, inte direkt till CPU. CPU-tilldelning sker alltid från Ready-kön efter väntan.
53
Q

Vad är user space och kernel space?

A
  • User space: Vanliga applikationer/processer exekverar där. Programkod, användardata, biblioteksanrop (t.ex. printf, malloc) finns där
  • Kernel space; Operativsystemets kärna (kernel) exekverar där. Processhantering, minneshantering, filsystem, drivrutiner, systemanrop, hårdvarukontroll finns där
54
Q

Varför har vi user space och kernel space?

A

Skydd – En användarprocess kan inte av misstag krascha hela systemet.
Stabilitet och säkerhet – OS kontrollerar all direkt tillgång till resurser.
Multitasking – OS hanterar flera processer och skyddar dem från varandra.

55
Q

Vad är ett systemanrop (system call)?

A

Ett systemanrop är ett kontrollerat sätt för program i user space att begära tjänster från kernel space.

56
Q

Vad händer vid ett systemanrop?

A
  • Processen gör ett anrop till OS API (t.ex. via C-bibliotek)
  • OS växlar från user mode → kernel mode
  • Kernel exekverar det önskade systemanropet
  • Resultatet returneras till user mode
    💡 Detta är en typisk privilegieväxling som gör OS kraftfullt men säkert.
57
Q

Vad är skillnaden mellan user space och kernel space, och varför krävs ett systemanrop för att få tillgång till vissa resurser?

A

Kernel space skyddar systemresurser. Ett systemanrop är en kontrollerad övergång från användarläge till kärnläge för att få åtkomst till dessa resurser, som t.ex. filer, minne eller processhantering.

58
Q

Vad är virtuellt minne?

A

Virtuellt minne är en teknik som gör att varje process tror att den har ett eget stort minnesutrymme, trots att det faktiska fysiska minnet (RAM) är begränsat.
→ Operativsystemet översätter mellan virtuell adress (VA) och fysisk adress (PA).

59
Q

Vad är ett page table?

A

Tabell per process som mappar virtuella sidor → fysiska ramar (frames)

60
Q

Vad är TLB? (Translation Lookaside Buffer)

A

Cache för adressöversättning – håller de senaste sidöversättningarna för att snabba upp processen

61
Q

Vad står TLB för?

A

Translation Lookaside Buffer

62
Q

Vad är en page?

A

Enhet av virtuellt minne (t.ex. 4 KB per sida)

63
Q

Vad är en frame?

A

Enhet av fysiskt minne – samma storlek som page

64
Q

Vad händer när en adress slås upp (page table)?

A

TLB kontrolleras först – om översättning finns → snabb access (TLB hit)
Om inte → Page Table används (TLB miss)
Om sidan inte finns i RAM → Page Fault inträffar

65
Q

Vad innebär page fault?

A

Innebär att den efterfrågade sidan inte finns i RAM, utan måste hämtas från sekundär lagring (disk/SSD).

➡ Detta är dyrt i tid, så man vill minimera page faults.

66
Q

Vad menas med Demand Paging?

A
  • Virtuella sidor laddas endast vid behov (on demand).
    – Det är effektivt, men kräver bra sidhantering och TLB/cache för att undvika överbelastning.
67
Q

Förklara skillnaden mellan TLB och Page Table, och beskriv vad som händer vid en page fault.

A

Page Table mappar VA → PA
TLB är en cache som snabbar upp översättningen
Vid page fault måste sidan hämtas från disk → hög kostnad
OS uppdaterar tabellerna och återupptar processen

68
Q

Vad är huvudsyftet med Translation Lookaside Buffer (TLB)?

A

Att cache:a sidtabellsuppslag för snabbare adressöversättning.

TLB är en snabb cache i processorn som lagrar översättningar från virtuella adresser (VA) till fysiska adresser (PA).

69
Q

När inträffar en page fault

A

En page fault inträffar när en process försöker komma åt en sida i sitt virtuella minnesutrymme som inte finns i RAM.

70
Q

Vad är race condition?

A

En race condition uppstår när två eller fler trådar/processer får åtkomst till delade resurser samtidigt och resultatet beror på exekveringsordningen.

71
Q

Vad är en critical section?

A

En kodsektion där delade resurser används.
Måste skyddas av synkroniseringsmekanismer.
Exempel: läsning/skrivning av global variabel, filaccess, mm.

72
Q

Vad finns det för typer av semaforer?

A

Binära och räknande semaforer

73
Q

Vad finns det för operationer för semaforer?

A

Initialize, wait (vänta på tillgänlig semaphor), signal (signalera att ledig finns) och destroy

74
Q

Förklara vad en race condition är och hur man kan undvika det. Beskriv skillnaden mellan en mutex och en semafor.

A

Race condition uppstår vid samtidig åtkomst till delad resurs.
Undviks med mutex/semafor.
Mutex = binär semafor för mutual exclusion.
Semafor = räknare, används även för resursbegränsning.

75
Q

Vad krävs för att ett race condition ska kunna uppstå?

A

Flera trådar använder en global variabel utan synkronisering

76
Q

Vad är den huvudsakliga skillnaden mellan en binär semafor och en räknande semafor?

A

Räknande semaforer har ett värde > 1 och kontrollerar flera resurser

77
Q

Vad används en mutex till?

A

En mutex används för att skydda en kritisk sektion från samtidiga åtkomster

78
Q

Vad står IPC för?

A

Inter-Process Communication (IPC)

79
Q

Vad innebär IPC? (inter process comunnication)

A

Inter-process communication (IPC) handlar om hur processer kommunicerar och samarbetar med varandra, trots att de kör isolerat i egna minnesutrymmen.

➡ Eftersom processer inte delar minne direkt, krävs särskilda tekniker för att utbyta data och koordinera beteenden.

80
Q

Vad menas med Message Passing (Meddelandeöverföring)?

A

Processer skickar och tar emot meddelanden via OS-mekanismer (t.ex. sockets, pipes, queues)

81
Q

Vad menas med Shared Memory (Delat minne)?

A

Två eller fler processer får gemensam åtkomst till ett särskilt minnessegment. Kräver synkronisering (t.ex. mutexar, semaforer) för att undvika race conditions.

82
Q

Vad menas med Time-sharing systems (Tidsdelningssystem)

A

Bygger på multitasking och preemptiv schemaläggning.
Flera användare/processer delar på CPU:n i små tidskvanta (t.ex. 5 ms).
Operativsystemet byter snabbt mellan processer → ger illusionen av parallellitet.
📌 Exempel:

Moderna skrivbordsoperativsystem (Windows, macOS, Linux)
Studenter som kör flera program samtidigt (t.ex. webbläsare, kodeditor, Spotify)
🔑 Mål: Responsivitet & interaktivitet
→ Viktigt att användaren märker minimal fördröjning

83
Q

Vad menas med Batch systems (Satsvisa system)

A

Processer körs i sekvens (en efter en) utan interaktion från användaren.
Vanligt i tidiga OS eller servermiljöer med stora jobbköer.
📌 Exempel:

Tidiga stordatorer
Moderna jobbschemaläggare (batch processing i t.ex. datacenter, databearbetning)
🔑 Mål: Genomströmning (throughput) och resurseffektivitet, inte snabb interaktiv respons.

84
Q

Vad menas med Real-Time Systems (Realtidssystem)

A

Operativsystemet måste svara inom en strikt deadline – varje uppgift har ett fast tidskrav.
Används där fördröjning är oacceptabel, ofta inom säkerhetskritiska system.
📌 Exempel:

Flygplanskontrollsystem
Pacemakers
Industriella robotsystem
ABS-bromssystem i bilar
🔑 Mål: Predikterbarhet och timinggaranti, inte nödvändigtvis hög prestanda.

85
Q

Vad är Katalogstruktur (Directory Structure)?

A

Kataloger (directories/folders) används för att organisera filer hierarkiskt.
Ett typiskt filsystem har en rotkatalog / (root) och därefter underkataloger och filer.
Kataloger är specialfiler som innehåller namn och pekare till filer och andra kataloger.

86
Q

Vad är en inode?

A

Ett inode är en datastruktur i filsystemet som innehåller information om en fil (men inte själva filnamnet!).

Vad lagras i en inode?
Filens storlek
Tidsstämplar (skapad, modifierad, åtkomst)
Åtkomsträttigheter
Ägare
Pekare till block där filens data finns på disken
📌 Filnamnet lagras inte i inoden, utan i katalogfilen, som kopplar ett namn till ett inode-nummer.

87
Q

Vad menas med blockallokering?

A

Eftersom filerna är för stora för att alltid lagras på en sammanhängande plats, delas de upp i block (t.ex. 4 KB/block). Filsystemet måste hantera vilka block som tillhör vilken fil.

Vanliga metoder för blockallokering:
- Contiguous Allocation: Filens block ligger direkt efter varandra på disken. ➕ snabb access, ❌ extern fragmentering.
- Linked Allocation: Filens block är spridda, varje block pekar på nästa. ➕ ingen fragmentering, ❌ långsam åtkomst.
- Indexed Allocation (FAT): Ett indexblock innehåller alla blockpekare. ➕ snabb slumpmässig access, ❌ extra

88
Q

Beskriv vad som lagras i en inode. Förklara skillnaden mellan filnamn och inode.

A
  • Filens storlek
  • Tidsstämplar (skapad, modifierad, åtkomst)
  • Åtkomsträttigheter
  • Ägare
  • ## Pekare till block där filens data finns på diskenKataloger kopplar namn till inode
89
Q

Vilka olika Cache Mapping Techniques finns?

A
  • Direct Mapping: Varje minnesblock kan endast ligga på en plats i cachen ➕ Enkelt, ❌ Lätt för konflikter
  • Associative Mapping: Ett minnesblock kan lagras var som helst i cachen ➕ Flexibelt, ❌ Dyrt att söka
  • Set-Associative Mapping: Kombination: block placeras i en av flera platser i ett visst “set” ➕ Bra balans mellan enkelhet och flexibilitet
90
Q

Vad är ARQ (Automatic Repeat reQuest)

A

Ett felhanteringsprotokoll i kommunikationssystem som begär om-sändning av paket om de är felaktiga eller saknas (ex: Stop-and-Wait ARQ, Go-Back-N, Selective Repeat).

91
Q

Vad är internet?

A

Ett globalt nätverk av sammankopplade system som använder TCP/IP-protokollstacken för kommunikation.

92
Q

Vad står ARQ för?

A

Automatic Repeat reQuest

93
Q

Vad är Mutual Exclusion?

A

En synkroniseringsteknik som ser till att endast en process/tråd åt gången får åtkomst till en delad resurs eller kritisk sektion.

94
Q

Vad är user mode?

A

Icke-privilegierat körläge i en processor där vanliga program körs utan tillgång till systemkritiska instruktioner eller resurser (jämför: kernel mode).

95
Q

Vad är en socket?

A

En gränssnittskomponent mellan applikationer och nätverket – används vid programmering av nätverkskommunikation (t.ex. via TCP eller UDP).

A mechanism that allows multiple processes to communicate over a network or between systems by sending and receiving messages.

96
Q

Vad är system calls?

A

Gränssnittet mellan user mode och kernel mode, som tillåter användarprogram att begära tjänster från operativsystemet (ex: read(), write(), fork()).

97
Q

Vad är Deadlock avoidance?

A

En strategi för att förhindra att deadlocks uppstår, t.ex. genom resursallokeringsalgoritmer som Banker’s algorithm, där systemet gör en säkerhetsanalys innan resurser tilldelas.

98
Q

Vad är ett routing table?

A

En tabell i en router eller dator som visar vilken väg (next hop) ett paket ska ta för att nå en destination via nätverket.

99
Q

Vad är “data segment”?

A

En del av en process minneslayout där globala och statiska variabler lagras under körning

100
Q

Vad är PCB?

A

En datastruktur i operativsystemet som lagrar all information om en process: tillstånd, programräknare, CPU-register, minnespekare, PID etc.

101
Q

Vanliga ARQ-protokoll?

A

Stop-and-Wait ARQ
Go-Back-N ARQ
Selective Repeat ARQ

102
Q

Vad innehåller data segment?

A

The data segment är en del av processens minneslayout där:

Globala variabler (definierade utanför funktioner)
Statiska variabler (som behåller sitt värde mellan funktionsanrop)
lagras under programmets exekvering.

103
Q

Vad innehåller text segment?

A

Text segment → Själva instruktionerna (programkoden)

104
Q

Vad innehåller heapen?

A

Heap → Dynamiskt allokerat minne (malloc, new)

105
Q

Vad innehåller stacken?

A

Stack → Lokala variabler, funktionsanrop

106
Q

Skillnad mellan deadlock prevention och deadlock avoidance?

A

Deadlock prevention: Undviker att deadlockvillkor uppstår överhuvudtaget
Deadlock avoidance: Analyserar varje begäran och tillåter endast säkra tillstånd

107
Q

Vad är convoy effekt?

A

Convoy effect uppstår främst i First-Come, First-Served (FCFS) schemaläggning, där:

En långsam/stor process ligger först i kön, och alla snabbare/små processer måste vänta bakom den, även om de skulle ha kunnat bli klara mycket snabbare.
📌 Resultat:

CPU och resurser utnyttjas ineffektivt
Hela systemets throughput minskar
Responsiviteten försämras kraftigt för små jobb
💡 Ett slags “resursskugga” skapas: alla andra får sitta fast i kön och vänta på att långsammaste jobben ska bli färdiga.

108
Q

Vilken ordning kommer internet protocol stack?

A

Application - Message
Transport - Segment
Network - Packet
Link - Frame

109
Q

Vad betyder /30?

A

När vi skriver en nätmask som /30, betyder det:

30 bitar används till nätverksdelen
De sista 2 bitarna (av totalt 32) är reserverade för hostadresser
Nätmask:
/30 = 255.255.255.252
→ binärt: 11111111.11111111.11111111.11111100

110
Q

Antal adresser på /30?

A

Prefix: /30
Antal adresser: 4
Användbara hostar : 2

111
Q

Antal adresser på /29?

A

Prefix: /29
Antal adresser: 8
Användbara hostar : 6

112
Q

Antal adresser på /28?

A

Prefix: /28
Antal adresser: 16
Användbara hostar : 14

113
Q

Antal adresser på /24?

A

Prefix: /24
Antal adresser: 256
Användbara hostar : 254

114
Q

Vad innebär CIDR och vad står det för?

A

CIDR står för Classless Inter-Domain Routing
→ Det innebär att vi inte längre utgår från gamla klass A, B, C-nät, utan istället använder en flexibel prefixlängd (/x) för att ange hur många bitar som tillhör nätverksdelen.

Exempel:
/16 = 255.255.0.0 → 16 bitar nät-ID
/24 = 255.255.255.0 → 24 bitar nät-ID
CIDR används alltså för att:

Specificera nätstorlek exakt
Optimera IP-adressutrymme
Göra routing mer effektiv

115
Q

Vad är ACID och vad står det för?

A

ACID är en akronym som beskriver de fyra viktigaste egenskaperna hos en korrekt och pålitlig databastransaktion.

När du kör en transaktion i en databas (t.ex. överför pengar mellan konton), så vill du att den ska uppfylla ACID-egenskaperna för att systemet ska vara pålitligt och konsekvent, även om något går fel (t.ex. strömavbrott, krasch etc).

116
Q

Helheten i processen: Vad händer när en dator startar och ska nå en webbsida?

117
Q

Vad innebär DNS och vad står den för?

A

DNS (Domain Name System) fungerar som internets “telefonkatalog”: det översätter domännamn till IP-adresser.

118
Q

Process?

A

En process är en aktiv instans av ett program i exekvering. Det är inte bara själva programkoden, utan också:

Minnesutrymme (code, data, stack, heap)
Registerstatus
Processens tillstånd (Ready, Running, Waiting)
Tillhörande resurser (fildeskriptorer, etc.)

119
Q

Dual mode?

A

Dual mode innebär att ett operativsystem delar upp exekvering i två lägen:

User Mode – begränsat läge där användarprocesser körs
Kernel Mode – privilegierat läge där operativsystemet har full åtkomst till resurser (I/O, minne, etc.)
💡 Varför viktigt?
Det skyddar systemresurser och hindrar användarprogram från att direkt manipulera hårdvara eller OS-funktioner.

120
Q

Interrupts/Exceptions

A

Interrupts: Signaler från hårdvaran till CPU:n som avbryter aktuell exekvering för att något yttre har inträffat. Exempel: tangenttryckning, nätverkspaket, timer.
Exceptions (Traps): Signaler om ett fel eller händelse internt i processen, t.ex. division med noll eller ogiltig minnesåtkomst.

121
Q

System call

A

Ett systemanrop (system call) är ett kontrollerat sätt för en användarprocess att be operativsystemet att utföra en tjänst åt den. Det är den enda vägen för en process i user mode att få tillgång till skyddade resurser via kernel mode.

122
Q

Multiprogrammering

A

Multiprogrammering innebär att flera processer hålls i minnet samtidigt så att CPU:n kan växla mellan dem när någon väntar på I/O.
Det handlar alltså inte om att processerna körs parallellt (det är multitasking eller multiprocessing), utan om att CPU:n alltid hålls upptagen.

123
Q

ARQ

A

ARQ (Automatic Repeat reQuest) är en teknik inom nätverkskommunikation som ser till att data levereras korrekt genom:

ACK (Acknowledgement) – mottagaren bekräftar att paketet tagits emot.
Timeouts – om ACK inte tas emot i tid, antar avsändaren att paketet förlorats.
Retransmission – paketet skickas om.

124
Q

Sliding Windows at Sender and Receiver

A

Sliding window-protokollet är en teknik som används för effektiv och kontrollerad dataöverföring.
Både avsändare och mottagare håller ett “fönster” över vilka paket som får skickas / tas emot utan väntan på ACK.

💡 Fördelar:

Pipelining – flera paket kan skickas innan man behöver vänta på ACK
Kontrollerar både flöde och kongestion
Effektivare än stop-and-wait
🧠 Begrepp:

Window size = antal paket som får skickas innan ACK behövs
Cumulative ACK = mottagaren bekräftar det högsta mottagna sekventiella paketet
Selective Repeat vs Go-Back-N

125
Q

Internet protocol stack (4-layer model), Protocols

A

Rita tabellen (Lager, Funktion, protokoll)