[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[microblaze-uclinux] Re: multiprocessing
Matthew Rubenstein wrote:
> On Fri, 2004-04-02 at 00:09, Greg Ungerer wrote:
>>Matthew Rubenstein wrote:
>>> Where are the apps? Linux on FPGA is a means to an end, not an end in
>>>itself: familiar development environment for new FPGA tools. Is there an
>>>archive of apps that run under MicroBlaze? With MicroBlaze omitting
>>>fork() in favor of vfork() (inherited from uCLinux, with no MMU), even
>>>the ancient Unix multitasking patterns are unavailable.
>>I don't understand what you mean here. uClinux supports true
>>multitasking, using vfork doesn't preclude this. It does
>>preclude the child running in the parents context, but there
>>is ways around this, and in many typical embedded applications
>>it is just not a problem in practice.
> Using fork() is a very common technique for multitasking; vfork()'s
> omission of the parent's page tables and access to other volatile data
> does not allow its use in simple porting of existing source code to
In itself this is a wrong. Simple porting is true for most
programs to uClinux. The vfork/fork issue only affects a small
number of "standard" applications (for example apache, samba, etc).
And like I said, these can still be made to run. Samba is simple,
just launch it from inetd instead of it running as its own server.
> But that's an opportunity: the FPGA parallelism is a much
> better infrastructure than the roundrobin multitasking simulated by
> MMUs in other *nixes.
I agree that the FPGA parallelism is better for parallel tasks.
But simulated multitasking is not tied to having an MMU.
Multitasking in uClinux is the same as multitasking in Linux.
There is no difference, and the same "save-state" technique is
used. The presence or absence of an MMU is just part of a process
state that is saved and restored.
> And without the distraction of fork(), true
> multiprocessing will underlie the ported MB/uCL apps. This is a virtue,
> born of necessity, of the MB/uCL platform, which makes it superior to
> both other uCLinux and even MMU *nix platforms.
But again, I don't see how having an MMU or not has any impact
on this. Exposing the possible parallelism is the true power.
Greg Ungerer -- Chief Software Dude EMAIL: firstname.lastname@example.org
SnapGear -- a CyberGuard Company PHONE: +61 7 3435 2888
825 Stanley St, FAX: +61 7 3891 3630
Woolloongabba, QLD, 4102, Australia WEB: http://www.SnapGear.com
microblaze-uclinux mailing list
Project Home Page : http://www.itee.uq.edu.au/~jwilliams/mblaze-uclinux
Mailing List Archive : http://www.itee.uq.edu.au/~listarch/microblaze-uclinux/