Symbian OS adalah sistem
operasi tak
bebas yang
dikembangkan oleh Symbian
Ltd. yang dirancang untuk digunakan peralatan bergerak (mobile).Sebelum Nokia mengumumkan pembelian seluruh sisa saham Symbian Ltd. yang tidak
dimilikinya pada 24 Juni 2008, Symbian
dimiliki Nokia(47,9%), Ericsson (15,6%), Panasonic (10,5%), Samsung (4,5%), Siemens / BenQ (8,4%), Sony
Ericsson (13,1%).
Versi Symbian yang terbaru adalah Symbian ^3 dengan PR 02 yang disebut symbian
belle. Sedangkan ponsel yang paling banyak beredar saat ini menggunakan Symbian
OS v6.1s, v7.0s, RV 47 75, v8.OS,v9.1s dan s60 v5. Nokia Nseries rata-rata
menggunakan Symbian OS v9.1s, kecuali Nokia N95 yang menggunakan Symbian OS
v9.2s. Ponsel symbian s60 v5 dan symbian ^3 rata rata menggunakan layar sentuh
kecuali nokia e6-00 dan nokia e7.ponsel symbian ^3 yang pertama meluncur aadalah
nokia n8 dengan kamera 12 megapiksel.symbian ^3 mendapat pembaruan pertama yang
disebut symbian anna. digunakan di ponsel nokia x7-00 dan e6-00. sedangkan
pembaruan terbaru disebut symbian belle. semua ponsel symbian ^3 bisa diupgrade
ke symbian belle.
Sekarang
keseluruhan saham di symbian limited telah dimiliki oleh nokia dan posisi
sistem operasi symbian sebagai penguasa pasar sistem operasi bergerak telah
direbut oleh sistem operasi buatan google yaitu sistem operasi android yang
meluncur pada akhir tahun 2009 dengan ponsel pertamanya htc dreaam g1.vendor
ponsel seperti samsung,lg,sony ericsson sekarang tidak laagi menggunakan sistem
oprasi symbian dan menyatakan berhenti mendukung sistem operasi ini.
A. 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.
B. STRUKTUR SISTEM
OPERASI
Secara
umum arsitektur Symbian OS sendiri dapat gambarkan menjadi empat lapisan
berdasarkan penggunaan API yang tersedia, yaitu :
1) Lapisan pendukung aplikasi (Application
Utility Layer)
Lapisan
ini terdiri dari berbagai pendukung yang berorientasi pada aplikasi. Hal ini
memungkinkan aplikasi lain (di luar sistem operasi) untuk berintegrasi dengan
aplikasi dasar yang tersedia pada sistem operasi.
Bentuk layanan lain termasuk proses pertukaran data dan manajemen data.
2) 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.
3) 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.
4) Lapisan sistem API dasar
Lapisan
ini merupakan kumpulan API yang mendukung pengasksesan data memori,
tanggal dan waktu, serta sistem dasar lainnya
C. MANAJEMEN PROSES
Proses
merupakan unit memori yang terproteksi, sedangkan Thread merupakan unit
eksekusi. Satu proses tidak dapat mengakses secara langsung memori dari proses
lain, kecuali dibuat memori yang global. Setiap aplikasi dan server di symbian
mempunyai prosesnya sendiri-sendiri, tetapi user juga dapat membuat proses
baru. Semua proses dapat mengakses share library dan sistem ROM. Dalam mode
user, dapat dibuat 4 prioritas proses, yaitu:
1. EPriorityLow=150
2. EPriorityBackground=250
3. EPriorityForeground=350
4. EPriorityHigh=450
Prioritas
tersebut digunakan untuk menghitung keseluruhan prioritas sebuah thread yang
dibuat dalam proses. Developer dapat juga menggunakan nilai absolut prioritas
dalam hal ini prioritas proses tidak digunakan. Ada 5 level prioritas yang
tersedia untuk thread yang dieksekusi di mode user, yaitu:
- EpriorityMuchLess
- EpriorityLess
- EpriorityNormal
- EpriorityMore
- EPriorityMuchMore
Kernel
mempunyai prioritas tertinggi untuk proses dan thread. Thread dijadwalkan
berdasar pada prioritasnya atau round robin jika thread mempunyai prioritas
yang sama. Penjadwalan bersifat preemptive yang berarti yang mempunyai
prioritas tinggi dapat menginterupsi thread yang lebih rendah. Pada beberapa
kasus preemptive multitasking tidak diperlukan, dan dapat digantikan dengan
multitasking yang cooperative yaitu prinsip active object. Seperti telah
disebutkan diatas ada dua mode eksekusi yaitu user mode dan kernel mode. Kernel
mode mempunyai prioritas yang tertinggi dibandingkan proses dan thread dalam
user mode. Kedua mode tersebut diatur dalam dua library yaitu EUser dan EKern.
Kedua library tersebut menyediakan kumpulan servis-servis untuk aplikasi. EUser
digunakan untuk menangani proses dan thread, manajemen memori, active object,
dan sebagainya. EKern digunakan untuk mengakses device driver dan sebagainya.
D. MANAJEMEN MEMORY
Setiap
proses harus mempunyai setidaknya satu thread. Proses yang kosong tidak dapat
dieksekusi, tetapi thread dapat dieksekusi. Thread yang baru dibuat dengan
fungsi Create(), dimana prototipenya sebagai berikut:
- TInt Create
( const TDesC& aName, TThreadFunction aFunction, TInt
- aStackSize,
TInt aHeapMinSize,TInt aHeapMaxSize,
- TAny *aPtr,
TOwnerType aType=EOwnerProcess);
Untuk
membuat thread diperlukan memori stack sebesar 8kB defaultnya, sedangkan untuk
memori heap minimum 256Bytes sampai batas maksimum memori yang tersedia. Ketika
thread dibuat, chunk memori baru dialokasikan untuk thread tersebut. Chunk
merupakan area memori di virtual memori yang mempunyai alamat yang berdekatan.
Secara fisik, chunk terdiri atas alokasi memori yang dibutuhkan tergantung pada
arsitektur, 4kB jika pada arsitektur ARM. Bagian bawah dari chunk adalah stack
dan diatasnya adalah heap. Stack selalu tumbuh kebawah, jadi tidak akan pernah
mencapai memori heap. Heap dapat dishare antara thread dengan menggunakan versi
fungsi Create() yang berbeda. Heap dan stack memainkan peranan yang berbeda
dalam penyimpanan object yang dibuat dan data yang lain. Yang harus
diperhatikan dalam penggunaan stack adalah stack mudah terjadi overflow. Semua
alokasi di stack secara otomatis di hapus ketika tidak lagi dibutuhkan, namun
untuk object yang dialokasikan di heap harus ada pointer untuk
mengalokasikannya dan untuk menghapusnya. Class RHeap memberikan beberapa
fungsi untuk menghitung banyaknya alokasi di heap atau menentukan keseluruhan
yang teralokasi di heap. Semua object yang berada dalam heap harus mempunyai
tipe class C, yang berarti berasal dari turunan kelas yang umum yaitu CBase. Semua
yang berasal dari CBase dapat ditaruh dalam cleanup stack dan dihapus dengan
fungsi PopAndDestroy(). Dapat juga digunakan User::Alloc() untuk melakukan
alokasi di memori heap. Dikarenakan heap tidak secara otomatis dilakukan proses
penghapusan, maka ada resiko heap akan menyebabkan memori leak. Untuk itu dalam
Symbian OS digunakan cleanup stack untuk menyimpan variabel secara otomatis
menangani penghapusannya sehingga tidak terjadi memori leak.
E. MANAJEMEN I/O
Dalam
permasalahan input dan output, baik itu berupa keyboard input, pointer input,
dan I/O request yang lain, semua berjalan dalam mode asynchoronous yang
diberikan oleh asynchronous service providers. Symbian OS memberikan mekanisme
yang mudah untuk menggunakan asynchronous service tersebut. Ada 2 level
asynchronous, yaitu : Low – Level dan High – Level asynchronous. Pada low –
level, asynchronous service provider memberikan servis dengan fungsi request
dan cancel. Status request akan disimpan kedalam request status, dan service
provider akan memberikan signal bahwa request telah selesai dengan menggunakan
thread request semaphore. Pada high – level, menggunakan active scheduler yang
melakukan wait loop yang digunakan dalam multiple asynchronous, dan active
object yang melakukan fungsi request dan cancel, sekaligus menangani
penyelesaian permintaan.
F. ALGORITMA
YANG DIGUNAKAN
a. Bahasa Pemrograman Python
Ponsel
symbian 0S 2nd. Python untuk S60 adalah bahasa pemrograman tingkat
tinggi turunan dari Bahasa Python. Dengan adanya bahasa pemrograman Python
untuk s60, kita dimungkinkan untuk membuat Script sederhana atau bahkan sebuah
program yang kompleks. Jadi dengan Python untuk S60, kita bisa membuat program
langsung melalui ponsel berbasis Symbian dimanapun dan kapanpun.
b. Bahasa Pemrograman Visual C++
Ponsel yang
ada dipasaran saat ini sebagian besar menggunakan Sistem Operasi Symbian.
Disini akan dibahas mengenai apa itu Symbian dan bagaimana membuat aplikasinya
dengan menggunakan Visul C++. Sama seperti Microsoft Windows sebagai sistem
operasi yang paling banyak digunakan untuk komputer, demikian juga dengan
Symbian yang merupakan sistem operasi yang paling banyak digunakan untuk
ponsel. Sampai saat ini versi Symbian yang terbaru adalah Symbian OS v8.0s, dan
sedang dikembangkan Symbian OS v9.0s. Sedangkan ponsel yang paling banyak
beredar saat ini adalahSymbian OS v6.1s dan v7.0s.
c. Bahasa Pemrograman C++, Java (J2ME) MIDP 2.0, PersonalJava 1.1.1a,
dan WAP
Sistem
Operasi Symbian. Di kembangkan oleh Symbian Ltd. dan sejak awal di rancang
mobile. Menggunakan bahasa pemrograman C++, Java (J2ME) MIDP 2.0, PersonalJava
1.1.1a, dan WAP. Selain itu juga Symbian di rancang sebagai sistem operasi yang
sangat fleksibel, sehingga para vendor dapat membuat berbagai aplikasi yang bervariasi.
Windows Mobile. Secara umum teknologi IT menggunakan software yang berbasis
windows. Sehingga kecocokan platform ini membuat windows dianggap lebih ideal
untuk di gunakan. Selain itu Windows mobile di pasangkan beberapa fitur seperti
Mobile Blog, GPS, menonton televisi, serta Mobile Database. Tetapi windows
mobile dibuat kurang fleksibel sehingga para software developer independent
sulit membuat aplikasi-aplikasi baru yang menyebabkan terbatasnya ketersediaan
aplikasi pada windows mobile.
d. Bahasa Pemrograman .Net
Apabila Kita
ingin aplikasi di HP dengan OS Symbian (Nokia, Samsung, NTT DoCoMo dll) cepat,
kita dapat menggunakan bahasa pemrograman .Net. Jika ingin nambah pangsa pasar
ke aplikasi mobile/HP atau kita ingin belajar bagaimana memanfaatkan HP kita
agar lebih bermakna dapat menggunakan Net 60, dengan Compact Framework ini
pengusaha dapat ngebuat aplikasi .Net yang dibangun baik pake VB.Net,
C#, C++, J# dll. untuk dijalankan di HP/Mobile Device yang menggunakan Symbian
OS. Jadi kita bisa ngebuat aplikasi dengan menggunakan Visual Studio sebagai
IDE terbaik dan bahkan hasil aplikasi lebih bagus ketimbang Java.
G. KELEBIHAN DAN KEKURANGAN
Kelebihan
·
Merupakan OS
mobile paling stabil yang diimplementasikan pada saat debutnya dibandingkan
dengan OS lain.
·
Didalamnya
dapat berjalan aplikasi-aplikasi yang lebih lengkap.
·
Terus
mengikuti perkembangan software dan terus mengupdate sistemnya sehingga dapat
compatible.
Kekurangan
·
Tidak
memiliki virtual memory
·
System
operasi yang masih cukup berat untuk mobile
H. KEAMANAN
Karena
fleksibilitas yang disediakan bagi pihak pengembang aplikasi setelah Symbian OS
mulai bersifat open, maka hal ini menyebabkan rentannya sistem keamanan Symbian
OS akibatnya adanya kemudahan pengaksesan sumber daya dan komponen
fungsionalitas dari telepon. Oleh karena itu pada dasarnya pengaman yang
dilakukan oleh Symbian OS yaitu membatasi/memfilter hak akses dari aplikasi
yang akan diinstal pada sistem operasi ini.
Dengan
membatasi pembahasan pada sistem keamanan Symbian OS terbaru, versi 9, terkait
dengan pengamanan terhadap keberadaan aplikasi maka terdapat lima fokus utama
yang akan dibahas pada makalah kali ini yaitu:
1. Keamanan platform aplikasi
2. Komunikasi client/server
3. Antar muka pengguna
4. Plug-ins
5. Instalasi aplikasi
6. Data