3.1 - Process Concept (p.103)

Process

  • Process = Programma dat wordt uitgeveoerd. (eenheid van werk in een OS) (Ook wel naar gerefereerd als job)

    • Een programma is bij definitie niet ook een process.
    • Twee processen kunnen van hetzelfde programma afkomstig zijn, maar zijn twee losse processen met eigen inhoud.
  • Inhoud van een process:

    • Huidige activiteit
      • Is de program counter
    • Tijdelijke data als parameters, return addresses, variabeles
      • Is de stack
    • Globale variabelen
      • Is de data section
    • Geheugen dat dynamisch nodig is tijdens het uitvoeren van het process
      • Is de heap

Process State

Weergave van een process status.

  • Staat van een process:
    • New
      • Het process wordt aangemaakt.
    • Running
      • De instructies worden uitgevoerd.
      • Er kan maar een process tegelijk worden uitgevoerd op een processor.
    • Waiting
      • Het process wacht tot een event is/wordt uitgevoerd. (I/O, netwerk oa)
    • Ready
      • Het process wacht totdat het wordt toegewezen aan een processor.
    • Terminated
      • Het process is klaar met uitvoeren.

Process Control Block (PCB)

  • Bevat informatie geassocieerd met het process
  • Velden:
    • Process State (zie hierboven)
    • Program Counter
      • Adres voor de volgende instructie in het process
      • Dit gegven moet worden bewaard tijdens een interrupt om het process hierna weer te kunnen vervolgen.
    • CPU registers
      • Hier wordt alle informatie opgeslagen welke met de CPU te maken heeft.
      • Registers, accumulators, indexregisters, stack pointers etc.
      • Deze gegevens moeten worden bewaard tijdens een interrupt om het process hierna weer te kunnen vervolgen.
    • CPU-scheduling information
      • Process prioriteit en pointers naar de scheduling queues.
    • Memory-Management information
      • Beschrijft de waarde de base en limit registers, page/segment tables (afhankelijk van het systeem dat wordt gebruikt)
    • Acounting Information
      • CPU tijd gebruikt, limieten, job/process nummer etc.
    • I/O status information
      • Lijst met I/O apparaten die "gekoppeld" zijn aan het process.
    • Thread information
      • Informatie over de eventueel verschillende threads in het process.
      • Het process kan hierdoor meerdere dingen tegelijk uitvoeren.
    • Queue Pointer
      • Deze pointer wijst naar de eerstvolgende PCB in de ready queue (zie volgende paragraaf)

results matching ""

    No results matching ""