Page 1 of 1

steps in development

Posted: Wed Feb 04, 2009 10:40 am
by yemista
Im getting to the point where Im able to start coding a real kernel, but I was just wondering, is it better to write the memory manager before the setting up a multiple processes? Im more inclined to work on process switching first since I know more about it, but Im not sure if it might be wiser to write the memory manager, of course Id have a very primitive memory manager to do this, but itd be nothing more than handing out same size blocks of memory to run the process in with no protection, but itd be enough to make sure processes are working. It seems to me that the two are independant of each other, and if I code process switching first I think that I can just slap on the memory manager and it shouldnt really change things. Any thoughts?

Re: steps in development

Posted: Wed Feb 04, 2009 10:55 am
by Combuster
If you use paging, you will need a physical memory manager and a virtual memory manager to create processes (the actual switching doesn't need much).

The process of retrofitting something different generally leads to more problems than having the interface right the first time (even if the implementation behind it is a stub)

Re: steps in development

Posted: Wed Feb 04, 2009 11:14 am
by yemista
So you are saying its a better idea to take the time now to get the memory management working to avoid future problems? I do intend to implement paging

Re: steps in development

Posted: Wed Feb 04, 2009 11:49 am
by Combuster
Yes. Especially when you use paging you will need at least the virtual memory manager (otherwise you can't access a thing).

Also, you probably won't be implementing paging, Intel did that for you :wink:

Re: steps in development

Posted: Wed Feb 04, 2009 11:54 am
by yemista
Ok, thank you very much for your help