-
Linux System
-
Kernel
The Kernel is responsible for:
- System memory management.
- Software process management.
- Hardware management.
- Filesystem management.
System memory management:
- Physical Memory.
- Virtual Memory.
- Swap Space (hard disk).
Software process management:
- init process.
- run levels (/etc/init.d/, /etc/rcX.d/, /etc/inittabs).
Run levels:
X=1: run level 1. Basic system processes are started.
x=3: run level 3 (console based system). Most application software are started.
X=5: run level 5 (Graphical X Window system). Graphical X Window is started.
Hardware Management:
- device files: hardware devices.
- device node: Linux create a special file (node) for each device on the system.
Three classifications of device files:
- Character: Devices that can handle one character at a time (modems, terminals, ...).
- Block: Devices that can handle data in large blocks at a time (disk drivers, ...).
- Network: Devices that can use packets to send and receive data (network cards, loopback device).
Filesystem Management:
- Filesystem: Linux support different types of filesystems to read and write data to and from hard drives.
-
GNU Utilities
GNU Utilities:
Utilities needed to perform standard functions (managing files and processes).
The GNU utilities package consists of three parts:
- Utilities to manage files.
- Utilities to manage processes.
- Utilities to manage data.
-
Shell
Shell is an interactive GNU utility.
It allows users to manage files and processes.
The command prompt: the interactive interface of the shell.
It allows users to enter text commands, that it will interprets and send them to the kernel to be executed.
To access the text command line interface (CLI):
- Console Terminal (Linux console): You can access the shell CLI through a virtual console (Ctrl+Alt+F1-7).
- Graphical Terminal: You can use a terminal emulator to access the shell CLI (GNOME Terminal Emulator, xterm Terminal Emulator, ...).
You can adjust the shell CLI environment by using the command setterm:
The shell provides a set of internal programs (built-in shell commands) to manage files and processes.
The shell also allows entering text commands in the command prompt that refer to external programs.
When writing commands in the shell CLI, you can use the auto-complete feature to find a command (or a file or a directory).
You can write partially the name of a command and press the tab key and the shell will try to complete the command name.
If only one command match the remaining part of the provided text, then it will write the command name.
Otherwise, shell will print the number of commands that their names match the provided text and ask you if you want to see all of them.
Shell scripts: you can group shell commands within a file called shell script.
Linux shells: bash, ash, ...
-
Linux Desktop Environment
X Window System: manage video cards and monitors to display graphics.
At installation, Linux detects the video card and the monitor and creates the X Window configuration file.
X.org: an open source software implementation of the X window system.
Desktop environment extends X Window System capabilities by allowing users to handle files and processes.
Desktop environments: GNOME Desktop, KDE Desktop, Unity Desktop, ...
-
Linux Distributions
A Linux distribution contains specific Linux part in a package.
Core Linux Distributions: Debian, Red HAT, ...
Specialized Linux Distributions: Ubuntu, CentOS, ...