Перейти к содержимому

Как создать свою операционную систему для телефона

  • автор:

Как создать свою операционную систему с нуля

Обложка поста Как создать свою операционную систему с нуля

Книга «Операционная система с 0 до 1» опубликована на GitHub и имеет более 2 000 звездочек и 100 форков. Как понятно из названия, прочитав её, вы сможете создать свою собственную операционную систему — и, пожалуй, мало что в мире программистов может быть круче.

Благодаря этой книге вы научитесь следующему:
  • Узнаете, как создать операционную систему на основе технической документации железа. В реальном мире это так и работает, вы не сможете использовать Google для быстрых ответов.
  • Поймёте, как компьютерные компоненты взаимодействуют друг с другом, от софта к железу.
  • Научитесь писать код самостоятельно. Слепое копирование кода не есть обучение, вы действительно научитесь решать проблемы. Кстати, слепое копирование может быть еще и опасно.
  • Освоите всем привычные инструменты для низкоуровневой разработки.
  • Познакомитесь с языком ассемблера.
  • Выясните, из чего состоят программы и как операционная система запускает их. Небольшой обзор этой темы для любознательных мы давали в одном из наших материалов.
  • Разберётесь, как проводить отладку программы прямо на железе с GDB и QEMU.

Если читать целую книгу у вас нет времени, но вы хотите получить краткий экскурс, прочтите две наших статьи, посвященных созданию ядра для собственной ОС: часть 1 и часть 2.

Что рекомендуется знать перед прочтением книги:
  • Язык программирования C. Быстро освоить его можно, следуя нашему руководству.
  • Базовые знания Linux. Достаточно изучить соответствующую рубрику на нашем сайте.
  • Базовые знания в физике: атомы, электроны, протоны, нейтроны, напряжение.
  • Закон Ома о соотношении напряжения, силы тока и сопротивления.

Книга совершенствуется и редактируется почти каждый день: вы и сами можете внести изменения или исправить опечатку. Операционная система, разработка которой послужила “сюжетом” для этой книги, опубликована на GitHub и также со временем улучшается.

Как создать свою операционную систему для телефона самостоятельно?

Lorem ipsum dolor

Чтобы понять, как создать свою операционную систему для телефона, нужно быть основательно подготовленным. Ведь операционная система для смартфона входит в область сложнейших задач по программированию, так как требует довольно обширных знаний, связанных не только с конкретным языком программирования.

Как создать свою операционную систему для телефона

Операционная система для телефона — это комплексное программное обеспечение, работающее непосредственно с системными ресурсами телефона, плю с является связующим звеном между телефоном и его пользователем. ОС полностью контролирует работу устройства, поэтому любая написанная программа пишется не под конкретное устройство, а под конкретную ОС.

Из чего состоит ОС телефона

  1. Ядро — это «сердечная мышца» любой ОС, которая всегда запускается первой при включении устройства. Именно ядро манипулирует системными ресурсами телефона.
  2. Системный софт — это программы, которые работают «над ядром». Они очень важны для самого ядра, потому что обеспечивают эффективную связь между ядром и приложениями пользователя. В такой софт входят драйвер, файловая система, программы для работы с сетью, системные утилиты и др.
  • браузер ;
  • аудиоплеер ;
  • блокнот ;
  • книга контактов ;
  • мессенджеры ;
  • и др.

Что необходимо знать, чтобы создать свою операционную систему для телефона

  1. Основы информатики. Сюда входит понимание таких вещей , как: алгоритмы, структуры данных, сортировка, манипулирование данными, абстрактное программировани е и мн. др.
  2. Английский язык на хорошем уровне. На русском языке очень мало технической документации по созданию операционных систем для телефонов — в основном все на английском. Это же касается и сообществ, которые могут вам помочь — все это только на английском. Помимо английского для общени я важен технический английский, чтобы вы могли понимать о чем идет речь в документации, а также правильно формулировать свои вопросы в сообществах.
  3. Язык программирования. Большинство операционных систем используют язык программирования С или С++, поэтому знать эти языки нужно будет в любом случае. Даже если решите создавать свою ОС на другом языке , примеры в документации и большинство готовых фрагментов кода будут именно на этом языке.
  4. Ассемблер. Даже если вы будете писать свою ОС на языке высокого уровня, то местами вам все равно придется применять Ассемблер, поэтому понимание и основы этого языка обязательны.
  5. Опыт в программировании. Если создание своей операционной системы для телефона — это первый ваш проект, то это довольно плохая идея. Вам кроме самого языка программирования нужно еще понимать как осуществляется контроль версий, отладка, оптимизация кода и мн. др.
  6. Много практики на языке, который хотите применять для создания сво е й операционной системы. Язык не должен быть для вас чем-то новым. Необходимо знать его тонкости и особенности, поэтому на этом языке у вас должно быть реализовано несколько успешных проектов.
  7. Понимание UNIX. Начав работу над свое й операционной системой для телефон а, вы очень быстро осознаете, что основной инструмент создания ОС тянется еще с UNIX-систем, а за основу ОС очень часто берется ядро Linux.
  8. Концепция операционных систем. Вы должны в общем понимать, как с технической стороны работают операционные системы на телефонах.
  9. И др.

Разработка операционной системы для телефона

  1. « Linux From Scratch ». Это полноценный учебник по сборке операционных систем Linux. Да, там описываются компьютерные операционные системы, но с технической стороны и мобильна я, и компьютерная ОС работают практически одинаково.
  2. «The little book about OS development» . Еще одна книга о разработке операционных систем для компьютера с самого начала — с установки IDE и до самого конца — до запуска ОС.

Заключение

Как разработать свою операционную систему для телефона? Нужно основательно подготовит ь ся и быть готовым к очень продолжительной работе над своим программным продуктом. Разработка собственной ОС для телефона — это очень сложная задача, но даже она посильна, если есть должное желание и упорство для мотивации к работе.

Мы будем очень благодарны

если под понравившемся материалом Вы нажмёте одну из кнопок социальных сетей и поделитесь с друзьями.

Как написать ОС под смартфон с нуля?

Всем привет! Захотелось написать ОС под смартфон, но информации по данной тематике совсем не нашел. Буду признателен, если объясните в чем разница разработки операционных систем под desktop и смартфоны.
Те, кто шарит в этом поделитесь источниками.

P.s. Знаю: Assembler, C, C++, C#, Python.

  • Вопрос задан более трёх лет назад
  • 11765 просмотров

2 комментария

Средний 2 комментария

Денис Загаевский @zagayevskiy
Какой ассемблера ты знаешь? Сколько ОС ты уже написал?

jenki

Напуркуа, монами? Их уже столько написано.
Лучше имеющиеся довести до ума.
Решения вопроса 1

zoonman

В целом разработка ОС под смартфон будет отличаться от разработки ОС для десктопа в том плане, что вам нужно будет пересмотреть подход к работе с железом.
Главное отличие мобильного железа от десктопного в наличии ограничений по количеству потребляемой и рассеиваемой энергии.
Ваша задача будет заключаться в поиске оптимального способа использования аппаратных возможностей смартфона. Например отправлять все, что можно в спячку, когда со смартом ничего не происходит. Реагировать на аппаратные прерывания и т.д.
Плюс от смартфона требуется гарантированное время отклика. Оно не жесткое, к примеру 100мс, но смартфон должен отвечать на нажатие кнопок вне зависимости от того, какое приложение сейчас запущено.
Я бы рекомендовал брать какое-нибудь перспективное семейство устройств с прицелом на 5 лет и пилить под него.
Для вдохновления посмотрите на RTOS, RTX. Остерегайтесь кода Android и Tizen, там за основу взят Linux cо всеми его болячками.

Ответ написан более трёх лет назад
Нравится 4 3 комментария
Stalker_RED @Stalker_RED

Вы так говорите, будто в «десктопных» операционках это все не нужно.
Десктопные операционки иногда работают на ноутбуках, и тоже от батареи.

keine-lust

Что за болячки у линукса?

zoonman

Stalker_RED, я говорю о том, что на десктопе все работает несколько иначе. Например на десктопе вам не нужен постоянно висящий стек поддерживающий связь с базовой станцией. А на телефоне он нужен. И он должен иметь гарантированное время отклика.

fedor, Linux не имеет гарантированного времени отклика системы, в нем недостаточно хорошо реализованы механизмы взаимодействия с пользовательским вводом и т.д.
Могу вам привести пример — графический редактор, где есть простой тач интерфейс. Просто быстро проведите пальцем и линия будет отставать. Гарантированное время отклика будет означать, что тач будет считан с устройства и отображен на экране за время, меньшее 1/60 секунды.
В таком случае у вас не будет задержки. Если не понимаете о чем я, проведите пальцем по песку, а потом по экрану андроида и все поймете.

Huawei представила собственную операционную систему для смартфонов

Huawei представила первые смартфоны на собственной операционной системе HarmonyOS, которая должна заменить Android на устройствах компании. Также она показала планшет и умные часы на новой платформе. Компания лишилась доступа к сервисам Google, который вместе с Apple доминирует на рынке, из-за санкций США

Huawei представила первые мобильные устройства на своей операционной системе HarmonyOS, говорится в пресс-релизе компании. Huawei запустила платформу на своем флагманском смартфоне Mate 40 и «раскладывающемся» смартфоне Mate X2, а также на планшете MatePad Pro и умных часах Watch 3 Series. Кроме того, на мероприятии в среду компания показала новые беспроводные наушники FreeBuds 4.

Huawei утверждает, что обновление на новую операционную систему получат примерно 100 различных устройств, в том числе более старые модели смартфонов. Компания подчеркивает, что преимущество ее системы — в способности работать на разных гаджетах, подключенных к интернету: от смартфонов до носимых устройств. «HarmonyOS дает общий язык для разных видов устройств, чтобы они подключились и работали совместно, давая пользователям более удобный, гладкий и защищенный опыт [взаимодействия]», — написала компания в пресс-релизе.

Huawei разрабатывала свою операционную систему с 2016 года, а показала ее в 2019-м. Первыми систему получили телевизоры Honor — этим брендом ранее владела Huawei. Компания ускорила переход на свою платформу из-за санкций США, которые запретили американским компаниям предоставлять свои технологии Huawei. В результате китайский производитель лишился возможности использовать на своих устройствах сервисы Google, включая магазин приложений Google Play. Google разрабатывает платформу Android, на которой работает большинство смартфонов в мире. Второй крупный игрок — Apple с системой iOS. Свои операционные системы ранее развивали Nokia, Samsung и Microsoft, но не выдержали конкуренции с Android и iOS.

«Huawei будет надеяться, что сможет последовать по шагам Apple, имея единую операционную платформу, которая распространяется во всех направлениях и обеспечивает бесшовный опыт взаимодействия пользователям, верящим в экосистему продуктов Huawei», — заявил CNBC ведущий аналитик компании CCS Insight Бен Вуд. Huawei смогла создать свой набор приложений, альтернативный программам Google — в том числе картографический сервис и браузер. Кроме того, Huawei запустила свой магазин приложений App Gallery, у которого по всему миру 540 млн активных пользователей в месяц, написал CNBC.

Покорители человечества: названы лучшие гаджеты последнего десятилетия

Покорители человечества: названы лучшие гаджеты последнего десятилетия

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *