Linux architecture: Difference between revisions

Content deleted Content added
File system: wierd gibberish at end of paragraph removed
only redundant information duplicated in the kernel article
 
(21 intermediate revisions by 17 users not shown)
Line 1:
*#REDIRECT [[Linux kernel]]
{{Orphan|date=February 2009}}
{{Expert-subject|Linux|date=February 2009}}
[[Image:Linux kernel map.png|thumb|Linux kernel map and [http://www.makelinux.net/kernel_map bigger Interactive map].]]
'''Linux''' is a [[Unix-like]] based computer operating system. It has been ported to a vast variety of computer architectures.
 
== File system ==
Its [[file system]] like all [[Unix]] systems is based on one root directory, or hierarchical top point with subdirectories underneath it. Some sub-directories act as mount points, where different physical or [[networked file system]]s may be incorporated.
 
The hardware is also incorporated into the file hierarchy. Device drivers interface to user applications via an entry in the <tt>/dev </tt> directory. Process information as well is mapped to the file system through the <tt>/proc</tt> directory.
 
It is interesting to note that Unix security systems were designed into the architecture. Raw hardware devices are protected from direct access, and the file system has an inbuilt security system giving individual access to files on three levels, user only, group membership, and world access. Each category has read, executable and write flags that may be set in any combination.
 
== Kernel -or- System Software ==
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]]s correctly, and to improve support for [[symmetric multiprocessing]]. Preemption also improves latency, increasing responsiveness and making Linux more suitable for real-time applications.
 
The complete source code of various versions of the Linux kernel can be browsed at http://lxr.linux.no .
 
The complete source code of the latest versions of the Linux kernel can be downloaded from http://www.kernel.org .
 
== See also ==
* [[Linux]]
* [[Linux kernel]]
 
[[Category:Linux]]