System przeznaczony jest na architekturę ARM (Advanced RISC Machine, początkowo Acom RISC Machine), istnieje możliwość emulacji na x86. Sam ARM jest 32-bitową architekturą typu RISC o szerokim zastosowaniu w systemach wbudowanych i systemach o niskim poborze mocy, ze względu na energooszczędność.
O historii Symbiana
Początki Symbiana sięgają roku 1980 i założenia firmy PSION (Potter Scientific Investments), początkowo zajmującej się tworzeniem gier i programów użytkowych dla wczesnych komputerów domowych takich jak ZX Spectrum.
Firma zwróciła się następnie w stronę rozwoju programów użytkowych: procesora tekstu, arkusza kalkulacyjnego, programu do zarządzania bazą danych i aplikacji do tworzenia grafiki biznesowej (przeportowanych następnie na system MSDOS).
Kolejnym etapem było wprowadzenie na rynek w 1984 roku pierwszego na świecie przenośnego komputera - Psion Organiser (8-bit Hitachi 6301-family processor, z 4K ROM, 2K RAM). Prace nad przenośnymi komputerami skutkowały powstaniem bardzo udanej konstrukcji Psion Organiser II (1986 roku). W 1987 roku firma rozpoczęła pracę nad "SIBO" (Sixteen bit organiser) - nowej rodziny urządzeń z nowym wielozadaniowym systemem operacyjnym EPOC. System wszedł do sprzedaży wraz z trzecią serią organizerów PSION i był rozwiajany w kolejnych seriach.
Dnia 24 czerwca 1998 utworzona zostaje Symbian Ltd. skupiająca pracę takich firm jak Ericsson, Nokia, Motorola, Panasonic, Samsung, Siemens i Psion.
W 1999 roku wyprodukowano organizer Ericsson MC218 oparty o piąte wydanie systemu EPOC
W listopadzie 2000 roku zostaje wydany Ericsson R380, pierwszy telefon komórkowy wykorzystujący system ER5U (Symbian OS version 5, unicode).
System EPOC jest nadal rozwijany i nazwa zostaje trwale przemianowana na Symbian OS. W czerwcu 2001 roku zostaje wydana Nokia 9210 Communicator, pierwszy otwarty telefon z Symbianem (seria szósta). W 2001 roku zostaje sprzedanych już pół miliona telefonów z tym systemem.
Co Symbian oferuje aktualnie?
Na podstawie wersji Symbian 9.5.
Od strony jądra i usług sprzętowych:
- wielowątkowe jądro, umożliwiające pracę w trybie rzeczywistym,
- wsparcie dla najnowyszych architektur procesora
- rozlegle wsparcie dla urzadzen zewnetrznych i pamieci wewnetrznej
- zapewnia jednocześnie energooszczędność i wysoką responsywność systemu.
- system zoptymalizowany właśnie w tym kierunku,
- natywne wsparcie dla szerokiego zakresu standardów telefonii,
- rozszerzalne frameworki dla niewspieranych standardów,
- wsparcie dla komunikacji głosowej i video.
- szerokie wsparcie dla różnych protokołów komunikacyjnych,
- osobiste sieci lokalne: IrDA, Bluetooth, WLAN,
- GPS, A-GPS,
- QoS dla GPRS i innych.
- zapewnia sprzętowe i programowe wsparcie dla nagrywania, odtwarzania i strumieniowego przesyłania dźwięku i obrazu,
- wsparcie dla rozbudowanych interfejsów użytkownika,
- telewizja cyfrowa i radio.
- baza danych SQL
- mechanizmy ochrony przed wirusami i szkodliwym oprogramowaniem,
- pozwala aplikacjom na przechowywanie prywatnych chronionych danych,
- szyfrowanie, zarządzanie certyfikatami, protokoły SSL/TLS,
- pełne wsparcie dla języków, kodowania,
- wsparcie dla rozwoju oprogramowania.
Interfejsy użytkownika
Istnieje obecnie pięć interfejsów użytkownika opartych na systemie operacyjnym Symbian:
- S60 - najpopularniejsza platforma oparta na Symbianie,
- S80 - inaczej Communicator, wykorzystywany w telefonach Nokii w serii o tej samej nazwie. Zapewnie wsparcie dla edycji dokumentów, dostępu do internetu (wszystkie urządzenia mają duży wyświetlacz o rozdzielczości 640x200 i pełną klawiaturę qwerty),
- S90 - system nie jest już rozwijany, zostały w niego wyposażone tylko dwa urządzenia: Nokia 7700 i 7710,
- MOAP - tylko dla japońskiej sieci telefonicznej, nie jest otwartą platformą,
- UIQ - początkowo rozwijany przez firmę Ericsson (pod nazwą Quartz). Obsługuje ekrany dotykowe o wysokiej rozdzielczości.
Bezpieczeństwo
- system capabilities dla aplikacji,
- cyfrowe podpisywanie oprogramowania.
Wirusy?
Od strony programisty
Aplikacje i system są napisane OOP/MVC w C++.
Kolejne warstwy wyglądają następująco:
- 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
Zaczniemy od standardowego programu:
- Code: Select all
Please Login or Register, to see this Content
Jak wygląda język?
- wyjątki i cleanup_stack
- "deskryptory"
- hierarchia klas
- interfejsy - błędy projektowe
- brak STLa
- tBool, tAny?
Kod w C:
- Code: Select all
Please Login or Register, to see this Content
Napis jest niemodyfikowalny. Równoważnik w Symbianie:
- Code: Select all
Please Login or Register, to see this Content
Wskaźnik w C:
- Code: Select all
Please Login or Register, to see this Content
W Symbianie wygląda to następująco:
- Code: Select all
Please Login or Register, to see this Content
Podsumowanie
Symbian od strony użytkownika jest stabilnym, oferującym szerokie możliwości systemem operacyjnym na urządzenia mobilne. Od strony programisty - opiera się na przestarzałych paradygmatach programowania, ale z czasem błędy są poprawiane i Symbian staje się coraz bardziej przyjazny dla programisty. Z całą pewnością jest obecnie najpopularniejszym systemem w przenośnych urządzeniach.
Literatura
Wikipedia: http://en.wikipedia.org/wiki/Symbian_OS
Oficjalna strona systemu: http://www.symbian.com/index.asp
O błędach Symbiana: http://www.codeproject.com/KB/mobile/Sy ... aults.aspx
Smartphone Operating System Concepts with Symbian OS, Michael J. Jipping
I wiele innych...
Tomasz Żołnowski
Źródło: http://students.mimuw.edu.pl/SO/Projekt ... mbian.html
__________
Uzupełnienie
S30: I do not know, never heard about it. I guess closed platform, proprietary OS, extinct.
S40: this is the platform of current mass-market Nokia devices. Proprietary OS, but always supports running of 3rd-party Java (MIDP) applications. Of course JavaME has its limitations.
S60: this is the current Nokia smartphone platform. Symbian OS (starting with 6.1, Nokia 7650, now it is 9.2, Nokia N95). As Yucca said, S60 was following the Pearl reference design, but it is changing now (for example the new communicator - E90 - is an S60 device). Main API-s are C++ and Java (MIDP), however there are many others (like Python or FlashLite).
S80: the extinct communicator platform (Nokia 9500, 9300 and 9300i). Symbian OS 7.0s, C++ and Java (MIDP) API for 3rd-party developers.
S90: the extinct touchscreen device (Nokia 7710). Symbian OS 7.0s, C++ and Java API.
Źródło: http://developer.nokia.com/community/di ... 0-40-vs-60