Популярное

Музыка Кино и Анимация Автомобили Животные Спорт Путешествия Игры Юмор

Интересные видео

2025 Сериалы Трейлеры Новости Как сделать Видеоуроки Diy своими руками

Топ запросов

смотреть а4 schoolboy runaway турецкий сериал смотреть мультфильмы эдисон
dTub
Скачать

Linux Signals. I Spent 2 Years to Understand This Part.

Автор: kimylamp

Загружено: 2024-04-11

Просмотров: 304508

Описание:

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)

Linux Signals. I Spent 2 Years to Understand This Part.

Поделиться в:

Доступные форматы для скачивания:

Скачать видео mp4

  • Информация по загрузке:

Скачать аудио mp3

Похожие видео

How the CPU predicts jumps

How the CPU predicts jumps

How a Single Bit Inside Your Processor Shields Your Operating System's Integrity

How a Single Bit Inside Your Processor Shields Your Operating System's Integrity

The Original Sin of Computing...that no one can fix

The Original Sin of Computing...that no one can fix

Как взломать любое программное обеспечение

Как взломать любое программное обеспечение

Linux Kernel Internals: Process

Linux Kernel Internals: Process

*(char*)0 = 0; - What Does the C++ Programmer Intend With This Code? - JF Bastien - C++ on Sea 2023

*(char*)0 = 0; - What Does the C++ Programmer Intend With This Code? - JF Bastien - C++ on Sea 2023

Как процессоры взаимодействуют с таким количеством различных устройств

Как процессоры взаимодействуют с таким количеством различных устройств

Hello World with no libraries

Hello World with no libraries

Making Smallest Possible Linux Distro (x64)

Making Smallest Possible Linux Distro (x64)

Как Ubuntu Предала Linux - Вся Правда о Взлёте и Падении Canonical

Как Ubuntu Предала Linux - Вся Правда о Взлёте и Падении Canonical

Apple объявляет о Годе Linux для настольных компьютеров!

Apple объявляет о Годе Linux для настольных компьютеров!

99% of Developers Don't Get Sockets

99% of Developers Don't Get Sockets

Why Some Projects Use Multiple Programming Languages

Why Some Projects Use Multiple Programming Languages

everything is open source if you know reverse engineering (hack with me!)

everything is open source if you know reverse engineering (hack with me!)

Every Level of Reverse Engineering Explained

Every Level of Reverse Engineering Explained

Faster than Rust and C++: the PERFECT hash table

Faster than Rust and C++: the PERFECT hash table

Где начало СХЕМЫ? Понимаем, читаем, изучаем схемы. Понятное объяснение!

Где начало СХЕМЫ? Понимаем, читаем, изучаем схемы. Понятное объяснение!

История Linux и UNIX! Кто породил ВСЕ современные системы!

История Linux и UNIX! Кто породил ВСЕ современные системы!

Linux: нерассказанная история

Linux: нерассказанная история

The mind behind Linux | Linus Torvalds | TED

The mind behind Linux | Linus Torvalds | TED

© 2025 dtub. Все права защищены.



  • Контакты
  • О нас
  • Политика конфиденциальности



Контакты для правообладателей: [email protected]