Commute talk: How to start building an OS?

แชร์
ฝัง
  • เผยแพร่เมื่อ 16 ธ.ค. 2024

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

  • @DanielTateNZ
    @DanielTateNZ ปีที่แล้ว +1

    Wow I've been following serenity for 2 years now and just watched this video. It still hits home, what a great time capsule.

  • @hylucien2980
    @hylucien2980 5 ปีที่แล้ว +12

    I love your style. Just get going! It's at odds with my inclination. Learn everything before writing a line. But that can be demotivating over the long run.
    HAPPY BIRTHDAY Serenity!

    • @roschern
      @roschern 5 ปีที่แล้ว +7

      And also; most of the stuff you need to know, you will learn along the way. Not before you start! :)

    • @flip4119
      @flip4119 2 ปีที่แล้ว +1

      Having this realization has made me 100x the programmer I was a year ago. I would constantly think I needed to know absolutely everything about a language before starting. I've learned a lot more stumbling through small projects and constantly referring to documentation.

  • @avinashpandey6491
    @avinashpandey6491 5 ปีที่แล้ว +14

    The best programming advice I ever got.
    Just start coding don't lookup on the internet.
    Thank you.

    • @markrayne5382
      @markrayne5382 3 ปีที่แล้ว +6

      How can you code something when you don't even know where to begin?? Asking somebody with no computer science knowledge other than programming is going to have to search up things on the internet such as process scheduling,memory management, file systems etc etc etc You can't just come up with them out of thin air.
      Another analogy would be giving someone who isn't a builder all the tools to build a house but that person still has no idea of even how to use the tools or where to start..

  • @theyreMineralsMarie
    @theyreMineralsMarie 3 ปีที่แล้ว +9

    In school we used Xv6 as a learning OS. It is a small stripped down OS without an graphical libraries and runs very well in Qemu.

  • @willmcpherson2
    @willmcpherson2 5 ปีที่แล้ว +32

    I couldn't agree more about not reading... It can really ruin your motivation. If you're making a compiler just pretend that it's the first compiler ever made.

    • @PandaMoniumHUN
      @PandaMoniumHUN 5 ปีที่แล้ว +13

      Absolutely agreed. I just started working on a ray tracer and I try to avoid reading up too much on the subject and just kind of figure out the things for myself. Experimenting with different lighting models, global illumination methods, materials, etc. is so much more fun than just copy pasting the well known formulas from wikipedia. :)

    • @unsafecast3636
      @unsafecast3636 3 ปีที่แล้ว

      @E-M Entertainment what he meant is that you try to not read on this too much and just do it yourself

    • @Nick-lx4fo
      @Nick-lx4fo 3 ปีที่แล้ว +5

      @@skyblue5220 Exactly, read enough that you're knowledgeable in the subject and that you can get places. Reading never hurts, but there's a point where your goal should be to make an operating system, not read endless pages of specs and theory

  • @kedonsiemen
    @kedonsiemen 4 ปีที่แล้ว +8

    I think there's another angle to abstracting that applies to programming in general. If you start by writing the abstractions/skeletons/tests (like in TDD), and then later on apply the details, the benefit is that the structure guides your way ahead and you are less likely to stumble on your code.

    • @kedonsiemen
      @kedonsiemen 3 ปีที่แล้ว

      @FichDich InDemArsch speak if you have something to say

    • @frosty515
      @frosty515 ปีที่แล้ว

      I agree. I have learnt that building out the data structures, the classes and the function names helps you write the actual code because you know the direction you are going.

  • @thekobold
    @thekobold 4 ปีที่แล้ว +1

    Thanks a lot !! Every programmer should listen to this talk. Cheers from Brazil !

  • @kenzijeanis
    @kenzijeanis 5 ปีที่แล้ว +15

    I really need to try this approach. I've been working on an OS built in Rust off and on for a while, but keep getting stuck on implementing syscalls and switching rings due to not being able to find clear information on MSRs. What I really want to work on is a graphics driver.

    • @PandaMoniumHUN
      @PandaMoniumHUN 5 ปีที่แล้ว +5

      If you only want to work on the graphics driver part AMDs drivers on Linux are open source, so you can write your own kernel module based on those.

  • @TheSulross
    @TheSulross 3 ปีที่แล้ว +2

    The Multics OS architects needed this talk - but then again, their morass and failure is kind of what brought Unix about - indirectly, that is

  • @Simon-xi8tb
    @Simon-xi8tb 4 ปีที่แล้ว +4

    What do you think about TempleOS ?

  • @cristianandresvargasgonzal4510
    @cristianandresvargasgonzal4510 5 ปีที่แล้ว

    hello thanks for the video, greetings from Colombia. :)

  • @KingHerring
    @KingHerring 5 ปีที่แล้ว +4

    Funny, lol because I have only done research on what I want to do on my OS, no actual coding. But these are some good tips. I have been thinking about this for years, someday I will execute. :P

  • @Mythologos
    @Mythologos 2 ปีที่แล้ว +1

    Why aren't you on LBRY?

  • @oamioxmocliox8082
    @oamioxmocliox8082 ปีที่แล้ว

    ;)

  • @rdoetjes
    @rdoetjes 4 ปีที่แล้ว +2

    I agree and disagree.
    First of all, nobody sets out to build a whole operating system anymore. It’s just too much work. The big question is, why would you? There’s an OS for pretty much every demand steady.
    Even the 3 general purpose OS’s Linux, Apple and Windows “borrowed” a lot of code from other projects. Where Linux is the prime example of how to do it the easy way. Make a kernel and use GNU tools around it to make it an OS.
    Making a kernel is probably what people mean when they say, they want to make an “OS”. That’s where (at least for me) the interesting stuff lies; the low level abstraction between Kernel and Hardware.
    If you are interested in OS parts then there’s no need to build a kernel. Get a good open source kernel, preferably a true micro kernel; QNX comes to mind. And build your own module for it.