Chapter One introduction to the Linux kernel
First, the History of Unix
1. The Unix system is the root cause of a strong, robust and stable operating system:
(1) Simple
(2) in Unix, many things are treated as files. This abstraction enables both the data and the operation of the device to be done through a set of identical system invocation excuses: open (), read (), write (), Lseek (), and Close ().
(3) Unix kernel and related system Tools software is written in C language. (transplant capability)
(4) The process is created very quickly and has a very unique fork () system call.
(5) UNIX provides a very simple yet stable inter-process communication primitive.
2. UNIX has evolved into a modern operating system that supports preemptive multitasking, multi-threading, virtual memory, paging, dynamic linking, and TCP/IP networking.
Ii. Introduction to operating system and kernel
1, the operating system refers to the entire system is responsible for the completion of the most basic functions and system management of those parts. Including:
(1) kernel
(2) device driver
(3) Boot loader
(4) command line shell or other kind of user interface
(5) Basic file management tools and System Tools
2, the kernel is independent of the ordinary application, generally in the system state, with protected memory space and access to hardware devices all rights. This system state and the protected memory space, collectively known as the kernel space.
3. Applications running in the system communicate with the kernel through system calls.
4, the basic behavior of the application to complete its work is: the application through the system call interface into the kernel.
5, the activities of the processor must be one of the following three:
(1) Run in user space, execute user process.
(2) running in kernel space, in the process context, on behalf of a particular process execution.
(3) runs in kernel space, is in the interrupt context, is independent of any process, and handles a specific interrupt.
Third, the Linux kernel and the traditional UNIX kernel comparison
1, the operating system core can be divided into two major camps: Single core and micro-core (the third faction is the outer core, mainly used in scientific research systems).
2. The kernel can call functions directly.
3, Linux is a single kernel.
Iv. Linux kernel version
There are two types of Linux kernels, stable and in development.
From the sub-version number if it is even, is stable version, if it is odd, is the development version.
Linux Kernel Analysis--the first chapter introduction to Linux Kernel