mirror of
https://github.com/0xAX/linux-insides.git
synced 2025-02-22 12:01:59 +00:00
A little bit about a linux kernel.
https://0xax.gitbooks.io/linux-insides/content/index.html
![]() * Added dots around envp and argv since those are arrays of pointers.
While argc and NULL are just 8B, argv and envp are of variable size,
usually more than 8B. The dots visualize this.
* In the first image, moved rsp to point to argc. This is the initial
stack and register layout at the beginning of _start. Only after libc
popped the top of the stack into rsi, rsp will point to beginning of
argv. (*)
(*)
I verified this by writing my own _start implementation:
|
||
---|---|---|
Booting | ||
Cgroups | ||
Concepts | ||
DataStructures | ||
Initialization | ||
interrupts | ||
KernelStructures | ||
Misc | ||
mm | ||
SyncPrim | ||
SysCall | ||
Theory | ||
Timers | ||
CONTRIBUTING.md | ||
contributors-ru.md | ||
contributors.md | ||
cover.jpg | ||
LINKS.md | ||
README.md | ||
SUMMARY.md |
linux-insides
Серия статей о ядре Linux и его внутреннем устройстве.
Цель проста - поделиться своим скромным знанием о внутренностях ядра Linux и помочь людям, которые заинтересованы низкоуровневыми подробостями Linux.
Вопросы/Предложения: Не стесняйтесь задавать любые вопросы и предложения мне на email.
Поддержка
Поддержка Если вам нравится linux-insides
, Вы можете поддержать оригинального автора следующими способами:
Лицензия
Распространяется на условиях лицензии BY-NC-SA Creative Commons.
Участие
Если у Вас возникнут какие-либо проблемы, не стесняйтесь создавать issues или pull-request.
Пожалуйста, прочтите CONTRIBUTING.md, прежде чем внести изменения.