Hi,
As my brain has come to a halt regarding this, I'm hereby offering a non-paid chance to work on OS Zin. What I ask you to implement, is paging code, to the point where libmalloc or similar things can be ported over. What I have to provide you is a reasonably good linked-list implementation of a Physical Memory Manager: https://github.com/makerimages/OSZin/bl ... /mem/pmm.c
Interested? Want to help? Just fork the repo and get craking! Let me know on the repo issue #36, if you do!
Your work will be credited for, where credit is due!
Thanks,
Makerimages
Paging wizard needed
- makerimages
- Member
- Posts: 27
- Joined: Sun Dec 28, 2014 11:16 am
- Libera.chat IRC: Makerimages
- Location: Estonia
Paging wizard needed
Working on SinusOS.
- max
- Member
- Posts: 616
- Joined: Mon Mar 05, 2012 11:23 am
- Libera.chat IRC: maxdev
- Location: Germany
- Contact:
Re: Paging wizard needed
Paging code != virtual memory management.
Paging code is just some lines of code. What you are looking for is to have someone write your entire virtual memory management code; I consider that to be a major part of the kernel. It also contains a lot of design decisions that you have to make, and will deeply impact the further internal workings of your kernel. If you don't bother implementing it yourself, you can as well just create a linux distro.
Paging code is just some lines of code. What you are looking for is to have someone write your entire virtual memory management code; I consider that to be a major part of the kernel. It also contains a lot of design decisions that you have to make, and will deeply impact the further internal workings of your kernel. If you don't bother implementing it yourself, you can as well just create a linux distro.
-
- Member
- Posts: 1146
- Joined: Sat Mar 01, 2014 2:59 pm
Re: Paging wizard needed
@max: That's a little harsh. But, I agree that a) a virtual memory manager is more than just the code to enable paging and b) he's not likely to find someone willing to write a complete virtual memory manager.
@makerimages: I suggest that you try to ask for help where needed, read some tutorials, and work on it little by little. I too am getting rather stuck with the memory manager, but if you take it one step at a time, and implement each small little bit (like the code to allocate a new physical page, then the code to allocate a new virtual page, then the code to allocate a physical page to a virtual page, then the code to link it all together, etc.) then the job will be much easier. A good tutorial, in my opinion, is this one: http://www.brokenthorn.com/Resources/OSDev18.html. It will make more sense if you also read the previous chapter (http://www.brokenthorn.com/Resources/OSDev17.html) on physical memory management which, even though your physical memory manager sounds different to the one in the tutorial (and that is perfectly OK), will help you to understand the virtual memory management chapter as the later chapters build on the earlier ones.
@makerimages: I suggest that you try to ask for help where needed, read some tutorials, and work on it little by little. I too am getting rather stuck with the memory manager, but if you take it one step at a time, and implement each small little bit (like the code to allocate a new physical page, then the code to allocate a new virtual page, then the code to allocate a physical page to a virtual page, then the code to link it all together, etc.) then the job will be much easier. A good tutorial, in my opinion, is this one: http://www.brokenthorn.com/Resources/OSDev18.html. It will make more sense if you also read the previous chapter (http://www.brokenthorn.com/Resources/OSDev17.html) on physical memory management which, even though your physical memory manager sounds different to the one in the tutorial (and that is perfectly OK), will help you to understand the virtual memory management chapter as the later chapters build on the earlier ones.
When you start writing an OS you do the minimum possible to get the x86 processor in a usable state, then you try to get as far away from it as possible.
Syntax checkup:
Wrong: OS's, IRQ's, zero'ing
Right: OSes, IRQs, zeroing
Syntax checkup:
Wrong: OS's, IRQ's, zero'ing
Right: OSes, IRQs, zeroing
Re: Paging wizard needed
In that case it's time to take a rest and/or do a little more reading until you get your brain back in gear. If you are going to use paging it is so tightly integrated into the rest of the OS that not understanding it will mean you make poor design decisions.makerimages wrote:As my brain has come to a halt regarding this
And, let's face it, what's the incentive for someone else to help you out with the difficult parts of your pet project? Credit given in yet another hobby OS? Don't make me laugh.
-
- Member
- Posts: 1146
- Joined: Sat Mar 01, 2014 2:59 pm
Re: Paging wizard needed
Furthermore, there's no fun in hobby OS development unless you actually do the work yourself. There's nothing like running a machine on only the code that you yourself have written.iansjack wrote:And, let's face it, what's the incentive for someone else to help you out with the difficult parts of your pet project? Credit given in yet another hobby OS? Don't make me laugh.
When you start writing an OS you do the minimum possible to get the x86 processor in a usable state, then you try to get as far away from it as possible.
Syntax checkup:
Wrong: OS's, IRQ's, zero'ing
Right: OSes, IRQs, zeroing
Syntax checkup:
Wrong: OS's, IRQ's, zero'ing
Right: OSes, IRQs, zeroing