100% satisfaction guarantee Immediately available after payment Both online and in PDF No strings attached
logo-home
Samenvatting Operating System Concepts - Abraham Silberschatz, Peter B. Galvin, Greg Gagne $7.49
Add to cart

Summary

Samenvatting Operating System Concepts - Abraham Silberschatz, Peter B. Galvin, Greg Gagne

5 reviews
 435 views  19 purchases
  • Course
  • Institution
  • Book

Nederlandse samenvatting van het boek Operating System Concepts - Abraham Silberschatz, Peter B. Galvin, Greg Gagne, 2014, gebruikt bij het vak Operating systems voor de bachelor Informatica (Computer Science) aan de Universiteit Leiden.

Last document update: 6 year ago

Preview 8 out of 161  pages

  • No
  • H1 - h6 en h8 - h12
  • March 2, 2018
  • March 4, 2018
  • 161
  • 2016/2017
  • Summary

5  reviews

review-writer-avatar

By: rómanhuiberts1 • 2 year ago

review-writer-avatar

By: rutger6 • 2 year ago

review-writer-avatar

By: j51 • 3 year ago

review-writer-avatar

By: sigovdlinde • 5 year ago

review-writer-avatar

By: lennartzc2 • 5 year ago

avatar-seller
Samenvatting
Operating System Concepts - A. Silberschatz, P.B. Galvin, G.
Gagne

, Inhoudsopgave

1 Introductie 4
1.1 Wat besturingssystemen doen . . . . . . . . . . . . . . . . . . . . 4
1.2 Computer-system organisatie . . . . . . . . . . . . . . . . . . . . 6
1.3 Computer-system architectuur . . . . . . . . . . . . . . . . . . . . 9
1.4 Besturingssysteem structuur . . . . . . . . . . . . . . . . . . . . . 11
1.5 Besturingssysteem operaties . . . . . . . . . . . . . . . . . . . . . 12
1.6 Proces beheer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.7 Geheugen beheer . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.8 Opslag beheer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.9 Bescherming en beveiliging . . . . . . . . . . . . . . . . . . . . . . 16
1.10 Kernel datastructuren . . . . . . . . . . . . . . . . . . . . . . . . 16
1.11 Computing omgevingen . . . . . . . . . . . . . . . . . . . . . . . . 17

2 Systeem structuren 21
2.1 Besturingssysteem diensten . . . . . . . . . . . . . . . . . . . . . 21
2.2 Gebruikers en besturingssysteem interface . . . . . . . . . . . . . 22
2.3 Systeem aanroepen . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.4 Typen systeem aanroepen . . . . . . . . . . . . . . . . . . . . . . 24
2.5 Systeem programma’s . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.6 Besturingssysteem ontwerp en implementatie . . . . . . . . . . . . 28
2.7 Besturingssysteem structuur . . . . . . . . . . . . . . . . . . . . . 29
2.8 Besturingssysteem debugging . . . . . . . . . . . . . . . . . . . . 30
2.10 Systeem boot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

3 Het proces concept 32
3.1 Proces concept . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.2 Plannen van processen . . . . . . . . . . . . . . . . . . . . . . . . 33
3.3 Operaties op processen . . . . . . . . . . . . . . . . . . . . . . . . 36
3.4 Communicatie tussen processen . . . . . . . . . . . . . . . . . . . 37
3.6 Communicatie in client-server systemen . . . . . . . . . . . . . . . 41




1

,4 Multithreaded programmeren 43
4.1 Overzicht . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.2 Multicore programming . . . . . . . . . . . . . . . . . . . . . . . . 44
4.3 Multithreading modellen . . . . . . . . . . . . . . . . . . . . . . . 45
4.4 Thread libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
4.5 Impliciet threading . . . . . . . . . . . . . . . . . . . . . . . . . . 46
4.6 Threading problemen . . . . . . . . . . . . . . . . . . . . . . . . . 48

5 Proces planning 51
5.1 Basis concepten . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
5.2 Planning criteria . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
5.3 Plannings algoritmen . . . . . . . . . . . . . . . . . . . . . . . . . 53
5.4 Thread planning . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
5.5 Multi-processor planning . . . . . . . . . . . . . . . . . . . . . . . 57
5.6 Real-Time CPU planning . . . . . . . . . . . . . . . . . . . . . . . 59
5.8 Algoritme evaluatie . . . . . . . . . . . . . . . . . . . . . . . . . . 62

6 Synchronisatie 65
6.1 Achtergrond . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
6.2 Het kritische-sectie probleem . . . . . . . . . . . . . . . . . . . . . 65
6.3 Peterson’s oplossing . . . . . . . . . . . . . . . . . . . . . . . . . . 67
6.4 Synchronisatie hardware . . . . . . . . . . . . . . . . . . . . . . . 68
6.5 Mutex locks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
6.6 Semaphores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
6.7 Klassieke problemen van synchronisatie . . . . . . . . . . . . . . . 75
6.10 Alternatieve aanpakken . . . . . . . . . . . . . . . . . . . . . . . . 78

8 Geheugenbeheer strategieën 81
8.1 Achtergrond . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
8.2 Swapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
8.3 Aaneengrenzende geheugen allocatie . . . . . . . . . . . . . . . . . 86
8.4 Segmentatie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
8.5 Paging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
8.6 De structuur van de page table . . . . . . . . . . . . . . . . . . . 94

9 Virtueel geheugen beheer 98
9.1 Achtergrond . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
9.2 Demand paging . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
9.3 Copy-on-Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
9.4 Pages vervangen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
9.5 Allocatie van frames . . . . . . . . . . . . . . . . . . . . . . . . . 107
9.6 Thrashing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
9.7 Geheugen ge-mapped bestanden . . . . . . . . . . . . . . . . . . . 112


2

, 9.9 Overige overwegingen . . . . . . . . . . . . . . . . . . . . . . . . . 113

10 Bestandensysteem 117
10.1 Het concept bestand . . . . . . . . . . . . . . . . . . . . . . . . . 117
10.2 Toegangsmethoden . . . . . . . . . . . . . . . . . . . . . . . . . . 121
10.3 Map en schijfstructuren . . . . . . . . . . . . . . . . . . . . . . . 123
10.4 Mounting in het bestandensysteem . . . . . . . . . . . . . . . . . 127
10.5 Delen van bestanden . . . . . . . . . . . . . . . . . . . . . . . . . 128
10.6 Bescherming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130

11 Implementeren van bestandsystemen 132
11.1 Structuur van een bestanden systeem . . . . . . . . . . . . . . . . 132
11.2 Implementatie van een bestanden systeem . . . . . . . . . . . . . 134
11.3 Mappenstructuur implementatie . . . . . . . . . . . . . . . . . . . 137
11.4 Allocatie methoden . . . . . . . . . . . . . . . . . . . . . . . . . . 138
11.5 Beheren van vrije ruimten . . . . . . . . . . . . . . . . . . . . . . 141
11.6 Efficiëntie en prestatie . . . . . . . . . . . . . . . . . . . . . . . . 143
11.7 Herstel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144

12 Massa opslag structuur 146
12.1 Overzicht van de massa opslag structuur . . . . . . . . . . . . . . 146
12.2 Schijf structuur . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
12.3 Schijf attachment . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
12.4 Schijf planning . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
12.5 Schijf beheer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
12.6 Swap-space beheer . . . . . . . . . . . . . . . . . . . . . . . . . . 155
12.7 RAID structuur . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157




3

, Hoofdstuk 1

Introductie

1.1 Wat besturingssystemen doen
Een operating system is een programma dat optreedt als de bemiddelaar tus-
sen de gebruikers van een computer en de hardware erop. De doelen van een
besturingsysteem zijn:

• Het uitvoeren van gebruikersprogramma’s en het vergemakkelijken van het
oplossen van gebruikersproblemen.

• Het computersysteem makkelijker maken in gebruik.

• De computer hardware op efficiënte wijze gebruiken.

Een computersysteem kan opgedeeld worden in vier componenten:

1. Hardware: verschaft de basis computer resources zoals de CPU, het geheu-
gen en I/O apparaten.

2. Besturingssysteem: controleert en coördineert het gebruik van de hardware
tussen verschillende applicaties en gebruikers.

3. Applicaties: definiëren de manier waarop de resources in het systeem ge-
bruikt worden voor het oplossen van problemen van de gebruikers. Voor-
beelden hiervan zijn woordprocessoren, compilers, webbrowsers, database
systemen en videospellen.

4. Gebruikers: dit kunnen personen, machines of andere computers zijn.




4

,Gebruikersweergave
De manier waarop een gebruiker een computer ziet hangt af van de gebruikte
interface.

• Gebruikers willen gemak, ease of use en good performance. Ze zijn niet
geı̈nteresseerd in resource utilization.

• Meerdere gebruikers zitten achter terminals die verbonden zijn met een
mainframe of minicomputer. Deze gebruikers delen de resources en wil-
len wellicht informatie uitwisselen. Dit type computer moet alle gebruikers
tevreden houden. In dit geval is resource utilization wel degelijk belangrijk.

• Gebruikers zitten achter workstations die verbonden zijn met andere net-
werken van workstations en servers. Deze gebruikers specifieke resources
tot hun beschikking, maar delen ook een aantal resources zoals netwerken
en servers. Het besturingssysteem moet in dit geval een goede balans tussen
individuele bruikbaarheid en resource gebruik vinden.

• Handheld computers zijn weer resource poor en worden juist geoptimali-
seerd op vlakken als bruikbaarheid en batterij levensduur.

• Sommige systemen hebben helemaal geen of een zeer beperkte interface,
zoals embedded computers in apparaten en auto’s.


Systeemweergave
De computer kan een besturingssysteem op twee manieren zien:



5

, Resource allocator: het besturingssysteem beheert alle resources en be-
sluit over de allocatie ervan op zo’n wijze dat het systeem efficiënt is en de
resources eerlijk verdeeld zijn.

Control program: het besturingssysteem beheert de uitvoer van pro-
gramma’s om fouten en onjuist gebruik van de computer te voorkomen.


Besturingssystemen definiëren
Een besturingssysteem kan dus op allerlei manieren gedefinieerd worden. Een
goede omschrijving is ”alles wat de verkoper meestuurt, wanneer je een bestu-
ringssysteem bestelt”. De kernel is het ene programma op de computer dat altijd
wordt uitgevoerd. Alle het andere is ofwel een system program (meegestuurd
met het besturingssysteem), ofwel een applicatie.


1.2 Computer-system organisatie
Computer systeem operatie
Bij het opstarten of rebooten van een computer wordt het bootstrap program
geladen. Deze staat meestal opgeslagen in ROM of EPROM en staat bekend als
firmware. Het zorgt voor de initialisatie van alle aspecten van het systeem, het
laden van de besturingssysteem kernel en het starten van de uitvoering.

Een modern, algemeen computersysteem bestaat uit één of meer CPU’s en een
aantal apparaat controllers die verbonden zijn met een gemeenschappelijke bus
die toegang tot het gedeelde geheugen verschaft. De CPU en apparaat controllers
kunnen parallel uitgevoerd worden, ze strijden dan om CPU cycles.




Daarnaast heeft elke apparaat controller een lokale buffer. Alle I/O wordt dan
verplaatst van het apparaat naar de lokale buffer van diens controller. De CPU
verplaatst data van en naar main memory en vanuit daar eventueel van en naar
lokale buffers. De device controller informeert de CPU dat ie klaar is met zijn
operatie door middel van een interrupt. Een interrupt draagt de controle over

6

, aan de interrupt service routine. Dit wordt meestal gedaan door middel van de
interrupt vector die de adressen van alle service routines bevat. De interrupt
architecture moet het adres van de onderbroken (interrupted) instructie bewa-
ren. Een trap of exception is een software-gegenereerde interrupt veroorzaakt
door een foutmelding of gebruikersverzoek. We zeggen dat een besturingssysteem
interrupt driven is. Er wordt al volgt gehandeld bij interrupts: Het besturings-
systeem bewaart de huidige toestand van de CPU door de registers en de program
counter op te slaan. Vervolgens wordt bepaald om welk type interrupt het gaat
polling of vectored interrupt system. Vervolgens wordt door verschillende
stukjes code bepaald welke actie gedaan moet worden voor elke type interrupt.


1. Nadat I/O gestart is keert de controle pas weer terug naar het gebruikers-
programma als I/O voltooid is:

• De wacht instructie laat de CPU niks doen tot de volgende interrupt.
• Er vindt een wacht-loop plaats in de strijd om geheugentoegang.
• Er kan maximaal één I/O verzoek per keer uitstaan, er wordt niet aan
het simultaan verwerken van I/O verzoeken gedaan.

2. Nadat I/O gestart is keert de controle direct terug naar het gebruikerspro-
gramma zonder te wachten op de voltooiing van I/O:

• System call: stuurt een verzoek naar het besturingssysteem om de
gebruiker te laten wachten op het voltooien van de I/O.
• Device-status table: bevat een entrie voor elk I/O apparaat en bevat
diens type, adres en toestand.
• Het besturingssysteem indexeert die tabel om zo de status van het
apparaat te bepalen en de tabel te bewerken zodat de interrupt erin
verwerkt is.




7

The benefits of buying summaries with Stuvia:

Guaranteed quality through customer reviews

Guaranteed quality through customer reviews

Stuvia customers have reviewed more than 700,000 summaries. This how you know that you are buying the best documents.

Quick and easy check-out

Quick and easy check-out

You can quickly pay through credit card or Stuvia-credit for the summaries. There is no membership needed.

Focus on what matters

Focus on what matters

Your fellow students write the study notes themselves, which is why the documents are always reliable and up-to-date. This ensures you quickly get to the core!

Frequently asked questions

What do I get when I buy this document?

You get a PDF, available immediately after your purchase. The purchased document is accessible anytime, anywhere and indefinitely through your profile.

Satisfaction guarantee: how does it work?

Our satisfaction guarantee ensures that you always find a study document that suits you well. You fill out a form, and our customer service team takes care of the rest.

Who am I buying these notes from?

Stuvia is a marketplace, so you are not buying this document from us, but from seller Stuvian95. Stuvia facilitates payment to the seller.

Will I be stuck with a subscription?

No, you only buy these notes for $7.49. You're not tied to anything after your purchase.

Can Stuvia be trusted?

4.6 stars on Google & Trustpilot (+1000 reviews)

53022 documents were sold in the last 30 days

Founded in 2010, the go-to place to buy study notes for 14 years now

Start selling
$7.49  19x  sold
  • (5)
Add to cart
Added