Linux architecture: Difference between revisions

Content deleted Content added
JamieJones (talk | contribs)
m Copy from linux kernel
 
JamieJones (talk | contribs)
m italics
Line 1:
'''This is a copy from [[Linux Kernel]]. Please add more if you can.'''
 
The Linux kernel includes true multitasking, [[virtual memory]], [[shared library|shared libraries]], demand loading, shared [[copy-on-write]] executables, proper [[memory management]], and [[TCP/IP]] [[computer network|networking]].
 
Today Linux is a module-loading [[monolithic kernel]]. [[Device driver]]s and kernel extensions typically run in [[ring 0]], with full access to the hardware, although some run in [[user space]]. Unlike standard monolithic kernels, device drivers are easily configured as [[module (Linux)|modules]], and loaded or unloaded while running the system. Also unlike standard monolithic kernels, device drivers can be pre-empted under certain conditions. This latter feature was added to handle [[hardware interrupt|hardware interrupts]] correctly, and to improve support for [[symmetric multiprocessing]]. Preemption also improves latency, increasing responsiveness and making Linux more suitable for real-time applications.
 
The fact that Linux is not a [[microkernel]] was the topic of a
famous [[flame war]] between [[Linus Torvalds]] and [[Andrew S. Tanenbaum|Andy Tanenbaum]] on comp.os.minix in [[1992]]. [http://www.dina.dk/~abraham/Linus_vs_Tanenbaum.html] [http://www.google.com/groups?threadm=12595%40star.cs.vu.nl]
 
The complete source code of various versions of the Linux kernel can be browsed at http://lxr.linux.no .