Definitions Flashcards
Foreground processes
Those that interact with and perform work for users
Multiprogramming
The way the CPU rapidly switches between processes to give the illusion they are happening parallel to each other (pseudoparallelism)
Process
Instance of executing program
Program
Collection of instructions that perform a task when executed
Time-sharing
Multiprogramming with simultaneous terminal access to the machine by several users
Daemons
Processes that stay in the background to handle background activity (eg. Email)
Architecture
Set of rules and methods that describe functionality, organisation and implementation of computer systems
Embedded Systems
Dedicated systems within a larger mechanical or electrical system. These may not have a kernel mode.
Interpreted Systems
Systems that use interpretation, not hardware, to separate components (eg. Java-based operating systems)
System Call
Programmatic way in which a computer program requests a service from the kernel of the operating system it is executed on
Abstraction
Concealing complex ideas and systems with a simpler one that the user or programmer interacts with
Multiplexing
Sharing of resources
Program Counter
Memory address of next instruction to be fetched
Stack Pointer
Points to top of current stack in memory
Register
A quickly accessible location available to a CPU
PSW
Program status word.
Contains condition code bits which are set by comparison instructions.
Plays important role in I/O.
User progs can generally read entire thing but can only write parts.
A bit in the PSW controls whether CPU is in user or kernel mode.
Pipeline CPU
Executing one instruction, while decoding the next instruction, while fetching the next instruction
Superscalar CPU
Multiple execution units are present. Multiple instructions are fetched and decoded at once, then stored in a holding buffer until the relevant execution unit is free.
Redirection
When output from terminally is redirected from terminal to a file (func > file)
Batch Job
Totally automated
Multicore Processor
Has multiple CPUs
Process Group
A process and all of its descendants in UNIX form a process group
Handle (token)
A token given to a parent process in Windows, allowing it to control a child. Can be given to other processes to allow them to control each other.
Multithreading
A single process having multiple threads
Lightweight Process
This another name for thread
Thread
(aka thread of execution or lightweight process) Sequential execution stream within process
These are used by CPU.
Cache
Collection of heavily accessed pages in main memory for easy access
FSM
Finite state machine. Machine exists in a finite state that can altered by external events. Allows efficiency with a single thread.
Nonblocking System Call
Returns almost immediately. Lengthy calls will give output later in the form of an event, message or signal
Thread Table
Each thread has its own thread table, containing properties unique to the thread. When a thread is moved to ready or to blocked, the information required to restart the thread is stored here
Process Table
Data structure maintained by the OS to facilitate context switching and scheduling,
Context Switching
Switching of CPU from one thread or process to another
Process Control Block
One entry within a process table. Contains information required to restart program if moved to blocked or ready states. This includes program counter, stack pointer, memory allocation and status of open files, accounting and scheduling info
Interrupt Vector
Address of interrupt handler
Area of memory with replacements for SP, PSW and PC. Essentially table of functions or function pointers to deal with interrupts. There’s a function corresponding to each task we want to deal with
IVT
Interrupt vector table. Associates interrupt handlers (ISR/interrupt service routine) with interrupt requests in a table of interrupt vectors
Interrupt
Alerts processor of higher priority process that requires immediate CPU attention
These have different priorities
Upcall
A call from a lower-level subsystem (kernel) to a higher-level subsystem (user)