System Calls in deep

- 60%

0
Certificate

Paid

Language

Level

Beginner

Last updated on February 5, 2023 10:13 am

This course provides a comprehensive understanding of inline assembly in the Linux kernel. You will learn the basics of inline assembly, different types of assembly syntax, constraint strings, input and output operands, and clobbering. The course covers various use cases of inline assembly in the Linux kernel, including interrupts, I/O ports, atomic operations, and control registers. You will also gain a deep understanding of system calls and learn how to add new system calls to the kernel. Additionally, the course covers VDSO and virtual system calls. Examples covered in the course include adding, subtracting, dividing, and multiplying numbers in inline assembly, as well as enabling and disabling interrupts in user space. This course is ideal for Linux kernel developers who want to gain in-depth knowledge of how system calls work.

Add your review

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

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

User Reviews

0.0 out of 5
0
0
0
0
0
Write a review

There are no reviews yet.

Be the first to review “System Calls in deep”

×

    Your Email (required)

    Report this page
    LiveTalent.org
    Logo