A quick introduction to one of the interprocess communication mechanisms in linux.
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)
1 view
386
107
4 days ago 00:02:53 1
Научно-технический рэп - ТЫЖ программист
4 days ago 00:14:58 1
Блокада Балтийского флота и потеря Калининграда. Раскрыт сценарий войны между Россией и НАТО
4 days ago 00:04:50 1
Сочи наводнение сегодня курорт уходит под воду уходят дома и автомобили
3 weeks ago 00:03:37 1
TennoCon 2024 | On-lyne - “PARTY OF YOUR LIFETIME“ (Official Audio Visualizer)
3 weeks ago 00:14:08 1
УСТАНОВКА новой китайской магнитолы 10“ в Хендай Крету Creta САМОСТОЯТЕЛЬНО и ПОДРОБНО (ЧАСТЬ 2)
3 weeks ago 00:12:51 7
Лавров отправил сигнал Зеленскому / Открылся новый фронт