首页
>
saving > 《Linux Kernel Development》 note 1
《Linux Kernel Development》 note 1
Linux Versus Classic Unix Kernels
Linux supports the dynamic loading of kernel module. Although the linux kernel is monolithic, it is capable of dynamically loading and unloading kernel code on demand.
Linux has symmetrical multiprocessor ( SMP ) support. Although many commercial variants of Unix now support SMP, most traditional Unix implementations did not.
The Linux kernel is preemptive. Unlike traditional Unix variants, the Linux kernel is capable of preempting a task if it is running in the kernel. Of the other commercial Unix implementations, Solaris and IRIX have preemptive kernels.
Linux takes an interesting approach to thread support: It does not differentiate between threads and normal processes. To the kernel, all processes are the same some just happen to share resources.
Linux ignores some common Unix features that are thought to be poorly implemented, such as STREAMS, or standards that are brain dead.
Linux is free in every sense of the word. The feature set Linux implements is the result of the freedom of Linux’s open development model. If a feature is without merit or poorly thought out, the Linux developers are under no obligation to implement it. To the contrary, Linux has adopted an elitist attitude toward changes: Modifications must solve a specific real-world problem, have a sane design, and have a clean implementation. Consequently, features of some other modern Unix variants, such as pageable kernel memory, have received no consideration. Despite and differences, Linux remains an operating system with a strong Unix heritage.