OS Concepts/Terms

Multiprogramming - One user cannot keep CPU busy. Operating system organizes jobs such that the CPU always has one job to execute. This is called multiprogramming.

Multitasking - Logical extension of multiprogramming. Multiple jobs are executed by the CPU switching between them, but the switches occur so frequently that the usets may interact with each program while it is running.

Time-sharing (or Multi user) - Multiple users

Multiprocessing - Multiple processors

Job scheduling: If several jobs are ready to be brought into memory, and there is not enough room for all of them, then the system must choose among them.

CPU Scheduling: Choose a job to give CPU to, among all the ready to run jobs.

Mutiprocesor system (Tightly coupled system): More than one processors in close communication, sharing the computer bus, the clock, and sometimes memory and peripheral devices.

Symmetric-multiprocessing: Each processor runs an identical copy of the operating system.
Asymmetric multiprocessing: Master slave relationship. The master processor schedules and allocates work to the slave processor.


Distributed system (Loosely-coupled system): Processors do not share memory or clock. Processors communicate with one another through various communication lines, such a high speed buses or telephone lines.


Hard real time system:

Soft real time system:



NUMA - Non Uniform Memory Access
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The NUMA concept comes into play when any CPU of a multiprocessor
system gets its own memory area that the processor can access
faster than the memory of any other processor. The operating
system should therefore minimise the number of accesses of the
processor to the wrong memory.

No comments: