Quote:
Originally Posted by hacker
Palmsource didn't decide to nix multitasking from their OS... they were limited BY LICENSE from exposing more than 1 thread to the OS from the underlying kernel... Most of these "limitations" are never technical in nature.. and this is no exception.
|
While that was true at one point, Garnet actually uses a kernel that was developed in-house by Palm. In fact, the Garnet kernel is an early version of the kernel that was done for Cobalt.
One of the issues is that there is a lot more to multithreading than just having the kernel functionality. For example, though you (well we and our licensees) could spawn a bunch of threads on Garnet, there is very little those threads could actually -do-. None of the UI system in Garnet was thread-safe, so nobody except the single main application thread could do any UI at all. I don't other parts of Garnet all that well, but I don't think there were many other things the threads could do -- there were probably even limitations on what IO operations could be done.
When I got to Palm, Cobalt kernel and lower-level services were basically up and working... then we spent the following two years making the rest of the system actually able to take advantage of them.