mirror of
https://github.com/0xAX/linux-insides.git
synced 2025-02-24 04:51: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.md | ||
cover.jpg | ||
LINKS.md | ||
README.md | ||
SUMMARY.md |
linux-insides
A book-in-progress about the linux kernel and its insides.
The goal is simple - to share my modest knowledge about the insides of the linux kernel and help people who are interested in linux kernel insides, and other low-level subject matter.
Questions/Suggestions: Feel free about any questions or suggestions by pinging me at twitter @0xAX, adding an issue or just drop me an email.
Support
Support If you like linux-insides
you can support me with:
On other languages
LICENSE
Licensed BY-NC-SA Creative Commons.
Contributions
Feel free to create issues or pull-requests if you have any problems.
Please read CONTRIBUTING.md before pushing any changes.