H1: Inleiding
Wat is een besturingssysteem?
Operating system: programma om hardware te gebruiken (tussenstation gebruiker-
hardware)
Soorten operating systems
o Single-tasking systemen: max 1 taak gelijktijdig actief
o Multi-tasking systemen: meerdere taken gelijktijdig actief
o Multi-user systemen: meerdere gebruikers kunnen systeem gelijktijdig gebruiken
Verschillende lagen operating system
o Shell: gebruiker geeft commando’s in
o Utilities: bevat veel routines om eenvoudige opdrachten uit te voeren
o Kernel: hart van OS
Concepten van besturingssystemen
Soorten taken
o Interactieve programma’s met snelle respons
o Batch programma’s: geen directe respons => taken in wachtrij
o Real-time programma’s: snelle respons is essentieel, altijd voorrang
(Bv: controlesysteem luchthaven)
Proces: één of meer reeksen opdrachten die door een OS worden beschouwd als
werkeenheid
Resources: worden aangesproken door proces, OS moet zorgen voor:
o Genoeg geheugen voor proces
o Gebruik van CPU regelen
o Gegevensstroom van of naar randapparatuur regelen
o Bestanden en records kunnen lokaliseren
Scheduling: processen prioriteiten geven tegenover andere processen
Concurrency: processen zijn afhankelijk, OS moet zorgen voor synchronisatie (volgorde
processen) zodat er geen problemen voorkomen (bv. processen die zelfde geheugen
aanspreken)
Ontwerp-criteria
o Consistentie: processen en respons moeten constant blijven
o Flexibiliteit: oude applicaties moeten nog draaien op nieuwe OS-versie
o Overdraagbaarheid: OS moet op verschillende toestellen beschikbaar zijn
, H2: Virtualisatie en cloud
Virtualisatie: creëren van een virtuele versie van iets
Traditionele architectuur: één OS per toestel, alleen wisselbaar door opnieuw op te starten
Virtuele architectuur: meerdere computers op één fysiek toestel kunnen laten draaien
Virtuele hardware: virtuele bronnen zoals een vCPU zal deeltje van de fysieke CPU nemen
Voordelen virtualisatie
o Efficiënter gebruik van beschikbare hardware
o Goedkoper dan aparte fysieke systemen
o Lagere ecologische voetafdruk
Virtuele machine: programma dat een volledige computer nabootst waar andere
programma’s op kunnen runnen
o Programmeertaal-specifiek: abstractielaag voor werkelijke computer = verzameling
basisfuncties waar programma’s in de programmeertaal gebruik van moeten maken
om de functies van de computer aan te spreken
o Emulatie: emuleert fysieke computer alsof het een nieuwe computer is
o Applicatie-specifiek: applicaties draaien in container die rechtsreeks kernel van Linux
op host computer aanspreken
Hypervisor: software om virtuele machines te maken en te starten, zorgt voor het delen van
de bronnen over de VM’s
o Type 1: Rechtsreeks op hardware zonder onderliggend OS, efficiënter maar
complexer, vooral gebruikt voor servers
o Type 2: Programma bovenop OS, eenvoudiger, vooral gebruik voor persoonlijk
toestel
Multi-tenancy
o Bronnen worden gedeeld
o Tenant = gebruiker of groep met gemeenschappelijke toegang
o Op vlak van hardware en software
o Virtualisatie belangrijk
o Multi-tenancy = belangrijk kenmerk Cloud Computing
Voordelen:
o Efficiënter gebruik van beschikbare bronnen
o Lagere operationele kosten => goedkoper voor eindgebruiker
Nadelen:
o Minder isolatie + hogere beveiligingsrisico’s
o Minder prestatie-isolatie (tenants kunnen prestaties negatief beïnvloeden)
=> Multi-tenant omgeving moet duidelijke scheiding van prestaties als gegevens garanderen
Cloud computing: via netwerk beschikbaar stellen van hardware, software en gegevens
o Bronnen beschikbaar op aanvraag
o Pay-as-you-go pricing model (kostprijs afhankelijk van verbruik)
o Elasticiteit: mogelijkheid om automatisch aan te passen aan vraag
Cloud: wolk van computers, eindgebruiker weet weinig en is niet verantwoordelijk
Wat is een besturingssysteem?
Operating system: programma om hardware te gebruiken (tussenstation gebruiker-
hardware)
Soorten operating systems
o Single-tasking systemen: max 1 taak gelijktijdig actief
o Multi-tasking systemen: meerdere taken gelijktijdig actief
o Multi-user systemen: meerdere gebruikers kunnen systeem gelijktijdig gebruiken
Verschillende lagen operating system
o Shell: gebruiker geeft commando’s in
o Utilities: bevat veel routines om eenvoudige opdrachten uit te voeren
o Kernel: hart van OS
Concepten van besturingssystemen
Soorten taken
o Interactieve programma’s met snelle respons
o Batch programma’s: geen directe respons => taken in wachtrij
o Real-time programma’s: snelle respons is essentieel, altijd voorrang
(Bv: controlesysteem luchthaven)
Proces: één of meer reeksen opdrachten die door een OS worden beschouwd als
werkeenheid
Resources: worden aangesproken door proces, OS moet zorgen voor:
o Genoeg geheugen voor proces
o Gebruik van CPU regelen
o Gegevensstroom van of naar randapparatuur regelen
o Bestanden en records kunnen lokaliseren
Scheduling: processen prioriteiten geven tegenover andere processen
Concurrency: processen zijn afhankelijk, OS moet zorgen voor synchronisatie (volgorde
processen) zodat er geen problemen voorkomen (bv. processen die zelfde geheugen
aanspreken)
Ontwerp-criteria
o Consistentie: processen en respons moeten constant blijven
o Flexibiliteit: oude applicaties moeten nog draaien op nieuwe OS-versie
o Overdraagbaarheid: OS moet op verschillende toestellen beschikbaar zijn
, H2: Virtualisatie en cloud
Virtualisatie: creëren van een virtuele versie van iets
Traditionele architectuur: één OS per toestel, alleen wisselbaar door opnieuw op te starten
Virtuele architectuur: meerdere computers op één fysiek toestel kunnen laten draaien
Virtuele hardware: virtuele bronnen zoals een vCPU zal deeltje van de fysieke CPU nemen
Voordelen virtualisatie
o Efficiënter gebruik van beschikbare hardware
o Goedkoper dan aparte fysieke systemen
o Lagere ecologische voetafdruk
Virtuele machine: programma dat een volledige computer nabootst waar andere
programma’s op kunnen runnen
o Programmeertaal-specifiek: abstractielaag voor werkelijke computer = verzameling
basisfuncties waar programma’s in de programmeertaal gebruik van moeten maken
om de functies van de computer aan te spreken
o Emulatie: emuleert fysieke computer alsof het een nieuwe computer is
o Applicatie-specifiek: applicaties draaien in container die rechtsreeks kernel van Linux
op host computer aanspreken
Hypervisor: software om virtuele machines te maken en te starten, zorgt voor het delen van
de bronnen over de VM’s
o Type 1: Rechtsreeks op hardware zonder onderliggend OS, efficiënter maar
complexer, vooral gebruikt voor servers
o Type 2: Programma bovenop OS, eenvoudiger, vooral gebruik voor persoonlijk
toestel
Multi-tenancy
o Bronnen worden gedeeld
o Tenant = gebruiker of groep met gemeenschappelijke toegang
o Op vlak van hardware en software
o Virtualisatie belangrijk
o Multi-tenancy = belangrijk kenmerk Cloud Computing
Voordelen:
o Efficiënter gebruik van beschikbare bronnen
o Lagere operationele kosten => goedkoper voor eindgebruiker
Nadelen:
o Minder isolatie + hogere beveiligingsrisico’s
o Minder prestatie-isolatie (tenants kunnen prestaties negatief beïnvloeden)
=> Multi-tenant omgeving moet duidelijke scheiding van prestaties als gegevens garanderen
Cloud computing: via netwerk beschikbaar stellen van hardware, software en gegevens
o Bronnen beschikbaar op aanvraag
o Pay-as-you-go pricing model (kostprijs afhankelijk van verbruik)
o Elasticiteit: mogelijkheid om automatisch aan te passen aan vraag
Cloud: wolk van computers, eindgebruiker weet weinig en is niet verantwoordelijk