Linux Internals Course

Course Code: ECC-TRG-EMB-4010

Sl.NoLinux Internals Course
1Introduction to Kernel

History of Linux

Types of Kernel

The Linux Kernel

Kernel Architecture – the Boot Process

BIOS Level

Boot Loader

Setup, startup_32 functions

The start kernel() Function kernel recompilation

Importance of Make files

Procedure to recompile the kernel implementing System Calls

System Calls Defined

System Calls and APIs

System Call Table

Unistd.h and entry.s files

Implementing a new system call the File System

Virtual file system & its role

VFS data structures, super_block, inode, file, dentry

Files associated with a process

System calls

Lab Exercisers Process Management

Process Defined

Process Descriptor Structures in the Kernel

Process States

Process Scheduling

Process Creation

System calls related to process management

2Inter Process Communication

Pipes, Fifos, Signals

System-V IPCs

Message Queues

Shared Memory

Semaphores Sockets

System calls related to TCP and UDP sockets Memory Management

Defining and creating secondary memory areas

Responsibilities of Memory Management Module

Memory Allocation & De allocation System Calls

Malloc, calloc, alloca, free

Demand Paging Defined

Process organization in Memory

Address translation and page fault handling

Memory allocation strategies

Buddy System Algorithms

lab Allocator

Swapping Memory Areas

Memory Mapping Programming & debugging tools

Strace: tracing system calls

Tools used to detect memory access error and Memory leakage in Linux: mtrace

Using gdb and ddd utilities