Paging wizard needed

This forums is for OS project announcements including project openings, new releases, update notices, test requests, and job openings (both paying and volunteer).
Post Reply
User avatar
makerimages
Member
Member
Posts: 27
Joined: Sun Dec 28, 2014 11:16 am
Libera.chat IRC: Makerimages
Location: Estonia

Paging wizard needed

Post by makerimages »

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
Working on SinusOS.
User avatar
max
Member
Member
Posts: 616
Joined: Mon Mar 05, 2012 11:23 am
Libera.chat IRC: maxdev
Location: Germany
Contact:

Re: Paging wizard needed

Post by max »

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.
onlyonemac
Member
Member
Posts: 1146
Joined: Sat Mar 01, 2014 2:59 pm

Re: Paging wizard needed

Post by onlyonemac »

@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.
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
User avatar
iansjack
Member
Member
Posts: 4685
Joined: Sat Mar 31, 2012 3:07 am
Location: Chichester, UK

Re: Paging wizard needed

Post by iansjack »

makerimages wrote:As my brain has come to a halt regarding this
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.

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.
onlyonemac
Member
Member
Posts: 1146
Joined: Sat Mar 01, 2014 2:59 pm

Re: Paging wizard needed

Post by onlyonemac »

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