Skip to content

Procesmodellen

Process state

Hvad for en state processen er i.

State transition ifm. proces-tilstande

New, Ready, Running, Terminated, Waiting

Tilstandsændringer

→ New

  • 0: Program loaded New → Ready
  • 1: Process initialized Ready → Run
  • 2: Gets CPU time Run → Wait
  • 3: Needs something Wait → Ready
  • 4: Got what it needed Run → ready
  • 5: Interrupted Run → Exit
  • 6: Finished or aborted Exit →
  • 7: Exits system

Wait-mode og Ready-mode

  • Wait-mode: waiting (for some event to occur)
  • Ready-mode: ready to run (if other processes currently are using all of the CPUs)

5 – Interrupted og 3 – Needs something

6: Interrupted

  • Når en proces bliver bedt om at vente af en ud udefra kommende entity. 3: Needs something
  • Når en proces selv stopper op fordi den venter på noget.

4 – Got what it needed

Når OS har allokeret det processen venter på til den  eller dens IO request. A process remains in the wait state until the resource it needs is allocated to it or its I/O request is completed, at which point state transition 4 occurs to move the process from the wait state back to the ready state.

2 – Gets CPU time

OS skal give processen kontrol over CPU’en Even after a process is in the ready state, it does not start executing until the OS gives it control of the CPU. This is state transition 2 in Figure 2.2 . The process is now executing, and is in the running state. If there is more than one process in the ready state, the part of the OS that chooses one of those to execute is called the CPU scheduler or process scheduler. We discuss process scheduling in detail in Chapter 9.

Process Control Block (PCB)

Program name:

  • Word

Process ID, a number assigned by the OS to identify the process:

  • Windows’ ID for den specifikke Word-instans

Parent process ID or a pointer to the parent process PCB:

  • Kun relevant, hvis der er en parent process

Pointer to a list of child PCBs

  • kun relevant hvis process har underprocesser

Pointer to the “next” PCB, probably in a queue

  • Pejer på den næste process i køen

Accounting information

  • holder øje med ressourcer

Pointer to a table of open files

  • Peger ned på åbne filer

CPU state information

  • CPU state

  • Instruction counter

  • Stack pointer(s)

  • System status register

  • Other system registers

  • Event descriptor, valid if the process is waiting for something

  • Process state information (see next section)

  • Process owner (user)

  • Memory management information

  • Pointer to a message queue

  • Pointer to an event queue

FCFS, herunder ”cooperative multitasking”

First come, first served. Cooperative multitasking er, når en kørende proces giver næste proces i køen kontrollen.

“Priority scheduling algorithm”, herunder ”starvation”

  • En algoritme som prioriterer de vigtigste processer
  • Starvation er, når en lav prioritet proces aldrig bliver kørt grundet den lave prioritet.

“preemption”

**Fjerne ressourcer fra processer.

“CPU bound” og “I/O bound”

  • Hvis en proces er CPU bound er det CPUen der bestemmer, hvor lang tid den tager at gennemføre
  • Hvis den er I/O-bound er det I/O-responstid, der afgører, hvor lang tid den tager at genemføre

“multilevel queuing”

Der er flere køer. Og køen med den højeste prioritet bliver udført først

“feedback” ifm. multilevel queues

Kigger på de processer som kører, og hvis de ikke er ‘interactive’ vil de næste gang blive sat ned i en kø med lavere prioritet. Nye processer vil få en høj prioritet til at starte med og så vil feedback mekanismen sætte dem i en mere passende kø efter de er blevet kørt en gang.