Signals. I spent 2 years to understand this part.

preview_player
Показать описание
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)
Комментарии
Автор

What a time to be alive, when videos like this exist

saaah
Автор

I did a double-take when I saw the AArch64 assembly... most YouTubers go straight to x86/x64 when talking about assembly, even though it's really not as beginner-friendly as RISC sets, so it's a breath of fresh air seeing someone introducing beginners to ARM. :)

CFSworks
Автор

It looks like my process miss a signal every now and then. After watching this video, I think the issue is on my side, but I triple checked all the code. What a life.

senyai
Автор

So many high quality low level educational videos are being recommended nowadays, your is definitely one of them! I really like the "raw" work with objdump disassembly

MrOnlineCoder
Автор

6:15 what i liked— what i LOVED about this succinct, anthropomorphic explanation is that it really helped frame for me (a software engineer) how to think about the contractual interface i have with the hardware engineers without having to know about the details of CPU architecture.

overall just TERRIFIC presentation and formatting.

vladimirvparfenov
Автор

I swear this channel will blow up someday. I really like the chosen topics and presentation on this channel.

artsmadeit
Автор

I cant even imagine what it must be like to "map" the kernel code in your brain because your explanation here was spot on. I have always (ie almost 6 years in SDe industry and 6 years of education before that) at a very high level just "assumed" that signals and interrupts are a thing and I know for a fact that I cannot dive into Kernel code to save my life but this video explanation I can definitely say I understood everything. That's definitely a kudos to you sir. I wish to understand more low level systems stuff more in detail as I continue my journey.

yugshende
Автор

Your videos, explanations, animations, are all absolutely stellar. So clear, so efficient. PLEASE keep sharing the knowledge, this is truly remarkable.

TheMoucastre
Автор

the video's quality and information are truly stunning

jomeow-vifx
Автор

Great video! I like your choice to explain everything with ARM assembly, instead of x86. You earned a new subscriber :)

dshindov
Автор

I will watch this again in like 6 months and go "ooohhh"

(actually, I already understood like 75% of the video without knowing a single thing about signals, just gotta get that remaining 25%)

zokalyx
Автор

just saw the words 2 years and i clicked and subscribed. Knowledge takes time and effort. This title clearly says it too <3

umarfaruk
Автор

It's like I didn't understand anything but still watched it, thanks for the video

spazzels
Автор

The layout is just beautiful and the instructions are crystal clear.

Ab_Irato
Автор

Very nice teaching method, by resolving problems one by one. Great video !!!
Respect to the knowledge level. I don't know if many of us will need it daily, but i hope many of us who want to know how it is done inside, will gather to such
level that you will keep sharing your wisodm with us.

AK-vxdy
Автор

What a great video! I love these low level stuff! I actually did not realize that signal is so complicated(for me) until I see this video. Thank you a lot for making such a high quality video to describe signals in detail! It is easy to understand and the visualization is intuitive!

jay-gj
Автор

Excellent content! I hope your channel receiving more attention.

haiphamle
Автор

Your channel is so good! Outstanding! Keep up the good work.

kovsi_
Автор

I find it amazing that every time an interrupt happens the CPU does this and it’s still able to be so performant.

Spitfire
Автор

Wow great timing, this is literally exactly what I am battling with at the moment.

DavidAlsh
welcome to shbcf.ru