Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


advertisement
 

From Palm OS to Symbian OS: Making the Switch, Part 1 : Page 4

Thinking about switching from Palm OS to Symbian OS? The proliferation of smartphones has made it necessary to build many wireless applications from the operating system on up and Symbian OS seems to have this market cornered. This two part series outlines the differences between developing for Palm OS and for Symbian OS. So if you do decide to switch, you'll know what to expect.


advertisement
Multithreading and Co-operative Multitasking
By default, Symbian OS applications have one thread. Symbian encourages you to use single threaded applications unless you really need multithreading. One reason for this is that writing multithreading applications is more difficult. Another reason is that since Symbian OS supports asynchronous function calls for almost all of its system services, you can often use asynchronous calls and active objects in place of threading with much less programming work and system overhead.

"Since Symbian OS supports asynchronous function calls for almost all of its system services, you can often use asynchronous calls and active objects in place of threading with much less programming work and system overhead."

Asynchronous calls also allow you to create co-operative multitasking programs. This, in turn, allows you to avoid multithreading with its attendant use of system resources and additional programming complexity.



When an application uses an asynchronous call to perform a function, such as sending data via a socket, the application can then do other work while waiting to poll the other application or device for a signal. This is the key difference between asynchronous calls' co-operative multitasking and multithreading's pre-emptive multitasking. In co-operative multitasking, you program the interval to check, or poll, on the result of your call. With multithreading, the call's result preempts your application's thread or threads depending on the absolute or relative priority the developer has given it.

Symbian OS also encapsulates asynchronous calls into active objects. This makes them easy to manipulate. In addition, since you use active objects within the Symbian OS itself for system service access, it's relatively simple to access system resources such as the file server, messaging server, and sockets server with a straightforward API call.

Next Time
As you can see, despite the superficial similarities, programming in Symbian isn't just like programming a Palm PDA. It's not a matter of simply knowing C++. Not only does Symbian offer more full access to the operating systemstet APIs, and the underlying hardware, its object-oriented approach is fundamentally different from Palm's approach.

Part 2 of this series will discuss the differences in code reusabillity and shared libraries, connectivity, and how each system handles memory.



Steven J. Vaughan-Nichols is editor of Practical Technology (a newsletter and Web site for CIOs, CTOs, and system integrators. He's been using and writing technology for much too long and can be reached at: sjvn@vna1.com.
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap
Thanks for your registration, follow us on our social networks to keep up-to-date