summaryrefslogtreecommitdiff
path: root/user/kam.mdwn
diff options
context:
space:
mode:
Diffstat (limited to 'user/kam.mdwn')
-rw-r--r--user/kam.mdwn152
1 files changed, 152 insertions, 0 deletions
diff --git a/user/kam.mdwn b/user/kam.mdwn
new file mode 100644
index 00000000..8ee68866
--- /dev/null
+++ b/user/kam.mdwn
@@ -0,0 +1,152 @@
+[[!meta copyright="Copyright © 2008 Free Software Foundation, Inc."]]
+
+[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
+id="license" text="Permission is granted to copy, distribute and/or modify this
+document under the terms of the GNU Free Documentation License, Version 1.2 or
+any later version published by the Free Software Foundation; with no Invariant
+Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license
+is included in the section entitled
+[[GNU Free Documentation License|/fdl]]."]]"""]]
+
+[[!meta title="Karim Allah Ahmed"]]
+
+<karim.allah.ahmed@gmail.com>
+
+Egypt.
+
+---
+
+#GSoC: 2010 Project
+Goal:
+
+---
+#Roadmap
+
+##Progress
+
+###Preparation Phase:
+
+Understanding how gnumach ticks [ at least the parts related to the project ]
+
+---
+
+####28th of April - 5th of May:
+
+* Reading the paging in code in gnumach.
+* Reading the libpager code, and the multipage patch.
+* Reading the translators code, only the part implementing the external pager interface.
+
+####5th of May - 12th of May:
+
+* Reading the paging out code in gnumach.
+* Understanding IPC in gnumach and reading some code.
+* Reading "[gnu_src]/kern/sched_prim.c"
+
+####12th of May - 19th of May:
+
+* Finishing the leftover code in some of the previous phases.
+* Building a big and a more clear picture of how gnumach ticks [ wiring things together ].
+
+####19th of May - 23th of May:
+
+* Off [College related-activities].
+
+---
+
+###Coding Phase:
+
+Stage 1:
+
+####24th of May - 26th of May:
+
+* Read the freeBSD multipages implementation.
+* Basic Modifications of gnumach's code.
+* err.. scratch this step. It's easier to work on porting OSF Mach's implementation of multi-pages.
+
+####26th of May - 28th of May:
+
+* (./) port OSF Mach's clustered pagein during 'page faults' ( [src]/vm/vm_fault.c )
+* (./) port "cluster_size" attribute of memory objects from OSF Mach.
+* (./) port "behavior" attribute of vm_map entries from OSF Mach.
+
+####29th of May - 2nd of June:
+
+* Off ( Oral Exams )
+
+####2nd of May - 4th of June:
+
+* Finish the port of the previous phase.
+
+---
+
+####4th of June - 4th of July:
+
+* Off ( Final Exams ).
+
+---
+
+Stage 2:
+
+####5th of July - 7th of July:
+
+* (./) Add "cluster_size" attribute to Neal Walfield's patch for the pager library.
+
+---
+
+Stage 3:
+
+####8th of July - 15th of July:
+
+* (./) Patch the diskfs library to use the new pager library API.
+* (./) Patch the ext2fs disk paging related routines to use the new pager library API.
+
+
+####16th of July - 19th of July:
+
+* Testing the current patches.
+* Stuck in compiling code ( http://30.media.tumblr.com/tumblr_l5ie1bb2u91qbjipvo1_500.jpg ) , so I started reading some documentation meanwhile ( [0] , [1] ).
+
+---
+
+Stage 4:
+
+####19th of July - 31th of June:
+
+* Check OSF Mach's mach-defpager.
+* Patch (or port OSF Mach's default pager) HURD's mach-defpager to use the new gnumach's RPCs.
+
+---
+
+Stage 5:
+
+####1st of August - 10th of August:
+
+* Testing the ported translators.
+* Fixing the boot bit-mapped memory allocator patch.
+
+---
+
+Stage 1:
+
+* clustered_paging.diff patch http://lists.gnu.org/archive/html/bug-hurd/2010-06/msg00024.html
+
+TODO:
+
+* Update the headers of the modified files in GNU Mach to reflect the fact that they were ported from OSF Mach.
+
+* Implement posix_madvise(), posix_fadvise, and readahead() in glibc.
+
+* Update the documentation of GNU Mach with the new interfaces.
+
+* (./) Revise and finish the code related to default_memory_manager management in GNU Mach. [done]
+
+* Port the vm_page "clustered" attribute. [ to mark that the page wasn't requested but was paged-in as part of the cluster ].
+
+
+---
+
+
+# Readings
+
+[0] http://www.nongnu.org/ext2-doc/ext2.html
+[1] http://kerneltrap.org/node/452