Linux Internals - SysCalls

preview_player
Показать описание
In this episode of the CyberGizmo we explore SysCalls and how they work in Linux. I will also discuss the differences between monolithic, microkernels and nano kernels in this video.

Oh and one more thing, each line in the strace is a linux command or call, you can use man pages to lookup what each of those do.

Follow me:
Twitter @djware55

Music Used in this video
Licensed under Creative Commons: By Attribution 3.0 License
Рекомендации по теме
Комментарии
Автор

Thank you, great to watch, not boring at all! Really like these in depth and history videos 👍👍👍

emvdl
Автор

I remember the first time my older brother showed me Linux. I had just finished my mcse in Windows NT 4.0. I would also see guys with it under the bridge just East of Downtown Dallas where we would go to get the latest "deals" on hardware. I told my brother "this is junk, who wants to type and memorize all these commands" ! 25 years later I'm watching DJ Ware on youtube. Spent hours and went through tons of commands trying to burn a DVD on Centos 7 server yesterday (the only machine in the house with a cd rom) only to find out in the end it wasn't a burner after all. But I haven't gotten tired of learning yet...that's why I'm watching DJ's videos. Keep up the good work.

kellyjohna
Автор

12:05 this is just the best explaination i got for the syscalls ! one image that get it all !

AlianeAbdelouahab
Автор

Great video! I was confused why hostname would call uname in the background, but since this is strace, it's calling the uname(2) system call, not uname(1) in userspace. So both uname(1) and hostname(1) make a call to uname(2). They are likely similarly efficient, pulling more/less data out of the utsname struct.

Demodude
Автор

Wow, I looked forever for content like this. Please keep it going

EugeneRoif
Автор

Question, i was watching a seminar about LINUX RTOS, they mentioned a dual kernel in one of their slides. Is this the same concept as your hybrid kernel?

Zjk
Автор

hi, mode bit means, we are in the kernel mode. when the sys_call is executed - the mode_bit is set to 0, when it returns to user mode, the mode_bit is set to 1

אשרומוריה
Автор

Love how you (un-)intentionally numbered this series in a geeky way. As long as you number the next video "10" we'll be sweet ;)
Were you a teacher in a former life DJ? I've certainly felt educated! Thank you. Let me see if I've got this right - so a syscall is like when I'm happily concentrating on a DJ Ware video and one of the kids demands my attention to do something for her? :D

sleepyeyesvince
Автор

This is the CyberGizmo, there is no fall asleep or stay bored with the content... it's exactly what we want. I really hope the Linux Internals series goes deep as debugging a program and understanding what is going on, as with malware on Windows, to see what it does and affects. And also look at some tools, that could be great to debug or gather information on what's going on in the system. Microsoft is developing Procmon for Linux just like the Windows version. Can we get that information with other Linux tools? Like every read or write done in the system?

hexearth
Автор

Great content. If I were a thankless bastard, I'd say you should try to speak in less of a monotone but the truth of the matter is that I'm very excited and thankful to have such quality content served up free of charge.

andarvidavohits
Автор

Great Video, I'm learning a lot from these! thank you!

emcpadden
Автор

loved it, thank you so much for such useful content

shrutibakshi
Автор

Thank you for the lectures again!
A question :
So lets say Linux has X number of syscalls, so for every io or related operation a programming langage(python for example) would have to use one of these X to talk to the device or device driver for the said io operation. Right ?

ashishratnawat
Автор

I saved this in my watch later list after seeing it in my subscription feed earlier, and I'm glad I did.
First of all, I didn't understand the monolithic versus microkernel at all until this upload.
I have also had "trap" on my short list of commands to figure out. "Software interrupt" should be at the top of simplified explanations, thanks.

Do you have any tricks for strace that might help me better simplify it's output? I have tried to use strace to determine what commands are being run and directories accessed.
For instance, I tried (unsuccessfully) to use strace in Fedora Silverblue. (I installed strace with rpm-ostree.) I was trying to figure out the podman commands I needed to use in order to replicate how the toolbox script mounts and runs the containers it creates. Perhaps there is a better tool?

As far as this upload and the kernel, this type of breakdown, done in steps, is what I think I need. I have a couple of the O'Reilly kernel books, but my knowledge could be summed up as, a couple of Stage 1 Gentoo installs, with a custom kernel, following their guide.

I was looking into designing a peripheral board for a laptop using one of the USB 3.0 chips listed in the kernel build options. The goal was to get it working natively across the south bridge just like the factory peripheral port controller, but I got overwhelmed and shelved the project for now.
I was targeting an old spare Leno x200t with libreboot. It is just a curiosity, and a way to explore hardware interests. I'm not some misguided plebeian trying to be cheap.

Anyways, I share this info with absolutely no expectations. This is just my trajectory and the foundation of my interests in the subject.
Thanks for the upload.
-Jake

UpcycleElectronics
Автор

Thanks for this video. Im definitely barely following but learned the hostname command. I was asked once in an interview what command would tell you the computer name.

Fendisaoming
Автор

Excellent work for cleaner explanayion,

I have question what tools we use for debugging linux internals? for better understanding .

avinashavi