DSP Flashcards

(126 cards)

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
Vad innebär starvation?
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.
26
Vilken metod för diskblockallokering ger snabbast slumpmässig åtkomst till data?
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.
27
Vad innebär linked allocation?
Varje block innehåller en pekare till nästa block → måste läsas sekventiellt → långsam random access.
28
Vad innebär contiguous allocation?
Alla block ligger i följd i minnet → snabb random access, men extern fragmentering uppstår lätt.
29
Vad innebär FIFO allocation?
Det är inte en diskallokeringsmetod, utan ett köhanteringssystem – därför är det ett felaktigt alternativ här.
30
Vad används en routing-tabell till i ett nätverk?
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.
31
Vad innehåller ett routing table?
- 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.
32
Vart lagras öppna TCP-sessioner?
Öppna TCP-sessioner lagras i operativsystemets socket-tabeller, inte routingtabellen.
33
Vad hanterar MAC-adresser?
MAC-adresser hanteras av ARP-tabellen, inte routingtabellen.
34
Vad hanterar översättning mellan IP och domännamn?
Översättning mellan IP och domännamn görs via DNS, inte routingtabellen.
35
Vad händer när en process gör ett systemanrop?
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.
36
Exempel på systemanrop?
read(), write(), fork(), exec(), open()
37
Vilken resurs delas mellan alla trådar i en process?
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).
38
Vilka resurser får trådar en egen del av när de skapas?
- 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.
39
Vad är huvudsyftet med portnummer i TCP/IP-modellen?
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)
40
Vad används ICMP till i ett IP-baserat nätverk?
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.
41
Vad är syftet med DHCP i ett IP-nätverk?
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.
42
Vilken är den största nackdelen med Contiguous Allocation som metod för lagring av filer på disk?
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.
43
Vad är huvudsyftet med cacheminne i ett datorsystem?
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.
44
Är RR (Round Robin) preemptiv eller icke preemptiv?
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.
45
Vad innebär waiting time och hur räknar man på det?
Tid en process väntar i kön innan den får CPU Starttid – Ankomsttid – Ev. tidigare CPU
46
Vadd innebär turnaround time och hur räknar man på det?
Total tid från ankomst till slutförande Sluttid – Ankomsttid
47
Vad innebär responstid och hur räknar man på det?
Tid från ankomst till första gång CPU börjar exekvera processen Starttid – Ankomsttid
48
VAD ÄR CPU Utilization och hur räknar man på det?
Mäter hur stor andel av tiden CPU:n faktiskt är aktiv (dvs. inte idle/vilar). 📌 Formel: CPU Utilization = Tid CPU var aktiv/Total tid ×100% 💡 Hög CPU-utilization = bra resursutnyttjande. Låg utilization = mycket idle time → ineffektivt system.
49
Vad är Throughput och hur räknar man på det?
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.
50
Vad är en process?
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.
51
Vilka tillstånd kan en process befinna sig i?
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
Vilka processtillstånd är ogiltiga?
- 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
Vad är user space och kernel space?
- 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
Varför har vi user space och kernel space?
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
Vad är ett systemanrop (system call)?
Ett systemanrop är ett kontrollerat sätt för program i user space att begära tjänster från kernel space.
56
Vad händer vid ett systemanrop?
- 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
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?
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
Vad är virtuellt minne?
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
Vad är ett page table?
Tabell per process som mappar virtuella sidor → fysiska ramar (frames)
60
Vad är TLB? (Translation Lookaside Buffer)
Cache för adressöversättning – håller de senaste sidöversättningarna för att snabba upp processen
61
Vad står TLB för?
Translation Lookaside Buffer
62
Vad är en page?
Enhet av virtuellt minne (t.ex. 4 KB per sida)
63
Vad är en frame?
Enhet av fysiskt minne – samma storlek som page
64
Vad händer när en adress slås upp (page table)?
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
Vad innebär page fault?
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
Vad menas med Demand Paging?
- 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
Förklara skillnaden mellan TLB och Page Table, och beskriv vad som händer vid en page fault.
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
Vad är huvudsyftet med Translation Lookaside Buffer (TLB)?
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
När inträffar en page fault
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
Vad är race condition?
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
Vad är en critical section?
En kodsektion där delade resurser används. Måste skyddas av synkroniseringsmekanismer. Exempel: läsning/skrivning av global variabel, filaccess, mm.
72
Vad finns det för typer av semaforer?
Binära och räknande semaforer
73
Vad finns det för operationer för semaforer?
Initialize, wait (vänta på tillgänlig semaphor), signal (signalera att ledig finns) och destroy
74
Förklara vad en race condition är och hur man kan undvika det. Beskriv skillnaden mellan en mutex och en semafor.
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
Vad krävs för att ett race condition ska kunna uppstå?
Flera trådar använder en global variabel utan synkronisering
76
Vad är den huvudsakliga skillnaden mellan en binär semafor och en räknande semafor?
Räknande semaforer har ett värde > 1 och kontrollerar flera resurser
77
Vad används en mutex till?
En mutex används för att skydda en kritisk sektion från samtidiga åtkomster
78
Vad står IPC för?
Inter-Process Communication (IPC)
79
Vad innebär IPC? (inter process comunnication)
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
Vad menas med Message Passing (Meddelandeöverföring)?
Processer skickar och tar emot meddelanden via OS-mekanismer (t.ex. sockets, pipes, queues)
81
Vad menas med Shared Memory (Delat minne)?
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
Vad menas med Time-sharing systems (Tidsdelningssystem)
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
Vad menas med Batch systems (Satsvisa system)
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
Vad menas med Real-Time Systems (Realtidssystem)
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
Vad är Katalogstruktur (Directory Structure)?
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
Vad är en inode?
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
Vad menas med blockallokering?
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
Beskriv vad som lagras i en inode. Förklara skillnaden mellan filnamn och inode.
- Filens storlek - Tidsstämplar (skapad, modifierad, åtkomst) - Åtkomsträttigheter - Ägare - Pekare till block där filens data finns på disken - Kataloger kopplar namn till inode
89
Vilka olika Cache Mapping Techniques finns?
- 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
Vad är ARQ (Automatic Repeat reQuest)
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
Vad är internet?
Ett globalt nätverk av sammankopplade system som använder TCP/IP-protokollstacken för kommunikation.
92
Vad står ARQ för?
Automatic Repeat reQuest
93
Vad är Mutual Exclusion?
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
Vad är user mode?
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
Vad är en socket?
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
Vad är system calls?
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
Vad är Deadlock avoidance?
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
Vad är ett routing table?
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
Vad är "data segment"?
En del av en process minneslayout där globala och statiska variabler lagras under körning
100
Vad är PCB?
En datastruktur i operativsystemet som lagrar all information om en process: tillstånd, programräknare, CPU-register, minnespekare, PID etc.
101
Vanliga ARQ-protokoll?
Stop-and-Wait ARQ Go-Back-N ARQ Selective Repeat ARQ
102
Vad innehåller data segment?
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
Vad innehåller text segment?
Text segment → Själva instruktionerna (programkoden)
104
Vad innehåller heapen?
Heap → Dynamiskt allokerat minne (malloc, new)
105
Vad innehåller stacken?
Stack → Lokala variabler, funktionsanrop
106
Skillnad mellan deadlock prevention och deadlock avoidance?
Deadlock prevention: Undviker att deadlockvillkor uppstår överhuvudtaget Deadlock avoidance: Analyserar varje begäran och tillåter endast säkra tillstånd
107
Vad är convoy effekt?
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
Vilken ordning kommer internet protocol stack?
Application - Message Transport - Segment Network - Packet Link - Frame
109
Vad betyder /30?
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
Antal adresser på /30?
Prefix: /30 Antal adresser: 4 Användbara hostar : 2
111
Antal adresser på /29?
Prefix: /29 Antal adresser: 8 Användbara hostar : 6
112
Antal adresser på /28?
Prefix: /28 Antal adresser: 16 Användbara hostar : 14
113
Antal adresser på /24?
Prefix: /24 Antal adresser: 256 Användbara hostar : 254
114
Vad innebär CIDR och vad står det för?
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
Vad är ACID och vad står det för?
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
Helheten i processen: Vad händer när en dator startar och ska nå en webbsida?
117
Vad innebär DNS och vad står den för?
DNS (Domain Name System) fungerar som internets "telefonkatalog": det översätter domännamn till IP-adresser.
118
Process?
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
Dual mode?
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
Interrupts/Exceptions
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
System call
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
Multiprogrammering
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
ARQ
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
Sliding Windows at Sender and Receiver
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
Internet protocol stack (4-layer model), Protocols
Rita tabellen (Lager, Funktion, protokoll)
126