System Calls in deep

Genre: eLearning | MP4 | Video: h264, 1280×720 | Audio: aac, 44100 Hz
Language: English | Size: 2.08 GB | Duration: 4h 56m

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


Password/解压密码www.tbtos.com

此内容查看价格2立即购买

会员内容与购买链接内容一样,升级VIP全部资料免费

此隐藏内容仅限VIP查看升级VIP

0

评论0

显示验证码
没有账号? 注册  忘记密码?