Priority Preemptive Run-to-Completion - A scheduling mechanism which dispatches any thread ready to run based on priority as soon as the set of ready threads is updated (preemptive) and allows a dispatched thread to run indefinitely unless another higher priority thread is added to the ready set (via an interrupt or a call to the RTOS by the currently running thread). One danger of this type of system is that a high priority non-terminating thread will take over the CPU resource completely. Priority Queue - A mechanism for implementing a first-in-first-out policy, but with N levels of priority such that all items at the highest priority level are dequeued first first-in-first-out before all items at the next lower priority level.
Process - a thread of execution with stack, register state, and PC state along with significant additional software state such as copies of all I/O descriptors (much more than a task TCB for example) including a protected memory data segement (protected from writes by other processes).
Programmed IO - a technique where software reads and writes each word to and from a device interface involving the CPU in each and every transfer.
Protocol Stack - a layered driver which includes data processing between the Bottom Half and Top Half layers - each layer can be separated and has a distinct interface - e.g. TCP/IP.