background preloader

The Linux Documentation Project

The Linux Documentation Project

https://tldp.org/

Linux System Calls This article aims to give the reader, either a kernel novice or a seasoned programmer, a better understanding of the dynamics of system calls in Linux. Wherever code sections are mentioned, I refer to the 2.3.52 (soon to be 2.4) series of kernels unless otherwise noted. The Linux Kernel in Brief The most widespread CPU architecture is the IA32, a.k.a. x86, which is the architecture of the 386, 486, the Pentiums I, Pro, II and III, AMD's competing K6 and Athlon lines, plus CPUs from others such as VIA/Cyrix and Integrated Device Technologies. Because it is the most widespread, it will be taken as the illustrative example here. First, I will cover the mechanisms provided by the IA32 type of CPU for handling system calls, and then show how Linux uses those mechanisms.

Lions' Commentary on UNIX 6th Edition, with Source Code For many years, the Lions Book was the only Unix kernel documentation available outside Bell Labs. 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). It was commonly held to be the most copied book in computer science. 20 Linux System Monitoring Tools Every SysAdmin Should Know Need to monitor Linux server performance? Try these built-in commands and a few add-on tools. Most Linux distributions are equipped with tons of monitoring. These tools provide metrics which can be used to get information about system activities. You can use these tools to find the possible causes of a performance problem. The commands discussed below are some of the most basic commands when it comes to system analysis and debugging server issues such as:

Debugging Memory on Linux All programs use memory, even ones that do nothing. Memory misuse results in a good portion of fatal program errors, such as program termination and unexpected behavior. Memory is a device for handling information. LXR / The Linux Cross Reference What's new 2010-05-07 A badly timed hardware malfunction brought lxr.linux.no offline for several days. Thanks to the folks at Redpill Linpro for bringing the server back online -- apologies to everyone else for the interruption of service. 2010-02-06 A couple of rather embarrasing cross-site scripting holes have been plugged. Thanks to Dan Rosenberg and Moritz Naumann for bringing them to my attention. Understanding the Linux Kernel, 3rd Edition The kernel maintains a set of page tables for its own use, rooted at a so-called . After system initialization, this set of page tables is never directly used by any process or kernel thread; rather, the highest entries of the master kernel Page Global Directory are the reference model for the corresponding entries of the Page Global Directories of every regular process in the system. We explain how the kernel ensures that changes to the master kernel Page Global Directory are propagated to the Page Global Directories that are actually used by processes in the section " Linear Addresses of Noncontiguous Memory Areas " in Chapter 8 . We now describe how the kernel initializes its own page tables.

Overview JX is a Java operating system that focuses on a flexible and robust operating system architecture. The JX system architecture consists of a set of Java components executing on the JX core that is responsible for system initialization, CPU context switching and low-level domain management. The Java code is organized in components which are loaded into domains, verified, and translated to native code. Main-stream operating systems and traditional microkernels base their protection mechanisms on MMU-provided address space separation. Protection in JX is solely based on the type safety of the intermediate code, the Java bytecode. The system runs either on off-the-shelf PC hardware (i486, Pentium, and embedded PCs, such as the DIMM-PC) or as a guest system on Linux.

Kernel coverage at LWN.net LWN.net's coverage of Linux kernel development is detailed, technical, and timely. The article index See the LWN Kernel Page index for instant access to all LWN Kernel Page articles, organized by topic. Special features Documentation This is a collection of various documents written for Fink. Some of the documents may also be useful to people who use Mac OS X or Darwin without Fink and want to learn about porting Unix software. The current user documentation for Fink: Fink User's Guide - this covers installing Fink itself, installing packages, and upgrading to a new Fink release. It contains instructions for both the source and the binary release. Fink Advanced Topics Guide - covers more advanced concepts than those covered in the User's Guide.

Related: