Section 2: Process Management - bmitch26/Operating-Systems GitHub Wiki

Section 2. Process Management

  • Process
    • Program in execution
  • Threads
    • Sequences of activities being executed within a process
  • Process States (New, Ready, Running, Waiting, Terminated)
    • The different states in which a computer handles the processes of a program States
  • Process Control Block (PCB)
    • Data structure that keeps track of all the key information needed to manage and regulate different processes
  • Context Switch
    • Process of storing the state of a process/thread to restore for use later on
  • Multitasking
    • The ability of an OS to run multiple processes at once.
  • Multiprocessing
    • The utilization of multiple processors working in parallel to complete a task.
  • Multithreading
    • Dividing a process into multiple threads that can be executed simultaneously.
  • Process Synchronization
    • Coordinated execution of multiple processes so that there's controlled and predictable access to shared resources
  • Inter-Process Communication (IPC)
    • Pipes
      • Technique that lets multiple processes communicate with each other through a uni/bi-directional channel Source
    • Message Queues
      • Linked list of messages to be shared with other processes and stored in the kernel. Source
    • Shared Memory
      • Shared block of memory that multiple processes access at the same time. Source
    • Sockets
      • Bidirectional pipe endpoint that allows unrelated processes to communicate with each other within the same machine or network. Source