The Linux Programming Interface

(nextflipdebug5) #1

Chapter 2: Fundamental Concepts


This chapter introduces a range of concepts related to Linux system programming.
It is intended for readers who have worked primarily with other operating systems,
or who have only limited experience with Linux or another UNIX implementation.

2.1 The Core Operating System: The Kernel


The term operating system is commonly used with two different meanings:

z To denote the entire package consisting of the central software managing a
computer’s resources and all of the accompanying standard software tools,
such as command-line interpreters, graphical user interfaces, file utilities, and
editors.
z More narrowly, to refer to the central software that manages and allocates
computer resources (i.e., the CPU, RAM, and devices).

The term kernel is often used as a synonym for the second meaning, and it is with
this meaning of the term operating system that we are concerned in this book.
Although it is possible to run programs on a computer without a kernel, the
presence of a kernel greatly simplifies the writing and use of other programs, and
increases the power and flexibility available to programmers. The kernel does this
by providing a software layer to manage the limited resources of a computer.
Free download pdf