Symbian — вышедшая из производства мобильная операционная система (ОС) и вычислительная платформа, предназначенная для смартфонов . [6] Первоначально она была разработана как проприетарная программная операционная система для персональных цифровых помощников в 1998 году консорциумом Symbian Ltd. [7] Symbian OS является потомком EPOC от Psion и была выпущена исключительно для процессоров ARM , хотя существовал неизданный порт x86 . Symbian использовался многими крупными брендами мобильных телефонов, такими как Samsung , Motorola , Sony Ericsson и, прежде всего, Nokia . Он также был распространен в Японии такими брендами, как Fujitsu , Sharp и Mitsubishi . Будучи пионером индустрии смартфонов, она была самой популярной ОС для смартфонов в среднем по всему миру до конца 2010 года, в то время, когда смартфоны использовались ограниченно, когда ее обогнали iOS и Android . Он был заметно менее популярен в Северной Америке.
Платформа Symbian OS состоит из двух компонентов: один представляет собой операционную систему на основе микроядра со связанными с ней библиотеками , а другой — пользовательский интерфейс (в качестве промежуточного программного обеспечения ), который обеспечивает графическую оболочку поверх ОС. [8] Наиболее известным пользовательским интерфейсом была платформа S60 (ранее Series 60), созданная Nokia, впервые выпущенная в 2002 году и используемая в большинстве устройств Nokia Symbian. UIQ представлял собой конкурирующий пользовательский интерфейс, который в основном использовался Motorola и Sony Ericsson и был ориентирован на перьевые устройства, а не на традиционный клавиатурный интерфейс от S60. Еще одним интерфейсом была платформа MOAP (S) от оператора NTT DoCoMo на японском рынке. [9] [10] Приложения для этих разных интерфейсов не были совместимы друг с другом, несмотря на то, что каждое из них было построено на базе ОС Symbian. Nokia стала крупнейшим акционером Symbian Ltd. в 2004 году и приобрела всю компанию в 2008 году. [11] Затем была создана некоммерческая организация Symbian Foundation , которая должна была стать бесплатным преемником Symbian OS. Стремясь унифицировать платформу, S60 стал любимым интерфейсом Фонда, и UIQ прекратил разработку. В результате в 2009 году был создан Symbian^1 (или S60 5th Edition), ориентированный на сенсорный экран . Symbian^2 (на основе MOAP) использовался NTT DoCoMo, одним из членов Фонда, для японского рынка. Symbian^3 был выпущен в 2010 году как преемник S60 5th Edition и к тому времени стал полностью бесплатным программным обеспечением . Переход от проприетарной операционной системы к проекту свободного программного обеспечения считается одним из крупнейших в истории. [12] Symbian^3 получила обновления «Анна» и «Белль» в 2011 году. [13] [14]
Symbian Foundation распалась в конце 2010 года, и Nokia вернула себе контроль над разработкой ОС. [15] [16] В феврале 2011 года Nokia, к тому времени единственная оставшаяся компания, все еще поддерживавшая Symbian за пределами Японии, объявила, что будет использовать Windows Phone 7 от Microsoft в качестве основной платформы для смартфонов, в то время как Symbian будет постепенно сворачиваться. [17] [18] Два месяца спустя Nokia перевела ОС на проприетарное лицензирование, сотрудничая только с японскими OEM-производителями [19] , а позже передала разработку Symbian компании Accenture . [6] [20] Хотя поддержка была обещана до 2016 года, включая два крупных запланированных обновления, к 2012 году Nokia в основном отказалась от разработки, и большинство разработчиков Symbian уже покинули Accenture, [21] а в январе 2014 года Nokia прекратила принимать новое или измененное программное обеспечение Symbian. от разработчиков. [22] Nokia 808 PureView в 2012 году официально был последним Symbian-смартфоном от Nokia. [23] NTT DoCoMo продолжала выпускать в Японии устройства OPP(S) (Operator Pack Symbian, преемник MOAP), которые до сих пор действуют как промежуточное программное обеспечение поверх Symbian. [24] В число телефонов, работающих с этой функцией, входят F-07F от Fujitsu и SH-07F от Sharp в 2014 году.
Symbian произошел от EPOC32 , операционной системы, созданной Psion в 1990-х годах. В июне 1998 года Psion Software стала Symbian Ltd. , крупным совместным предприятием Psion и производителей телефонов Ericsson , Motorola и Nokia .
Впоследствии для Symbian были созданы различные программные платформы при поддержке разных групп производителей мобильных телефонов. К ним относятся S60 ( Nokia , Samsung и LG ), UIQ ( Sony Ericsson и Motorola ) и MOAP (S) (только японские, такие как Fujitsu , Sharp и т. д.).
В то время, когда не было серьезной конкуренции на рынке ОС для смартфонов ( Palm OS и Windows Mobile были сравнительно небольшими игроками), Symbian в 2006 году достигла 67% мирового рынка смартфонов. [25]
Несмотря на свою значительную долю рынка в то время, Symbian на разных этапах было трудно разрабатывать: во-первых (примерно в начале-середине 2000-х годов) из-за сложности единственных на тот момент родных языков программирования Open Programming Language (OPL) и Symbian C++ ; и ОС; затем упрямая бюрократия разработчиков, а также высокие цены на различные интегрированные среды разработки (IDE) и комплекты разработки программного обеспечения (SDK), которые были непомерно высоки для независимых или очень мелких разработчиков; а затем последующая фрагментация, которая была частично вызвана борьбой между производителями и внутри них, каждый из которых также имел свои собственные IDE и SDK. Все это обескуражило сторонних разработчиков и привело к тому, что собственная экосистема приложений для Symbian не смогла развиться до масштабов, которых позже достигли App Store от Apple или Google Play от Android.
Напротив, iPhone OS (переименованная в iOS в 2010 году) и Android имели сравнительно более простой дизайн, предоставляли более простую и гораздо более централизованную инфраструктуру для создания и получения сторонних приложений, предлагали определенные инструменты разработчика и языки программирования с управляемым уровнем сложности и имели такие возможности, как многозадачность и графика, для удовлетворения будущих потребностей потребителей.
Хотя для Symbian было сложно программировать, эту проблему можно было обойти, создав приложения Java Mobile Edition, якобы под лозунгом «напиши один раз, работай где угодно». [26] Так было не всегда из-за фрагментации из-за разных размеров экрана устройств и различий в уровнях поддержки Java ME на разных устройствах.
В июне 2008 года Nokia объявила о приобретении Symbian Ltd. , и была создана новая независимая некоммерческая организация под названием Symbian Foundation . ОС Symbian и связанные с ней пользовательские интерфейсы S60 , UIQ и MOAP (S) были внесены в фонд их владельцами Nokia , NTT DoCoMo , Sony Ericsson и Symbian Ltd. с целью создания платформы Symbian как бесплатной , Бесплатное программное обеспечение , одобренное Фондом свободного программного обеспечения (FSF) и Инициативой открытого исходного кода (OSI), одобренное Общественной лицензией Eclipse (EPL). Платформа была назначена преемницей Symbian OS после официального запуска Symbian Foundation в апреле 2009 года. Платформа Symbian была официально доступна как бесплатное программное обеспечение в феврале 2010 года. [27]
Nokia стала основным автором кода Symbian, поскольку тогда у нее были ресурсы для разработки как ядра ОС Symbian, так и пользовательского интерфейса. С тех пор Nokia поддерживала собственный репозиторий кода для разработки платформы, регулярно публикуя свои разработки в общедоступном репозитории. [28] Symbian должна была разрабатываться сообществом под руководством Symbian Foundation , о котором впервые было объявлено в июне 2008 года и официально запущено в апреле 2009 года. Его целью была публикация исходного кода для всей платформы Symbian под лицензией EPL. Это было достигнуто 4 февраля 2010 г.; Фонд Symbian сообщил, что это событие стало крупнейшим в истории переводом кодовой базы в свободное программное обеспечение . [27] [29]
Однако некоторые важные компоненты Symbian OS были лицензированы у третьих лиц, что помешало фонду немедленно опубликовать полный исходный код под лицензией EPL; вместо этого большая часть исходного кода была опубликована под более строгой лицензией Symbian Foundation License (SFL), а доступ к полному исходному коду был ограничен только компаниями-членами, хотя членство было открыто для любой организации. [30] Кроме того, в 2010 году для Symbian была представлена платформа бесплатного программного обеспечения Qt в качестве основного пути обновления до MeeGo , которая должна была стать следующей мобильной операционной системой, которая заменит и вытеснит Symbian на устройствах высокого класса; Qt по своей природе был бесплатным и очень удобным для разработки. На платформе было развернуто несколько других фреймворков, в том числе Standard C и C++, Python , Ruby и Adobe Flash Lite . IDE и SDK были разработаны, а затем выпущены бесплатно, а также началась разработка прикладного программного обеспечения (приложений) для Symbian.
В ноябре 2010 года Symbian Foundation объявила, что из-за изменений в глобальных экономических и рыночных условиях (а также отсутствия поддержки со стороны таких участников, как Samsung [31] и Sony Ericsson ) она перейдет в организацию, занимающуюся только лицензированием; [30] Nokia объявила, что возьмет на себя управление платформой Symbian. Symbian Foundation останется владельцем товарного знака и лицензирующим органом, и в нем будут участвовать только неисполнительные директора.
Поскольку доля рынка упала с 39% в третьем квартале 2010 года до 31% в четвертом квартале 2010 года, [32] Symbian быстро сдавала позиции iOS и Android, в конечном итоге отставая от Android в четвертом квартале 2010 года. [33] Стивен Элоп был назначен генеральным директором Nokia в сентябре 2010 года, а 11 февраля 2011 года он объявил о партнерстве с Microsoft , в результате которого Nokia примет Windows Phone в качестве основной платформы для смартфонов, [34] и постепенное прекращение использования Symbian. , вместе с MeeGo. [18] Как следствие, доля рынка Symbian упала, и разработчики приложений для Symbian быстро покинули ее. Исследование, проведенное в июне 2011 года, показало, что более 39% разработчиков мобильных приложений, использующих Symbian на момент публикации, планировали отказаться от этой платформы. [35]
К 5 апреля 2011 года Nokia прекратила предоставлять бесплатно какую-либо часть программного обеспечения Symbian и ограничила свое сотрудничество небольшой группой заранее выбранных партнеров в Японии. [5] Исходный код, выпущенный в соответствии с исходной лицензией EPL, остается доступным в сторонних репозиториях, [36] включая полный набор всего общедоступного кода проекта по состоянию на 7 декабря 2010 года. [37]
22 июня 2011 года Nokia заключила соглашение с Accenture о программе аутсорсинга. Accenture будет предоставлять Nokia услуги по разработке и поддержке программного обеспечения на базе Symbian до 2016 года. [20] Перевод сотрудников Nokia в Accenture был завершен 30 сентября 2011 года, и по состоянию на октябрь 2011 года 2800 сотрудников Nokia стали сотрудниками Accenture. [6]
Nokia прекратила поддержку разработки и обслуживания программного обеспечения для Symbian с 1 января 2014 года, после чего отказалась публиковать новые или измененные приложения или контент Symbian в магазине Nokia и прекратила свою программу сертификации программного обеспечения «Symbian Signed». [38]
С момента своего создания Symbian имеет собственный графический инструментарий, известный как AVKON (ранее известный как Series 60 ). S60 был разработан для управления с помощью метафоры интерфейса, напоминающего клавиатуру, например, 15-клавишной расширенной телефонной клавиатуры или мини-QWERTY-клавиатуры. Программное обеспечение на базе AVKON двоично совместимо с версиями Symbian до Symbian^3 включительно.
Symbian^3 включает в себя инфраструктуру Qt , которая теперь является рекомендуемым набором инструментов пользовательского интерфейса для новых приложений. Qt также можно установить на старые устройства Symbian.
Планировалось, что Symbian^4 представит новую структуру библиотеки графического пользовательского интерфейса, специально разработанную для сенсорного интерфейса, известную как «Расширения пользовательского интерфейса для мобильных устройств» или UIEMO (внутреннее название проекта «Orbit»), которая была построена на основе Qt Widget; предварительная версия была выпущена в январе 2010 года, однако в октябре 2010 года Nokia объявила об отмене Orbit/UIEMO.
Позже Nokia рекомендовала разработчикам использовать Qt Quick с QML , новым высокоуровневым декларативным пользовательским интерфейсом и средой сценариев для создания визуально богатых интерфейсов сенсорного экрана, которые позволяли разрабатывать как для Symbian, так и для MeeGo ; он будет доставлен на существующие устройства Symbian^3 как обновление Qt. Когда все больше приложений постепенно будут использовать пользовательский интерфейс, переработанный в Qt, устаревшая платформа S60 (AVKON) в какой-то момент станет устаревшей и больше не будет включаться в новые устройства, что нарушит бинарную совместимость со старыми приложениями S60. [39] [40]
Symbian^3 и более ранние версии имеют встроенный браузер на основе WebKit . Symbian была первой мобильной платформой, использующей WebKit (июнь 2005 г.). [41] Некоторые старые модели Symbian имеют Opera Mobile в качестве браузера по умолчанию.
Nokia выпустила новый браузер с выпуском Symbian Anna с улучшенной скоростью и улучшенным пользовательским интерфейсом. [42]
Symbian имела мощную поддержку локализации, позволяющую производителям и сторонним разработчикам приложений локализовать продукты на базе Symbian для поддержки глобального распространения. Nokia предоставила языки, доступные в устройстве, в языковых пакетах : наборе языков, охватывающих те, на которых обычно говорят в регионе, где будет продаваться вариант устройства. Во всех языковых пакетах используется общий английский или его местный диалект. Последняя версия Symbian Belle поддерживает следующие 48 языков с [диалектами] и (скриптами):
Symbian Belle знаменует собой появление казахского языка, тогда как корейский больше не поддерживается.
С 2010 года Symbian перешла на использование стандартного C++ с Qt в качестве основного SDK, который можно использовать либо с Qt Creator , либо с Carbide.c++ . Qt поддерживает старые версии Symbian/S60 3rd (начиная с Feature Pack 1, также известный как S60 3.1) и Symbian/S60 5th Edition (также известный как S60 5.01b), а также новую платформу Symbian. Он также поддерживает Maemo и MeeGo , Windows, Linux и Mac OS X. [43] [44]
Альтернативную разработку приложений можно осуществлять с использованием Python (см. Python для S60 ), Adobe Flash Lite или Java ME .
ОС Symbian ранее использовала специальную версию C++ для Symbian вместе с интегрированной средой разработки (IDE) CodeWarrior и более поздней версии Carbide.c++ в качестве собственной среды разработки приложений.
Web Runtime (WRT) — это портативная платформа приложений, позволяющая создавать виджеты на платформе S60 ; это расширение браузера на базе S60 WebKit , которое позволяет запускать несколько экземпляров браузера как отдельные приложения JavaScript. [45] [46]
По состоянию на 2010 год SDK для Symbian представляет собой стандартный C++ с использованием Qt . Его можно использовать либо с Qt Creator , либо с Carbide (более старая IDE, ранее использовавшаяся для разработки на Symbian). [43] [47] Симулятор телефона позволяет тестировать приложения Qt. Приложения, скомпилированные для симулятора, компилируются в собственный код платформы разработки и не требуют эмуляции. [48] При разработке приложений можно использовать либо C++, либо QML .
Поскольку ОС Symbian написана на C++ с использованием стандартов кодирования Symbian Software, ее можно разрабатывать с использованием Symbian C++, хотя это не является стандартной реализацией. До выпуска Qt SDK это была стандартная среда разработки. Существовало несколько платформ на базе ОС Symbian, которые предоставляли комплекты разработки программного обеспечения (SDK) для разработчиков приложений, желающих работать с устройствами с ОС Symbian, основными из которых были UIQ и S60. Отдельные телефонные продукты или семейства часто имели SDK или расширения SDK, которые также можно было загрузить с веб-сайта производителя.
Пакеты SDK содержат документацию, файлы заголовков и файлы библиотек, необходимые для сборки программного обеспечения Symbian OS, а также эмулятор на базе Windows («WINS»). Вплоть до версии Symbian OS 8 в состав SDK также входила версия компилятора GNU Compiler Collection (GCC) ( кросс-компилятор ), необходимая для создания программного обеспечения для работы на устройстве.
Symbian OS 9 и платформа Symbian используют новый двоичный интерфейс приложений (ABI) и требуют другого компилятора. Доступен выбор компиляторов, включая более новую версию GCC (см. внешние ссылки ниже).
Программирование на Symbian C++ требует сложного обучения , поскольку Symbian C++ требует использования специальных методов, таких как дескрипторы, активные объекты и стек очистки. Это может поначалу затруднить реализацию даже относительно простых программ, чем в других средах. Вполне возможно, что методы, разработанные для гораздо более ограниченного мобильного оборудования и компиляторов 1990-х годов, привели к дополнительной сложности исходного кода, поскольку программистам приходится концентрироваться на деталях низкого уровня, а не на функциях, специфичных для приложения. С 2010 года эти проблемы больше не возникают при использовании стандартного C++ с Qt SDK.
Программирование на Symbian C++ обычно выполняется с помощью интегрированной среды разработки (IDE). Для более ранних версий Symbian OS предпочтение отдавалось коммерческой IDE CodeWarrior для Symbian OS. Инструменты CodeWarrior были заменены в 2006 году Carbide.c++ , интегрированной средой разработки на базе Eclipse , разработанной Nokia. Carbide.c++ предлагается в четырех различных версиях: Express, Developer, Professional и OEM с увеличивающимися уровнями возможностей. Полнофункциональное программное обеспечение может быть создано и выпущено в бесплатной версии Express. Такие функции, как дизайн пользовательского интерфейса, отладка сбоев и т. д., доступны в других платных выпусках. Microsoft Visual Studio 2003 и 2005 также поддерживаются через плагин Carbide.vs .
Устройства Symbian также можно программировать с использованием Python , Java ME , Flash Lite , Ruby , .NET , виджетов Web Runtime (WRT) и стандартного C / C++ . [49]
Программисты Visual Basic могут использовать NS Basic для разработки приложений для устройств S60 3rd Edition и UIQ 3.
Раньше разработка Visual Basic , Visual Basic .NET и C# для Symbian была возможна через AppForge Crossfire, плагин для Microsoft Visual Studio. 13 марта 2007 г. AppForge прекратил свою деятельность; Oracle приобрела интеллектуальную собственность, но заявила, что не планирует продавать или предоставлять поддержку бывшим продуктам AppForge. Net60, компактная платформа .NET для Symbian, разработанная redFIVElabs, продается как коммерческий продукт. В Net60, VB.NET и C# (и других) исходный код компилируется в промежуточный язык (IL), который выполняется в ОС Symbian с использованием JIT-компилятора. (По состоянию на 18 января 2010 года RedFiveLabs прекратила разработку Net60, разместив на своей целевой странице следующее объявление: «На данном этапе мы рассматриваем некоторые варианты продажи интеллектуальной собственности, чтобы у Net60 могло продолжаться будущее».)
Существует также версия Borland IDE для ОС Symbian. Разработка Symbian также возможна для Linux и macOS с использованием инструментов и методов, разработанных сообществом, частично благодаря выпуску Symbian исходного кода для ключевых инструментов. Доступен плагин, позволяющий разрабатывать приложения Symbian OS в Apple Xcode IDE для Mac OS X. [50]
Приложения Java ME для ОС Symbian разрабатываются с использованием стандартных методов и инструментов, таких как Sun Java Wireless Toolkit (ранее J2ME Wireless Toolkit). Они упакованы в файлы JAR (и, возможно, JAD). Приложения CLDC и CDC можно создавать с помощью NetBeans . Другие инструменты включают SuperWaba , который можно использовать для создания программ Symbian 7.0 и 7.0s с использованием Java.
Телефоны Nokia S60 также могут запускать сценарии Python, если установлен интерпретатор Python для S60 , со специальным API, который обеспечивает поддержку Bluetooth и тому подобное. Существует также интерактивная консоль, позволяющая пользователю писать сценарии Python прямо с телефона.
После разработки приложения Symbian должны найти путь к мобильным телефонам клиентов. Они упакованы в файлы SIS , которые можно установить по беспроводной сети, через подключение к ПК, Bluetooth или на карту памяти. Альтернативой является сотрудничество с производителем телефона и включение программного обеспечения в сам телефон. Приложения должны быть подписаны Symbian для Symbian OS 9.x, чтобы использовать определенные возможности (возможности системы, ограниченные возможности и возможности производителя устройства). [51] В 2010 году заявки можно было подписывать бесплатно. [52]
Дизайн Symbian разделен на технологические области , [53] каждая из которых включает набор программных пакетов . [54] Каждая технологическая область имеет свою собственную дорожную карту, и в Symbian Foundation есть команда технологических менеджеров, которые управляют этими дорожными картами технологической области.
Каждый пакет относится ровно к одной технологической области в зависимости от общей функциональной области, в которую пакет вносит свой вклад и которая может влиять на него. Группируя связанные пакеты по темам, Symbian Foundation надеется побудить сформировать вокруг них сильное сообщество и организовать дискуссии и обзоры.
Модель системы Symbian [55] иллюстрирует масштабы каждой из технологических областей в пакетах платформы.
Пакеты принадлежат и обслуживаются владельцем пакета, указанным лицом из организации-члена Symbian Foundation, который принимает коды от более широкого сообщества Symbian и несет ответственность за пакет.
Ядро Symbian ( EKA2 ) поддерживает достаточно быстрый отклик в реальном времени, чтобы построить на его основе одноядерный телефон – то есть телефон, в котором одно ядро процессора выполняет как пользовательские приложения , так и стек сигнализации . [56] Ядро реального времени имеет микроядерную архитектуру, содержащую только минимум самых основных примитивов и функций, что обеспечивает максимальную надежность, доступность и оперативность. Его назвали наноядром , поскольку для реализации любых других абстракций ему требуется расширенное ядро. Он содержит планировщик , управление памятью и драйверы устройств , а также службы поддержки сети , телефонии и файловой системы на уровне служб ОС или уровне базовых служб. Включение драйверов устройств означает, что ядро не является настоящим микроядром.
Symbian поддерживает вытесняющую многозадачность и защиту памяти , как и другие операционные системы (особенно те, которые созданы для использования на настольных компьютерах). Подход EPOC к многозадачности был вдохновлен VMS и основан на асинхронных событиях на сервере.
Symbian OS была создана с учетом трех принципов проектирования систем:
Чтобы наилучшим образом следовать этим принципам, Symbian использует микроядро , использует подход к сервисам на основе запросов и обратных вызовов и поддерживает разделение пользовательского интерфейса и ядра. ОС оптимизирована для маломощных устройств с батарейным питанием и для систем на базе постоянного запоминающего устройства (ПЗУ) (например, такие функции, как XIP и повторный вход в общие библиотеки). ОС и прикладное программное обеспечение следуют объектно-ориентированному программному дизайну, называемому модель-представление-контроллер (MVC).
В более поздних итерациях ОС этот подход был ослаблен в ответ на требования рынка, особенно с введением ядра реального времени и модели безопасности платформы в версиях 8 и 9.
Особое внимание уделяется сохранению ресурсов, примером чего являются специфичные для Symbian идиомы программирования, такие как дескрипторы и стек очистки . Подобные методы существуют для экономии места для хранения. Кроме того, все программирование Symbian основано на событиях, и центральный процессор (ЦП) переключается в режим пониженного энергопотребления, когда приложения не обрабатывают событие напрямую. Это делается с помощью идиомы программирования, называемой активными объектами . Аналогичным образом подход Symbian к потокам и процессам основан на сокращении накладных расходов.
Модель All over содержит следующие слои, сверху вниз:
Уровень базовых служб — это самый низкий уровень, достижимый для операций на стороне пользователя; он включает в себя файловый сервер и пользовательскую библиотеку, платформу подключаемых модулей , которая управляет всеми подключаемыми модулями, хранилищем, центральным репозиторием, СУБД и криптографическими службами. Он также включает в себя сервер текстового окна и текстовую оболочку: две основные службы, на основе которых можно создать полностью функциональный порт без необходимости использования каких-либо служб более высокого уровня.
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 также содержит библиотеки графики, макета текста и рендеринга шрифтов.
Все собственные приложения Symbian C++ состоят из трех классов инфраструктуры, определенных архитектурой приложения: класса приложения, класса документа и класса пользовательского интерфейса приложения. Эти классы создают фундаментальное поведение приложения. Остальные необходимые функции — представление приложения, модель данных и интерфейс данных — создаются независимо и взаимодействуют исключительно через свои API с другими классами.
Многие другие вещи пока не вписываются в эту модель — например, SyncML , Java ME , предоставляющие другой набор API поверх большей части ОС и мультимедиа . Многие из них являются фреймворками, и ожидается, что поставщики будут поставлять плагины к этим фреймворкам от третьих лиц (например, Helix Player для мультимедийных кодеков ). Преимущество этого заключается в том, что API-интерфейсы для таких областей функциональности одинаковы на многих моделях телефонов, и поставщики получают большую гибкость. Но это означает, что производителям телефонов пришлось проделать большую работу по интеграции, чтобы создать телефон с ОС Symbian.
Symbian включает в себя эталонный пользовательский интерфейс под названием «TechView». Он обеспечивает основу для начала настройки и представляет собой среду, в которой выполняется большая часть тестового кода Symbian и примеров кода. Он очень похож на пользовательский интерфейс персонального органайзера Psion Series 5 и не используется ни в одном пользовательском интерфейсе серийного телефона.
По мере перехода к версии ОС 7.0 Symbian разделилась на несколько различных графических пользовательских интерфейсов , каждый из которых поддерживается определенной компанией или группой компаний. В отличие от косметических графических интерфейсов ОС Android , графические интерфейсы Symbian называются «платформами» из-за более значительных модификаций и интеграций. Ситуация усложнилась, когда приложения, разработанные для разных платформ Symbian GUI, оказались несовместимы друг с другом, и это привело к фрагментации ОС. [57]
Платформы пользовательских интерфейсов, которые работают на ОС Symbian или основаны на ней, включают:
* Производство Fujitsu
† Производство Sharp
▲ Обслуживание обновлений программного обеспечения для телефонов Nokia Belle и Symbian (S60) прекращается в конце декабря 2015 г.
В первом квартале 2004 года было продано 2,4 миллиона телефонов Symbian, что вдвое больше, чем в первом квартале 2003 года. Symbian Ltd. была особенно впечатлена прогрессом, достигнутым в Японии. [77]
В третьем квартале 2004 года было продано 3,7 миллиона устройств, что на 201% больше, чем в третьем квартале 2003 года, а доля рынка выросла с 30,5% до 50,2%. Однако в США он был гораздо менее популярен: в третьем квартале 2004 года его доля рынка составляла 6%, что значительно уступало Palm OS (43%) и Windows Mobile (25%). Это объясняется тем, что клиенты в Северной Америке предпочитают беспроводные КПК смартфонам, а также низкой популярностью Nokia там. [78]
16 ноября 2006 года был отправлен 100-миллионный смартфон под управлением этой ОС. [79] По состоянию на 21 июля 2009 года было произведено более 250 миллионов устройств под управлением ОС Symbian. [80]
В 2006 году Symbian занимала 73% рынка смартфонов [81] по сравнению с 22,1% рынка во втором квартале 2011 года. [82]
К концу мая 2006 года в Японии было продано 10 миллионов телефонов на базе Symbian, что составляет 11% от общего объема поставок Symbian по всему миру (89 миллионов). [83] К ноябрю 2007 года эта цифра составила 30 миллионов, а к июню 2007 года на японском рынке доля рынка составила 65%. [84]
Symbian с годами потеряла долю рынка, поскольку рынок резко вырос с выходом на рынок новых конкурирующих платформ, хотя ее продажи за тот же период увеличились. Например, хотя доля Symbian на мировом рынке смартфонов упала с 52,4% в 2008 году до 47,2% в 2009 году, поставки устройств Symbian выросли на 4,8%, с 74,9 млн единиц до 78,5 млн единиц. [85] Со второго квартала 2009 года по второй квартал 2010 года поставки устройств Symbian выросли на 41,5%, на 8,0 миллионов единиц, с 19 178 910 единиц до 27 129 340; по сравнению с увеличением на 9,6 миллиона единиц для Android, на 3,3 миллиона единиц для RIM и на 3,2 миллиона единиц для Apple. [86]
Предыдущие отчеты о поставках устройств, опубликованные в феврале 2010 года, показали, что устройства Symbian составляли 47,2% доли интеллектуальных мобильных устройств, поставленных в 2009 году, при этом доля RIM составляла 20,8%, Apple — 15,1% (через iOS ), Microsoft — 8,8% (через iOS). Windows CE и Windows Mobile ) и Android — 4,7%. [85]
По количеству продаж «умных мобильных устройств» устройства Symbian были лидерами рынка в 2010 году. Статистика показала, что устройства Symbian составляли 37,6% доли проданных интеллектуальных мобильных устройств, при этом доля Android составляла 22,7%, доля RIM составляла 16%, а доля Apple составляла 37,6%. 15,7% (через iOS ). [87] По некоторым оценкам, количество мобильных устройств, поставляемых с ОС Symbian, до конца второго квартала 2010 года составило 385 миллионов. [88]
В течение 2009–2010 годов Motorola , Samsung , LG и Sony Ericsson объявили об отказе от Symbian в пользу альтернативных платформ, включая Android от Google и Windows Phone от Microsoft . [89] [90] [91] [92]
По данным IDC, во втором квартале 2012 года доля мирового рынка упала до рекордно низкого уровня в 4,4%. [93]
Пользователи Symbian в странах с нелатинским алфавитом (таких как Россия, Украина и другие) уже много лет критикуют сложный метод переключения языка. [94] Например, если пользователь хочет ввести латинскую букву, он должен вызвать меню, щелкнуть пункт «Языки», с помощью клавиш со стрелками выбрать, например, английский язык среди множества других языков, а затем нажать кнопку ' кнопку ОК». После набора латинской буквы пользователю необходимо повторить процедуру, чтобы вернуться к родной клавиатуре. Этот метод значительно замедляет набор текста. В сенсорных телефонах и телефонах с QWERTY процедура немного отличается, но занимает много времени. Все остальные мобильные операционные системы, а также телефоны Nokia S40 позволяют переключаться между двумя изначально выбранными языками одним щелчком мыши или одним жестом.
Ранние версии прошивки для оригинального Nokia N97 , работающего на Symbian^1/Series 60 5th Edition, подверглись резкой критике как ошибочные (также этому способствовал малый объем оперативной памяти , установленной в телефоне). [95]
В ноябре 2010 года блог о смартфонах All About Symbian раскритиковал производительность веб-браузера Symbian по умолчанию и рекомендовал альтернативный браузер Opera Mobile . [96] Старший вице-президент Nokia Джо Харлоу пообещал выпустить обновленный браузер в первом квартале 2011 года. [97]
Существует множество различных версий и редакций Symbian, что привело к фрагментации. Приложения и программное обеспечение могут быть несовместимы при установке в разных версиях Symbian. [98]
ОС Symbian подвержена воздействию множества вирусов, наиболее известным из которых является Cabir . Обычно они пересылаются с телефона на телефон по Bluetooth. До сих пор никто не использовал какие-либо недостатки Symbian OS. Вместо этого все они спрашивают пользователя, хотят ли они установить программное обеспечение, с несколько заметными предупреждениями о том, что ему нельзя доверять, хотя некоторые полагаются на социальную инженерию , часто в форме сообщений, которые поставляются с вредоносным ПО: вредоносное программное обеспечение якобы является вредоносным. быть утилитой, игрой или каким-либо другим приложением для Symbian.
Однако, поскольку среднестатистическому пользователю мобильного телефона не нужно беспокоиться о безопасности, в Symbian OS 9.x принята модель возможностей в стиле Unix (разрешения для каждого процесса, а не для каждого объекта). Установленное программное обеспечение теоретически не способно причинить вред (например, стоить пользователю денег за отправку сетевых данных) без цифровой подписи, что делает его отслеживаемым. Коммерческие разработчики, которые могут себе это позволить, могут подать заявку на подписание своего программного обеспечения через программу Symbian Signed. Разработчики также имеют возможность самостоятельно подписывать свои программы. Однако в набор доступных функций не входит доступ к Bluetooth, IrDA, GSM CellID, голосовые вызовы, GPS и некоторые другие. Некоторые операторы решили отключить все сертификаты, кроме сертификатов, подписанных Symbian.
Ниже перечислены некоторые другие вредоносные программы, но все они по-прежнему требуют участия пользователя для запуска.
Новая форма вредоносной угрозы для ОС Symbian в виде «приготовленной прошивки» была продемонстрирована на Международной конференции по вредоносному ПО в Малконе в декабре 2010 года индийским хакером Атулом Алексом. [99] [100]
Устройства Symbian OS 9.x можно взломать, чтобы лишить платформу безопасности, представленную в OS 9.1 и более поздних версиях, позволяя пользователям выполнять неподписанный код. [101] Это позволяет изменять системные файлы и получать доступ к ранее заблокированным областям ОС. Nokia раскритиковала этот взлом за потенциальное увеличение угрозы , исходящей от мобильных вирусов, поскольку может быть выполнен неподписанный код . [102]
{{cite web}}
: CS1 maint: bot: исходный статус URL неизвестен ( ссылка ). blog.symbian.org. 16 апреля 2009 г.{{cite web}}
: CS1 maint: числовые имена: список авторов ( ссылка ){{cite web}}
: CS1 maint: числовые имена: список авторов ( ссылка ){{cite web}}
: CS1 maint: bot: исходный статус URL неизвестен ( ссылка ). H-online.com (8 декабря 2010 г.). Проверено 25 сентября 2011 г.{{cite web}}
: CS1 maint: числовые имена: список авторов ( ссылка )