99% of Developers Don't Get System Calls

แชร์
ฝัง
  • เผยแพร่เมื่อ 7 ม.ค. 2025

ความคิดเห็น • 98

  • @SeoLStudios
    @SeoLStudios วันที่ผ่านมา +48

    People are getting offended by the title, but it’s really not that deep 😂 Please go touch grass if you’re getting triggered by something like that.
    Otherwise great video! Don’t mind the comments and keep up the great work.

    • @brandyballoon
      @brandyballoon 23 ชั่วโมงที่ผ่านมา +6

      "Please go touch grass if you’re getting triggered by something like that." So basically you don't think people are justified in objecting to sweeping derogatory statements about their profession? I think it's you who should go touch grass and let people have a voice instead of belittling them for having a different opinion to yours.

    • @Joelmatic
      @Joelmatic 9 ชั่วโมงที่ผ่านมา +1

      @@brandyballoon Please go and touch some grass & grow up , its a video title, dont like it then dont watch the video simple

  • @muskyoxes
    @muskyoxes 20 ชั่วโมงที่ผ่านมา +19

    99% of developers do all their coding at least five layers above system calls

  • @solitaryfox69
    @solitaryfox69 วันที่ผ่านมา +68

    Nice video. However, adding references to the articles and figures shown in the video in the description would be highly appreciated, as well.

    • @TheCodingGopher
      @TheCodingGopher  วันที่ผ่านมา +25

      Noted, I'll add references for future videos!

    • @TheCodingGopher
      @TheCodingGopher  วันที่ผ่านมา +27

      It will likely not include every figure - but the main readings / articles / research papers will be included

    • @pajeetsingh
      @pajeetsingh 21 ชั่วโมงที่ผ่านมา

      Read a book you absolute tiktok brain.

  • @splytrz
    @splytrz 10 ชั่วโมงที่ผ่านมา +7

    tbh i don't even get normal calls because i have no friends

    • @riki4048
      @riki4048 6 ชั่วโมงที่ผ่านมา

      lmao 🤣

  • @sakamocat
    @sakamocat 22 ชั่วโมงที่ผ่านมา +9

    99.9% of developers quit before they actually know what theyre doing

  • @madfangkills
    @madfangkills วันที่ผ่านมา +45

    Some people are crapping on this video due to its fundamental and simple nature that SHOULD be known by devs.
    News flash, I've met tons of devs that only code in JavaScript and have no idea how a computer works.
    So this video is perfect for that audience where they don't do "backend" work

    • @javabeanz8549
      @javabeanz8549 21 ชั่วโมงที่ผ่านมา

      Newer devs can get away with missing a lot of fundamentals, and still be productive, but maybe not so efficient. Back in the DOS 3.2/3.3 days, I had to write a program that read the real time clock chip on a Leading Edge computer, I believe they were Model D machines, and then set the date and then in the operating system. My electronics instructor was helping me with it, and we had to determine what the clock chip was, then locate the data sheet for it, then convert what it read from the clock chip into the format that DOS wanted, and do a syscall to write that time into the memory. This was all written in 8086/8088 Assembly Language. And this was before most people had even heard of the Internet, and 80836 computers were the hot new thing. This all came about, because we upgraded the math lab computers to have hard drives, and the Leading Edge version of DOS 2.11 didn't support a 30MB hard drive.

    • @TAiCkIne-TOrESIve
      @TAiCkIne-TOrESIve 19 ชั่วโมงที่ผ่านมา +6

      Lol, neither do Java programmers understand these stuff. All they know are the Spring framework annotations and HTTP POST JSON "microservices", lol.

  • @anirudhnambiar1699
    @anirudhnambiar1699 17 ชั่วโมงที่ผ่านมา +3

    Hands Down one of the best explanation on syscalls 🙂‍↕️

  • @ivanjermakov
    @ivanjermakov วันที่ผ่านมา +17

    99% [source needed]

    • @TheCodingGopher
      @TheCodingGopher  วันที่ผ่านมา +19

      73.6% of all statistics are made up

    • @gungun974
      @gungun974 วันที่ผ่านมา +4

      @@TheCodingGopherclassique statistic as amateur. I love it !

  • @aliskprado
    @aliskprado วันที่ผ่านมา +17

    Interacting with the outside world... I don't know... It's cozy here inside.

    • @TheCodingGopher
      @TheCodingGopher  วันที่ผ่านมา +7

      As a CS grad, I prefer to lie on my couch

    • @Gameplayer55055
      @Gameplayer55055 13 ชั่วโมงที่ผ่านมา +4

      ​@@TheCodingGopher
      Same. Instead of frequent going outside requests, I batch my tasks and go outside once a week to buy something or do something :)

    • @TheCodingGopher
      @TheCodingGopher  11 ชั่วโมงที่ผ่านมา +3

      @@Gameplayer55055 That's some solid performance optimization :)

  • @frustratedalien666
    @frustratedalien666 23 ชั่วโมงที่ผ่านมา +6

    Nice video. I'd say most devs who took an Operating Systems class at university would at least have a vague idea about system calls. Only a fraction ever actually write code where performance is so important that you have to look at the mechanics of system calls or how often you use library methods that rely on a syscall, so I am not surprised that they might have forgotten the specifics. I haven't solved a calculus problem in ages, so if you show me a Fourier series equation today, I'd look like a total idiot, even though I was good at it 15 years ago and have a degree in Electrical Engineering 😅

  • @sweatshirt4974
    @sweatshirt4974 วันที่ผ่านมา +6

    I learned all of this in systems programming but totally forgot. We had to rewrite malloc from scratch in that class which was cool, but it was also a nightmare.

  • @paubatet5687
    @paubatet5687 วันที่ผ่านมา +22

    Some of y'all haven't touched c and it shows

    • @stolenlaptop
      @stolenlaptop วันที่ผ่านมา +1

      That sounds pretty dirty haha.

    • @circuit-shell
      @circuit-shell วันที่ผ่านมา

      c as in pu c

  • @debbie8062
    @debbie8062 วันที่ผ่านมา +11

    your vids are getting better and better :) this was a really interesting video, hope to see more like it

  • @stolenlaptop
    @stolenlaptop วันที่ผ่านมา +4

    My take is it's an informative video. It's hard to balance information and entertainment. If you go to deep into networking (which isnt as simple as socket then send) you'd be here all day. This level of understanding is important just like i think all CS degrees should require assembler classes but alas im a dying breed. Good video for what it is.

  • @LiEnby
    @LiEnby 23 ชั่วโมงที่ผ่านมา +3

    I kinda knew all of that, I guess couple years of hacking the PlayStation vita kernel pays off I guess?

  • @Yadobler
    @Yadobler วันที่ผ่านมา +7

    I'm pretty sure forking and klling orphans and syscalls and task scheduling are something every cs student must take to pass their uni's equivalent of OS management course / module.

    • @syfx1485
      @syfx1485 วันที่ผ่านมา

      Me too

  • @kimothefungenuis
    @kimothefungenuis 21 ชั่วโมงที่ผ่านมา +1

    It depends on what percent of developers are computer scientists/engineers because these majors study operating systems in university including system calls (though it's all theory)

  • @LukeAvedon
    @LukeAvedon 13 นาทีที่ผ่านมา

    AWESOME no fluff explanation.

  • @timwhite1783
    @timwhite1783 วันที่ผ่านมา +2

    I think most devs know what system calls are. I also think most devs rarely if ever actually interect wtih them. (With the exception of some open source lib writers and low level systems programmers)
    For example if I'm writing an application that needs to handle io I don't do it by using system calls directly. I do it by pulling in a dependency that handles the difference in io between operating systems. This saves a ton of work for me.

  • @rrraewr
    @rrraewr วันที่ผ่านมา +3

    Having worked with nepo baby soft eng masters degree holders and other such peers, title is accurate.

  • @LooksGoodMusic
    @LooksGoodMusic วันที่ผ่านมา +3

    Fundamental to computing does not equal fundamental to a programmers day to day

  • @anantakesharipanda4085
    @anantakesharipanda4085 21 ชั่วโมงที่ผ่านมา +2

    1:10 Not in Temple OS, for programs written in *Holy C* . 😂

  • @billclinton4913
    @billclinton4913 20 ชั่วโมงที่ผ่านมา +2

    Me who writes emulators: Hmm. Interesting

    • @riki4048
      @riki4048 5 ชั่วโมงที่ผ่านมา

      what kind? can u please tell me what i need to know to be able to write emulators

    • @crackwitz
      @crackwitz 35 นาทีที่ผ่านมา

      You have to have fought in the Emu War

  • @thepianomatro
    @thepianomatro 23 ชั่วโมงที่ผ่านมา +1

    Great video! You managed to explain a pretty complex subject in a simple and easy to understand way. I also very much appreciated the dynamic red arrow in most slides which managed to highlight they key information that is being communicated and helped engage and improve attention.
    If I were asked to give some positive criticism about the video, I would tell you to consider making some of the briefly displayed slides a little longer, to give the reader time to understand what they are seeing in the slide (some of the not so simple slides were displayed for under 5 seconds making it hard to understand what the graph is representing, all while having to process the audible explanation).
    Another thing that comes to mind is to consider slowing down your talk speed when you're providing a piece of information that requires more concentration on the audience part to understand.
    Keep up the good work ✌️

    • @TheCodingGopher
      @TheCodingGopher  23 ชั่วโมงที่ผ่านมา +1

      Very solid feedback. Duly noted! Thanks for watching! Cheers 🥂

  • @occassionalcoder
    @occassionalcoder วันที่ผ่านมา +7

    thanks for the video! very good knowledge share

  • @xmvziron
    @xmvziron วันที่ผ่านมา +2

    I feel like you are leaving a bit, for example you should have differentiated the actual system calls and library "system call" functions that look like system calls, like on Linux, fork() is not a syscall, it is implemented by clone() and clone3(), and also between different CPU architectures syscalls are not the same! Also, no mention of how syscalls work on non-Unix OSes (e.g. Windows NT)? Finally, you should have included a way to invoke a raw syscall, and see the result with strace!

    • @TheCodingGopher
      @TheCodingGopher  วันที่ผ่านมา +5

      Solid call outs. Duly noted! I'll cover this in a follow-up video

  • @leuhenry8031
    @leuhenry8031 วันที่ผ่านมา +2

    introduce what is io_uring and its background please.

    • @TheCodingGopher
      @TheCodingGopher  23 ชั่วโมงที่ผ่านมา +1

      Added to my backlog!

  • @timog7358
    @timog7358 18 ชั่วโมงที่ผ่านมา +1

    great explanation

  • @debbie8062
    @debbie8062 วันที่ผ่านมา +11

    can’t believe i get to see this first with a membership 🔥🔥🔥

  • @davidpanic
    @davidpanic วันที่ผ่านมา +1

    Most of what you said was true, but nowadays theres also the likes of eBPF and similar which allows some of this stuff to happen in userland.

  • @thefreemarketdev
    @thefreemarketdev 23 ชั่วโมงที่ผ่านมา +3

    Imagine if the OS had to ask permission from the hardware to access its circuitry every time it needed to calculate or store data.

  • @manuelnovella39
    @manuelnovella39 9 ชั่วโมงที่ผ่านมา +1

    Nice, very true that switching context is expensive, it makes complete sense. It would be nice, perhaps, to add some code examples, to really show how to optimize. You made me think, I guess if your code has to open a bunch of files it's cheaper if you do it all at once than from time to time?

  • @iAPX432
    @iAPX432 11 ชั่วโมงที่ผ่านมา

    Wrong at every level. Kernel Mode is not "for the system" but for part of the kernel. Some parts might be in User Mode (on x86 a different Ring). Parts of some apps are running in Kernel Mode such as eBPF on Linux.
    Direct access to hardware is naturally also available in User Mode, but it has to ask the Kernel to allow it at first, not necessarily to handle it.
    And so on...

  • @guoard
    @guoard 19 ชั่วโมงที่ผ่านมา +1

    great video!

  • @kyleMcBurnett
    @kyleMcBurnett 21 ชั่วโมงที่ผ่านมา

    Doing something other than math? syscall.

  • @ZettaiKatsu2013
    @ZettaiKatsu2013 23 ชั่วโมงที่ผ่านมา

    Why is this so hard for academics to teach ?

  • @TheCoder-1924
    @TheCoder-1924 วันที่ผ่านมา +7

    great editing here... please release more video on OS concept. I will watch

  • @devnarula6733
    @devnarula6733 วันที่ผ่านมา +3

    I once made my own shell... since then fell in love with the systems programming

  • @flamendless
    @flamendless 21 ชั่วโมงที่ผ่านมา

    A lot of comments here came from the 99 percent lol

  • @yavvivvay
    @yavvivvay วันที่ผ่านมา +2

    Most devs have no need to know this TBH. We've moved on from "everyone knows how their car works and how to fix it" phase already.

    • @oxioxp
      @oxioxp วันที่ผ่านมา +1

      If you're an average programmer or mediocre programmer (working on the frontend and backend), you will not find this useful.
      But if you want to do low-level programming like embedded or kernel development, compilers, databases, etc. you need to know all those concepts. Even if you don't do low-level programming, it's still useful to learn about operating systems.

    • @yavvivvay
      @yavvivvay วันที่ผ่านมา +2

      @@oxioxp obviously, yet most developers aren't doing that :P
      It's cool to know, but JS johnny doesn't need that to make his webapp.

  • @ronny332
    @ronny332 8 ชั่วโมงที่ผ่านมา

    I'm one of the 1%, do I get a coffee for free or in which way am I special now 🤒?
    But for real: when you're a into Linux and C programming, a bit more knowledge and you should be at the 1%. So many Javascript writers out there 🙂?

  • @LinuxIsBetter-p8f
    @LinuxIsBetter-p8f วันที่ผ่านมา +23

    These are very basic facts about API that every developer understands. And if they did a degree or read any os book, it's definitely covered there. Click bate title and not a lot of value for 5 minutes. Expect better.

    • @TheCoder-1924
      @TheCoder-1924 วันที่ผ่านมา +10

      umm... not everyone has read an OS book, or remembers everything from their degree... tbh you shouldn't generalize and assume that everyone has the same knowledge as you. being an expert doesn't imply everyone is an expert. quite narcissistic.

    • @LinuxIsBetter-p8f
      @LinuxIsBetter-p8f วันที่ผ่านมา +10

      ​​​​@@TheCoder-1924
      Saying 99% of developers (which is a stupid estimate anyway and a generalisation which you condemn) doesn't know what a syscall call is, it's a complete spit in the face click bate to any developer.
      The quality of the video is without a question - it clearly explains what it is and provides useful information.
      But what you are saying is completely irrelevant. I simply point out to the author not to fall into the awful trend of click bating. There is nothing narcissistic about it, nor am I an expert in anything.

    • @TheCoder-1924
      @TheCoder-1924 วันที่ผ่านมา +10

      ​@@LinuxIsBetter-p8f having a vague idea of what a syscall is, is not the same as understanding it. I don't think the video is perfect but to say it has no value for 5 minutes (when almost every second is useful information) is mean tbh. like I do agree the title is a bit clickbaity but the video itself is excellent for the number of subscribers the channel has. just my opinion. you can say with less harsh words... but you have some point about inaccurate statistic. english is my second language but regardless for me I have learned lots here, and will continue to watch much more of the videos on OS (as it is a weak point. I'm not expert here like you assume all viewers are).

    • @LinuxIsBetter-p8f
      @LinuxIsBetter-p8f วันที่ผ่านมา

      @@TheCoder-1924 My intention is to not to be mean, nor do I assume myself or anyone else as an expert.
      Here is the thing though - going past the "vague idea", the video simply defines what a system call is, gives a few examples like read(), mentions trap tables. This is very basic stuff. Is that bad? No! These things can be difficult to understand, but when someone with 8 years of experience in development (not me!) sees this video, they think they are going to learn something about a system call. After all, 99% of developers don't know about them... What are the odds they do? I think the expectation here is a bit beyond a Wikipedia page summary.
      I felt disappointed, and they will be too. And this kind of thing makes this platform absolute piss show.
      Make good content for appropriate audience, don't wrap it something it's not.

    • @r31527
      @r31527 วันที่ผ่านมา +5

      @@LinuxIsBetter-p8f It's not that deep. I'd love to watch your explanation on the topic or any topic at that. Let me know when you release the video.

  • @asagiai4965
    @asagiai4965 วันที่ผ่านมา +2

    Idk what you mean by developers, but 99% is too high.
    If you haven't even heard of system calls. Idk who taught you programming.
    Ps. By "you" i'm referring to the reader, not the content creator.

    • @Crixer234
      @Crixer234 วันที่ผ่านมา +4

      >If you haven't even heard of system calls. Idk who taught you programming.
      The average developer straight from bootcamps.

    • @TheCodingGopher
      @TheCodingGopher  วันที่ผ่านมา +4

      This statistic was pulled from an uninitialized variable in a poorly documented legacy codebase, buried deep in a spaghetti-code function that hasn’t been touched since the intern dev who wrote it left the company.

    • @asagiai4965
      @asagiai4965 23 ชั่วโมงที่ผ่านมา

      @Crixer234 the sad bootcamp experience. Though at least they should have teach a little bit. They don't need to deep dive.

    • @asagiai4965
      @asagiai4965 23 ชั่วโมงที่ผ่านมา

      @TheCodingGopher lol, that's why I was asking by what you mean by developers? Because if those were proper software engineers. I think the percent should be lower

    • @TheCodingGopher
      @TheCodingGopher  22 ชั่วโมงที่ผ่านมา +1

      @@asagiai4965 Yeah, the title may be a bit exaggerated. In my opinion, while many developers may have heard of syscalls in passing, only a few truly understand their inner workings, and even fewer have hands-on experience optimizing them.

  • @hamzacasdasdasd
    @hamzacasdasdasd 22 ชั่วโมงที่ผ่านมา +1

    %99 doesnt understand
    %1 are the ones who wrote syscalls

  • @strayling1
    @strayling1 19 ชั่วโมงที่ผ่านมา +1

    A follow-up detailing the differences between interrupts and exceptions would be useful. Not all system calls are created equal.

    • @TheCodingGopher
      @TheCodingGopher  11 ชั่วโมงที่ผ่านมา +1

      Added to my queue :)

  • @HoSza1
    @HoSza1 20 ชั่วโมงที่ผ่านมา +4

    You can't call yourself a software developer unless you know 100% of the facts collected here.

    • @xevious4142
      @xevious4142 19 ชั่วโมงที่ผ่านมา +4

      Lmao false. There's a ton of developers writing useful and valuable software who don't know this stuff. Should they? Absolutely, but it's not going to stop them from getting a paycheck.

    • @HoSza1
      @HoSza1 19 ชั่วโมงที่ผ่านมา +1

      @@xevious4142 I see you miss the picture here. You can call yourself a doctor, heck you can even _work_ as a doctor without being a proper doctor but that runs a severe risk of legal prosecution. Working as a developer without being one comes with less risks, as you excellently pointed out. Still that only proves I'm right, thanks mate.

    • @xevious4142
      @xevious4142 18 ชั่วโมงที่ผ่านมา +1

      ​@@HoSza1 stay mad bro

    • @reabstraction
      @reabstraction 18 ชั่วโมงที่ผ่านมา +2

      ​@@HoSza1last time I checked, programming Perl is programming
      So a Perl dev is a programmer
      Sometimes, the simplicity of a task means it isn't worth it to build it in C
      Thus the people solving the simple tasks shouldn't need to know syscalls
      Does my app that sends an automated email really need to implement the entire SSL and SMTP stack?
      Should it be that optimized?
      Written in assembly?
      Heck no!
      "Does a bee really need to know the physics of how a flower makes pollen to make honey?"
      I'd argue no
      The bee just makes honey with the pollen and can't care less how it was made
      It applies in this case too

    • @HoSza1
      @HoSza1 9 ชั่วโมงที่ผ่านมา

      @@xevious4142 try again

  • @sbmb9613
    @sbmb9613 15 ชั่วโมงที่ผ่านมา

    Anybody else clicked on this, knowing full well what system calls are and just looking for SAO Alicization mentions?

    • @TheCodingGopher
      @TheCodingGopher  11 ชั่วโมงที่ผ่านมา +1

      I've watched SAO, but what's the reference here?

  • @vidal9747
    @vidal9747 13 ชั่วโมงที่ผ่านมา

    Just obvious stuff. Nothing deeper than what everyone knows.