Professional Documents
Culture Documents
The Linux Kernel
The Linux Kernel
===============================================================================
===(Understanding)===
====================================
✦ Topics to Study :
✓ Memory management, including file buffering, process swapping,
and Direct memory Access(DMA)
✓ The Virtual Filesystem layer and the Second and Third Extended
Filesystems.
✓ Process creation and scheduling.
✓ Signals, interrupts, and the essential interfaces to device
drivers Timing.
✓ Synchronization within the kernel.
✓ Interprocess Communication (IPC).
✓ Program execution.
===================================================================================
===============================================================================
✦ What conditions bring out Linux's best performance?
Process scheduling, file access, and memory management.
===================================================================================
===============================================================================
✦ Hardware Dependency:
=====================
Taking Adantages of (Hardware features), such as
✓ Addressing techniques,
✓ Caches,
✓ Processor exceptions,
✓ Special instructions,
✓ Processor control registers, and so on.
-----------------------------------------------------------------
-----------------------------------------------------------------------------------
--
✓ If we want to show that the kernel indeed is good in
performing a specific task, we must first tell what kind of support comes from the
hardware.
✓ In practice, following a bottom-up approach is not as
simple as it looks, because the areas of (Memory Management, Process Management,
and
Filesystems) are intertwined; a few forward
references that is, references to topics yet to be explained are unavoidable.
✓ Other Features (shared and mapped memory, signals, pipes,
symbolic links, and so on).
===================================================================================
===============================================================================
✦ Linux Source-Code Description:
Linux source code for all supported architectures is contained in
more than 14,000 C and assembly language files stored in about 1000 subdirectories;
It consists of roughly 6 million lines of code, which occupy over
230 megabytes of disk space.
===================================================================================
===============================================================================
✦
===================================================================================
===============================================================================
✦
===================================================================================
===============================================================================
✦ Termnology:
✓ An (Address Space): An (Address Space) is a set of (Memory
addresses) that a (Process) is (allowed to reference).
✓ A (Process): A (Process) can be defined either as:
"An (Instance of a Program) in execution", or as
The "execution context" of a running program.
-----------------------------------------------------------
-----------------------------------------------------------------------------------
- In traditional operating systems, a process executes
a (Single sequence of instructions) in an (address space).
- Modern OSs allow (Processes) with (Multiple Execution
Flows), i.e. Multiple sequences of instructions to execute in the same address
space.
- On uniprocessor systems, just one process can hold
the CPU, and hence just one execution flow can progress at a time.
- It is important to distinguish (Programs) from
(Processes):
✓ (Several Processes) can execute the (Same
Program) concurrently,
✓ While the (Same Process) can execute (Several
Programs) sequentially.
✓
✓
===================================================================================
===============================================================================
===================================================================================
===============================================================================