|Abstrakt:||This thesis is a study of internal working and interfaces of Linux kernel version 2.6.
It emphasizes differences towards kernel 2.4 and it tries to introduce this problems
to reader knowledgable only in common principles of operating systems.
The thesis starts with briefing of kernel subsystems and continues with deeper
analysis of important issues like various locking, semaphores and other synchronization
mechanisms, suitable data structures, interrupt handling, atomic operations,
device driver model and memory allocation.
Process management and new scheduler with support for multiprocessing and
NUMA architectures and preemption are explored deeply. The core of the work
is concluded with description of loadable kernel module creation together with an