The notes are a crutch, to aid you when the going becomes difficult. It is perfectly possible to proceed without them, and you should attempt to do so as long as you can. "These notes, which are intended to supplement the comments already present in the source code, are not essential for understanding the UNIX operating system. Certainly "nroff" itself must provide a fertile field for future practitioners of the program documenter's art." However it has yielded some of its more enigmatic secrets so reluctantly that the author's gratitude is indeed mixed. Without it, these notes could never have been produced in this form. "The co-operation of the "nroff" program must also be mentioned. A 1977 version PDF is available here - that page has a cover with endorsement from Ken Thompson and Foreword by Dennis Ritchie, but that seems from a later edition. I had a look a couple of years ago, it's a joy to read. It was commonly held to be the most copied book in computer science." Although the license of 6th Edition allowed classroom use of the source code, the license of 7th Edition specifically excluded such use, so the book spread through illegal copy machine reproductions (a kind of samizdat). Despite its age, it is still considered an excellent commentary on simple but high quality code.įor many years, the Lions book was the only Unix kernel documentation available outside Bell Labs. This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply." Lions' Commentary on UNIX 6th Edition, with Source Code by John Lions (1976). Leanpub is copyright © 2010-2023 Ruboss Technology Corp. Kernel Exercise 4.3: Print mm pointers with VMA boundaries Kernel Exercise 4.2: Print VMAs of a process Kernel Exercise 4.1: Print the VMA start/end address Virtual memory for many processes simultaneously Invoking program execution with the C function execve()įorking the process: the C function fork()Ī process view of memory: the heap and the stack Kernel Exercise 2.6: The execve system call in kernel Kernel Exercise 2.5: Find a process by its PID Kernel Exercise 2.4: Print the PID and PPID for a process Kernel Exercise 2.3: Loop through the task list, print processes The user view of processes: /proc directory Kernel Exercise 2.1: Find out how kernel starts /sbin/init Kernel Exercise 1.3: Kernel modules and pseudo filesystems sysfs and procfsĮxecutable files, processes, and system calls Kernel Exercise 1.2: Passing a parameter to a kernel module Kernel Exercise 1.1: Building your first kernel module Kernel space, user space, and system calls Finally, to those who already bought the book, thank you! This book is a work in progress (currently ~80% complete). This book is designed so that anyone with a basic knowledge of programming and a working Linux system should be able to follow examples and execute Kernel Exercises. The exercises involve writing actual kernel modules, inserting them into a running kernel, and observing the effects or outputs. Specially prepared Kernel Exercises use kernel modules to play with internal kernel structures and illustrate specific points. We experiment on the command line (from the Unix shell), by looking into the representative sections of the kernel source code, and by kernel programming (by writing kernel-loadable modules). We examine how the Linux environment operates, how this relates to the design principles of Unix, and why Linux works exactly the way it does. This book is intended for those who would like to know how things work "under the hood", but do not necessarily aspire to become kernel developers (so we skip many details, especially details that do not contribute to understanding the principles, for example, device drivers). The kernel is highly efficient and designed to be invisible to the untrained eye, and therefore it's easy to miss. This book is intended for an informed Linux enthusiast, one who knows something about Linux (perhaps a great deal in some areas) but is curious about how all the pieces fit together under the control of the kernel. This book is about Linux from the kernel perspective: we aim to learn about Linux by having a serious peek under the hood of the kernel.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |