|
From: Jacob C. <jac...@ho...> - 2000-01-26 19:13:15
|
>"Frank V. Castellucci" wrote: [snip] >I think we have two options: > >One-to-One : Uses the Linux "clone" api which is more efficient than >fork. I perceived that clone, even though it calls it a process in the >'ps' display, is still running in the address space of the parent and >they share the memory space. Thread n modifies something and it is >visible to the other threads or main process thread. > >Many-to-Many : Combo of "clone" and a homegrown scheduler that takes its >que from the kernel. > >I believe the latter to be an expensive (time, resources, acceptance) >proposition but attractive none the less. for performance reasons i presume? (referring to attractiveness) we may be able to mitigate some of the time necessary for the many-to-many implementation by taking a look at the scheduling code for GNU Pth. I think it is under the GPL so we can't cut'n'paste but taking a look i think would be useful. >If we think foward to the frameworks endeavor, it is reasonable to >construct a Thread or Process framework that can be used to serve up >default libcorelinux++ Thread (one-to-one) or whatever the framework >extension desires (many to many, etc.). i agree. this would leave the door open for a many-to-many implementation with a readily useable one-to-one implementation. |