[Q] Went through meaty skeleton - What's next?

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
Post Reply
User avatar
Sophite
Posts: 9
Joined: Wed May 10, 2017 1:54 pm

[Q] Went through meaty skeleton - What's next?

Post by Sophite »

Hello, it's me again.

I started implementing some of libc (specifically string).

But, I'm not sure what to do next kernel-wise. :?:

I know I need to implement Userspace and threading and memory management and...
But I'm not sure where/how to start.

Thank you. :D
-Sophite
glauxosdever
Member
Member
Posts: 501
Joined: Wed Jun 17, 2015 9:40 am
Libera.chat IRC: glauxosdever
Location: Athens, Greece

Re: [Q] Went through meaty skeleton - What's next?

Post by glauxosdever »

Hi,


Maybe you can take a look at Going Further on x86. It is served as an outline to write the kernel basics (although some things are still missing, like driver interfaces, better scheduling advice, etc).

For memory management, Brendan has written a very good guide ([wiki]Brendan's Management Guide[/wiki]). For scheduling, he has written guides on the forums (but not ported them over to the wiki). And then there are some other things more experienced OS developers are aware of, so better wait for further replies too.

Hope this helps. :-)


Regards,
glauxosdever
LtG
Member
Member
Posts: 384
Joined: Thu Aug 13, 2015 4:57 pm

Re: [Q] Went through meaty skeleton - What's next?

Post by LtG »

As I see it you have to main options:
1) Start implementing kernel features that "all kernels need"
2) Start implementing your first userland app and implement kernel features as needed

Second will guide your kernel needs and may be more rewarding for some, others prefer the first.

If you want to do #1, and because of that are asking what next, then if you don't have memory management I would recommend that. Without memory (proper memory management) everything is a pain.

If you want to do #2 then I would start by deciding what type of OS are you doing, GUI or CLI, if CLI then some sort of shell would be first app and can guide you on what kernel feats you need, if GUI then maybe Windows like Notepad as it's simple and useful and will guide a lot of the kernel feats you need.

In both cases I would keep the user app simple, especially with the shell I wouldn't do any auto completion, etc, and reserve that stuff for second or third shell..
Post Reply