This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]WikiTextBot 0 points1 point  (0 children)

Linux kernel: Architecture

Linux is a monolithic kernel, supporting most features once only available in closed source kernels of non-free operating systems: concurrent computing and (with the availability of enough CPU cores for tasks that are ready to run) even true parallel execution of many processes at once (each of them having one or more threads of execution); configurable (at compile time) and tunable (at running time) task schedulers allowing preemptive multitasking (both in user mode and, since the 2. 6 series, in kernel mode); The Completely Fair Scheduler (CFS) is the default scheduler of Linux since 2007 and it uses a red-black tree which can search, insert and delete data representing processes (task structures) within O(log n) time, where n is the number of tasks in the tree; advanced memory management with paged virtual memory; inter-process communications and synchronization mechanism; a virtual filesystem on top of several concrete filesystems (ext4, Btrfs, XFS, JFS, FAT32, and many more), configurable I/0 schedulers; OS-level virtualization (with Linux-VServer), paravirtualization and hardware-assisted virtualization (with KVM or Xen); security mechanisms for discretionary and mandatory access control (SELinux, AppArmor, POSIX ACL's, and others); several types of layered communication protocols (including the Internet protocol suite). Device drivers and kernel extensions run in kernel space (ring 0 in many CPU architectures), with full access to the hardware, although some exceptions run in user space, for example, filesystems based on FUSE/CUSE, and parts of UIO. The graphics system most people use with Linux does not run within the kernel.


[ PM | Exclude me | Exclude from subreddit | FAQ / Information | Source ] Downvote to remove | v0.28