Linux architecture: Difference between revisions

Content deleted Content added
No edit summary
No edit summary
Line 1:
{{Expert}}
 
Linux is a [[unix]] based computer operating system. It has been ported to a vast variety of computer architectures.
 
Its [[file system]] like all unix systems is based on one root directory, or hierarchial top point
with subdirectories underneath it. Some sub-directories act as mount points, where different physical
or [[networked file systems]] may be incorporated.
 
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]].
 
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.
 
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.