Cursus Besturingssystemen: processen, geheugen, threads en bestandssystemen

Gratis online cursus · Gemiddeld · 9 lessen

Leer hoe een besturingssysteem de processor en het geheugen virtualiseert, gelijktijdigheid met threads en vergrendelingen mogelijk maakt, gegevens bewaart en programma's beschermt en isoleert. Daarna kun je redeneren over processen, threads, geheugen en opslag in elk systeem dat je bouwt of beheert.

Door Studeli

Begin met les 1

Is deze cursus Besturingssystemen iets voor jou?

Voor wie

Je kunt programmeren in C (of bent bereid C-voorbeelden te lezen) en wilt processen, geheugen, gelijktijdigheid en bestandssystemen begrijpen vanuit het besturingssysteem.

Wat je leert in 9 lessen

Elke les bevat alle negen studietools

  • Leermodule
  • Samenvatting
  • Walkthroughs
  • Oefenvragen
  • Flashcards
  • Leg Het Uit
  • Kernbegrippen
  • Spiekbriefje
  • Conceptmap
  1. Leg uit hoe een besturingssysteem de CPU virtualiseert met processen, systeemaanroepen en contextwisselingen, en maak processen met fork, exec en wait.

    5 leerdoelen
    1. 1.Leg uit wat een besturingssysteem doet
    2. 2.Beschrijf processen en de toestanden die ze doorlopen
    3. 3.Maak en bestuur processen met fork, exec en wait
    4. 4.Leg gebruikersmodus, kernelmodus en systeemaanroepen uit
    5. 5.Leg uit hoe het besturingssysteem de CPU deelt met beperkte directe uitvoering
  2. Vergelijk planningsbeleid zoals FIFO, kortste taak eerst, round-robinplanning en feedbackwachtrijen met meerdere niveaus aan de hand van doorlooptijd en responstijd.

    6 leerdoelen
    1. 1.Beschrijf wat een CPU-scheduler doet en hoe je de prestaties ervan meet
    2. 2.Vergelijk FIFO, kortste taak eerst, round-robinplanning en prioriteitsplanning
    3. 3.Plan taken zonder hun uitvoeringstijd te kennen met een feedbackwachtrij met meerdere niveaus
    4. 4.Verdeel de CPU evenredig met tickets, stapgroottes en virtuele uitvoeringstijd
    5. 5.Plan werk op meerdere CPU's
    6. 6.Leg de schedulers van bestaande besturingssystemen uit en gebruik ze
  3. Leg uit hoe het besturingssysteem elk proces een eigen adresruimte geeft met een basis en een grens, segmentatie en het beheer van vrije ruimte.

    5 leerdoelen
    1. 1.Leg uit hoe het besturingssysteem elk proces zijn eigen geheugen geeft
    2. 2.Gebruik de geheugen-API en onderzoek hoe het besturingssysteem die ondersteunt
    3. 3.Vertaal adressen met een basis en een grens
    4. 4.Vertaal adressen met segmentatie
    5. 5.Beheer vrije ruimte en fragmentatie
  4. Vertaal adressen met paginatabellen en TLB's, vergelijk paginatabellen met meerdere niveaus en beoordeel beleid voor paginavervanging wanneer het geheugen vol is.

    5 leerdoelen
    1. 1.Vertaal virtuele adressen met paginering
    2. 2.Versnel de adresvertaling met de TLB
    3. 3.Maak paginatabellen kleiner
    4. 4.Gebruik wisselruimte om de capaciteit van het fysieke geheugen te overstijgen
    5. 5.Kies beleid voor paginavervanging en voorkom overmatig wisselen van pagina's
  5. Maak threads, herken racecondities en kritieke secties en bescherm gedeelde gegevens met vergrendelingen.

    5 leerdoelen
    1. 1.Leg uit wat threads zijn en maak ze met POSIX-threads
    2. 2.Zoek racecondities en kritieke secties in concurrente code
    3. 3.Bescherm gedeelde gegevens met vergrendelingen en mutexen
    4. 4.Leg uit hoe vergrendelingen met hardwareondersteuning worden opgebouwd
    5. 5.Ontwerp concurrente gegevensstructuren met vergrendelingen
  6. Coördineer threads met conditievariabelen en semaforen, los het producent-consumentprobleem en het lezers-schrijversprobleem op en voorkom deadlocks en andere gelijktijdigheidsfouten.

    5 leerdoelen
    1. 1.Coördineer threads met conditievariabelen
    2. 2.Gebruik semaforen voor wederzijdse uitsluiting, om de uitvoeringsvolgorde van threads te bepalen en om gelijktijdige uitvoering te begrenzen
    3. 3.Herken en verhelp gelijktijdigheidsfouten waarbij geen deadlock optreedt
    4. 4.Voorkom, vermijd en detecteer deadlocks
    5. 5.Bouw concurrente programma's met gebeurtenissen in plaats van threads
  7. Leg uit hoe het besturingssysteem met apparaten communiceert via interrupts, DMA en stuurprogramma's, en vergelijk harde schijven, SSD's en RAID-niveaus op prestaties en betrouwbaarheid.

    5 leerdoelen
    1. 1.Leg uit hoe het besturingssysteem met apparaten communiceert
    2. 2.Modelleer de prestaties van harde schijven en plan schijfverzoeken
    3. 3.Leg uit hoe SSD's met flashgeheugen werken en vergelijk ze met harde schijven
    4. 4.Gebruik RAID om capaciteit, prestaties en betrouwbaarheid tegen elkaar af te wegen
    5. 5.Detecteer en herstel opslagfouten met controlesommen
  8. Gebruik de interface voor bestanden en directory's, leg uit hoe bestandssystemen gegevens opslaan met inodes en toewijzingsstructuren en vergelijk journaling en loggestructureerde benaderingen voor crashconsistentie.

    6 leerdoelen
    1. 1.Gebruik de interface voor bestanden en directory's
    2. 2.Leg uit hoe een eenvoudig bestandssysteem gegevens opslaat en terugvindt
    3. 3.Leg uit hoe het Fast File System lokaliteit benut voor hogere snelheid
    4. 4.Zorg dat een bestandssysteem na crashes consistent kan worden hersteld
    5. 5.Leg uit hoe een loggestructureerd bestandssysteem schrijft en ruimte vrijmaakt
    6. 6.Vergelijk hoe gedistribueerde bestandssystemen bestanden via een netwerk delen
  9. Leg uit hoe besturingssystemen gebruikers authenticeren, de toegang tot bronnen regelen en werklasten isoleren met virtuele machines en containers.

    5 leerdoelen
    1. 1.Leg uit hoe hardware en de kernel het systeem beschermen
    2. 2.Authenticeer gebruikers en geef processen een identiteit
    3. 3.Regel de toegang tot bestanden en andere bronnen
    4. 4.Voer besturingssystemen uit in virtuele machines
    5. 5.Isoleer toepassingen met containers

Wat je hierna kunt volgen

Meer cursussen Informatica
Informatica: hoe computers, data, algoritmen en internet werken (Beginner)

Je wilt een brede, conceptuele eerste kennismaking met informatica (hoe computers, data, algoritmen, het internet en AI werken), vóór of naast je eerste programmeercursus.

Maak je eigen Studiemateriaal

Maak van je aantekeningen, slides en documenten Leermodules, Oefenvragen, Flashcards en 6 andere tools.

Aan de slag