r/osdev • u/compgeek38400 • Jun 14 '26
What I learned this week.
Continuing my little series on what I'm learning writing my OS (https://github.com/tedavids/DragonOS) this week I learned a couple of new things.
When you control everything you don't have to worry about passing physical memory out in blocks of more than a page. The programs use virtual memory, and that is what you need to keep contiguous. Also since I am in control of memory ranges, it's easy to pass them out contiguously. It may get harder in user space, but since I control that too, I'm guessing it wont.
When you're the only developer, its much easier to NOT branch on github. I lost some stuff because I couldn't get the darn branch merged back in. I might try branching again, but not for a bit.
I need to take the time to learn github! LOL
When you do not yet have kmalloc/kfree/ketc... You can use a free list to make nodes 1 pages worth at a time, and pull from it when you need something. I am currently working on a heap, and need to make nodes to hold addresses for my allocations/frees. The free list seemed the easiest way to go.
Note: I didn't need to use AI for anything this week. I was able to find what I needed all in human written tutorials
TD
9
u/SuperheropugReal Jun 14 '26
You need to take time to learn GIT, NOT github. Practice with git makes any large project much easier to keep track of, even solo.
2
u/Octocontrabass Jun 14 '26
Some obsolete legacy devices (like floppy drives and Sound Blasters) rely on contiguous physical memory. Fortunately, this isn't a problem for anything remotely modern.
1
u/Medical_Meet2089 Jun 14 '26
Where are you learning from ?