[[!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"]] 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: --- ####24th of May - 28th of May: * modifying vm_fault_page(..) in [gnumach_src]/vm/vm_fault.c to pagein multi-pages. * Add a new attribute to memory_object called "cluster_size" and allow pager to set/modify it. * Send in the initial patch. ####28th of May - 31st of May: * Code review of the initial patch, discussing the implementation ,and modificiations if necessary. --- * Modify the API of the libpager to support multipages. * Modify one of the translators ( ext2fs ) to implement the new libpager interface. --- * Testing period of the current code. --- * Modify the rest of the translators to implement the new libpager API. --- * Modify vm_pageout_page(..) in [gnumach_src]/vm_pageout.c to pageout multi-pages. --- ### Exams Schedule: * Oral exams : unscheduled, It depends on the professor :-). * Final exams : Starts at 12th of June for two weeks [maybe 2 or 3 days longer than this , not sure]