Technologické domény a balíky

Návrh Symbian je rozdelený na technologické domény, z ktorých každá obsahuje niekoľko softvérových balíkov . Každá oblasť technológií má vlastný plán a spoločnosť Symbian Foundation má tím technologických manažérov, ktorí riadia tieto cestovné mapy technológií. Každý balík je pridelený presne jednej technologickej oblasti založenej na všeobecnej funkčnej oblasti, do ktorej balík prispieva a ktorým môže byť ovplyvnená. Zoskupením súvisiacich balíkov podľa tém sa Symbian nadácia snaží podporiť silnú komunitu, aby sa okolo nich vytvorila a vytvorila diskusiu a preskúmanie.

Symbian System Model ilustruje rozsah každej z technologických oblastí v balíkoch platformy.

Balíky sú vo vlastníctve a udržiavané vlastníkom balíka, menom jednotlivca organizačného člena nadácie Symbian Foundation, ktorý prijíma kódové príspevky od širšej komunity Symbian a je zodpovedný za balík.

Symbian kernel

Klávesnica Symbian ( EKA2 ) podporuje dostatočne rýchlu reakciu v reálnom čase na vybudovanie jedného jednosmerného telefónu – to je telefón, v ktorom jediné procesorové jadro spúšťa užívateľské aplikácie aj signalizačný zásobník . V jadre v reálnom čase je architektúra mikrokernelu obsahujúca len minimálne, najzákladnejšie prvky a funkčnosť, ktoré umožňujú maximálnu robustnosť, dostupnosť a schopnosť reagovať. Bol nazvaný nanokernel , pretože potrebuje rozšírené jadro na implementáciu akýchkoľvek iných abstrakcií. Obsahuje plánovač , správu pamäte a ovládače zariadení so sieťovými, telefonickými a súborovými systémami podporujúcimi vrstvu služieb OS alebo vrstvu základných služieb. Zahrnutie ovládačov zariadení znamená, že jadro nie je pravý mikrokernel.

Design

Symbian ponúka predbežné multitasking a ochranu pamäte , rovnako ako ostatné operačné systémy (najmä tie, ktoré sú vytvorené pre použitie na stolných počítačoch). Prístup EPOC k multitaskingu bol inšpirovaný VMS a je založený na asynchrónnych serverových udalostiach.

Symbian OS bol vytvorený s tromi zásadami návrhu systému:

  1. integrita a bezpečnosť používateľských údajov je prvoradá
  2. užívateľský čas nesmie byť zbytočný
  3. všetky zdroje sú obmedzené

Aby sa najlepšie dodržiavali tieto zásady, Symbian používa mikrokernel , má prístup k požiadavkám a spätným hovorom na služby a zachováva oddelenie medzi používateľským rozhraním a motorom. Operačný systém je optimalizovaný pre zariadenia s batériami s nízkym výkonom a pre systémy založené na pamäti ROM (napr. Funkcie ako XIP a opätovný vstup do zdieľaných knižníc). Aplikácie a samotný operačný systém sa riadia objektovo orientovaným dizajnom: model-view-controller (MVC) .

Neskoršie OS iterácie zriedili tento prístup v reakcii na požiadavky trhu, najmä so zavedením jadra v reálnom čase a bezpečnostného modelu platformy vo verziách 8 a 9. Veľký dôraz kladie na zachovanie zdrojov, čo je príkladom programovacích idiómov špecifických pre Symbian, ako sú deskriptory a vyčistenie . Existujú podobné metódy na šetrenie úložného priestoru. Ďalej, všetky programy Symbian sú založené na udalostiach a centrálna procesorová jednotka (CPU) je prepnutá do režimu nízkej spotreby, keď aplikácie nie sú priamo spojené s udalosťou. To sa deje prostredníctvom programovacieho slova nazývaného aktívne objekty . Podobne sa prístup Symbian k vláknami a procesom riadi znížením režijných nákladov.

Operačný systém

Celý model obsahuje nasledujúce vrstvy, zhora nadol:

  • UI Framework Layer
  • Vrstva aplikačných služieb
  • Java ME
  • Vrstva služieb OS
  • generických služieb OS
  • komunikačných služieb
  • multimediálne a grafické služby
  • služby pripojenia
  • Vrstva základných služieb
  • Kernel Services & Hardware Interface Layer

Vrstva základných služieb je najnižšia úroveň prístupná operáciami na strane užívateľa. zahŕňa súborový server a používateľskú knižnicu, Plug-In framework, ktorý spravuje všetky doplnky, Store, Central Repository, DBMS a kryptografické služby. Zahŕňa aj server Text Window a Text Shell: dve základné služby, z ktorých je možné vytvoriť úplne funkčný port bez potreby vyšších služieb vrstvy.

Symbian má mikrokernelovú architektúru, čo znamená, že nevyhnutné minimum je v rámci jadra na maximalizáciu robustnosti, dostupnosti a schopnosti reagovať. Obsahuje plánovač , správu pamäte a ovládače zariadení, ale ďalšie služby, ako je podpora sietí, telefonovanie a podpora súborového systému, sú umiestnené v vrstvách služieb OS alebo vrstve základných služieb. Zahrnutie ovládačov zariadení znamená, že jadro nie je pravý mikrokernel. Kernel EKA2 v reálnom čase, ktorý bol nazvaný nanokernel , obsahuje iba najzákladnejšie primitívne prvky a vyžaduje rozšírené jadro na implementáciu akýchkoľvek iných abstrakcií.

Symbian je navrhnutý tak, aby zdôrazňoval kompatibilitu s inými zariadeniami, najmä s vymeniteľnými súbormi súborových médií. Včasný vývoj EPOC viedol k prijatiu FAT ako interného súborového systému, a to zostáva, ale objektový orientovaný model pretrvávania bol umiestnený nad základným FAT, aby poskytol rozhranie typu POSIX a streamingový model. Interné formáty údajov sa spoliehajú na použitie rovnakých rozhraní API, ktoré vytvárajú údaje na spustenie všetkých manipulácií so súbormi. Výsledkom je závislosť od údajov a súvisiace ťažkosti so zmenami a migráciou údajov .

Existuje veľký sieťový a komunikačný subsystém, ktorý má tri hlavné servery nazývané ETEL (EPOC telefónia), ESOCK (EPOC sokety) a C32 (zodpovedné za sériovú komunikáciu). Každá z nich má schému zásuvných modulov. Napríklad ESOCK umožňuje rôzne protokolové moduly „.PRT“ implementovať rôzne schémy sieťových protokolov. Podsystém obsahuje aj kód, ktorý podporuje komunikačné spojenia krátkeho dosahu, ako napríklad Bluetooth , IrDA a USB. Existuje tiež veľký objem kódu používateľského rozhrania (UI). V systéme Symbian boli obsiahnuté iba základné triedy a subštruktúra, zatiaľ čo väčšina skutočných užívateľských rozhraní bola udržiavaná tretími stranami. Toto už nie je. Tie najväčšie užívateľské rozhrania – S60, UIQ a MOAP – boli pre Symbian v roku 2009 prispievané. Symbian obsahuje aj grafiku, rozloženie textu a knižnice na vykresľovanie písma.

Všetky natívne aplikácie Symbian C ++ sa vytvárajú z troch rámcových tried definovaných architektúrou aplikácie: trieda aplikácií, trieda dokumentov a trieda používateľského rozhrania aplikácie. Tieto triedy vytvárajú základné správanie aplikácie. Zostávajúce potrebné funkcie, zobrazenie aplikácie, dátový model a dátové rozhranie sú vytvorené nezávisle a interagujú iba prostredníctvom svojich API s inými triedami.

Mnoho ďalších vecí ešte nezapadá do tohto modelu – napríklad SyncML , Java ME, ktoré poskytujú ďalšiu sadu API nad väčšinou operačného systému a multimédií . Mnohé z nich sú rámcami a od dodávateľov sa očakáva, že budú poskytovať doplnky týchto rámcov od tretích strán (napríklad Helix Player pre multimediálne kodeky ). To má tú výhodu, že rozhrania API pre takéto oblasti funkčnosti sú na mnohých modeloch telefónov rovnaké a že dodávatelia majú veľa flexibility. Ale to znamená, že predajcovia telefónov potrebovali urobiť veľkú časť integračnej práce na vytvorenie telefónu Symbian OS.

Symbian obsahuje referenčné používateľské rozhranie s názvom „TechView“. Poskytuje základ pre spustenie prispôsobenia a je prostredím, v ktorom sa beží veľký test Symbian a príkladový kód. Je veľmi podobný používateľskému rozhraniu z osobného organizátora Psion Series 5 a nepoužíva sa na žiadne používateľské rozhranie pre výrobné telefóny.