Introduction to UNIX: basic concepts
: UNIX design
: the Kernel
Previous: UNIX design
Next: Virtual memory
3.1. the Kernel
- Can be monolithic (Linux, BSD) or micro-kernel (OS X/Darwin)
- preemptive multitasking
- takes care of:
- I/O (disk, terminals, printers, tapes, ...)
- basic peripheral control (disk, serial, NICs...)
- memory management (allocation, recovery, Virtual Memory / swap)
- timesharing / scheduling of processes
- networking (IP, etc...)
The kernel is always running. It schedules running tasks one at a time
(context switching) so that they get an equal share of the CPU time.
Introduction to UNIX: basic concepts
: UNIX design
: the Kernel
Previous: UNIX design
Next: Virtual memory