Тема 4. Symbian OS

Матеріал з Вікі ЦДУ
Перейти до: навігація, пошук

Symbian OS

9 2.jpg

Symbian OS - це операційна система для смартфонів і комунікаторів, що розробляється консорціумом Symbian, заснованим в червні 1998 року компаніями: Psion, Nokia, Ericsson і Motorola. Пізніше до консорціуму приєдналися компанії: Sony Ericsson, Siemens, Panasonic, Fujitsu, Samsung, Sony і Sanyo.


Symbian OS є нащадком операційної системи EPOC, розробленої компанією Psion для своїх портативних пристроїв, насамперед PDA, і працює виключно на процесорах ARM.Але в 1998-2000 роках більшу частину операційної системи переписали для оптимізації програмного коду для роботи ОС на пристроях, які мають обмежені ресурси. Розробникам Symbian OS вдалося домогтися значної економії пам'яті, покращення кешування програмного кода, а значить прискорення роботи програм під Symbian OS, при цьому враховуючи знижені вимоги до енергоспоживання. Відмітна особливість операційної системи Symbian OS є повністю об'єктно-орієнтована архітектура, на рівні API.

Модифікації Symbian OS

Ё1.JPG

Існує кілька модифікацій системи Symbian (для різних типів пристроїв), найбільш відомі з них - UIQ, Series 60, Series 40, Series 80 і FOMA:

  • UIQ є основною для смартфонів, що випускають Sony Ericsson і Motorola. Відмітна особливість UIQ - підтримка пристроїв з сенсорним екраном. З листопада 2006 року належить Sony Ericsson.
  • Series 60 - це основна платформа для смартфонів компанії Nokia, також ліцензована Samsung, Siemens і LG. Розроблено для пристроїв з телефонною клавіатурою (з скороченим набором кнопок).
  • Series 80 - платформа, також розроблена Nokia, для пристроїв з повнорозмірними клавіатурами (в даний час розвиток цієї вітки Symbian OS призупинено у зв'язку з удосконаленням Series 60 для пристроїв даного виду).
  • FOMA (Freedom of Mobile Access). Поширена в Японії. Просувається найбільшим стільниковим оператором NTT DoCoMo, на замовлення якого пристрою на FOMA проводять компанії Mitsubishi, Fujutsu, Sony Ericsson і Sharp.


Розвиток версій Symbian OS

Nokia4.JPG
  • 1999 р. - Symbian OS v5.0 (порядковий номер успадкований від ОС EPOC Release 5, якою вона і була). Фінансові складнощі змусили копанню Psion ліцензувати свою ОС третім компаніям. Першим пристроєм на Symbian OS v5.0 був Ericsson MC218
  • 2000 р. - Symbian OS v5.1, перший підтримує апарат - Ericsson R380.
  • 2001 р. - Symbian OS v6.0 і v6.1 (перший підтримує апарат-Nokia 9210).
  • 2003 р. - Symbian OS v7.0 і v7.0s, масова поява на ринку смартфонів з ОС Symbian.
  • 2004 р. - Symbian OS v8.0. Версія давала вибір ядра між EKA1 і EKA2. Проте повною мірою підтримка ядра EKA2 була реалізована в Symbian OS 8.1b. Symbian OS 8.1a - остання версія Symbian для ядра EKA1. Symbian OS 6.0-8.1a були між собою бінарно - сумісні, що дозволяло виконувати одні й ті ж програми на різних версія ОС. Починаючи з версії 8.1b це стало неможливим для наступних версій.
  • Кінець 2004 р. - вихід призначеної тільки для внутрішнього використання Symbian OS 9.0.
  • 2005 р. - Symbian OS v9.1. Покращена безпека, введена підписка додатків, що дозволило прив'язувати їх до конкретного телефону з метою захисту авторських прав розробників.
  • Початок 2006 р. - Symbian OS v9.2. Підтримка Bluetooth 2.0 і OMA Device Management 1.2 (протокол управління мобільними пристроями, розроблений Open Mobile Alliance
  • Середина 2006 р. - Symbian OS v9.3. Підтримка HSDPA (стандарт мобільного зв'язку, що розглядається як перехідний до технологій мобільного зв'язку четвертого покоління - 4G, максимальна теоретична швидкість передачі даних - 14,4 Мбіт / сек), вбудована підтримка Wi-Fi 802.11
  • 2007 р. - Symbian OS v9.4. зменшення до 75% часу запуску додатків, поліпшена підтримка VoIP, новий дозвіл екрана 640x360 (т.зв. стандарт nHD - дев'ята частина дозволу HDTV), сенсорний екран, а так само підтримка декількох карт пам'яті одночасно.

Починаючи з версії Symbian OS 9.x з'явився дуже важливий механізм захисту, який дозволяє розмежовувати API відповідно до прав окремих додатків. Основними мовами розробки додатків для Symbian OS є: С, OPML, а також є підтримка Java додатків.

На сьогоднішній день найбільш поширеною за кількістю смартфонів в яких використовується Symbian OS версією цієї ОС є Symbian OS Series 60 3nd Edition. Ця версія вийшла в 2005 році. Symbian OS Series 60 3nd Edition радикально відрізняється від попередніх редакцій Symbian OS Series 60, і саме з цього додатка для 1-ї та 2-й редакцій працювати на 3-й не будуть.

Структура Symbian OS

Структура Symbian OS подібна більшості настільних операційних систем з такими функціями, як пріоритетна багатозадачність, багатопотоковою обробкою та захистом пам'яті. Перевагою системи є націленість її функцій на переносні пристрої з обмеженими ресурсами, які повинні працювати протягом багатьох місяців і років. До таких функцій відноситься мінімізація використання пам'яті і рідкість її витоку. Так само слід зазначити оптимізацію використання CPU з метою зниження енергоспоживання - процесор відключається, коли програми знаходяться в режимі очікування. Структуру самої системи можна умовно розбити на рівні.

На самому низькому рівні знаходяться основні компоненти Symbian, що складаються з ядра (EKA1, для Symbian 6.0-8.1a, або EKA2 для Symbian 8.1b-9.5) і призначена для користувача бібліотека, що дозволяє програмам сторонніх виробників звертатися до функцій ядра. Symbian OC має мікроядерну архітектуру, що означає, що ядро містить мінімум необхідних функцій операційної системи. До цих функцій відноситься підтримка багатозадачності і керування пам'яттю.

Підтримку файлової системи і мережевої складової здійснюють сервери користувальницького боку, розташовані на базовому рівні. Файловий сервер забезпечує подібне DOS відображення файлової системи пристрою (кожному диску призначена певна буква, зворотний слеш визначає каталог). Symbian підтримує різні типи файлових систем, включаючи FAT32 і специфічну для Symbian систему NOR.

На рівень вище файлової системи знаходяться системні бібліотеки, які виконують такі функції як перетворення кодувань символів, підтримку бази даних DBMS та обробку файлів ресурсів.


Архітектура Symbian OS (на прикладі версії 7.0s)

Рис.1. Архітектура Symbian OS

Перш за все, потрібно розуміти, що Symbian OS для виробників телефонів розділена на дві частини: ядро ​​і графічну систему. Завдяки цьому виробники телефонів можуть створювати свій вид користувальницького інтерфейсу. Програмна архітектура Symbian OS створена за принципом модульної побудови, що складається з надбудовуваних один над одним рівнів. Подивіться на рис. 1, де показана архітектура Symbian OS.

    * Kernel and Hardware Integration - ядро ​​і апаратна частина системи;
    * Base Services - базові сервіси;
    * OS Services - сервіси операційної системи;
    * Application Services - призначені для користувача сервіси;
    * UI Frameworks - інфраструктура користувацького інтерфейсу;
    * Java 2 ME - платформа Java 2 ME.

Всього Symbian OS включає в себе п'ять рівнів і модуль підтримки технології Java 2 ME. У свою чергу, кожен з перерахованих рівнів містить різний набір компонентів, на основі яких і відбувається робота всієї системи в цілому. Давайте перейдемо до розгляду складових кожного рівня.

Ядро і апаратна частина системи

Рис. 2. Рівень Kernel і Hardware Integration

Абстрактний рівень ядра і апаратної частини системи (Kernel and Hardware Integration) складається з двох підсистем, зображених на рис. 2. Ядро системи (Kernel Services) оптимізовано для роботи на процесорах архітектури ARM з ефективним управлінням всіх наявних сервісів системи. Ядро системи забезпечує багатопоточність роботи, управління пам'яттю і живленням, а також забезпечує можливість перенесення на будь апаратне забезпечення.

Драйвери пристрою (Device Driver) забезпечують низькорівневу підтримку програмних контролерів для наступних пристроїв:

    * Клавіатура;
    * Дисплей;
    * Карта пам'яті;
    * Цифровий перетворювач;
    * Інфрачервоний і послідовний порти зв'язку;
    * USB1.1.

Базові сервіси

Рис.3. Рівень Base Services

Базові сервіси системи (Base Services) забезпечують основний або базовий каркас для наступних компонентів Symbian OS. Рівень базових сервісів складається з двох підсистем: Low Level Libraries (низькорівневі бібліотеки) і Fileserver (Файл сервер). На рис. 3. представлений базовий рівень.

Компонент Low Level Libraries містить низькорівневі бібліотеки та утиліти, за допомогою яких можна вирішувати завдання в наступних областях:

    * Криптографія;
    * Бази даних;
    * Структура управління живленням;
    * Підтримка кодувань;
    * Робота з пам'яттю;
    * Робота з архівами.

Файл сервер потрібно для коректної роботи з файловими системами. Підтримуються типи носіїв:

    * RAM (Random Access Memory) - оперативно-запам'ятовуючий пристрій (ОЗУ);
    * NOR flash;
    * NAND flash;
    * ММС-карта пам'яті;
    * SD-карта пам'яті.

Сервіси операційної системи

Сервіси операційної системи (OS Services) містять набір компонентів інфраструктури Symbian OS для роботи з графікою, мультимедіа, криптографією, зв'язком і так далі. Це повноцінні мікропрограми, базова складова яких грунтується на попередніх рівнях операційної системи. Рівень OS Services розділений на чотири підсистеми, з набором різних компонентів. На рис. 4 зображено рівень OS Services.

Рис.4. Рівень OS Services

Сервіс зв'язку з комп'ютером (PC Connect Services) забезпечує зв'язок телефону з комп'ютером за допомогою спеціалізованого програмного забезпечення, а також інструментальні засоби розробника (Toolkit) для створення програм на комп'ютері. Графічний сервіс (Graphics Services) передбачає роботу з екраном і клавіатурою на основі-графічної підсистеми, надаючи прямий доступ до екрану, пристрою введення і згладжування графіки. Все це відбувається на основі HAL (Hardware Abstraction Layer - рівень апаратної абстракції).

Сервіс передачі даних (Comms Services) забезпечує для Symbian OS інфраструктуру комунікацій. Перш за все, це телефонія (Telephony), робота з мережею (Networking Services) і сервіс зв'язку з послідовним і інфрачервоним портами, USB і Bluetooth.

Система телефонії надає можливість роботи зі стандартами:

   * GSM (Phase2 +),
   * GPRS (r4, Class В),
   * CDMA 2000 (lx),
   * EDGE (ECSD, EGPRS),
   * WCDMA (r4).

Мережевий інтерфейс підтримує протоколи зв'язку:

   * TCP, IPv4, IPv6, MSCHAPv2;
   * IPSec;
   * TCP / IP;
   * WAP;
   * Множинна адресація.

У свою чергу сервіс зв'язку передбачає роботу з основними засобами зв'язку:

   * IrDA;
   * USB;
   * Bluetooth.

Підсистема в рівні OS Services - це Generic Services (Загальні сервіси), складається з двох сервісів: Cryptography Services (Криптографія) і Multimedia (Мультимедіа). Криптографія відповідає за безпеку системи в області криптографії, управління сертифікатами та інсталяції програмного забезпечення на телефон. У криптографії підтримуються стандарти:

   * DES; Q 3DEC;
   * AES;
   * RC2;
   * RC2-128;
   * RC4;
   * RC5;
   * RSA;,
   * DSA;
   * DH;
   * PKCS # 7.

Система мультимедіа необхідна для роботи зі звуком, відео і графікою (як 2D, так і 3D). Робота з цими компонентами здійснюється через відповідні системні бібліотеки. На рис. 5 представлена ​​складова системи мультимедіа.

Рис.5. Система мультимедіа

Створення тривимірних ігор в Symbian OS можливе при відповідній апаратній підтримці та на основі OpenGL ES. Робота з 2D графікою побудована через GDI (Graphics Device Interface - інтерфейс графічного пристрою) системи Symbian. Також всі телефони під управлінням Symbian OS підтримують роботу зі звуком та відео.

Користувацькі сервіси

Рівень користувача сервісів (Applications Services) інкапсулює різні механізми, що забезпечують користувачеві роботу з даними. Symbian OS містить вбудований пакет додатків, таких як: календар, замітки, будильник, передача SMS, доступ до електронної пошти і так далі. Сервіс для користувача послуг складається з чотирьох підсистем, зображених на рис. 6.

Рис.6. Рівень OS Services

PIM (Personal Information Manager - персональний інформаційний менеджер) забезпечує стандартні механізми по роботі з одними даними. Прикладом можуть служити простий органайзер, записна книжка або офісні додатки, реалізовані в Symbian OS. Є великий набір API для створення своїх програм користувача.

Синхронізація даних (Data Synchronization) побудована на основі механізму ОМА SyncML 1.1, що забезпечує синхронізацію даних за принципом сервер / клієнт.

Передача повідомлень (Messaging) підтримує всі основні види повідомлень:

   * SMS;
   * EMS;
   * MMS.

Також підтримується робота по протоколах POP, SMTP / ШАР для передачі і прийому, наприклад, електронної пошти. Здійснюється підтримка WAP, HTTP, XHTTP, а системна бібліотека має безліч класів для створення своїх програм.

Інфраструктура користувацького інтерфейсу

Інфраструктура користувацького інтерфейсу (UI Framework) - це система, на основі якої виробники мобільних пристроїв можуть створювати свій графічний інтерфейс на базі механізмів Symbian OS. Мудрим і зваженим рішенням був поділ системи на ядро і графіку. Інфраструктура користувацького інтерфейсу складається з двох компонентів. Перший - UI Applications Framework (Прикладна інфраструктура Ш) - надає можливість у створенні власного користувацького інтерфейсу, який ви можете спостерігати на своєму телефоні. Другий - UI Toolkit (Інструментальні засоби розробника користувацького інтерфейсу). На основі цих коштів виробники телефонів розробляють свої SDK, і за допомогою яких програмісти створюють свої програми. Такий підхід розширює коло виробників, зацікавлених в портуванні Symbian OS на свої моделі телефонів.