Page 1 of 1
Paging done what's Next?
Posted: Thu Mar 27, 2008 6:17 am
by codemastersnake
Hi all!
I have implemented paging now... Thanks to AJ for his articles....
Well now that I have created a page directory for Kernel and can use malloc() and free(). My questions are:
* I tried to crash my Os and it did by agian and again allocating memory. but it always crash after 4MB limit. Is it due to the page directory size or the heap size?
* Next Now that I have implemented paging I want to satrt with multitasking. So I go right away or is there anything I need to learn first?
* If I create a new process would I be needing to create a new page directory etc..
Re: Paging done what's Next?
Posted: Thu Mar 27, 2008 6:29 am
by Brendan
Hi,
Snake wrote:* I tried to crash my Os and it did by agian and again allocating memory. but it always crash after 4MB limit. Is it due to the page directory size or the heap size?
If you think someone who has never seen your code can answer this question better than the person who wrote it, then it's likely that the paging and heap management are both entirely buggy.
Snake wrote:* Next Now that I have implemented paging I want to satrt with multitasking. So I go right away or is there anything I need to learn first?
Always fix existing bugs before implementing new bugs!
Snake wrote:* If I create a new process would I be needing to create a new page directory etc..
Yes (probably).
Cheers,
Brendan
Re: Paging done what's Next?
Posted: Thu Mar 27, 2008 6:55 am
by xyzzy
Snake wrote:* If I create a new process would I be needing to create a new page directory etc..
Depends on your OS design. Most people will want to do this so that processes run separately from each other, but some OSes, Singularity for example, use SIPs and can run entirely in one address space.
Also, slightly off-topic and I don't mean to sound rude, but I object to the image in your signature saying "Best place for a newbie to start from" if you have difficulty implementing core things yourself. Plus your site
still shows NSFW ads.
Posted: Mon Mar 31, 2008 6:43 pm
by codemastersnake
Ok So now I have a heap and dynaic memory manager in my Operating System. And everything has been tested. Dynamic memory manager is working perfect.
So Iknow I would like to recieve some suggestions about what to do next. I have plotted following options:
* Make my present KErnel more stable
* Add functionality of system calls
* Move on with multitasking
I want to add multitasking to my OS but also want to make it more stable for next release. So If you would have been at my place then what would you have chosen!
Posted: Tue Apr 01, 2008 1:40 am
by Brendan
Hi,
Snake wrote:I want to add multitasking to my OS but also want to make it more stable for next release. So If you would have been at my place then what would you have chosen!
It's very hard to find bugs like race conditions, re-entrancy problems, live-lock dead-lock, etc until you've implemented multitasking (and SMP). However, it's easier to find one bug at a time than to try and figure out what's going wrong when there's several bugs (as one bug can confuse your attempts to find a diffferent bug).
Therefore I'd try to make the existing code as stable as possible, then implement multitasking (and SMP) and then I'd try to make the existing code as stable as possible again.
Cheers,
Brendan
Posted: Tue Apr 01, 2008 3:38 am
by codemastersnake
Also, slightly off-topic and I don't mean to sound rude, but I object to the image in your signature saying "Best place for a newbie to start from" if you have difficulty implementing core things yourself. Plus your site still shows NSFW ads.
You must be happy now
Therefore I'd try to make the existing code as stable as possible, then implement multitasking (and SMP) and then I'd try to make the existing code as stable as possible again.
Yeah I thought whole night about it and have decided that I'll sticck to the stability for the next release.
Thanks for suggestion.