Building an OS - 1 - Hello world

Поделиться
HTML-код
  • Опубликовано: 2 дек 2024
  • НаукаНаука

Комментарии • 493

  • @edy1219
    @edy1219 Год назад +1821

    "so far our operating system does nothing and does it perfectly" top tier programming here

    • @dklima
      @dklima Год назад +19

      I loved it

    • @HaganeNoGijutsushi
      @HaganeNoGijutsushi Год назад +67

      The only time when an OS will be 100% bug and vulnerability free.

    • @edy1219
      @edy1219 Год назад +8

      @@HaganeNoGijutsushi yeah

    • @supa3ek
      @supa3ek Год назад +9

      That would actually be a relief for it to do exactly what you expect 😀
      99% of the time this doesn't happen

    • @hackdesigner
      @hackdesigner Год назад +1

      Yep sounds legit. About half of the demos I'm being shown.

  • @Fernando-du5uj
    @Fernando-du5uj 2 года назад +512

    This is the most complete video I've ever seen on building an OS. Thank you, sir! Don't stop, please

  • @brickch4pel
    @brickch4pel Год назад +71

    Absolutely adding this to the study list. I feel like this would probably be a great reference for delving further into CompSci

    • @yaroslavpanych2067
      @yaroslavpanych2067 Год назад

      Do not waste your time on this crap

    • @sastashroud7646
      @sastashroud7646 Год назад +2

      This is real computer science not website Makin

    • @sepmercury5180
      @sepmercury5180 3 месяца назад

      @@sastashroud7646you re-tard. The browsers are one the most complex systems out there.

  • @bluexo256
    @bluexo256 Год назад +6

    That is the most complex "Hello, World" tutorial I've ever seen. Thank you for that

  • @abdulelahaljeffery6234
    @abdulelahaljeffery6234 Год назад +28

    it's really rare to find quality videos in this topic.
    Thank you sir for this excellent demo 🙏

  • @Unfaced85
    @Unfaced85 Год назад +4

    just discovered this series , need to binge watch that now. This is so cool

  • @stupossibleify
    @stupossibleify 3 года назад +63

    What a fantastic series of videos, they really tickle my tech curiousity. Everything I've been puzzled by is explained so well. Thank you for making these

  • @NebulaDev
    @NebulaDev 2 года назад +22

    This is brilliant. All the other tutorials are messy file trees, horrible code, and hard to follow. This is perfect, easy to do, and the teacher is great. Keep going dude!

  • @kamikaze_kev
    @kamikaze_kev Год назад +195

    loved this! back in 1985 i built an 8-bit z80 computer on breadboard (with a 1k static-ram chip) and had to program the RAM chip using 8 dip-switches (no assember) just in pure binary! it took hours to write code similar to this. after writing the binary code to RAM, i would then send a signal to the RES pin on the CPU to begin the instruction pointer (IP) at zero and begin execution of the code. all i had was an array of 8 led's as my output display. the code I wrote made the led's flash from left to right and vice versa, amazing days! this brings it all back! 😊 ps. i had to clock the z80 cpu at only 1 instruction per second (1hz) to be able to see the led lights move and the z80 assembly for that code was something like: l0: ld b,7 ld a,128 l1: out 0,a rra djnz l1 ld b,7 l2: rla out 0,a djnz l2 jp l0 (program size was just 21 bytes lol!)

    • @satyamraj2779
      @satyamraj2779 Год назад +13

      Wow... that's quite fascinating.

    • @adversemiller
      @adversemiller Год назад +7

      That's incredible, love it

    • @tharindudhanushka2201
      @tharindudhanushka2201 Год назад +2

      wow

    • @techtime3125
      @techtime3125 Год назад +5

      real programmer

    • @homeopathicfossil-fuels4789
      @homeopathicfossil-fuels4789 Год назад +8

      You did programming as von Neumann and the lord above us intended it, binary input, binary output, nothing else but switches and lights.
      A truly enlightening experience for anyone seeking the raw essence of what programming is. Its flicking switches to convince lights to blink in the right pattern.

  • @davidmarshal6729
    @davidmarshal6729 Год назад +4

    i can say nothing more about this video other the "its perfect", the best OSDev tutorial i've seen yet. AMAZING

  • @samarthtandale9121
    @samarthtandale9121 Год назад +17

    I'm literally into tears 😭 ... Overwhelmed by grateful emotions ☺️😌 ... Can't believe you put it for free on RUclips! Thank You man, I can't thank you enough... !❣️🙏🏾🙏🏾

  • @redaloui
    @redaloui Год назад +33

    If anything RUclips does good from time to time, is that he suggested this to me. I highly valuate this type of content, and as a developer and a lover of coding I have a big respect to this type of talented people, its way out of my league to do such things, even that like 25 years ago when started coding using basic 1, I had such ideas 😅, now you know the life took me, and have to pay the bills so I am a web dev, thankfully I am still in the coding family.
    Big love and respect bro ❤

  • @nebuladevelopments
    @nebuladevelopments 2 года назад +27

    Excellent Tutorial. I love how you explain everything you are doing, this is a much better tutorial then any of the others I have seen!

  • @AboMazen404
    @AboMazen404 2 года назад +9

    This is gold , Thank you for the efforts

  • @vynxie
    @vynxie Год назад +6

    It's really good to see people having fun with Assembly like this. I know we live in the age of languages like Python and Assembly can be a frustrating, painfully slow, counterintuitive language at times that tests your patience and confidence when things don't work, but I think everyone who enjoys programming should learn to work with at least one instruction set and experiment with it like this. Just mess around, play with it. At the end of the day we're just kids playing with really complicated toys and making them do tricks when we program anyway.

  • @ARandomOSDever
    @ARandomOSDever 2 года назад +14

    Hey Nanobyte, you are one of the best and most underrated OSDev channels on RUclips!
    You even inspired me to create a OSDev channel. Just need to find a easy to use video editor and it's done!
    BTW I am a Legacy BIOS Windows 10 user (and I will change to Linux in 2025)

    • @astric32dll
      @astric32dll Год назад

      Why 2025?

    • @antonGanG
      @antonGanG Год назад +1

      @@astric32dll thats the end of support for windows 10

    • @ferdinandw.8952
      @ferdinandw.8952 Год назад

      @@antonGanG not anymore now it is end of 2023

    • @CrimeWithEli
      @CrimeWithEli Год назад

      Dual boot to get more familiar with Linux

  • @nightwintertooth9502
    @nightwintertooth9502 Год назад +4

    Terry Davis would be proud. Now everyone can homebrew their own temple OS.

  • @m4rt_
    @m4rt_ Год назад +4

    Amazing video, I managed to follow along, and I even learned some more asm.
    I have always been kind annoyed with there being very few resources online for learning asm, so I barely know any, so nice to finally find a good resource.

  • @LegoPossessed
    @LegoPossessed 9 месяцев назад

    I can already see that this is going to be easy with this tutorial! PLEASE DON'T STOP, KEEP UP THE GOOD WORK!

  • @Gamercat01
    @Gamercat01 5 лет назад +22

    Hi! I thought this was great! I hope you'll make more some day. All the best from a fellow programmer(mostly c# :))!

  • @schvarts1177
    @schvarts1177 11 месяцев назад +1

    this video is really good i never seen a complete video like this

  • @PrzestronnyMistrz-ly8rp
    @PrzestronnyMistrz-ly8rp Год назад +1

    this video would have saved me days of research if i knew it before i got into operating systems. Very consise and coherent, 10/10

  • @Learnerofthings
    @Learnerofthings 2 года назад +11

    Thank you VERY much for this series. I have mentioned wanting to get into OS design many times on other programming groups and been laughed at and mocked because why am I not in the kitchen making dinner lol. I've been writing in C and recently learning assembly, so now I will go back to them with an OS (after a few more years of this).

    • @spytonic4171
      @spytonic4171 2 года назад +2

      have you completed your os?

    • @Learnerofthings
      @Learnerofthings Год назад +3

      @@spytonic4171 Not even close. Life got in the way, but I am picking it back up now.

  • @qadirhussain7679
    @qadirhussain7679 11 месяцев назад +1

    This video is gold for people who want to learn something new everyday, but unfortunately we live in a world where a tiktoker easily gets millions of followers but a youtuber hardly gets any recognition.

  • @michaelhawthorne8696
    @michaelhawthorne8696 Год назад +1

    Nice video...
    Looking forward to see how this progresses...
    Made 4 yrs ago, I'll check your channel for other updates...
    Thanks for the start. 👌

  • @Viral757_
    @Viral757_ 10 месяцев назад

    You explained the most complicated subject like it's a piece of cake. Hats off to you man !!
    This video deserves millions of likes ☘☘

  • @leochavez6833
    @leochavez6833 4 часа назад

    I have no idea what I'm watching, but I'm here for it lol. I have a lot to learn.

  • @IntensiverPinguin
    @IntensiverPinguin Год назад

    Randomly youtube recommended me this video. I wont try to build an OS but I always wondered how it works, thank you

  • @puceno
    @puceno 2 года назад +1

    the title is literally the content of the the video, you are amazing :) , dont stop never

  • @CunningBard
    @CunningBard 2 года назад +1

    I like this guy, he hesitates and still gets it wrong (13:29), but all in all good tutorial

    • @nanobyte-dev
      @nanobyte-dev  2 года назад +1

      Recording videos was really stressful, especially when I started making videos. Today, I have a better workflow which helps a bit, but mistakes still happen.

  • @10bokaj
    @10bokaj Год назад +2

    This is the perfect level of explanation for me, thanks!

  • @null12346
    @null12346 Год назад +2

    Thank you for making this tutorial. Now I learned a lot of things that will be useful for me

  • @thewaterwave222
    @thewaterwave222 Год назад +1

    YOU ARE A LEGEND ONLY THIS ONE WORKED PERFECTLY!!!!! THANK YOU!!!!

  • @trebabcock
    @trebabcock 2 года назад +1

    Finally, someone who appreciates micro. I absolutely love it.

    • @nanobyte-dev
      @nanobyte-dev  2 года назад +1

      It's a nice editor, but I don't use it as much nowadays, VSCode is just better. When I need a simple editor on linux, I always fallback to vim because it's always there preinstalled, and I've learned a few basic commands.

    • @trebabcock
      @trebabcock 2 года назад

      @@nanobyte-dev Totally understandable. I never did get productive with vim, unfortunately. But with micro, I was actually able to learn a lot of shortcuts, so I'm pretty productive. I go back and forth between that and VS Code because it genuinely is amazing.

    • @OriGDash
      @OriGDash 2 года назад

      @@trebabcock I Agree, My Chromebook Sucks At Running VS code, And Micro Is Much Better, Yes, Understandable.

  • @gearboxworks
    @gearboxworks Год назад +1

    That is one of the best tutorials of a complex subject I have ever watched. Kudos! 👏

  • @crogersdev
    @crogersdev Год назад

    This is a wonderful video, friend! Thank you for doing these videos, I'm loving them!

  • @bolow
    @bolow Год назад +1

    I love this, please keep doing this kind of tutorial

  • @alicewyan
    @alicewyan Год назад +69

    A stack is LIFO (last-in-first-out), not FIFO. The FIFO equivalent is called a queue.

    • @MamaMia84oo7
      @MamaMia84oo7 Год назад

      Lov u

    • @theocrandall
      @theocrandall Год назад +5

      Yes I came down here to make this exact comment.

    • @michaelt126
      @michaelt126 Год назад +2

      at least the animations were right

    • @Kolundi
      @Kolundi Год назад

      thank you, I was thinking the same thing !

  • @danielmosner5802
    @danielmosner5802 Год назад +3

    This is awesome. I watch it, and get like 50% of it. Then I search for while and I understand it more. But it was till I start building my own floppy disk OS bootloader to understand it on 100% Thank you very much for this. It made me eager to learn more!

  • @danym-98
    @danym-98 Год назад

    Thanks!

    • @stx_1
      @stx_1 11 месяцев назад

      🤑🤑

    • @nanobyte-dev
      @nanobyte-dev  9 месяцев назад

      Wow, thank you very much, you are very kind.

  • @Superwastaken1
    @Superwastaken1 Год назад

    This made me actually understand kind of how an is works and I already have an idea of how a kernel works too

  • @victorsalvans7418
    @victorsalvans7418 Год назад

    The best video for begginers about this topic!! Excellent!

  • @pythonwithpandy9200
    @pythonwithpandy9200 2 года назад +1

    Cool Thank you so much you are the best person who has explained assembly:)

  • @botobeni
    @botobeni Год назад

    I've been searching for ages to find something like this

  • @rahulr9301
    @rahulr9301 3 года назад +19

    just amazing!!!! in 17:11 u mentioned stack as fifo but it should be like LIFO right?

  • @laybackluke
    @laybackluke Год назад +2

    I really enjoy technical low-level programming projects that present the necessary theory and definitions. I hope to see you building a compiler for a toy language from scratch one day. Or a webbrowser :)

  • @skychip7784
    @skychip7784 10 месяцев назад

    this probably needed so much work thanks for the effort!

  • @masterymaster5436
    @masterymaster5436 Год назад

    This is truly fascinating tutorial, congratulation

  • @andreycwb
    @andreycwb Год назад +2

    Wow, everything in 23 minutes, it took me several days, weeks, to find info and figure out how to create a bootloader exactly like this 17 years ago in the 2000s internet

  • @nuutti2957
    @nuutti2957 Год назад

    Absolutely amazing video! Thank you loads!

  • @cedric6941
    @cedric6941 5 месяцев назад +2

    6:50 fire voice crack 🔥🔥

  • @thatoneguy3_
    @thatoneguy3_ Год назад

    Best for creating os. Please do more videos!

  • @cremeeggstudios
    @cremeeggstudios 2 года назад +3

    Very underrated

  • @pythondoesstuff5722
    @pythondoesstuff5722 2 года назад +2

    Thanks a lot sir, amazing explaination

  • @justman7656
    @justman7656 Год назад

    Greatest stuff that i seen ever, man, continue plea

  • @authorotar
    @authorotar Год назад

    Very easy to follow instructions and explanations. One factual error: a stack is a LIFO not a FIFO.

  • @mcvmedia2024
    @mcvmedia2024 4 года назад +3

    waiting for the next video !!!!

  • @makidoko
    @makidoko Год назад +1

    17:04 *LIFO (Last In First Out). The FIFO is more for stream actions.

  • @SFoX-On-Air
    @SFoX-On-Air Год назад

    Rollercoaster Tycoon 2 was written entirely in Assembler. I cant even imagine how much work the guy put in this to make it happen.

  • @anthonymaxsalien
    @anthonymaxsalien Год назад +1

    Badass dude really badass, this is Bill Gates level of making an OS. I will be looking forward to this. I am an Windows and Linux user so i play around with virtual machines so this should come out simple for me. Can't wait to make my own OS

  • @team_gaming2.0
    @team_gaming2.0 11 месяцев назад

    "so far our operating system does nothing and does it perfectly" wow incredible

  • @KaosPCtech
    @KaosPCtech 2 года назад

    This is great, thanks for teaching us. I thought it would have been funny if you used nano to build your os

  • @DevNugget
    @DevNugget 2 года назад +1

    Thank you so much for these videos!!

  • @dr.deathvolt655
    @dr.deathvolt655 2 года назад +5

    This tutorials are really awesome ! i just wanted to ask, is knowledge of Data structures and Algorithms are necessary for building an OS

    • @nanobyte-dev
      @nanobyte-dev  2 года назад +5

      There are some areas where they are useful, like memory management, or process scheduling. Also keep in mind that when you are building an OS you don't have the standard libraries, and you may need to implement some of these yourself. The good part is that there are a lot of resources available online, so you can learn them as you go.

    • @dr.deathvolt655
      @dr.deathvolt655 2 года назад +1

      @@nanobyte-dev thank you for your reply, you are doing great job for the community thank you so much!!

  • @genericuser1546
    @genericuser1546 Год назад

    small correction about 7:11, the bios is actually looking for the bytes 55 AA, not AA 55

  • @raunaksrarf1179
    @raunaksrarf1179 Год назад +2

    17:20 stack is LIFO(Last In First Out) not FIFO (First In First Out)

  • @2EZShadow
    @2EZShadow Год назад

    I actually followed this tutorial on android😂
    Excellent tutorial 👍❤

    • @CEJOPawHAR
      @CEJOPawHAR Год назад

      There is probably absolutely no way you are making an OS on Android unless probably if you got an extremely high-end Phone.

    • @2EZShadow
      @2EZShadow Год назад

      @@CEJOPawHAR Samsung Galaxy A42 5G

  • @peterrobinson9935
    @peterrobinson9935 4 месяца назад +1

    This is a brilliant introduction to building an OS. I will look forward to working through the rest of the series of videos in an attempt to build my own PJR-DOS!
    My only criticsm is that I am building my OS in one virtual machine, and running it in another virtual machine, and all the while I have your video windowed in a third corner of my screen. Because you're using a 'black screen' for your coding, it is very difficult to see what you're typing some times (especially when the text is in red). I know I can download and look at your source code (and have done), but I'd really prefer to type in the commands in 'real time', so I can follow the stages you go though. I've yet to go through the other videos, but can I ask that when you do your next series, you can change your colours of your screen/text so that we can read the details, if at all possible, please? Otherwise, I look forward to going through the rest of your videos (and I've already 'subscribed' to your channel!
    A great 'thumbs up' from me!

  • @allanmingau
    @allanmingau 3 года назад +2

    just amazing

  • @RegisMichelLeclerc
    @RegisMichelLeclerc Год назад

    When using VMware, it's actually faster to use PXE than going all the way to using floppy images, you just make an empty VM with a network card and you setup your Ubuntu as a BootP server + NFS server (in the old Sun style). From there, just reboot the VM, everything else is automatic, you can jump to 64-bit mode much earlier, even before you display anything.
    By the way, ISO images are also easy to generate and somewhat more "portable" than floppy images.

  • @JtagSheep
    @JtagSheep 2 года назад

    Wow amazing tutorials, I have previously written assembly bootloaders and a basic operating system more like a shell tbh and no one really explained about the syntax of certain assembly things like $ and $$, I knew I could jump to $ for a hlt but never what the $ - $$ did in the times loop and now I do!

    • @maxmuster7003
      @maxmuster7003 Год назад

      FLIP db "blub blub"
      fliplen = (FLIP - $)
      $ is the current location in memory.

  • @ryuen-vn8em
    @ryuen-vn8em Год назад

    17:06 should it not be a filo manner?The stack works like first in last out or?

  • @f23anone82
    @f23anone82 Год назад

    Great video, thank you. Subscribed!

  • @freecrac
    @freecrac 5 лет назад +3

    12:30 Referencing a memory location: DS if unspecified?
    As long if BP is not used as an address register. Default seg reg for BP is SS if no segment override prefix is used.
    ;--.-.--
    Intel manual: Instruction prefixes can be used to override the default operand size and address size of a code segment. These prefixes can be used in real-address mode as well as in protected mode and virtual-8086 mode. An operand-size or address-size prefix only changes the size for the duration of the instruction.
    The following two instruction prefixes allow mixing of 32-bit and 16-bit operations within one segment:
    •The operand-size prefix (66H)
    •The address-size prefix (67H)
    These prefixes reverse the default size selected by the D flag in the code-segment descriptor.
    ;--.-.--
    So the only one difference between the 16 bit mode and the 32 bit mode is the default size selected by the D flag and how the operand size and address size prefixes reverse the default size if size prefixes are used or not used.
    ;--.-.--
    Intel 80386+
    A closer look to the possible sorts of bytes of one instruction:
    Instruction Prefix 0 or 1 Byte
    Address-Size Prefix 0 or 1 Byte
    Operand-Size Prefix 0 or 1 Byte
    Segment Prefix 0 or 1 Byte
    Opcode 1 or 2 Byte
    Mod R/M 0 or 1 Byte
    SIB, Scale Index Base (386+) 0 or 1 Byte
    Displacement 0, 1, 2 or 4 Byte (4 only 386+)
    Immediate 0, 1, 2 or 4 Byte (4 only 386+)
    Format of Postbyte(Mod R/M from Intel-manual)
    ------------------------------------------
    MM RRR MMM
    MM - Memory addressing mode
    RRR - Register operand address
    MMM - Memory operand address
    RRR Register Names
    Filds 8bit 16bit 32bit
    000 AL AX EAX
    001 CL CX ECX
    010 DL DX EDX
    011 Bl BX EBX
    100 AH SP ESP
    101 CH BP EBP
    110 DH SI ESI
    111 BH DI EDI
    ---
    (Note: We observe the next two tables from the 16 bit address mode. The D flag in the code-segment descriptor is not set. The default size of memory access and the operand size (without size prefixes) is 16 bit.)
    16bit memory (No 32 bit memory address prefix)
    MMM Default MM Field
    Field Sreg 00 01 10 11=MMM is reg
    000 DS [BX+SI] [BX+SI+o8] [BX+SI+o16]
    001 DS [BX+DI] [BX+DI+o8] [BX+DI+o16]
    010 SS [BP+SI] [BP+SI+o8] [BP+SI+o16]
    011 SS [BP+DI] [BP+DI+o8] [BP+DI+o16]
    100 DS [SI] [SI+o8] [SI+o16]
    101 DS [DI] [DI+o8] [SI+o16]
    110 SS [o16] [BP+o8] [BP+o16]
    111 DS [BX] [BX+o8] [BX+o16]
    Note: MMM=110,MM=0 Default Sreg is DS !!!!
    32bit memory (Has 67h 32 bit memory address prefix)
    MMM Default MM Field
    Field Sreg 00 01 10 11=MMM is reg
    000 DS [EAX] [EAX+o8] [EAX+o32]
    001 DS [ECX] [ECX+o8] [ECX+o32]
    010 DS [EDX] [EDX+o8] [EDX+o32]
    011 DS [EBX] [EBX+o8] [EBX+o32]
    100 SIB [SIB] [SIB+o8] [SIB+o32]
    101 SS [o32] [EBP+o8] [EBP+o32]
    110 DS [ESI] [ESI+o8] [ESI+o32]
    111 DS [EDI] [EDI+o8] [EDI+o32]
    Note: MMM=110,MM=0 Default Sreg is DS !!!!
    ---
    SIB is (Scale/Base/Index)
    SS BBB III
    Note: SIB address calculated as:
    =+*(2^(Scale))
    Fild Default Base
    BBB Sreg Register Note
    000 DS EAX
    001 DS ECX
    010 DS EDX
    011 DS EBX
    100 SS ESP
    101 DS o32 if MM=00 (Postbyte)
    SS EBP if MM00 (Postbyte)
    110 SS ESI
    111 DS EDI
    Fild Index
    III register Note
    000 EAX
    001 ECX
    010 EDX
    011 EBX
    100 never Index SS can be 00
    101 EBP
    110 ESI
    111 EDI
    Fild Scale coefficient
    SS =2^(SS)
    00 1
    01 2
    10 4
    11 8

  • @programmieren_lernen
    @programmieren_lernen 11 месяцев назад

    The best Tutorial guy!

  • @D-V-O-R-A-K
    @D-V-O-R-A-K 7 месяцев назад

    16:40 I'm fairly sure you got this part backwards.
    17:00 Also, the stack is "first in, last out", not "first in, first out", isn't it?

  • @achyuthvishwamithra
    @achyuthvishwamithra Год назад +1

    At 16:45, it should be right to left.

  • @WistrelChianti
    @WistrelChianti 2 года назад +1

    Thanks! That made good sense.

  • @mehrdad-mixtape7970
    @mehrdad-mixtape7970 Год назад

    That was amazing man!

  • @exploitingcodes756
    @exploitingcodes756 Год назад +1

    This channel is amazing. Keep the great work, mate!

  • @a.andrade345
    @a.andrade345 Год назад

    Thats's fck'n awesome, i'm writting a compiler and the video is sooooo usefull

  • @nikolaradovanovic4883
    @nikolaradovanovic4883 Год назад

    I love you man! Greetings from Serbia.

  • @solarisNT-v4j
    @solarisNT-v4j 2 года назад

    I was sent here by a link in a comment written by someone named Tomi Ivaswort. I have no idea who you are, but I just want to say, thanks for that link.

  • @Sobre_Novel
    @Sobre_Novel 4 месяца назад

    Good videos don't get old

  • @WistrelChianti
    @WistrelChianti 2 года назад +3

    Quick question, you put AX on the stack but then only write to AL so presumably AL is the only thing you have to put on the stack. I'm guessing you put AX on the stack though because you are working in 16 bit land and I guess whenever you put anything on the stack you are putting 16 bits there?

    • @WistrelChianti
      @WistrelChianti 2 года назад +1

      ah! forgot that AH is where OE goes!

    • @renieSiqueira
      @renieSiqueira Год назад

      I've got kinda the same question. I mean, we set AX to 0 in the beginning. LODSB just uses AL. The interrupt uses just AL and AH. I've tried just removing the push and pop of AX and everything keeps working. So I am still a bit confused with that.
      Same to ES, which is also set to 0, but never used again. Also nothing changes if that line is removed.
      Could it be some sort of memory cleaning? Or some sort of measure to prevent weird behaviors?

  • @themodesttraveler745
    @themodesttraveler745 2 года назад +1

    wow i just found this its awesome .

  • @AwesomeAggron1000
    @AwesomeAggron1000 Год назад +2

    Do you know how you could load this onto a usb and have it working on bare metal? I tried on linux using dd command, it does find boot sector but no string prints

  • @mhamdmarch8709
    @mhamdmarch8709 Год назад

    The best youtube channel ❤❤

  • @WistrelChianti
    @WistrelChianti 2 года назад +3

    Could dw 0AA55h also be written as dw 0xAA55 ? Do you know if the reason for this number is because it makes a nice pattern? 1010101001010101

    • @nanobyte-dev
      @nanobyte-dev  2 года назад +2

      Yes, those two notations mean the same thing. I never thought about those numbers, but the pattern makes sense.

  • @elizabethkroll8144
    @elizabethkroll8144 7 месяцев назад

    whenever i get to the point of 8:55 and i try to test the operating system, i get an error saying "make: *** No targets specified and no makefile found. Stop." I've searched high and low over the internet and none of the recommendations work. If anyone one has any advice, that'd be greatly appreciated.

    • @kibaofficial6332
      @kibaofficial6332 7 месяцев назад

      are you in the right directory where the makefile is?
      should look like something like this:
      .
      ├── build
      ├── makefile
      ├── readme.md
      └── src
      └── main.asm
      (i used the tree -L 2 command for it)

    • @WaterBucketXD2024
      @WaterBucketXD2024 3 месяца назад

      Just type make Makefile

  • @HediDev
    @HediDev 2 года назад +2

    Good video Sir ! Btw do you recommend any books about things I should learn to better understand your tutorials ?

    • @nanobyte-dev
      @nanobyte-dev  2 года назад +7

      You can start with reading from the OSDev wiki, or following some text tutorials which will help you get started. The brokenthorn tutorial was my favorite. If you want to go into more depth and more theory, there are 2 great books that always get recommended, Modern Operating Systems by Andrew Tannenbaum and Operating System Concepts by Silberschatz. These are really good for theory, but maybe a bit difficult in practice. I know there is a good one about Minix, but haven't read it. I haven't really read any book related to operating systems (just partially read Tanenbaum's), but I would like to do that because I'm sure there are many things I could learn. I'm hoping to come back to this question in the future and come up with a better answer.

    • @HediDev
      @HediDev 2 года назад +1

      @@nanobyte-dev thanks ! I will take a look at these .

  • @danym-98
    @danym-98 Год назад

    Well structure. Thank you very much

  • @giornikitop5373
    @giornikitop5373 Год назад

    seems good. although, in diagram @9:29, i don't remember index registers (si,di), bp, sp, having a 8bit half counetrpart, they are 16bit only.

  • @felicienrafiki
    @felicienrafiki 22 дня назад

    amazing ones

  • @kinars8160
    @kinars8160 3 года назад +3

    i had an error while running the qemu-system-i386 -fda build/main_floppy.img command,it shows
    Unable to init server: Could not connect: Connection refused
    WARNING: Image format was not specified for 'build/main_floppy.img' and probing guessed raw.
    Automatically detecting the format is dangerous for raw images, write operations on block 0 will be restricted.
    Specify the 'raw' format explicitly to remove the restrictions.
    gtk initialization failed
    running on ubuntu wsl which is on windows

    • @nanobyte-dev
      @nanobyte-dev  3 года назад

      Try a Windows build of qemu, instead of running it in WSL.

    • @kinars8160
      @kinars8160 3 года назад

      it works when i used the virtual box ran everything from there.

    • @kinars8160
      @kinars8160 3 года назад

      but why cant i run that command in wsl

    • @nanobyte-dev
      @nanobyte-dev  3 года назад +1

      It depends on X, and you don't have any X server running. Google how to run GUI programs in WSL. There may be other issues and limitations with WSL that I'm not aware of, so qemu may not run at all under it. The easiest alternative is to just use a Windows version of qemu.

    • @nanobyte-dev
      @nanobyte-dev  3 года назад +1

      @@kinars8160 I found this article which describes how to run qemu in WSL: boxofcables.dev/running-windows-2000-on-wsl/

  • @alejandrocaviellesmartin1328
    @alejandrocaviellesmartin1328 8 месяцев назад

    Very good videos dude, congrats! The stack is LIFO Last In First Out not FIFO 😂

  • @eritra4303
    @eritra4303 3 года назад +3

    Wouldnt xor ax, ax be better than mov ax, 0. Because it uses less space?

    • @nanobyte-dev
      @nanobyte-dev  3 года назад

      Yes, maybe. But the difference is extremely small. If you're writing performance critical code, it might matter, but for this which just initializes the system and runs once, a few nanoseconds isn't a huge performance gain.

    • @kamikaze_kev
      @kamikaze_kev Год назад

      defo, much more efficient 🤣😂

  • @NahidHasan-dz7kt
    @NahidHasan-dz7kt Год назад

    truly brilliant !

  • @ferdinandw.8952
    @ferdinandw.8952 Год назад +1

    i couldnt get qemu installed on kali purple so i used Virtualbox else everything was GREAT!

  • @billy.n2813
    @billy.n2813 5 месяцев назад

    Thank you for this!