OS and Computer Architecuture Books


Home page of the book: Operating System Concepts - 7th edition





















Advanced Computer Architecture: Parallelism,Scalability,Programmability
By Kai Hwang

Home page of Professor Kai Hwang

Linux/Unix Books and Links


The Design of the Unix Operating System - Maurice J. Bach
















UNIX Internals - Uresh Vahalia

















The Magic Garden Explained: The Internals of Unix System V Release 4 : An Open Systems Design
by Berny Goodheart (Author), James Cox (Author)















Online Free Book :--
Secure Programming for Linux and Unix HOWTO -- Creating Secure Software
By David A. Wheeler




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.