Published on Dec 06, 2015
Symbian OS is designed for the mobile phone environment. It addresses constraints of mobile phones by providing a framework to handle low memory situations, a power management model, and a rich software layer implementing industry standards for communications, telephony and data rendering.
Even with these abundant features, Symbian OS puts no constraints on the integration of other peripheral hardware.
This flexibility allows handset manufacturers to pursue innovative and original designs. Symbian OS is proven on several platforms. It started life as the operating system for the Psion series of consumer PDA products (including Series 5mx, Revo and netBook), and various adaptations by Diamond, Oregon Scientific and Ericsson. The first dedicated mobile phone incorporating Symbian OS was the Ericsson R380 Smartphone, which incorporated a flip-open keypad to reveal a touch screen display and several connected applications.
Most recently available is the Nokia 9210Communicator, a mobile phone that has a QWERTY keyboard and color display, and is fully open to third-party applications written in Java or C++. The five key points - small mobile devices, mass-market, intermittent wireless connectivity, diversity of products and an open platform for independent software developers - are the premises on which Symbian OS was designed and developed.
This makes it distinct from any desktop, workstation or server operating system. This also makes Symbian OS different from embedded operating systems, or any of its competitors, which weren't designed with all these key points in mind. Symbian is committed to open standards. Symbian OS has a POSIX-compliant interface and a Sun-approved JVM, and the company is actively working with emerging standards, such as J2ME, Bluetooth, MMS, SyncML, IPv6 and WCDMA.
As well as its own developer support organization, books, papers and courses, Symbian delivers a global network of third-party competency and training centers - the Symbian Competence Centers and Symbian Training Centers. These are specifically directed at enabling other organizations and developers to take part in this new economy. Symbian has announced and implemented a strategy that will see Symbian OS running on many advanced open mobile phones. Small devices come in many shapes and sizes, each addressing distinct target markets that have different requirements.
The market segment we are interested in is that of the mobile phone. The primary requirement of this market segment is that all products are great phones. This segment spans voice-centric phones with information capability to information-centric devices with voice capability. These advanced mobile phones integrate fully-featured personal digital assistant (PDA) capabilities with those of a traditional mobile phone in a single unit.
There are several critical factors for the need of operating systems in this market. It is important to look at the mobile phone market in isolation. It has specific needs that make it unlike markets for PCs or fixed domestic appliances. Scaling down a PC operating system, or bolting communication capabilities onto a small and basic operating system, results in too many fundamental compromises. Symbian believes that the mobile phone market has five key characteristics that make it unique, and result in the need for a specifically designed operating system:
1) mobile phones are both small and mobile.
2) mobile phones are ubiquitous - they target a mass-market of consumer, enterprise and professional users.
3) mobile phones are occasionally connected - they can be used when connected to the wireless phone network, locally to other devices, or on their own.
4) manufacturers need to differentiate their products in order to innovate and compete in a fast-evolving market.
This describes the key characteristics required of an operating system designed for mobile phones and explains why Symbian OS is the best-in-class mobile operating system.
Mobile phones are both small and, by definition, mobile. This creates high user expectations. For instance, if you have your agenda on a phone that you also use to make calls and exchange data, you expect to be able to carry it with you at all times and to be instantly available whenever you want to use it. Fulfilling these expectations makes considerable demands on power management. The device needs to be responsive in all situations and cannot afford to go through a long boot sequence when it is turned on. In fact, the device should never be powered down completely since it needs to activate timed alarms or handle incoming calls. At the same time, a mobile phone must provide many hours of operation on a single charge or set of batteries. Meeting these contradictory requirements can only be done if the whole operating system is designed for efficiency.
Reliability is a major issue for mass-market phones. Data loss in a personal mobile phone causes a loss of trust between the user and the phone. A mobile phone therefore must be at least as resilient as paper diaries and agendas. Recalling phones to install service packs is a commercial and practical last resort - a mobile phone should never lock up or come with a major software defect. In fact, to use a PC term, it should never ever need a "reboot"! This is a far cry from desktop computers where bugs, crashes and reboots are expected.
It may come as a surprise to many computer users that a robust and reliable operating system is perfectly achievable. Even though nobody can guarantee bug-free software, a good operating system can make it much easier to write robust and reliable applications. Reliability requires good software engineering (including object-orientation) and a good error-handling framework. Engineering best practice greatly helps reduce the number and severity of bugs while the error-handling framework enables graceful recovery from run-time errors, such as running out of memory, low battery power or dropping a communication link.
Reducing the possibility of user code making the whole system unstable goes a long way towards achieving robustness. Ideally, the kernel, with its privileged code, should be small. System servers running without special privilege should handle much of the functionality conventionally handled by device drivers.
An effective memory management system is needed to prevent memory leaks. System resources should be released as soon as they are no longer needed and an effective, easy-to-use error-handling framework should manage out-of-memory errors properly. For systems that are never completely shut down and cannot be rebooted, keeping an accurate track of resources makes the difference between peak performance at all times and slow degradation to partial, or total, lack of usability. Applications and system modules that allocate blocks of memory should cater for the possibility that none might be available. Defensive programming has to be applied from the operating system through to the application level.
However, reliability alone is not enough to make good products. Sound consumer design is also necessary, where:
1) Product applications take advantage of the mobile phone's unique characteristics as well as its environment
2) Products should be designed to meet current usability and future developments in wireless technology
3) Consistency of style is paramount - if a feature is too complex to use, then it cannot justify either the time it took to develop or the space it takes in the device.
An operating system targeted at mobile phones must support these design principals by offering a high level of integration with communication and personal information management (PIM) functionality. Symbian OS combines high functionality middleware with superior wireless communications through an integrated mailbox and the integration of Java and PIM functionality (agenda and contacts).