OS Symbian - це мобільна операційна система та обчислювальна платформа, призначена для смартфонів. Спочатку вона була розроблена в якості ОС з закритим вихідним кодом для КПК в 1998 році компанією Symbian Ltd. Ця платформа спочатку була подальшим дистрибутивом EPOC Psion і працювала виключно на процесорах ARM (хоча існував і варіант x86).
Symbian використовувалася багатьма великими брендами мобільних телефонів - Samsung, Motorola, SonyEricsson і, насамперед, Nokia. Будучи піонером, який створив індустрію смартфонів, вона була найпопулярнішою операційною системою для смартфонів приблизно до кінця 2010 року, тобто в той період часу, коли вони перебували в обмеженому використанні. Потім її розвиток обігнала ОС Android, оскільки розробки від Google швидко досягли масового споживача.
Розвиток операційної системи
OS Symbian з 2001 року була системною оболонкою і вимагала додаткового інтерфейсу (в якості проміжного ПО) для формування повної операційної системи. Потім вона стала самостійною завдяки платформі S60 (раніше Series 60), створеної Nokia і вперше випущена в 2002 році. Оскільки вона була вбудованої у більшості смартфонів Nokia, Symbian OS в кінцевому підсумку стала найбільш широко використовуваної смарт-мобільною операційною системою.

UIQ був ще одним інтерфейсом «Сімбіан», в основному використовується Motorola і SonyEricsson, тоді як в Японії також існувала платформа MOAP. Застосування цих інтерфейсів не були сумісні один з одним, незважаючи на те, що кожен з них був побудований на Symbian OS. Компанія Nokia була мажоритарним акціонером «Сімбіан» і придбала всю свою частку в 2008 році. Після цього була створена некомерційна Symbian Foundation з метою розробляти без роялті-спадкоємця, базуючись на S60. В результаті цієї роботи, Symbian ^1 (або S60 5th Edition) була випущена в 2009 році. Наступний дистрибутив ^2 був використаний тільки для носія NTT DoCoMo на японському ринку. Symbian ^3 була випущена в 2010 році, і до цього вона стала платформою з повністю відкритим вихідним кодом. Ця версія отримала значні поновлення у 2011 році.
Symbian Foundation розпалася в кінці 2010 року, і Nokia повернула контроль над розвитком ОС. У лютому 2011 року «Нокіа», як єдина залишилася компанія, яка підтримує «Сімбіан» за межами Японії, оголосила, що в якості основної платформи для смартфонів буде використовувати Windows Phone 7 від Microsoft. Два місяці потому ОС була перенесена на закрите ліцензування. Незважаючи на те, що підтримка платформи була обіцяна до 2016 року, всі розробки з 2012 року розвивалася слабко. У січні 2014 року «Нокіа» перестала приймати від розробників нове або змінене програмне забезпечення Symbian.
Nokia 808 PureView офіційно став останнім смартфоном Symbian від цього виробника. Однак NTT DoCoMo продовжувала випускати пристрої OPP (Operator Pack Symbian, наступник MOAP) в Японії, які все ще виступають у якості проміжного програмного забезпечення поверх «Сімбіан». Інші на Symbian OS телефони, які широко використовуються в даний час, це F-07F від Fujitsu і SH-07F від Sharp, випущені в 2014 році.
Користувальницький інтерфейс
З моменту створення у Symbian був власний графічний інструментарій, відомий як AVKON (раніше - Series 60). S60 був спроектований таким чином, щоб ним можна було керувати за допомогою клавіатури, подібної інтерфейсного інструменту (mini-QWERTY). Програмне забезпечення на базі AVKON сумісно з бінарними версіями «Сімбіан», включаючи версію ^3. Symbian ^ 3 включає в себе інфраструктуру Qt, яка в даний час є рекомендованим інструментальним пакетом для нових додатків. Qt також можна встановити на старих пристроях з цієї ОС. Четвертий дистрибутив планував запровадити нову графічну бібліотеку, спеціально розроблену для сенсорного інтерфейсу, відомого як «UI Extensions for Mobile» або UIEMO, яка була розроблена на базі QtWidget. Пробна версія була випущена в січні 2010 року, проте в жовтні того ж року Nokia оголосила, що Orbit/UIEMO не буде виходити на ринок.
Як йде справа зараз?
В даний час Nokia рекомендує розробникам використовувати QtQuick з QML, новим високорівневим декларативним інтерфейсом користувача і середовищем розробки сценаріїв, які дозволяють розробляти як OS Symbian, так і MeeGo. Він доступний для існуючих пристроїв третього покоління як оновлення Qt. Коли в інших додатках поступово з'являється новий користувальницький інтерфейс, застаріла структура S60 (AVKON) витісняється і більше не включається в нові пристрої, що порушує бінарну сумісність зі старими програмами для Symbian OS S60.
Браузер
Symbian ^3 і більш ранні версії мають вбудований браузер на основі WebKit. «Сімбіан» стала першою мобільною платформою, що використовує це додаток (у червні 2005 року). Деякі старі (на Symbian OS телефони використовують Opera Mobile в якості браузера за замовчуванням. Згодом Nokia випустила новий оглядач Symbian Anna з поліпшеною швидкістю і поліпшеним користувальницьким інтерфейсом.
Підтримка декількох мов
Symbian має потужну підтримку локалізації, що дозволяє виробникам і стороннім розробникам додатків використовувати свої продукти на основі цієї ОС для підтримки глобального розповсюдження. Поточна версія «Сімбіан» (Belle) підтримує 48 мов, які Nokia робить доступними на пристроях в мовні пакети. Всі вони мають загальний англійський або локально відповідний діалект.
Системні характеристики
Операційна система Symbian OS підтримує попереджувальну багатозадачність і захист пам'яті, як і інші ОС (особливо ті, які створені для використання на настільних комп'ютерах). Підхід EPOC до багатозадачності був почерпнуть у VMS і заснований на асинхронних серверних події.
OS Symbian була створена з урахуванням трьох принципів проектування систем: Цілісність і безпеку для користувача даних має першорядне значення. Час користувача не повинно бути витрачено даремно. Усі ресурси обмежені. Щоб краще слідувати цим принципам, Symbian використовує мікроядро, має підхід до сервісів із зворотним викликом і підтримує розділення між інтерфейсом і движком. ОС оптимізована для пристроїв з низьким енергоспоживанням на батареях і для систем на основі ПЗУ (наприклад, таких функцій, як XIP і повторне включення в колективні бібліотеки). Додатки і сама ОС слідують об'єктно-орієнтованого дизайну: Model-view-controller (MVC). Більш пізні ітерації ОС розбавили цей підхід у відповідь на вимоги ринку, особливо з впровадженням ядра в режимі реального часу і моделі безпеки платформи версії Symbian OS 9.3 і вище.
Ресурсомісткість
Особлива увага приділяється збереженню ресурсів, прикладом чого є спеціальні ідіоми програмування, такі як дескриптори і стека очищення. Подібні методи існують для економії місця для зберігання. Крім того, всі програмування на Symbian засноване на подіях, що і центральний процесор (CPU) перемикається в режим з низьким енергоспоживанням, коли програми не мають прямого відношення до події. Це робиться з допомогою програмної ідіоми, званої активними об'єктами. Аналогічним чином підхід Symbian OS (9.4) до потоків і процесів обумовлений зниженням накладних витрат.
Будова платформи
Модель AllOver містить наступні шари зверху вниз: Шар рамок користувальницького інтерфейсу. Шар прикладних послуг. Java ME. Рівень служб ОС. Загальні служби ОС. Послуги зв'язку. Мультимедійні та графічні сервіси. Послуги зв'язку. Рівень базових послуг. Рівень служб і апаратного інтерфейсу ядра.
Що це означає?
Рівень базових послуг - найнижчий рівень, доступний для операцій користувача. Він включає в себе файловий сервер і власну бібліотеку, платформу Plug-In, яка керує всіма модулями, сховищем, центральним сховищем, СУБД і криптографічними службами. Він також містить сервер текстового вікна і текстову оболонку: дві базові служби, з яких можна створити повністю функціональний порт без необхідності в яких-небудь службах більш високого рівня.

OS Symbian має микроядровую архітектуру, а це означає, що мінімальне необхідне знаходиться усередині ядра, щоб максимізувати надійність, готовність і чуйність. Вона містить планувальник, управління пам'яттю і драйвери пристроїв, але інші служби, такі як підтримка мереж, телефонії і файлової системи, розміщуються на рівні служб ОС або базових служб. Включення драйверів пристроїв означає, що ядро не є істинним микроядром. Ядро реального часу EKA2 яке було названо наноядром, містить лише самі примітивні позиції і вимагає розширеного модуля для реалізації будь-яких інших абстракцій.
Сумісність
Symbian розроблена, щоб підкреслити сумісність з іншими пристроями, особливо з файловими системами змінних носіїв. Рання розробка EPOC призвела до того, що FAT стала внутрішньою файловою системою (і залишається по сьогоднішній день), але об'єктно-орієнтована модель персистентності була поміщена поверх лежить в основі FAT, щоб забезпечити інтерфейс в стилі POSIX та потокову модель. Внутрішні формати даних базуються на використанні тих же API, які створюють дані для запуску всіх маніпуляцій з файлами. Це призвело до залежностей даних і пов'язаних з ними труднощів з їх змінами та міграцією. Існує велика мережева і комунікаційна підсистема, яка має три основних сервера: ETEL (телефонний зв'язок EPOC), ESOCK (сокети EPOC) і C32 (відповідає за послідовну зв'язок). Кожен з них має схему модуля. Наприклад, ESOCK дозволяє різним протокольним модулів «.PRT» реалізовувати різні мережеві протоколи. Підсистема також містить код, підтримує короткі лінії зв'язку, такі як Bluetooth, IrDA і USB.
Інтерфейси і їх підтримка
Існує також великий обсяг коду інтерфейсу користувача (UI). В ОС Symbian містилися тільки базові класи і підструктура, тоді як більшість реальних користувальницьких інтерфейсів підтримувалося третіми сторонами. Це вже не так. Три основних інтерфейсу S60 UIQ і MOAP - були внесені в Symbian в 2009 році. «Сімбіан» також містить графіком, текстову розкладку і бібліотеки рендеринга шрифтів. Всі нативні для Symbian OS програми C ++ побудовані з трьох базових класів, визначених архітектурою програми: програми, документа та користувальницького інтерфейсу програми. Ці класи створюють фундаментальне поведінку програми. Інші необхідні функції, подання додатка, модель і інтерфейс даних створюються незалежно і взаємодіють виключно через їх API з іншими класами.
Необхідність в плагінах
Багато інші компоненти ще не вписуються в цю модель, наприклад, SyncML, Java ME, надає інший набір API поверх більшості ОС і мультимедіа. Багато з них є фреймворками, і очікується, що розробники будуть поставляти плагіни для них від третіх сторін (наприклад, HelixPlayer для мультимедійних кодеків). Це має перевагу в тому, що API для таких областей функціональності однакові у багатьох моделях телефонів, і що розробники при цьому отримують більшу гнучкість. Але це одночасно означає і те, що виробники телефонів повинні виконати велику інтеграційну роботу, щоб створити функціональний гаджет з ОС Symbian. «Сімбіан» включає в себе довідковий користувальницький інтерфейс під назвою «TechView». Він забезпечує основу для початкової настройки і є середовищем, в якій виконується багато тестів Symbian і приклад коду.
Варіанти і платформи Symbian
Symbian, просунувшись до версії ОС 7.0 розділилася на кілька графічних користувацьких інтерфейсів, кожен з яких підтримується певною компанією або їх групою. На відміну від різних версій ОС Android, графічні інтерфейси «Сімбіан» називаються «платформами» з-за більш значних модифікацій та інтеграції. Все ускладнилося, коли додатки (у тому числі для Symbian OS гри), розроблені для різних платформ GUI, стали несумісні один з одним, що призвело до фрагментації ОС.