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..
Paging done what's Next?
- codemastersnake
- Member
- Posts: 148
- Joined: Sun Nov 07, 2004 12:00 am
- Contact:
Re: Paging done what's Next?
Hi,
Cheers,
Brendan
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:* 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?
Always fix existing bugs before implementing new bugs!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?
Yes (probably).Snake wrote:* If I create a new process would I be needing to create a new page directory etc..
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.
-
- 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?
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.Snake wrote:* If I create a new process would I be needing to create a new page directory etc..
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.
- codemastersnake
- Member
- Posts: 148
- Joined: Sun Nov 07, 2004 12:00 am
- Contact:
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!
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!
Hi,
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
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).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!
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.
- codemastersnake
- Member
- Posts: 148
- Joined: Sun Nov 07, 2004 12:00 am
- Contact:
You must be happy nowAlso, 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.
Yeah I thought whole night about it and have decided that I'll sticck to the stability for the next release.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.
Thanks for suggestion.