Gambaran umum
Saat ini Symbian OS banyak telah banyak digunakan oleh berbagai vendor produk peralatan komunikasi mobile pada berbagai jenis produk mereka yang bervariasi. Variasi dari sisi hardware ini dimana Symbian OS diimplementasi dapat dimungkinkan karena sistem operasi ini memiliki antarmuka pemprograman aplikasi (Application Programming Interface; API). API mendukung terhadap komunikasi dan tingkah laku yang umum pada hardware yang dapat digunakan oleh objek aplikasi lain. Hal ini dimungkinkan karena API merupakan objek antarmuka yang didefenisikan pada level aplikasi, yang berisikan prosedur dan fungsi (dan juga variabel serta struktur data) yang mengelola/memanggil kernel dimana sebagai penghubung antara software dan hardware. Dengan adanya standar API ini membantu pihak pengembang untuk melakukan penyesuaian atas aplikasi yang dibuatnya agar dapat diinstal pada produk telepon bergerak yang bermacam-macam. Mirip seperti sistem operasi desktop, Symbian OS mampu melakukan operasi secara multithreading, multitasking dan pengamanan terhadap memori. Dan semua pemrograman pada Symbian dilakukan secara event-based, artinya hardware CPU menjadi tidak aktif ketika tidak ada inputan berupa aktivitas tertentu. Namun perlu dipahami sistem operasi ini memang ditujukan untuk diinstal pada peralatan mobile dengan keterbatasan sumber daya. Multithread dan multitasking memberikan kemampuan Symbian OS untuk menjalankan lebih dari satu aplikasi sekaligus. Namun khusus ini, adanya preemptive multitasking kernel akan memberi tiap-tiap program suatu pembagian waktu pemprosesan yang dilakukan bergantian dengan cepat sehingga nampak bagi pemakai seolah-olah proses ini dieksekusi secara bersamaan. Untuk itu telah didefinisikan penjadwalan berdasar prioritas tertentu untuk menentukan proses mana yang berjalan terlebih dahulu dan proses apa berikutnya serta berapa banyak waktu akan jadi diberi.
Symbian OS sendiri bukanlah software yang sifatnya open source secara penuh karena meskipun terdapat ketersedian API dan dokumentasinya, yang banyak membantu pihak pengembang aplikasi untuk membuat software yang berjalan di atas sistem operasi ini, dipublikasi untuk umum namun tidak untuk kode source sendiri.
Sejarah
Pada tahun 1980, berdiri perusahaan pengembang software Psion yang didirikan oleh David Potter. Produk dari perusahaan itu diberi nama EPOC. Sistem operasi ini lebih difokuskan pada penggunaannya di telepon bergerak. Pada tahun 1998, terjadi sebuah kerjasama antara perusahaan Ericsson, Nokia, Motorola dan Psion untuk mengeksplorasi lebih jauh kekonvergensian antara PDA dan telepon selular yang diberi nama Symbian. Pada tahun 2004 Psion menjual sahamnya dan hasil kerjasama ini menghasilkan EPOC Release 5 yang kemudian dikenal dengan nama Symbian OS v5. Sistem operasi dari Symbian OS v5 itu sudah mulai mengintegrasikan kebutuhan implementasi aplikasi pada perangkat seperti PDA selain telepon seluler.
Kemudian muncul perangkat yang dinamakan smartphone dan muncullah pula versi-versi terbaru dari Symbian OS hingga ada yang disebut dengan Symbian v6.0 atau yang lebih terkenal dengan nama ER6 yang merupakan versi pertama dari Symbian OS. Sifatnya terbuka karena pada sistem ini dapat dilakukan instalasi perangkat lunak oleh berbagai pengembang aplikasi. Pada awal tahun 2005, muncul Symbian OS v9.1 dengan sistem keamanan platform baru yang dikenal sebagai capability-based security. Sistem keamanan ini mengatur hak akses bagi aplikasi yang akan diinstal pada peralatan dalam hal mengakses API.
Muncul pula yang disebut dengan Symbian OS v9.2 yang melakukan perbaharuan pada teknologi konektifitas Bluetooth dengan digunakannya Bluetooth v.2.0. Sedangkan yang terbaru, Symbian mengeluarkan Symbian OS v9.3 (dirilis pada tanggal 12 Juli 2006) telah mengusung teknologi wifi 802.11 dan HSDPA sebagai bagian dari komponen standarnya.
Arsitektur Sistem Operasi
Secara umum arsitektur Symbian OS sendiri dapat gambarkan menjadi empat lapisan berdasarkan penggunaan API yang tersedia, yaitu :
Lapisan pendukung aplikasi (Application Utility Layer)
Lapisan ini terdiri dari berbagai pendukung yang berorientasi pada aplikasi. Hal ini memungkinkan aplikasi lain (diluar sistem operasi) untuk berintegrasi dengan aplikasi dasar yang tersedia pada sistem operasi. Bentuk layanan lain termasuk proses pertukaran data dan manajemen data.
Lapisan layanan dan framework antarmuka grafis (GUI Framework)
Lapisan ini merupakan framework API yang tersedia untuk memberi dukungan terhadap penanganan input user secara grafis maupun suara yang dapat digunakan oleh aplikasi lain.
Lapisan komunikasi
Lapisan ini berfungsi sebagai sistem operasi yang fokus diimplementasi pada peralatan komunikasi mobile, Symbian OS memiliki kumpulan API yang fokus pada lapisan komunikasi. Bagian teratas pada lapisan ini terdapat dukungan pencarian dan pengiriman pesan teks. Berikutnya adalah antarmuka yang memberi dukungan komunikasi seperti Bluetooth dan infrared (IrDA) serta USB. Yang terakhir pada lapisan ini adalah protokol komunikasi berupa TCP/IP, HTTP, WAP dan layanan telepon.
Lapisan sistem API dasar
Lapisan ini merupakan kumpulan API yang mendukung pengasksesan data memori, tanggal dan waktu, serta sistem dasar lainnya
Klasifikasi Sistem Operasi
Klasifikasi ini berdasar fungsionalitas dan hak akses dari API tertentu. Tujuan dari pendefinisian sistem ini selain untuk membedakan API mana saja yang bisa diakses oleh aplikasi yang dibuat oleh pihak pengembang aplikasi, juga tetap memelihara integrasi dari layanan yang disediakan bagi pihak pengembang aplikasi dengan API yang umum digunakan. Hal ini juga dilakukan untuk memaksimumkan interoperabilitas antara berbagai produk yang menggunakan Symbian OS.
Terdapat empat kategori dalam klasifikasi API yang tersedia, yaitu:
(API) Symbian Umum
Komponen ini merupakan komponen (API) inti dari Symbian OS. Setiap pengembang aplikasi dapat berasumsi bahwa komponen ini terdapat pada setiap versi Symbian OS sehingga dapat digunakan pada setiap perangkat telepon bergerak yang menggunakan Symbian OS sebagai sistem operasinya. Dengan kata lain setiap kode program yang hanya menggunakan API pada kategori ini dapat dikompail dan dijalankan tanpa kesalahan pada setiap telepon yang menggunakan Symbian OS. Dengan adanya lisensi kerjasama, pengembang aplikasi dapat menambahkan dengan syarat tidak mengganti ataupun mengubah fungsi API standar yang dikategorikan pada bagian ini.
(API) Symbian Umum Tergantikan
Komponen yang memerlukan kostumisasi dari komponen Symbian Umum yang diperlukan untuk bekerja dengan ROM dari sistem dimana ia diinstal. Komponen ini merupakan komponen yang bekerja pada low-level dari hardware tertentu. Untuk mendapatkan komponen ini pihak pengembang aplikasi memerlukan lisensi dengan pihak Symbian karena versi komponen ini disediakan oleh pihak Symbian. Namun pada dasarnya komponen ini merupakan komponen standar (umum) yang tersedia pada semua versi Symbian OS.
(API) Symbian Opsional
Komponen-komponen ini sifatnya opsional (tidak selalu ada) pada semua versi Symbian OS. Namun jika tersedia, maka pengembang aplikasi mendapat jaminan bahwa aplikasinya dapat menggunakan API pada kategori ini pada versi Symbian OS yang sama.
(API) Symbian Opsional Tergantikan
Bentuk kategori ini mirip dengan kategori Symbian Opsional adalah kumpulan API yang tidak terikat dengan API umum yang ada pada versi Symbian OS dan dapat ditambahkan oleh pihak pengembang dengan suatu lisensi dari pihak Symbian.
.