Найти в Дзене
Реформтех

Разработка новой операционной системы

Всем привет! Сегодня мы начинаем серию публикаций о создании собственной операционной системы. В этом выпуске мы не будем объяснять зачем нужна ещё одна ОС и что не устраивает в существующих. На это уйдёт целая статья и сгенерирует кучу обсуждений за, против и зачем. Но, если будет такая необходимость, сделаем отдельный выпуск. А пока кратко опишем цель разработки нашей ОС, и местами кратко ответим на самые яркие вопросы, которые у вас по ходу чтения этой статьи вас всё-равно возникнут. Так как давно уже существуют готовые и доступные решения в виде ядра и системных библиотек, мы решили создавать операционная систему не с самых низов, изучая низкоуровневую работу оборудования и писать всё заново, задействовав такие языки как Ассемблер, а взять уже готовые решения из мира Linux. Наша первоначальная задача состоит в том, что бы создать ОС в которой будут присутствовать: свои стандарты, своя архитектура, единый программный и графический интерфейс, единая, удобная документация, единая подд

Всем привет!

Сегодня мы начинаем серию публикаций о создании собственной операционной системы.

В этом выпуске мы не будем объяснять зачем нужна ещё одна ОС и что не устраивает в существующих. На это уйдёт целая статья и сгенерирует кучу обсуждений за, против и зачем. Но, если будет такая необходимость, сделаем отдельный выпуск. А пока кратко опишем цель разработки нашей ОС, и местами кратко ответим на самые яркие вопросы, которые у вас по ходу чтения этой статьи вас всё-равно возникнут.

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

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

  • Набор всевозможных библиотек, которые образуют богатый программный интерфейс для последующего использования разработчиками ПО.
    В него должны входит все категории взаимодействия как самой ОС так и оборудования. Например начиная с доступа работы с памятью, заканчивая разнообразными датчиками в мире интернета вещей (IoT).
  • Системные и пользовательские сервисы, для взаимодействия ОС и ПО.
    Такие как: графический сервер, мультимедиа сервер, буфер обмена, отслеживание всей работоспособности системы и т.д.
  • Первое и самое необходимое программное обеспечение, включая средства разработки, что бы уже начать разрабатывать остальные библиотеки и пользовательское ПО внутри самой системы.
  • Вся необходимая, удобная документация, в первую очередь для разработчиков, которая даст им возможность быстро познакомится со внутренней архитектурой ОС и уже начинать разрабатывать собственные библиотеки, приложения, игры и другие решения.

Позже,  у нас в планах конечно присутствует замена сторонних системных библиотек на свои и возможно в будущем разработка собственного ядра.

На кого будет ориентирована ОС.

-2

Как мы видим что в основном акцент ОС больше идёт “для разработчиков”, но это не значит что система будет предназначаться только для IT специалистов.
Это будет делаться только в самом начале для того, что бы разрушить проблему “курица или яйцо?”. Это когда пользователю в ОС не хватает качественного/профессионального программного обеспечения и игр, а разработчикам не интересно писать и поддерживать свои классные творения, т.к. отсутствует все выше перечисленный инструменты, документация, ну а так же и монетизация.

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

Какое оборудование будет поддержать ОС

Операционная система задумывается быть современной, поддерживать и работать только на актуальном и новом железе. В основном планируется что система будет работать только на arm процессорах, и соответствующем железе. Для этого в поддержке оборудования, будет включён список драйверов, который будет предназначен только для работы конкретного устройства.

Охват устройств.

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

Совместимость с Linux ПО.

Операционная система хоть и будет работать на ядре Linux, но просто запустить любую программу скомпилированную под Linux не получится. И вот почему:

  1. Система будет иметь свою собственную архитектуру файловой системы.
  2. Содержать только системный и личный набор библиотек, которые опять же были собраны/разработаны под архитектуру данной ос.
  3. Все системные сервисы и всё остальное из мира Linux, будет отсутствовать.

Но это не значит что путь для Linux ПО закрыт. В планах есть идея разработать все необходимые инструменты, для удобного переноса программ и игр с продолжением разработки и поддержки уже в этой ОС.

Пока это самые яркие, но не все конечно пункты, которые хотелось озвучить в первую очередь. Постепенно продвигаясь вперёд, будут затронуты и другие темы, а так же где-то подробно расписаны.

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