Paging done 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
codemastersnake
Member
Member
Posts: 148
Joined: Sun Nov 07, 2004 12:00 am
Contact:

Paging done what's Next?

Post 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..
User avatar
Brendan
Member
Member
Posts: 8561
Joined: Sat Jan 15, 2005 12:00 am
Location: At his keyboard!
Contact:

Re: Paging done what's Next?

Post 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
For all things; perfection is, and will always remain, impossible to achieve in practice. However; by striving for perfection we create things that are as perfect as practically possible. Let the pursuit of perfection be our guide.
xyzzy
Member
Member
Posts: 391
Joined: Wed Jul 25, 2007 8:45 am
Libera.chat IRC: aejsmith
Location: London, UK
Contact:

Re: Paging done what's Next?

Post 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.
User avatar
codemastersnake
Member
Member
Posts: 148
Joined: Sun Nov 07, 2004 12:00 am
Contact:

Post 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!
User avatar
Brendan
Member
Member
Posts: 8561
Joined: Sat Jan 15, 2005 12:00 am
Location: At his keyboard!
Contact:

Post 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
For all things; perfection is, and will always remain, impossible to achieve in practice. However; by striving for perfection we create things that are as perfect as practically possible. Let the pursuit of perfection be our guide.
User avatar
codemastersnake
Member
Member
Posts: 148
Joined: Sun Nov 07, 2004 12:00 am
Contact:

Post 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.
Post Reply