Operating Systems:  Architecture and General Theory

Operating System:
a program that acts as an interface between a user of a computer and the computer hardware

Task:
an independently-scheduled thread of execution.  a.k.a. process, thread

Kernel:
the code that is directly responsible for the tasking model- i.e., how the CPU's time is allocated.

Microkernel:
A microkernel is an operating system with only the essential services such as interprocess communication, short-term scheduling, and memory management.  It basically provides the process abstraction and a means for processes to communicate.  It is designed to be portable between computer architectures, using high-level languages such as C or C++ and reducing the machine-dependent component to a minimal bottom layer.

The microkernel appears as a layer between the hardware layer and a layer consisting of system components called subsystems.

Preemptive Multitasking:
The capability of an operating system to equitably share CPU time between several well-defined tasks currently scheduled to run on the system.

Resource Management

An operating system manages resources for applications and services. (This is its only real purpose in life).

Task Management

Task Scheduling

Interrupt Handling

Interprocess Communications (IPCs)

Memory Management

Physical Memory:
memory chips and addresses as accessed by the hardware

Linear Memory:
the address space a program or the operating system sees (via hardware translation)

Logical Memory:
the memory that programs deal with, based around a selector (a 16-bit number that serves as an index to a table)

Memory Model:

Back to the CTEC1863 page