8.2 - Swapping (p.358)

  • Swapping = Het in en uit het geheugen halen van processen.
  • Backing Store = Tijdelijke opslag voor swapped-out processen.
  • Voorbeeld:
    1. MEM: ?? | CPU: PROCESS A
    2. MEM: +PROCESS C & -PROCESS A | CPU: PROCESS B
    3. MEM: +PROCESS D & -PROCESS B | CPU: PROCESS C
    4. MEM: +PROCESS E & -PROCESS C | CPU: PROCESS D
    5. etc.
  • Wordt uitgevoerd op hetzelfde moment.
    • Geheugen swapt-out het process van de CPU welke net is uitgevoerd (A). En swapped in een nieuw process (C), terwijl een al in het geheugen staand process wordt uitgevoerd (B).
  • Roll out, Roll In = Alternatief algoritme waarbij wanneer een hoger prioriteit process finishes een lager prioriteit process wordt daarna swapped-in en uitgevoerd.
  • Het systeem heeft een ready queue waarvan de gegevens al in het geheugen staan of welke in de backing store staan.
  • De dispatcher geeft aan welk process er geladen moet worden, en als deze nog niet in het geheugen staat wordt deze swapped-in met een ander process.
  • De context switch tijd in zon systeem is relatief hoog omdat de transfer time lang duurt.
    • (100MB @ 50MB/s = 2000ms, 8 ms latency, swap out en in = (2000*2)+(8*2)=4016ms swap time)
  • Een systeem vindt het prettig om te weten hoeveel geheugen een process gebruikt, in plaats van wat het misschien gebruikt.
    • Verminderd de hoeveelheid data die van en naar het geheugen moet worden gekopieerd.
  • Een process kan alleen geswapped worden wanneer het compleet idle is.
    • Een process kan wachten voor IO en dan kan het systeem dat process out-swappen maar dit is misschien niet mogelijk omdat de IO in het geheugen gedeelte van het process schrijft.

results matching ""

    No results matching ""