Hi Olaf, Fredrick and all,
          Thanks a lot for all the suggestions and comments. I am sorry for
all the misconceptions. I am reworking on the entire proposal so that meets
the requirements of "the Hurd" community.

     I want to bring few points to your notice, though I had understood the
need for GNU/Linux compatibility of the procfs that is to be implemented, I
always felt that the GNU System should be always ahead of the GNU/Linux or
anyother systems, either in terms of design, or performance or in terms of
functionality. So I thought it would be nice to come up with a layered
design so that new features can be added easily whenever community feels
there is a need which keeps "the Hurd" not only on par with GNU/Linux but
ahead of it both in terms of desgin and features.

   But understanding that Free Software is not all about what I want but its
all about what the community wants, I have considerd all the suggestions
from you people and am reworking on the proposal so that my design falls in
line with "the Hurd"'s needs at the moment, i.e a working totally GNU/Linux
compatible monolithic design.

> The next stage of the project is to develop a standard set of
>  > functions(I will call this as Intra-procfs Programming
> > Interface(IpPI)) which provides basic functionalities required to
> > setup a virtual filesystem, in particular procfs. These are nothing
> > but the callback functions that use the services of the libnetfs
> > library but provides the interface to implement procfs in particular
> > (Advantages in Benefits section).
>
> I'm not sure such a middle layer is really necessary. Don't
> over-engineer. Start by implementing the actual functionality, and only
> if you indeed encounter a lot of code duplication, think about improving
> the infrastructure... Think KISS and YAGNI :-)


I really understood what I had done after seeing your comment with the above
"KISS and YAGNI" phrase. I am sorry I agree that I have over-engineered
things, it was all in over enthusiasm to contribute to "the Hurd" community.


>
> > One can now think of procfs problem comparable to networks problem in
> > which monolithic designs were replaced by layered designs through OSI
> > reference model and more practical TCP/IP architecture resulting in a
> > robust design of networks. Similarly by layering the design of procfs
> > which includes 3 layers 1.Intra-procfs PI 2.The core functionalities
> > of procfs 3.procfs API We are making procfs system highly robust,
> > reliable. So if new functionalities are to be added, its just a matter
> > of using the IpPI. Also if some functions are to be changed its only a
> > matter of changing the implementation of the function without
> > affecting the other two layers and this applies to those two layers
> > too.
> >
> > The above discussed benefit is more in compliance with the highly
> > modular approach of Microkernels and I feel this falls in line with
> > the Hurd philosophy.
>
> I understand your goal of achieving modularity; but that's not the right
> way of doing it. Modularity in the Hurd is not achieved by sophisticated
> layering within one process. Rather, it is achieved by splitting
> functionality into individual servers (translators).
>
> As Frederik already pointed out, one thing that we could do is splitting
> out the global bits, like /proc/uptime etc. into individual translators
> -- they are pretty independant, and there is really no good reason to
> implement them all in one translator. Each of these files could be
> easily provided by a simple trivfs-based single-node translator.
>
> The per-process information, which form the core of procfs, are more
> tricky. Ideally, we could use a multiplexer, which launches individual
> translators for each pid and possibly also for each piece of information
> per pid. However, we have very little experience with doing such things
> efficiently. This is definitely outside the scope of this project.


Since I am not 100% sure of using multiplexers and since I was not able to
go through Documentation to this stuff due to the time constraints at the
moment, I will not comment on this now. Since you have already said that its
outside the scope I hope I can leave this for now.

>
>
> While it might be interesting to look into such possibilities, should
> you be able to finish the main functionality before time, I suggest to
> completely leave it out of the plan, and stick to the existing
> "monolithic" design for now... Getting a functional and compatible
> procfs is presently much more important than experimenting with more
> elegant design choices :-)


Yeah understood, working on the proposal.

Your plan looks pretty sound all in all; but I have some doubts about
> the middle phases (3-5): You want to work layer by layer. This is
> problematic, because if the project turns out harder than expected, and
> you can't complete it all, we are left with no visible improvement at
> all...


I am sorry but I still want to mention that there is no room to think
whether I would complete the project or not. GSoC or no GSoC or after GSoC I
assure that I will continue my commitments with "the Hurd" community. We
will always have some visible improvements. I have mentioned in the proposal
why "the Hurd" is so close to my heart and why I contribute to the GNU
system, also why I chose Hurd of all the other organizations for GSoC.

I think it makes much more sense to implement/fix the individual bits of
> information one by one. (In fact, you could try to implement one of the
> easiest bits even now during the application phase, to convince us of
> your programming skills :-) )


I am working on this. I will try to do atleast one implementation during
this application phase. Since monthly tests are going on in the college I
have not been able to invest much time on this part, i.e starting the
implementation since I am hardly getting to prepare the proposals. I will
try my level best to show you some code atleast before the proposal process
ends by April 11th or 14th, is that OK? I request you people to understand
the difficulties at the moment. I would be happy if I am given some time to
work. Kindly oblige.




-- 
Thanks and regards,
Madhusudan.C.S

Reply via email to