Krav
De avancerede funktioner, som moderne mobiltelefoner i den dyre ende kan byde på, kræver lige som lommecomputerne et underlæggende styresystem, som giver udviklerne mulighed for at udvikle programmer, der kan udnytte de mange muligheder.
Symbian OS blev oprindeligt anvendt i lommecomputere fra Psion. Den første mobiltelefon som byggede på Symbian OS, var Ericsson R380e, og senere er en række modeller fra Sony Ericsson, Nokia, Siemens og Samsung fulgt efter. Mange flere er på vej.
Krav til de mobile styresystemer
Styresystemer til mobiltelefon er underlagt de samme krav og begrænsninger som styresystemer til lommecomputere. Det må ikke fylde for meget i hukommelsen, hukommelsesforbruget skal løbende være lavt og det skal tilbyde effektive muligheder for at håndtere strømforbrug. Dertil kommer, at det skal understøtte telefon-protokoller i realtid.
For at kunne benyttes til generelle anvendelser, skal sådanne styresystemer også tilbyde et bredt sæt af funktioner til kommunikation, telefoni og datavisning.
MMU'en har en række roller. Den beskytter data, så fremmede processer ikke kan tilgå dem, den beskytter kernen og applikationens kode, og endelig isolerer MMU'en hardwaren fra koden.
Det meste af hukommelsen er placeret uden for chippen. Hukommelsen har tre hovedfunktioner: opbevaring af styresystemets binære billede, opbevaring af brugerens data i et filsystem samt lagring af de data, som er tilknyttet processerne. Som regel benyttes flash-hukommelse til denne opgave.
Nokia 3650 med indbygget kamera, bygger på Symbian OS
OS på 200 kilobyte
Symbian OS består hovedsagligt af såkaldte dynamisk lænkede kodebiblioteker (DLL). Det medfører, at der kun behøves en enkelt kopi af et kodebibliotek, uanset hvor mange applikationer, som anvender dette bibliotek.
Styresystemets kerne fylder 200 kilobyte og understøtter fler-trådning. Kernen har kun en lille afhængighed af hardware, og perifere enheder understøttes via separate DLL-biblioteker. Kernen i styresystemet er dog tilpasset den konkrete processor, som ligger under styresystemet. Al kommunikation imellem applikationerne og de eksterne enheder foregår via kernen.
Hardware-drivere, som er essentielle for kernen, kan indlejres i kernen. Anden hardware stilles til rådighed for applikationerne via et specifikt API, imens kernen håndterer selve enheden.
Filsystemer understøttes også via drivere, og Symbian OS er ikke låst fast til et bestemt format. På kerne-siden ser applikationerne kun en filserver, og arkitekturen gør det muligt at tilføje filsystemer efter en plug-in model.
Der er dog en komponent, som er tilgængelig for alle applikationer, uden at skulle benytte kernen som mellemmand. Det er skærm-bufferen, som alle applikationer kan skrive til og læse fra. Denne konstruktion er valgt for at give mulighed for at skrive hurtigt til skærmen, som det eksempelvis kræves af animationer.
Protokoller og programmer
System-software
Udover at tumle med hardware tilbyder Symbian OS også applikationerne en lang række biblioteker, som adresserer protokoller og formater inden for IP-netværk, kommunikation, sikkerhed, grafik og medier.
Det er eksempelvis TCP/IP, IPSec, Bluetooth, IrDA (infrarød kommunikation), mail-protokollerne POP3, IMAP og SMTP, og selvfølgelig telefoniprotokoller som GSM og GPRS.
Disse tjenester tilgås fra applikationerne efter en almindelig klient-server-model. Applikationen, der indtager rollen som klient, kommunikerer med serveren via beskeder.
Øverst oppe i styresystemet befinder der sig maskineri til understøttelse af helt specifikke applikationer. Det drejer sig om telefon- og adressebogsfunktionalitet, en notesblok-applikation, en applikation som producerer dokumenter, samt et skelet til grafiske brugerflader. Det er dog enhedens producent, som står for den egentlige brugerflade, som så kan reflektere producentens look og stil.
Hertil kommer en Java-maskine til den mobile udgave af Java, J2ME, med profilen MIDP 1.0, og fremtidige versioner vil også understøtte MIDP 2.0. Ved hjælp af Javas grænseflade til det underliggende system, JNI, er det muligt at tilgå Symbian OS med samme muligheder som applikationer født til platformen.
Programmer
I Symbian OS kører alle applikationerne i en virtuel maskine, som det kendes fra Java. Det betyder, at systemets konfiguration er præcis, som applikationen forventer det.
Applikationer til Symbian OS udvikles i C++, på Windows-baserede pc'er ved hjælp af en emulator. Emulatoren udsendes af enhedens producent, og den benyttes sammen med Symbians software-udviklingsværktøjer (SDK).
Da styresystemet i en vis grad tilrettes til den underliggende hardware, kan kode udviklet til en enhed ikke umiddelbart flyttes til en anden enhed. Symbian selv siger, at omkring 80 procent af koden kan flyttes umiddelbart, mens de sidste 20 procent skal tilrettes den konkrete enhed.
Software installeres på enhederne ved hjælp af en installationsfil (SIS), som er en sammenkædning af alle de biblioteker og ressourcer, som applikationen behøver. Derefter underskrives softwaren på en sikker facon, således at producenten bag programmet kan identificeres.
Læs mere
Der er masser af dokumentation på Symbians website for udviklere, og det meste er nogenlunde til at forstå. På producenternes websites er også mere Symbian-specifik information at hente, for eksempel hos Nokia.