Processes

  • Process: An instance of a program in execution.  Or the “execution context” of a running program.
  • Traditionally a process executes a single set of instructions in its allotted address space
    • Modern OSs allow processes with multiple execution flows (multiple sequences of instructions executed in the same address space)
  • Now in multiprocessing/multiprogramming capable computers (2 or more CPUs) all CPUs share system resources such as RAM.
    • Therefore it is possible for multiple CPUs to execute code from the same address space
  • On uniprocessor systems only one process can hold the CPU and only one execution flow can occur at any time
    • Scheduler: Chooses the process which can progress
      • If the processes is “nonpreemptable” it means the scheduler is only invoked when the process voluntarily stops using CPU
      • All processes in multiuser systems must be preemptable
        • The scheduler will be invoked periodically
  •  Unix is multiprocessing and uses preemptable processes and adopts a process/kernel model
  • Process/kernel Model:
    • Each process believes its the only process on the machine and has exclusive rights to all resources
    • System calls change process from user to kernel mode allowing access to only required resources for execution and then reverts back to user mode

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s