Live data from Hacker News

Making an RISC-V OS (Part 3): Managing free memory

traxys.me

1–10 of 13 posts

Re: Making an RISC-V OS (Part 3): Managing free memory

#5
post #3

For a moment there I thought this was referring to RISC OS[1]. [1]: https://en.wikipedia.org/wiki/RISC_OS

Might as well be. Little to no RISC-V content here, and it's not even depending on the page table format, just blasting through physical RAM.

Re: Making an RISC-V OS (Part 3): Managing free memory

#6
Wouldn't it be more accurate to call this "Making a RISC-V Bootloader"?

As nice as this was to read (and I read all three parts), it's basically all the functionality of grub (or similar).

For toy OSes on x86/x86_64 the best way to get started is to use grub to do all the setup and then launch the kernel.

Re: Making an RISC-V OS (Part 3): Managing free memory

#7

Wouldn't it be more accurate to call this "Making a RISC-V Bootloader"? As nice as this was to read (and I read all three parts), it's basically all the functionality of grub (or similar). For toy OSes on x86/x86_64 the best way to get started is to use grub to do all the setup and then launch the kernel.

Sure, the first three parts aren't exactly doing anything earth shattering. But it's an ongoing series, so I don't think one can judge it just yet.

Re: Making an RISC-V OS (Part 3): Managing free memory

#8
Thanks for this, I enjoyed it. Just as a point of constructive criticism, I would say that you might want to go into some more detail on some of the pieces like how the linker script works, or how you are assembling your asm file. I took a look at the repo and figured it out pretty quickly, but I think a beginner would be pretty lost in some of those details.

Also, your buddy allocator fills me with shame. I didn't think of doing it that way when I wrote the physical memory allocator for my hobby OS, and my algorithm is way slow to initialize as a result of how I did it. I'm thinking I might have to go and revisit my allocator.

Re: Making an RISC-V OS (Part 3): Managing free memory

#9
post #3

For a moment there I thought this was referring to RISC OS[1]. [1]: https://en.wikipedia.org/wiki/RISC_OS

Might as well be. Little to no RISC-V content here, and it's not even depending on the page table format, just blasting through physical RAM.

Well this part did not have much RISC-V in it, as it builds upon the abstractions of part 2, which had lots of assembly!

Re: Making an RISC-V OS (Part 3): Managing free memory

#10

Wouldn't it be more accurate to call this "Making a RISC-V Bootloader"? As nice as this was to read (and I read all three parts), it's basically all the functionality of grub (or similar). For toy OSes on x86/x86_64 the best way to get started is to use grub to do all the setup and then launch the kernel.

Well yes, but I the main idea of this series is to use no dependencies in order to have a deeper under standing of the entire stack, from boot to GUIs (that is a long term goal!)
Post reply on HN