News Archive (1999-2012) | 2013-current at LinuxGizmos | Current Tech News Portal |    About   

uClinux DOES multi-task

Jun 12, 2000 — by Rick Lehrbaum — from the LinuxDevices Archive — 14 views

In the initial publication of “My Linux is smaller than your Linux”, there was an incorrect statement to the effect that uClinux does not provide multi-tasking capabilities due to lack of an MMU in the chips it supports. (That inaccuracy has now been corrected.)

I'd like to point out that uClinux DOES support multi-tasking, although there are a few limitations imposed by the lack of MMU support . . .

  1. uClinux does not implement fork() insted it implements vfork(). This does not mean no multitasking, it simply means that the parent blocks until the child does exec() or exit(). You still get full multitasking (honest, not half way, but really with no limitations).

  2. uClinux does not have autogrow stack and no brk(). You need to use mmap() to allocate memory (which most modern code already does). There is a compile time option to set the stack size of a program.

  3. No memory protection. Any program can crash another or the kernel.

  4. Some architectures have various code size models, depending on how position independance is achieved.
uClinux is a really effective platform to deploy very high volume products on. We (the uClinux team) have really enjoyed developing it :-)

Cheers,
Jeff [email protected]

Related stories:
My Linux is smaller than your Linux
uClinux — Linux on Microcontrollers

 
This article was originally published on LinuxDevices.com and has been donated to the open source community by QuinStreet Inc. Please visit LinuxToday.com for up-to-date news and articles about Linux and open source.



Comments are closed.