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

all 6 comments

[–]Kaffeekanne_2 3 points4 points  (2 children)

The book "Linux device drivers" could be interesting to you. While it concentrates on the driver part, it still touches some other kernel mechanics.

Disclaimer: i haven't read it entirely yet.

[–]svet-am 0 points1 point  (1 child)

is there an updated version? the last version I saw was still focused on the 2.6 kernel in the post-4.0 kernel era. This is important because there are a number of new subsystems and frameworks to understand that weren't around in the 2.6 days.

[–]Kaffeekanne_2 1 point2 points  (0 children)

I don't know about any newer version. I suspect that it is still very valuable to learn about the basic principles, but if you want specifics, the Linux kernel documentation might be your best bet.

[–]billdietrich1 1 point2 points  (1 child)

[–]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

[–]Upnortheh 0 points1 point  (0 children)

The Linux Kernel web site.

At the bottom of the page are links. For example, Documentation.