В этом видео попробуем проанализировать, как работает системный вызов sys_fork() на примере архитектуры x86 32bit,64bit.
Узнаем:
1. Что значит likely, unlikely в исходном коде ядра Linux.
2. Как разворачивать многоуровневые макросы #define, используемые в исходном коде ядра Linux.
3. Что означает символ решётки в #define.
4. Как увидеть результат работы препроцессора в C/C .
5. Что именно означает #include.
6. Как выбирать из множества вариантов определение функции/директивы в исходном коде ядра Linux.
7. Узнаем одно из применений атрибутов функций (__attribute__, доп. материал: ).
8. Рассмотрим, как читать встроенный в исходный код на C ассемблерный листинг (доп. материал: )
9. Узнаем, как выглядят директивы, с помощью которых задаются точки входа для системных вызовов (SYSCALL_DEFINE3(write, int, fd, ...))
10. Узнаем, на сколько важно помнить некоторые данные в оперативной памяти мозга, чтобы иметь возможность анализировать исходный код ядра Linux.
11. Узнаем, как скачать код ядра Linux без дополнительных ревизий.
В видео я забыл после сегментного регистра поставить двоеточие, должно быть в итоге так: movl %%gs:%P1, %0.
Это стандартный синтаксис ассемблера.
Работа с ctags для хождения по коду в vim’е:
1 view
839
369
2 months ago 00:16:41 6
Sanctions Hit Linux Kernel, Russian Programmers Banned
2 months ago 00:29:35 1
FunOS | A Balance of Features and Functionality With Low-resource Usage
2 months ago 00:19:28 1
Linux drops Russian maintainers, CoreBoot nonsense & Snap drivers - Linux & Open Source News
2 months ago 00:45:43 1
Полный Айсберг Linux: Что скрывается под поверхностью ОС?
2 months ago 00:29:57 1
Parrot 6.2 Release, The Ethical Hacking Distro Now Introduces Rocket Launcher for Docker Containers
2 months ago 00:09:02 41
Linus Torvalds: Speaks on Hype and the Future of AI
2 months ago 01:10:53 2
НАДЕЖНЫЙ, КАК СВД! ОПЕРАЦИОННАЯ СИСТЕМА РЕАЛЬНОГО ВРЕМЕНИ “НЕЙТРИНО“
2 months ago 00:38:21 2
A First Look At Voyager Live/Linux , It Brings Together GNOME and XFCE Once Again
2 months ago 00:44:11 1
Solus 4.6 “Convergence” Released | Experimental Software Centers | Continued Merged Usr Migration
2 months ago 01:19:42 1
Linux Basiswissen für Einsteiger
2 months ago 00:21:21 1
Ubuntu : the SNAP ecosystem improves, with a touch of nostalgia
2 months ago 00:28:52 1
antiX 23.2 Linux – Proudly Anti-fascist “Antix Magic“ in an Environment Suitable for Old and New PC
2 months ago 00:25:55 1
Javi OS, A Debian Linux with JWM Lightweight And Stable
2 months ago 00:17:01 1
Linux gaming isn’t looking too good, but there’s still hope!
2 months ago 00:39:05 1
Manjaro Linux “Xahea” Officially Released with Linux Kernel
2 months ago 01:03:11 1
Linus Torvalds answers questions about Linux
2 months ago 00:21:31 1
The mind behind Linux | Linus Torvalds | TED
3 months ago 00:13:20 1
Brother Electronic Knitting Machines: Upload patterns using Knittington, GIMP (Linux)
3 months ago 00:11:15 1
i was right.
3 months ago 00:08:54 6
Linus Torvalds: Speaks on the Rust vs C Linux Divide
3 months ago 00:08:17 2
STEAM УНИЧТОЖИЛ СКАМЕРОВ, ЗАПРЕТ FACEIT АНТИЧИТА В COUNTER STRIKE 2?
3 months ago 00:28:01 2
DebLight OS | 32-bit/64-bit PCs | Lightweight | Based Indirectly on LMDE
3 months ago 00:17:31 1
Ubuntu LTS released • eol • Fifth & Final Point • Kernel 6.8 • Upgrade • Server, and Cloud
3 months ago 00:56:44 1
Binder - как устроена работа с несколькими процессами в Android