MeeGo

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 16:28, 15 сентября 2017.
MeeGo
Версия операционной системы GNU/Linux
Logo.png
MG4.png
Разработчик MeeGo Technical Steering Group (TSG)
Написанный на C, C++
Рабочее состояние Неактуальное (преемник — проект Tizen)
Дата выхода на
производство
26 May 2010 года; 8 years ago (2010-05-26)
Последний релиз 1.2.0.9 / 31 May 2012 года; 6 years ago (2012-05-31)
Метод обновления Выход релиза раз в 6 месяцев (ранее)
Cистема управления пакетами RPM, Zypper
Платформы x86, ARM
Ядро (тип) Монолитное ядро (Linux)
Лицензия GNU GPL, GNU LGPL, предусмотрены исключения для возможности применения BSD license для отдельных компонентов
Официальный веб-сайт meego.com

MeeGo — это операционная система (проект) с открытым исходным кодом, предназначенная для использования на широком спектре устройств.
Она сочетает в себе все преимущества мобильной операционной системы Maemo, разработанной компанией Nokia, и ОС Moblin, которая создавалась под крылом Intel. Тем не менее, основой была концепция независимости дистрибутива MeeGo — он не основан ни на каком другом дистрибутиве (Fedora и Debian).[Источник 1]
Таким образом, MeeGo является совместной разработкой компаний Intel и Nokia, которые решили создать собственную платформу на ядре Linux для выпуска на ней смартфонов, нетбуков и планшетов, а также встраивания в другие мобильные устройства.

История

16 февраля 2010 года состоялся официальный анонс проекта MeeGo на Mobile World Congress в Барселоне, а 28 октября 2010 года вышел релиз MeeGo 1.1.
В начале 2011 года после изменения стратегии компании Nokia[1] MeeGo перешла в разряд «проекта» с открытым исходным кодом. Было заявлено, что Nokia не отказывается от выпуска продуктов на базе MeeGo, но сам проект теперь позиционируется как долгосрочный и ориентированный на устройства следующего поколения
27 сентября 2011 года было объявлено, что в течение 2012 года наработки MeeGo войдут в состав проекта Tizen, разработка которого будет вестись совместно с Samsung.
Осенью 2011 года бывшими сотрудниками компании Nokia из числа разработчиков MeeGo была основана компания Jolla для возобновления работы над данной операционной системой.Новая компания была намерена разработать новую операционную систему на базе MeeGo с использованием основы Mer и фреймворка Qt, однако эта операционная система должна была обладать собственным брендом и графическим интерфейсом.[Источник 2]

Возможности MeeGo

  1. Исходный код должен был добавляться по мере построения системы инфраструктуры разработки
  2. В системе используются пакеты .rpm [2] (как в Moblin), а не .deb (как в Maemo)
  3. Исходные тексты оболочки и уровня API доступны в рамках лицензии BSD, не запрещающей производителям вносить улучшения без их открытия
  4. Maemo 6 должны была быть основана на Qt, из чего следует программная совместимость с MeeGo. MeeGo также включает Clutter и GTK+.
  5. Использование telepathy.[3]
  6. MeeGo — это мультиплатформенный проект, поддерживающий архитектуры Intel Atom и ARM.

Архитектура системы

Архитектура системы MeeGo изначально проектировалась как решение, предназначенное для работы на широком спектре устройств. Один из способов рассмотрения архитектуры предполагает разделение системы на три уровня (слоя).

Архитектура MeeGo.png

Базовая система (The MeeGo OS Base layer)

Включает в себя ядро Linux, программную прослойку (middleware), необходимую для определения оборудования, обеспечивающую связь ядра и прикладного программного обеспечения, а также ПО для обеспечения адаптации оборудования (Hardware Adaptation Software).
Программную прослойку (middleware) можно рассматривать как совокупность доменов, предоставляющих соответствующие службы (middleware/OS service domains), исходя из выполняемых функций:

  1. Обеспечение безопасности (Security).
  2. Управление данными (Data Management).
  3. Управление программным обеспечением (Software Management).
  4. Управление устройствами, распределение ресурсов, контроль состояния системы (System).
  5. Локализация (Location Framework).
  6. Графическая подсистема (Graphics).
  7. Основные системные библиотеки (Essentials).
  8. Поддержка мультимедиа и соответствующих драйверов (Multimedia).
  9. Управление персональной информацией, резервное копирование, синхронизация, учётные записи и т. д. (Personal Information Management).
  10. Интернет, телефония, средства мгновенного обмена сообщениями, сотовая связь (Communication).
  11. Поддержка Qt, QtWRT, Qt Mobility (Qt).[4]
  12. Ядро Linux и драйверы ядра (Kernel).

Сборка ядра

  • Компилятор: GCC[5] (используются особые возможности GCC, и потому применение других компиляторов значительно затруднено)
  • Система управления сборкой: GNU make [6]
  • Ядро поддерживает огромное число настроек времени компиляции, которые хранятся в файле (.config)
  • Можно использовать конфигурацию текущего ядра, которая обычно находится в каталоге /boot
  • Существует несколько приложений, облегчающих работу с настройками

Важной частью базовой системы выступает ПО для обеспечения адаптации оборудования (Hardware Adaptation Software). Предоставляет соответствующий интерфейс программирования для адаптации оборудования (Hardware Adaptation API), что даёт возможность приспособить MeeGo для работы на оборудовании различных архитектур.
Каждый продавец оборудования должен предоставить необходимые компоненты для программного обеспечения, чтобы система MeeGo могла успешно работать на его платформе, включая драйверы, патчи и конфигурацию ядра, дополнительные патчи и конфигурацию для X Window System, поддержку модема, а также другие специфические компоненты, необходимые для поддержки аппаратуры.

Архитектура безопасности MeeGo
MeeGo использует масштабируемую систему безопасности, которая обеспечивает безопасность на основе ролей, с помощью контроля доступа, применяемом к широкому спектру систем, начиная от полностью открытых систем и заканчивая системами с частично ограниченными возможностями. Это обеспечивается за счет гибкой и обновляемой политики, обеспечиваемой ключевыми элементами в программном стеке.

Уровень приложений и интерфейс их программирования (The MeeGo OS Middleware layer)

Содержит MeeGo API, основанный на Qt и Qt Mobility, обеспечивает интерфейс для разработки приложений. Последний релиз включает Qt 4.7.3, Qt mobility 1.2, OpenGL ES 1.1 и OpenGL ES 2.0. Дополнительные функции находятся в стадии разработки.

Уровень пользователя (The MeeGo User Experience)

Обеспечивает пользовательский интерфейс (UX) для различных сегментов платформы. Для разных устройств необходим различный интерфейс, но строится он на аналогичных принципах, и если уже создано приложение для какого-нибудь устройства, то его перенос на другие устройства, работающие под управлением системы MeeGo, не будет представлять собой разработку нового приложения, а будет лишь доработкой или расширением приложения. Концепция содержала следующие варианты интерфейса:

  1. Netbook UX — для нетбуков;
  2. Handset UX — для телефонов и смартфонов;
  3. In-Vehicle Infotainment (IVI) UX — для информационно-развлекательных систем;
  4. Tablet UX — для планшетов.

Данный уровень также предоставляет набор программных компонентов (Application Framework) для каждого из поддерживаемых профилей устройств.

Интерфейс

Основные принципы

  1. Ориентированность на постоянное подключение к сети
  2. Быстрота запуска приложений, работающих в системе при небольших затратах много ресурсов, чтобы это не сказалось на общей работоспособности системы
  3. Реализация переключения задач и многозадачности
  4. Достаточная адаптивность и интеллектуальность (возможность подстраиваться под привычки пользователей и помогать в работе, предлагая, например, открывать те документы, которые используются наиболее часто или работа с которыми ведется в последнее время).
  5. Быстрота отклика на действия пользователя в целом
  6. Простота и удобство - интерфейс не должен сильно отвлекать от другой деятельности и не должен требовать для своего использования чрезмерно вдаваться в подробности.
  7. Использование визуальной, звуковой и, возможно, тактильной обратной связи
  8. Функциональность дизайна, следование действиям пользователя и отражение изменений состояния системы
  9. Возможность подключения плагинов и использования фреймворков, которые улучшают пользовательский интерфейс и облегчают его разработку.

Именно таким видели пользовательский интерфейс разработчики системы.[Источник 3] Несмотря на то, что эти принципы излагаются для пользовательского интерфейса (User Experience), из самой их формулировки ясно, что они также затрагивают и остальные слои архитектуры системы MeeGo. Интерфейсов несколько — для наладонных устройств, смартфонов, планшетов, нетбуков, ноутбуков и т. д

Интерфейс MeeGo для КПК (MeeGo Handheld UX)

Nokia N9 - первый в мире смартфон на MeeGo

MeeGo Handheld UX предоставляет пользовательский интерфейс для портативных устройств, в том числе пользовательский интерфейс основной системы и приложений, которые строятся на основе портативного оптимизированного интерфейса. Интерфейс демонстрирует возможности платформы, а также является отправной точкой для создания карманного устройства MeeGo
21 июня 2011 года был представлен первый в мире смартфон на MeeGo — Nokia N9. В качестве операционной системы используется MeeGo 1.2 Harmattan — отдельный вариант MeeGo от компании Nokia. MeeGo 1.2 Harmattan не имеет полной бинарной совместимости с MeeGo 1.2 Core Software Platform (хотя большинство библиотек совместимы) API и основных программных компонентов. Кроме этого, используется система управления пакетами на основе формата deb, в отличие от ранее официально принятого в MeeGo формата rpm.
1 июля 2011 года версия MeeGo 1.2 вышла как «Летний релиз» для смартфона Nokia N900.

Интерфейс MeeGo для нетбуков (MeeGo Netbook UX)

MyZone MeeGo Netbook UX

Все управление пользовательским интерфейсом в нетбуке осуществляется через панель с вкладками, которые расположены вверху экрана. После загрузки системы сначала открывается вкладка MyZone, с помощью которой можно узнать, что случилось в социальных сетях , просмотреть электронную почту и получить быстрый доступ к приложениям и документам, с которыми пользователь работает наиболее часто. В системе есть возможность удалять некоторые вспомогательные вкладки или добавлять новые.
Система MeeGo является однопользовательской системой. При установке указываются имя пользователя и его пароль и создается учетную запись для данного пользователя. После установки вход в систему свободный, однако возможность защиты от несанкционированное доступа предусмотрена. Если пользователю системы нужно будет выполнить команду с правами администратора, он должен будет указать перед командой префикс sudo и после запроса системы ввести свой пароль.
Из-за того, что система однопользовательская, нетбук с системой MeeGo становится столь же персонализированным, как и мобильный телефон. Некоторые считают это недостатком системы MeeGo.
Система MeeGo поставляется с файловой системой Btrfs.[7], при этом поддержка широко используемых ext4 и ntfs в конкретных дистрибутивах MeeGo отсутствует.[Источник 4]

Нынешнее состояние MeeGo

В сентябре 2011 года на официальном сайте MeeGo было опубликовано письмо о том, что Linux Foundation, совместно с определенными компаниями, основывало новый проект – Tizen. На данный момент, компания Intel ушла с проекта MeeGo, полностью предоставив его Linux Foundation. В продаже все еще можно встретить нетбуки и планшеты с предустановленной MeeGo. Последняя стабильная версия для нетбуков была выпущена в 2011 году, а последнее обновление – в 2012 г.
Хотя проект и был покинут компаниями Intel и Nokia, оставив все Linux Foundation, у MeeGo до сих пор имеется живое сообщество как на официальном сайте, так и на различных гиковых форумах. А мобильная версия MeeGo перерождается в проекте Jolla Mobile.[Источник 5]

Cсылки

Источники

  1. MeeGo. OC // Tadviser. URL: http://www.tadviser.ru/index.php/Продукт:MeeGo (дата обращения: 11.03.2017).
  2. Бывшие сотрудники Nokia основали компанию, которая продолжит развитие телефонов на базе MeeGo // Nulled. URL: hhttps://www.nulled.in/threads/231634/ (дата обращения: 11.03.2017).
  3. MeeGo: Немного необычный интерфейс // Rus-linux. URL: http://rus-linux.net/nlib.php?name=/MyLDP/distr/meego/znakomstvo-s-meego-03.html (дата обращения: 11.03.2017).
  4. Обзор MeeGo 1.0 //Habrahabr. URL: https://habrahabr.ru/post/94748/ (дата обращения: 11.03.2017).
  5. Полная история MeeGo //Keddr. URL: https://keddr.com/2012/08/meego-nachalo/ (дата обращения: 11.03.2017).

Примечания

  1. MeeGo В руководстве компании Nokia произошли кадровые перемены: на должность генерального директора был назначен Стивен Элоп, до этого работавший на должности главы бизнес-подразделения корпорации Microsoft. Это кардинально повлияло на позицию Nokia в отношении разработки и внедрения MeeGo в своей продукции. Платформа Windows Phone 7 была принята компанией в качестве базовой платформы для своих устройств.
  2. RPM (рекурсивный акроним RPM Package Manager — RPM — менеджер пакетов; ранее раскрывался как Red Hat Package Manager — менеджер пакетов Red Hat) обозначает две сущности: формат пакетов программного обеспечения и программа, созданная для управления этими пакетами. Программа позволяет устанавливать, удалять и обновлять программное обеспечение.
  3. Telepathy — программный каркас (framework), используемый для создания программного обеспечения мгновенного обмена сообщениями, IP-телефонии или видеоконференций. Telepathy позволяет создавать приложения c помощью компонентов через систему межпроцессного взаимодействия D-Bus. Telepathy лежит в основе программного обеспечения для обмена сообщениями и голосового/видео общения устройств на платформе Maemo (Nokia 770, N800, N810 и N900) и MeeGo.
  4. Qt (произносится [ˈkjuːt (кьют) как «cute»)] — кроссплатформенный инструментарий разработки ПО на языке программирования C++. Является фундаментом популярной рабочей среды KDE, входящей в состав многих дистрибутивов Linux.
  5. GNU Compiler Collection (обычно используется сокращение GCC) — набор компиляторов для различных языков программирования, разработанный в рамках проекта GNU. GCC является свободным программным обеспечением, распространяется фондом свободного программного обеспечения (FSF) на условиях GNU GPL и GNU LGPL и является ключевым компонентом GNU toolchain. Он используется как стандартный компилятор для свободных UNIX-подобных операционных систем.
  6. make — утилита, автоматизирующая процесс преобразования файлов из одной формы в другую. Чаще всего это компиляция исходного кода в объектные файлы и последующая компоновка в исполняемые файлы или библиотеки.
  7. Btrfs (B-tree FS, «Better FS» или «Butter FS») — файловая система (ФС) для Linux, основанная на структурах Б-деревьев и работающая по принципу «копирование при записи» (copy-on-write).