DSP Flashcards
(126 cards)
Vad är PCB?
Process Control Block (PCB) är en datastruktur som operativsystemet använder för att hålla reda på en process och alla dess egenskaper.
Vad innehåller PCB
- 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)
Vad menas med kontextväxling?
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.
Vad menas med paging?
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.
Vad är fördelen med paging?
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.
Vad står TCP för?
Transmission Control Protocol
Exempel på protokoll som följer end to end principen
TCP
Vad innebär end-to-end principen?
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.
Vad säkerställer TCP och hur gör det det?
✅ Säkerställer pålitlig leverans av data
✅ Sköter flödeskontroll och kongestionskontroll
✅Använder acknowledgements, retransmission, checksummor
Vad är kongestionskontroll?
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.
Vad är flödeskontroll?
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.
Vad är syftet med binära semaforer (mutex)
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.
Vad är ARP och vad används det för?
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.
Vad står ARP för?
Adress Resolution Protocol
Vad är ICMP och vad används det för?
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).
Vad står ICMP för?
Internet Control Message Protocol
Vad är DHCP och vad används det för?
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.
Hur skiljer sig TCP och UDP orientmässigt?
✅ 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.
Vad står UDP för?
User Datagram Protocol
Använder UDP sig av checksummor?
UDP har också checksummor, även om de är valfria i IPv4, men obligatoriska i IPv6.
Vilken schemaläggningsalgoritm ger i regel den kortaste genomsnittliga väntetiden?
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.
Vad innebär att något är preemptivt?
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).
Vad händer vid en page fault i ett system med virtuellt minne?
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.
Vilka är de 4 deadlockvilkoren?
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.