Linux Signals. I Spent 2 Years to Understand This Part.
Автор: kimylamp
Загружено: 2024-04-11
Просмотров: 277768
Описание:
A quick introduction to one of the interprocess communication mechanisms in linux.
Demonstration purpose only, don't use in the real code:
signal handler in Linux has a bit different semantics
while executing signal handler code, another signal might come. don't use printf and other reentrant-unsafe functions inside signal handlers
implement global variables concurrency more careful
00:00 Main idea. We want to execute a function when external signal arrives
00:50 While loop. We can't simply jump to the signal handler!
01:24 Interrupts. Breaking a natural instruction flow
02:30 Saving registers. Kernel preserves user register values
03:09 How pc is saved
04:03 The most important idea! Replacing the pc
04:40 Big Picture overview.
05:55 To the Source code!
07:16 Kernel entry. Disassembling my kernel binary
12:04 Replacing the program counter
12:35 Return to user.
13:28 Signal handler is finished. How to resume the main code?
14:14 How the stack works when enter the kernel
16:26 We need to keep main code's original registers!
16:49 Kernel stack has to be empty. Overflow. Nested signals
17:30 Saving original regs to user stack
18:48 Kernel trampoline. Sigreturn
20:45 Bonus! (about the compiler bug video)
Повторяем попытку...

Доступные форматы для скачивания:
Скачать видео
-
Информация по загрузке: