welcome


Welcome

Minggu, 03 April 2011

Symbian Operating System

Symbian is an open source operating system (OS) and software platform designed for smartphones and currently maintained by Nokia. The Symbian platform is the successor to Symbian OS and Nokia Series 60; unlike Symbian OS, which needed an additional user interface system, Symbian includes a user interface component based on S60 5th Edition. The latest version, Symbian^3, was officially released in Q4 2010, first used in the Nokia N8.
Symbian OS was originally developed by Symbian Ltd.[3] It is a descendant of Psion's EPOC and runs exclusively on ARM processors, although an unreleased x86 port existed.
Devices based on Symbian accounted for 43.5% of worldwide smartphone sales in 2010 Q2.[4] Some estimates indicate that the cumulative number of mobile devices shipped with the Symbian OS up to the end of Q2 2010 is 385 million.[5]
The Symbian platform was created by merging and integrating software assets contributed by Nokia, NTT DoCoMo, Sony Ericsson and Symbian Ltd., including Symbian OS assets at its core, the S60 platform, and parts of the UIQ and MOAP(S) user interfaces.
In December 2008, Nokia bought Symbian Ltd., the company behind Symbian OS; as a result, Nokia has become the major contributor to Symbian's code, as it now had the development resources for both the Symbian OS core and the user interface. Since then, Nokia has been maintaining their own code repository for the platform development, regularly releasing their development to the public repository.[6] File Symbian was intended to be developed by a community led by the Symbian Foundation,[7] which was first announced in June 2008 and which officially launched in April 2009. Its objective was to publish the source code for the entire Symbian platform under the OSI- and FSF-approved Eclipse Public License (EPL). The code was published under EPL on 4 February 2010; Symbian Foundation reported this event to be the largest codebase transitioned to Open Source in history.[8][9]
However, some important components within Symbian OS were licensed from third parties, which prevented the foundation from publishing the full source under EPL immediately; instead much of the source was published under a more restrictive Symbian Foundation License (SFL) and access to the full source code was limited to member companies only, although membership was open to any organisation.[10]
In November 2010, the Symbian Foundation announced that due to a lack of support from funding members, it would transition to a licensing-only organisation; Nokia announced that it will take over the stewardship of the Symbian platform. Symbian Foundation will remain as the trademark holder and licensing entity and will only have non-executive directors involved.
On February 11, 2011, Nokia announced a partnership with Microsoft that would see it adopt Windows Phone 7 for smartphones, reducing the number of devices running Symbian over the coming two years.[11]

Version history

Symbian releases are styled Symbian^1, Symbian^2 etc. (vocalised as "Symbian one", "Symbian two").
Symbian^1, as the first release, forms the basis for the platform. It incorporates Symbian OS and S60 5th Edition (which is built on Symbian OS 9.4) and thus it was not made available as open source.[12]
Symbian^2 was the first royalty-free version of Symbian.[13] While portions of Symbian^2 are EPL licensed, most of the source code is under the proprietary SFL license and available only to members of the Symbian Foundation. On June 1, 2010, a number of Japanese companies including DoCoMo and Sharp announced smartphones using Symbian^2.[14]
Symbian^3 was announced on 15 February 2010.[15] It was designed to be a more ‘next generation’ smartphone platform. The Symbian^3 release introduced new features such as a new 2D and 3D graphics architecture, UI improvements, and support for external displays via HDMI.[16][17] It has single tap menus and up to three customizable homescreens. The Symbian^3 SDK (Software Development Kit) was released September 2010.[18]
Four phones with the open source Symbian^3 have been released, the Nokia N8, Nokia C6-01, Nokia E7-00 and Nokia C7-00.[19]
Symbian^4 was expected to be released in the first half of 2011. However, Nokia announced in October 2010 that Symbian^4 will not ship as a separate release. Instead, improvements to Symbian will be delivered as software updates to all current Symbian^3 devices.[20]

Features

User interface

Symbian has had a native graphics toolkit since its inception, known as AVKON (formerly known as Series 60). S60 was designed to be manipulated by a keyboard-like interface metaphor, such as the ~15-key augmented telephone keypad, or the mini-QWERTY keyboards. AVKON-based software is binary-compatible with Symbian versions up to and including Symbian^3.
Symbian^3 includes the Qt framework, which is now the recommended user interface toolkit for new applications. Qt can also be installed on older Symbian devices.
Symbian^4 was planned to introduce a new GUI library framework specifically designed for a touch-based interface, known as "UI Extensions for Mobile" or UIEMO (internal project name "Orbit"), which was built on top of Qt; a preview was released in January 2010, however in October 2010 Nokia announced that Orbit/UIEMO has been cancelled.
Nokia currently recommends that developers use Qt Quick with QML, the new high-level GUI and scripting framework for creating visually rich touchscreen interfaces that allows development for both Symbian and MeeGo; it will be delivered to existing Symbian^3 devices as a Qt update. As more applications will gradually feature a user interface reworked in Qt, the legacy S60 framework (AVKON) will be deprecated and no longer included with new devices at some point, thus breaking binary compatibility with older S60 applications.[20][21]

Browser

Symbian^3 and earlier have a native WebKit based browser; indeed, Symbian was the first mobile platform to make use of WebKit (in June 2005).[22]
Nokia plans to introduce a new Qt-based browser as a free update for Symbian^3 devices.

Application development

From 2010, Symbian switched to using standard C++ with Qt as the SDK, which can be used with either Qt Creator or Carbide. Qt supports the older Symbian S60 3rd and 5th editions, as well as the new Symbian platform. It also supports Maemo and MeeGo, Windows, Linux and Mac OS X.[23][24]
Alternative application development can be done with using Python (see Python for S60), Adobe Flash or Java ME.
Symbian OS previously used a Symbian specific C++ version along with Carbide.c++ integrated development environment (IDE) as the native application development environment.
Web Runtime (WRT) is a portable application framework that allows creating widgets on the S60 Platform; it is an extension to the S60 WebKit based browser that allows launching multiple browser instances as separate JavaScript applications.[25][26]

 Architecture

Technology domains and packages

Symbian's design is subdivided into technology domains,[27] each of which comprises a number of software packages.[28] Each technology domain has its own roadmap, and the Symbian Foundation has a team of technology managers who manage these technology domain roadmaps.
Every package is allocated to exactly one technology domain, based on the general functional area to which the package contributes and by which it may be influenced. By grouping related packages by themes, the Symbian Foundation hopes to encourage a strong community to form around them and to generate discussion and review.
The Symbian System Model[29] illustrates the scope of each of the technology domains across the platform packages.
Packages are owned and maintained by a package owner, a named individual from an organization member of the Symbian Foundation, who accepts code contributions from the wider Symbian community and is responsible for package.

Symbian kernel

The Symbian kernel (EKA2) supports sufficiently-fast real-time response to build a single-core phone around it—that is, a phone in which a single processor core executes both the user applications and the signalling stack.[30] The real-time kernel has a microkernel architecture that contains only the minimum, most basic primitives and functionality, for maximum robustness, availability and responsiveness. It has been termed a nanokernel, because it needs an extended kernel to implement any other abstractions. It contains a scheduler, memory management and device drivers, with networking, telephony and file system support services in the OS Services Layer or the Base Services Layer. The inclusion of device drivers means the kernel is not a true microkernel.

Design

Symbian features pre-emptive multitasking and memory protection, like other operating systems (especially those created for use on desktop computers). EPOC's approach to multitasking was inspired by VMS and is based on asynchronous server-based events.
Symbian OS was created with three systems design principles in mind:
  1. the integrity and security of user data is paramount
  2. user time must not be wasted
  3. all resources are scarce
To best follow these principles, Symbian uses a microkernel, has a request-and-callback approach to services, and maintains separation between user interface and engine. The OS is optimised for low-power battery-based devices and for ROM-based systems (e.g. features like XIP and re-entrancy in shared libraries). Applications, and the OS itself, follow an object-oriented design: Model-view-controller (MVC).
Later OS iterations diluted this approach in response to market demands, notably with the introduction of a real-time kernel and a platform security model in versions 8 and 9.
There is a strong emphasis on conserving resources which is exemplified by Symbian-specific programming idioms like descriptors and a cleanup stack. Similar methods exist to conserve disk space, though disks on Symbian devices are usually flash memory. Further, all Symbian programming is event-based, and the central processing unit (CPU) is switched into a low power mode when applications are not directly dealing with an event. This is done via a programming idiom called active objects. Similarly the Symbian approach to threads and processes is driven by reducing overheads.

Operating system

The All over Model contains the following layers, from top to bottom:
  • UI Framework Layer
  • Application Services Layer
    • Java ME
  • OS Services Layer
    • generic OS services
    • communications services
    • multimedia and graphics services
    • connectivity services
  • Base Services Layer
  • Kernel Services & Hardware Interface Layer
The Base Services Layer is the lowest level reachable by user-side operations; it includes the File Server and User Library, a Plug-In Framework which manages all plug-ins, Store, Central Repository, DBMS and cryptographic services. It also includes the Text Window Server and the Text Shell: the two basic services from which a completely functional port can be created without the need for any higher layer services.
Symbian has a microkernel architecture, which means that the minimum necessary is within the kernel to maximise robustness, availability and responsiveness. It contains a scheduler, memory management and device drivers, but other services like networking, telephony and filesystem support are placed in the OS Services Layer or the Base Services Layer. The inclusion of device drivers means the kernel is not a true microkernel. The EKA2 real-time kernel, which has been termed a nanokernel, contains only the most basic primitives and requires an extended kernel to implement any other abstractions.
Symbian is designed to emphasise compatibility with other devices, especially removable media file systems. Early development of EPOC led to adopting FAT as the internal file system, and this remains, but an object-oriented persistence model was placed over the underlying FAT to provide a POSIX-style interface and a streaming model. The internal data formats rely on using the same APIs that create the data to run all file manipulations. This has resulted in data-dependence and associated difficulties with changes and data migration.
There is a large networking and communication subsystem, which has three main servers called: ETEL (EPOC telephony), ESOCK (EPOC sockets) and C32 (responsible for serial communication). Each of these has a plug-in scheme. For example, ESOCK allows different ".PRT" protocol modules to implement various networking protocol schemes. The subsystem also contains code that supports short-range communication links, such as Bluetooth, IrDA and USB.
There is also a large volume of user interface (UI) Code. Only the base classes and substructure were contained in Symbian OS, while most of the actual user interfaces were maintained by third parties. This is no longer the case. The three major UIs — S60, UIQ and MOAP — were contributed to Symbian in 2009. Symbian also contains graphics, text layout and font rendering libraries.
All native Symbian C++ applications are built up from three framework classes defined by the application architecture: an application class, a document class and an application user interface class. These classes create the fundamental application behaviour. The remaining needed functions, the application view, data model and data interface, are created independently and interact solely through their APIs with the other classes.
Many other things do not yet fit into this model — for example, SyncML, Java ME providing another set of APIs on top of most of the OS and multimedia. Many of these are frameworks, and vendors are expected to supply plug-ins to these frameworks from third parties (for example, Helix Player for multimedia codecs). This has the advantage that the APIs to such areas of functionality are the same on many phone models, and that vendors get a lot of flexibility. But it means that phone vendors needed to do a great deal of integration work to make a Symbian OS phone.
Symbian includes a reference user-interface called "TechView." It provides a basis for starting customisation and is the environment in which much Symbian test and example code runs. It is very similar to the user interface from the Psion Series 5 personal organiser and is not used for any production phone user interface.

Devices and feature comparison

On 16 November 2006, the 100 millionth smartphone running the OS was shipped.[31] As of 21 July 2009, more than 250 million devices running Symbian OS had been shipped.[32]
  • The Nokia S60 interface is used in various phones, the first being the Nokia 7650. The Nokia N-Gage and Nokia N-Gage QD gaming/smartphone combos are also S60 platform devices. It was also used on other manufacturers' phones such as the Siemens SX1 and Samsung SGH-Z600. Recently, more advanced devices using S60 include the Nokia 6xxx, the Nseries (except Nokia N8xx and N9xx), the Eseries and some models of the Nokia XpressMusic mobiles.
  • Fujitsu, Mitsubishi, Sony Ericsson and Sharp developed phones for NTT DoCoMo in Japan, using an interface developed specifically for DoCoMo's FOMA "Freedom of Mobile Access" network brand. This UI platform is called MOAP "Mobile Oriented Applications Platform" and is based on the UI from earlier Fujitsu FOMA models. The user cannot install new C++ applications.
User interfaces that run on or are based on Symbian OS include:
  • S60, formerly Series 60, used by Nokia and others
  • Series 80, previously used by Nokia
  • Series S90, previously used by Nokia
  • UIQ, previously used by Sony-Ericsson
  • MOAP, Mobile Oriented Applications Platform, used by NTT DoCoMo's FOMA service
Versions that are actively marketed as of January 2011 are Symbian^3/Symbian^4, Symbian^2, Symbian^1 (Series 60 5th edition), and Series 60 3rd edition Feature Pack 2. For features of older versions see history of Symbian. Note that the operating system supporting a certain feature does not imply that all devices running on it have that feature available, especially if it involves expensive hardware, such as HDMI output.
From
www.wikipedia.org

Tidak ada komentar:

Posting Komentar