i think this is a joke but i have actually started doing that, and so far i have an interpreter that is a huge memory leak, and about a 3rd of a linker also elfs are weird
I've just been cobbling together the craziest ideas I've had to make my OS. The memory allocator is a sparse hexadecimal tree, all OS data includes a function on how to read the data (useful for windowing), and I only have support for linear vector fonts. It's deranged and I love working on it.
@@spaghettiking653 The root node divides the memory space into 16 chunks, and each child does the same. A node is only required if the memory it keeps track of is partially full, so each node is deleted if it is full or empty. The node has two 16-bit integers and 16 pointers. The integers are bitfields, and the first one stores whether or not the corresponding child node exists, and the second integer stores whether a child node is full.
I had an idea for another weird os, in that the filesystem itself would be a sqlite database, allowing for fast search and indexing with tags, in the future joined with a local LLM to tag everything neatly. I heard BeOS tried something similar but it was pretty slow back then, with disk HDs and such.
a really good headstart into OSDev would be learning how a CPU works (which involves assembly). You communicate with it a LOT when writing your own Operating System. And if you'd like to use a high-level language, learn C/C++ and how it interacts with ASM.
Pretty much anything you need to know about the CPU is understood by just studying more assembly, specifically within the context of osdev. Most OS stuff doesn't require you to know how the CPU works on a technical level, maybe just understanding things like clock cycles, CISC vs RISC, and the difference between the ALU, CU, etc., but most of this stuff is covered in any entry level college assembly coursework anyways. Learning more never hurts though.
Dude, thank you!!! Already have some preliminary ideas for an OS sketched out. I’ll have to finish my other projects first but seriously thank you. This lowers the entry gate a little for me.
Also fuck with assembly on old school computer emulators instead. That's way more useful for your time. A more fun way to do it is to do Gameboy rom hacks
interrupts are probably the most annoying thing to get through when starting, but there's still plenty of resources online and example code to look at to see how other people catch and handle interrupts, could also be something with the GDT not being set up properly.
@dpacarana well my GDT is fine and yes there are many resourses online but not that many for how to do it in assembly. i still managed to almost get it working but i think i still have to learn a lot about how it actually works. thanks anyway!
You forgot that the first step is to write your own compiler.
i think this is a joke but i have actually started doing that, and so far i have an interpreter that is a huge memory leak, and about a 3rd of a linker
also elfs are weird
@@ArchieHalliwellI don’t know man, I just got the advice from some guy who used to work at Ticketmaster.
>MoistCritical gives you OS Dev advice
tldw, learn assembly and read the osdev wiki
thank you
charlie moust critcal
my answer: don't
just use linux and change the wall paper call it a new OS
but what's the fun in that?
@@tiagosilva7841 Oh, there'll be enough fun building **Linux ...from scratch**
(title card)
@@tiagosilva7841 Selecting the best wallpaper is thrilling, bro
Thank you penguinz0
no way charlie
"Publicly subscribed to you (1 year)" making charlie comments ggs
@@dpacarana i've been foiled 😔
i dropped my OS project a bit ago to work with my friends on gamedev, but this video made me want to get back into it again.
Maybe one day i WILL write my own os for the shits and giggles
tldw; the hardest question you must ask yourself during programming is: is your operating system osakalicious or is it chiyo intellect
I've just been cobbling together the craziest ideas I've had to make my OS. The memory allocator is a sparse hexadecimal tree, all OS data includes a function on how to read the data (useful for windowing), and I only have support for linear vector fonts. It's deranged and I love working on it.
thats what its all about
How does that memory allocator work exactly?
@@spaghettiking653 The root node divides the memory space into 16 chunks, and each child does the same. A node is only required if the memory it keeps track of is partially full, so each node is deleted if it is full or empty. The node has two 16-bit integers and 16 pointers. The integers are bitfields, and the first one stores whether or not the corresponding child node exists, and the second integer stores whether a child node is full.
I had an idea for another weird os, in that the filesystem itself would be a sqlite database, allowing for fast search and indexing with tags, in the future joined with a local LLM to tag everything neatly. I heard BeOS tried something similar but it was pretty slow back then, with disk HDs and such.
a really good headstart into OSDev would be learning how a CPU works (which involves assembly). You communicate with it a LOT when writing your own Operating System. And if you'd like to use a high-level language, learn C/C++ and how it interacts with ASM.
Pretty much anything you need to know about the CPU is understood by just studying more assembly, specifically within the context of osdev. Most OS stuff doesn't require you to know how the CPU works on a technical level, maybe just understanding things like clock cycles, CISC vs RISC, and the difference between the ALU, CU, etc., but most of this stuff is covered in any entry level college assembly coursework anyways. Learning more never hurts though.
Steal the codebase from a guy and restyle it 😂
This is the greatest OS writing tutorial of All Time
me when the critical is moist
thank you for using your platform to spread the niche topic known as osdev i very much appreciate it
Dude, thank you!!! Already have some preliminary ideas for an OS sketched out. I’ll have to finish my other projects first but seriously thank you. This lowers the entry gate a little for me.
Your content is beautiful & helpful please continue
Also fuck with assembly on old school computer emulators instead. That's way more useful for your time.
A more fun way to do it is to do Gameboy rom hacks
Ok let's fork Temple OS
💫Work for God 💫
challenge accepted
i dropped my os recently coz i failed to set up IDT (i am stupid)
interrupts are probably the most annoying thing to get through when starting, but there's still plenty of resources online and example code to look at to see how other people catch and handle interrupts, could also be something with the GDT not being set up properly.
@dpacarana well my GDT is fine and yes there are many resourses online but not that many for how to do it in assembly. i still managed to almost get it working but i think i still have to learn a lot about how it actually works. thanks anyway!
Just fork a Linux distro
That's more devops than OSDev
@@fluoriteByte Might as well, easier to maintain, and personalize.
good but ı have a question, does ncurses work without the graphics driver?
miau
hai
"sata andagi :D"
Great Value Moist Critikal
why cant you fork templeOS
would be sacrilegious
lol vulcan fist of god
nice!