• Shuffle
    Toggle On
    Toggle Off
  • Alphabetize
    Toggle On
    Toggle Off
  • Front First
    Toggle On
    Toggle Off
  • Both Sides
    Toggle On
    Toggle Off
  • Read
    Toggle On
    Toggle Off
Reading...
Front

Card Range To Study

through

image

Play button

image

Play button

image

Progress

1/11

Click to flip

Use LEFT and RIGHT arrow keys to navigate between flashcards;

Use UP and DOWN arrow keys to flip the card;

H to show hint;

A reads text to speech;

11 Cards in this Set

  • Front
  • Back

process

A program in execution. Requires resources to accomplish its tasks (CPU, RAM, flies, I/O, etc).

text section

The program code that makes up a process.

program counter

a register in computer processor that contains the address (location) of the instruction being executed at the current time.

(process) stack

A data structure which contains temporary data (such as function params, return addresses, and local variables)

data section

contains global variables for the process

heap

memory that is dynamically allocated during process run time. Useful for variables whose size cannot be determined at compile time.

Difference between program and process

A program is (like an exe file) a passive entity, whereas a process is an active entity (with a program counter specifying the next instruction to execute and a set of associated resources). A program becomes a process when it is loaded into memory

process state

Current activity of that process. Arbitrary examples: New, Running, Waiting (for I/O?), Ready (to be assigned to a processor), Terminated (process has finished).

Process control block (PCB)

contain process state, program counter, process number, CPU registers, CPU-scheduling info, and memory management information, accounting information, I/O status info



in short, a repository for any information that may vary from process to process

thread

the execution of instructions by a process

process scheduling

selecting available processes for execution on the CPU. The goal is to switch between processes often enough that the user can interact with them smoothly.