[gsoc 2011] - Interested in Implementing Userland IPC subsystem and VFS Quota

Samuel J. Greear sjg at evilcode.net
Sun Feb 27 11:05:53 PST 2011


On Sun, Feb 27, 2011 at 4:37 AM, Arjun S R <arjun1296 at gmail.com> wrote:

Hi,I am graduate student interested in computer science especially in system programming. I went through the GSoC project list and I am interested in working on the following projects.1) Userland System V Shared Memory / Semaphore / Message Queue implementation



2) VFS Quota systemHow can i proceed? Is there any qualification task?--failthfullyArjun S R
Arjun,
I submitted multiple student proposals for the 2010 GSoC, the VFS Quota 
proposal I submitted was not selected. Looking back on it now, it is a 
bit sparse/light and could have used more detail and a more specific 
timeline -- as long as you communicate well with your mentor they should
 allow timeline alterations as needed, but that said, don't be overly 
optimistic. Here is my 2010 proposal, w/ some extra notes, this should contain most of the information you need to figure out what this project would involve:

https://gist.github.com/846391

There are no qualification tasks, but the more well researched your 
proposal is the better chance you have of it being selected. Either of 
these projects will require excellent working knowledge of C, and some 
concept of the userland/kernel interface and unix development 
methodologies. Apart from that, you should be able to pick up the rest 
of what you need as you go along.

As for the SysV project, the way I would proceed would be to thoroughly 
research the API's in question and break the potential implementation 
into 4 parts, what can be shared between them (they all use some sort of
 alphanumeric namespace, for example), shared memory, semaphores and 
message queues. Approach each of these as a sub-project and prioritize 
them, there may not be time within the constraints of GSoC to complete 
the implementation of all 3. The project would vastly prefer a complete,
 working, clean, well tested and committable implementation of shared 
memory or semaphores than a marginally working implementation of 2 or 
all 3. As part of this research work you will also need to determine 
whether any additional kernel support will be necessary and what that 
will look like, for example you might need some kernel help in the area 
of security. (It is certainly possible that the entire thing can be 
fully implemented in userland without any additional kernel support, but
 you will have to determine that). I would look at using a daemon to 
manage the namespaces and security, etc. -- You should also plan to 
extensively test your work with real world complex software (like 
postgresql) and show rough benchmarks that speak to the performance viability.

So to answer your question on how to proceed (this applies to all GSoC 
students, not just you), pick a task or tasks, research them extensively
 and be prepared to write a well informed proposal when GSoC 2011 enters
 that phase. A thoroughly researched proposal has a high probability of 
being chosen.
Whether DragonFly is accepted as part of GSoC 2011 or not, either of these projects are applicable to NetBSD or FreeBSD as well.
Hope that helps,
Sam




More information about the Kernel mailing list