System Calls in deep


System Calls in deep

System Calls in deep
Genre: eLearning | MP4 | Video: h264, 1280x720 | Audio: aac, 44100 Hz
Language: English

| Size: 2.08 GB[/center]
| Duration: 4h 56m
Linux Kernel Programming - System calls

What you'll learn
Basics of Inline Assembly
Writing examples for Inline Assembly
Various places where inline assembly is used
Adding a new system call to kernel
Updating system call table
VDSO and Virtual System Calls
Requirements
Should have a basic understanding of Linux Kernel modules
C language
Description
What will you learn from this course?

Basics of Inline Assembly

Types of Inline Assembly: Basic and Extended

GCC Assembly Syntax: AT&T

Constraint strings

Input and output operands

Clobbering

Various use cases of Inline assembly in Linux kernel: Interrupts, I/O Ports, Atomic operations, CPUID, Control Registers, Timestamp counters etc

Deep understanding of system calls: Various ways of switching from user space to kernel space (int $0x80, sysenter/sysexit, syscall/sysret)

VDSO

Adding a new system call which doesn't accept any arguments

Adding a system call which accept argument

Kernel Symbols and Kernel Symbol table

Writing a kernel module which overwrite the kernel symbol table

Writing a kernel module which sniffs the parameters passed to a system call

Examples covered in this course

Add two numbers in inline assembly

Add three numbers in inline assembly

Subtract, divide, multiply in inline assembly

Can we disable/enable interrupts in user space

Checking whether interrupts are enabled and disabled in user space

Enabling/Disabling interrupts in user space

Implementing simple locking to avoid race conditions: Lock prefix, compare and exchange instructions

And many

Who this course is for
Linux Kernel Developers interested in gaining deep knowledge on how system call works








Free search engine download: Udemy System Calls in deep