Пару лет назад в сети появилась информация о проекте Serenity — Unix-подобной операционной системе для архитектуры x86 с собственным ядром и винтажным интерфейсом. При этом возможности операционной системы заявлялись вполне современные.

Это ОС, написанная с нуля, которая не базируется на коде уже существующих операционных систем. Авторы SerenityOS активно работали над поставленной целью — создание новой операционной системы, пригодной для выполнения большинства привычных нам задач. Код системы пишется на С++. Сейчас проект достиг нового уровня развития — в среде ОС уже можно поработать, составив собственное мнение о SerenityOS. Подробности о новинке — под катом.

Очередной дистрибутив Linux?


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

В самом начале разработки авторы проекта импортировали несколько функций стандартной библиотеки С и NetBSD. Но с течением времени от постороннего кода избавились.


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

Авторы утверждают, что ОС заимствует несколько концептуальных идей у FreeBSD, включая лицензию системы и систему управления ПО ОС. Разработчики портировали для своей системы Quake и ретро-платформер VVVVVVV. Есть еще и рабочий порт Nesalizer для любителей эмуляции. Звук работает отменно — проблем с ним нет.


SerenityOS — не Linux и не BSD


Система действительно написана с нуля, причем прогресс идет относительно быстро, если оценивать скорость разработки парочки других похожих проектов. Сравнивать можно, например, с Haiku — проектом, который ставит своей целью воссоздание BeOS и еще одним проектом — TempleOS. Последний — довольно странный проект, разработанный американским программистом Терри А. Дэвисом с диагнозом «шизофрения».

На фоне похожих инициатив SerenityOS — «теплая ламповая» операционная система, с которой вполне можно работать.

Зачем написали эту систему? Этому есть две причины:

  • Автор хотел получить обычную ОС, написанную «под себя» и свои потребности.
  • Разработчик этой системы — излечившийся наркоман, который решил начать разработку масштабного проекта, чтобы отвлечься от своей вредной привычки.

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

Можно ли полноценно работать в среде новой ОС?


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


Одна из наиболее критичных проблем — работа браузера. Многие сайты и сервисы «падают» в нем, либо выглядят и работают некорректно, что признают и сами разработчики. Они пока не могут перенести современный браузер вроде Firefox или Chromium на новую ОС. Если есть желание, можно помочь и написать новый браузер с нуля. Текущий настолько слабый, что он пока не может даже воспроизводить видео с YouTube.


Основные достоинства


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

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

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

Интересный момент — если в консоли ввести команду, которой не существует, то экран консоли кратковременно становится красным. Еще плюс — темы позволяют сделать SerenityOS похожей как на Win 95/98, так и на Windows 2000. Ну и есть еще HEX-редактор, обратите внимание.


SerenityOS, к слову, можно собрать и в Windows Subsystem for Linux — так что круг пользователей может быть достаточно широким.

На что похожа система?


По умолчанию — на Windows NT, в ней даже есть набор тем, которые выглядят, как те, что поставляла корпорация Microsot в 90-х. Разработчики подготовили множество системных утилит — все они работают, как и заявлено. Файловая система определяется как Ext2FS — здесь, наверное, стоило внедрить что-то более новое, но разработчикам виднее.

Наиболее положительный момент заключается в том, что из таких проектов, как TempleOS, Haiku, ReactOS новая операционная система выглядит почти завершенным проектом. Да, пока еще нет инсталлера, загружаемого ISO, но установить ее достаточно просто, а это — уже положительный момент для пользователей.

Список фунций на момент 2019 года впечатлял, поскольу ОС предоставляла такие возможности, как:

  • Вытесняющая многозадачность;
  • Многопоточность;
  • Композитный и оконный сервер WindowServer;
  • Собственный фреймворк для разработки графических приложений LibGUI с набором виджетов;
  • Среда для визуального проектирования интерфейса приложений;
  • Сетевой стек с поддержкой ARP, TCP, UDP и ICMP. Собственный DNS-резолвер;
  • Файловая система на основе Ext2 (собственная реализация на C++);
  • Unix-подобная стандартная Си-библиотека (LibC) и набор типовых пользовательских утилит (cat, cp, chmod, env, kill, ps, ping, su, sort, strace, uptime и т.п.);
  • Оболочка командной строки с поддержкой потоков (pipe) и перенаправления ввода/вывода;
  • Поддержка mmap() и исполняемых файлов в формате ELF;
  • Наличие псевдо-ФС /proc;
  • Поддержка локальных Unix-сокетов;
  • Поддержка псевдотерминалов и /dev/pts;
  • Библиотека LibCore для разработки эффективных обработчиков событий (Event loop);
  • Поддержка библиотеки SDL;
  • Поддержка изображений в формате PNG;
  • Набор встроенных приложений: текстовый редактор, файловый менеджер, несколько игр (Minesweeper и Snake), интерфейс для запуска программ, редактор шрифтов, менеджер загрузки файлов, эмулятор терминала.


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


Разработчикам предстоит решить еще несколько задач, включая добавление поддержки GPU и больших мониторов с высоким разрешением.

Если есть желание более подробно ознакомиться с системой, то вот канал YouTube, на котором разработчики регулярно выкладывают новые видео ОС. А вот GitHub проекта, где много всего интересного.

Комментарии (60)


  1. Gordon01
    19.08.2021 03:48
    +18

    Прикольно, конечно, но монолитное ядро и C++ в 2021?

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

    Воу, плюсовики опять не смогли в многопоточность. Неожиданно, конечно. Ну ничего, пару лет в дебаггере и %feature_name% точно-точно заработает без падений на 8 ядрах.

    for (size_t index = 0; index < (((size_t)AHCI::Limits::MaxPorts * 512) / PAGE_SIZE); index++) {
      m_identify_metadata_pages.append(MM.allocate_supervisor_physical_page().release_nonnull());
    }
    
    if (kernel_command_line().ahci_reset_mode() == AHCIResetMode::Aggressive) {
      for (auto index : taken_ports.to_vector()) {
        auto port = AHCIPort::create(*this, static_cast<volatile AHCI::PortRegisters&>(controller.hba().port_regs[index]), index);
        m_handled_ports.set(index, port);
        port->reset();
      }
      return;
    }
    
    for (auto index : taken_ports.to_vector()) {
      auto port = AHCIPort::create(*this, static_cast<volatile AHCI::PortRegisters&>(controller.hba().port_regs[index]), index);
      m_handled_ports.set(index, port);
      port->initialize_without_reset();
    }

    Нечитаемо.

    PhysicalAddress AHCIPortHandler::get_identify_metadata_physical_region(u32 port_index) const
    {
        dbgln_if(AHCI_DEBUG, "AHCI Port Handler: Get identify metadata physical address of port {} - {}", port_index, (port_index * 512) / PAGE_SIZE);
        return m_identify_metadata_pages[(port_index * 512) / PAGE_SIZE].paddr().offset((port_index * 512) % PAGE_SIZE);
    }

    Индекс всегда вычисляется верно. Я гарантирую это.

    // "Unpad" the device name string.
    for (u32 i = 93; i > 54 && bbuf[i] == ' '; --i)
      bbuf[i] = 0;

    А как вам такое?

    Рад за челочека, что он излечился и делом занимается. Но пользы, скорее всего, никакой


    1. bonta
      19.08.2021 06:00
      +12

      Ну так-то С++ живее всех живых и нет причин не писать на нём в том числе и новый проекты, особенно с выходом новых стандартов. Если для вас это не читаемо и у вас аллергия на этот ЯП, пишите на Питоне, или становитесь Растосектантом, вставляющим своё важное мнение в любоё место, даже когда не спрашивают :)


      1. 0xd34df00d
        19.08.2021 09:05
        +11

        Причина не писать на нём — непознаваемость языка и невозможность не делать ошибки.


        1. tzlom
          19.08.2021 09:58
          +3

          Эквивалентную замену предоставите? Все мы конечно в курсе что ядро можно писать на СИ, но в 21м году хотелось бы чтобы компилятор за пользователя что-нибудь все таки делал.

          Еще хочется увидеть ЯП на котором невозможно делать ошибки.


          1. 0xd34df00d
            19.08.2021 10:07
            +5

            Эквивалентную замену предоставите? Все мы конечно в курсе что ядро можно писать на СИ, но в 21м году хотелось бы чтобы компилятор за пользователя что-нибудь все таки делал.

            Зависит от ваших констрейнтов. В зависимости от них — от раста через ivory или ats до экстракции из кока.


            Еще хочется увидеть ЯП на котором невозможно делать ошибки.

            Любой, где можно формально доказывать вещи (то есть, где есть завтипы и консистентная логика). Там ошибки сводятся к ошибкам в спеке уровня «заказчик хотел самолёт, а мы ему сделали пароход». Ну и к модели внешнего мира, конечно.


            Впрочем, понятно, что ошибки — это спектр, и скорее будет проблемой найти язык, где допустимы все те классы ошибок, что и в плюсах (от memory safety до внезапно стреляющего UB, вырезающего по-тихому целые функции или вызывающего то, что вы не вызывали).


            1. tzlom
              19.08.2021 12:47
              +2

              И на каком из этих языков можно написать ОС не прибегая к СИ ?


              1. Gordon01
                19.08.2021 14:17

                А что плохого в написании ядра на Си?

                Если не делать монолит и не тащить драйвер мышки в ядро, вполне осиливаемая задача.

                Не нравится Си - можно на расте написать.


                1. Rijenkii
                  23.08.2021 15:58
                  +1

                  Rust:
                  * https://os.phil-opp.com/ -- Туториалы по написанию простенькой ОСи на Rust (+ немного ассемблера, ЕМНИП);
                  * https://gitlab.redox-os.org/redox-os/redox -- Настоящая ОСь, написанная полностью на Rust.


              1. mayorovp
                19.08.2021 17:58
                +3

                На Rust точно можно.


              1. DerRotBaron
                19.08.2021 22:52
                +4

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


          1. Refridgerator
            19.08.2021 10:18

            Эквивалентную замену предоставите?
            Возможно, что можно придумать ЯП ориентированный именно для написания операционных систем.


          1. MacIn
            19.08.2021 19:40
            +2

            Ох, сейчас словлю тонну тухлых помидоров, но как насчет Object Pascal? ООП есть, на основе FPC легко сделать необходимые конфигурации сборки, нужную линковку. Нет UB, все явно.

            Я сейчас переписываю свою хоббийную ОС на Pascal, но столкнулся с проблемами из-за нестандартной модели памяти (сегментирование против плоской). В 99% случаев (проектов) этой проблемы нет, сейчас плоская модель повсюду.


            1. bonta
              20.08.2021 07:12
              +1

              не знаю на счёт UB, но вот в Delphi/Pascal можно вызвать чисто чисто виртуальный метод. Т.е. видимо можно создать объект, имеющий не полную реализацию, и словить исключение. Помню не редко их ловил в BSPlayer. В Си++ например так низзя, будет ошибка компиляции.


              1. MacIn
                20.08.2021 18:06

                Эм, так зачем так сложно в ногу стрелять? Просто объявите переменную-объект и работайте с ней, не инстанцировав объект. Там не только один виртуальный метод будет отсутствовать.

                Помню не редко их ловил в BSPlayer. В Си++ например так низзя, будет ошибка компиляции.

                Delphi выдаст предупреждение на этапе компиляции, а уж собирать проект с предупреждениями — это так себе идея.
                [dcc32 Warning] Example.dpr(18): W1020 Constructing instance of 'TExample' containing abstract method 'TExample.SomeMethod'


              1. 0xd34df00d
                21.08.2021 00:01
                +2

                В C++ на самом деле очень легко вызвать чистый виртуальный метод, достаточно сделать это в конструкторе, и ошибки компиляции не будет.


            1. gatoazul
              05.11.2021 19:07

              Тогда уж Оберон.


    1. 0xd34df00d
      19.08.2021 09:04
      +2

      Нечитаемо.

      Прикольно, два почти одинаковых цикла. Почему бы не сделать что-то такое, непонятно.


      const auto shall_reset = kernel_command_line().ahci_reset_mode() == AHCIResetMode::Aggressive;
      for (auto index : taken_ports.to_vector()) {
        auto port = AHCIPort::create(*this, static_cast<volatile AHCI::PortRegisters&>(controller.hba().port_regs[index]), index);
        m_handled_ports.set(index, port);
        if (shall_reset)
          port->reset();
        else
          port->initialize_without_reset();
      }


      1. pvsur
        19.08.2021 09:41

        del


        1. 0xd34df00d
          19.08.2021 09:57
          +3

          И цикл в любом случае выполняется только один раз, но зато четко разделено поведение в случае агресив и не агресив…

          А вы булевых параметров для своих функций тоже избегаете, и пишете два раздельных варианта — один для true, другой для false, даже если они отличаются ровно одной деталью? Ну, чтобы было чётко разделено поведение.


          А вот ваш код как раз труднее читать, к сожалению, причем профита в производительности не заметно.

          Оно не ради профита в производительности.


      1. tzlom
        19.08.2021 09:53

        Ну на пример потому что в оригинальном коде первое условие еще и функцию завершает.


        1. 0xd34df00d
          19.08.2021 09:56
          +2

          Я предположил, что после второго цикла там тоже return, просто неявный ввиду закрывающей фигурной скобочки (что имеет смысл из общих соображений). Если там этого неявного return нет, то это ещё больший ад, и функцию надо дробить.


          1. Gordon01
            20.08.2021 12:24

            Да там правда два одинаковых цикла, но под разными условиями https://github.com/SerenityOS/serenity/blob/b91df26d4a14c2721d1920e76552012864c97790/Kernel/Storage/AHCIPortHandler.cpp#L34

            После второго функция завершается.

            Возможно, чел хотел ветвление из цикла убрать, чтобы "добавить скорости"... но в 2021 это так не работает


    1. NeoCode
      19.08.2021 10:40

      Современные плюсы вообще имеют плохочитаемый синтаксис. Вероятно, это наложение snake_case стиля и длинных (в т.ч. шаблонных) имен и выражений.


      1. cyberzx23
        20.08.2021 01:37
        +2

        С++ не заставляет вас писать змеёй. Пишите хоть верблюдом - всё скомпилируется.


    1. VioletGiraffe
      19.08.2021 21:48

      Код действительно плохой, С++ здесь ни при чем. Автор — не профессиональный программист, если можете лучше — причешите и сделайте pull request.


    1. usa_habro_user
      20.08.2021 01:15
      +1

      Но пользы, скорее всего, никакой

      Ну, как "никакой"? "Хайпа" срубил, 28K подписчиков на YouTube (немного, конечно, но на пиво и сигареты хватит, AFAIK). Ну, и, самое главное, видимо - "кайф" получает от работы над подобным проектом.


      1. axe_chita
        23.08.2021 06:35
        +1

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


    1. bugaevc
      20.08.2021 13:49
      +3

      Модель системы — однопоточная.

      Система не однопоточная.

      Видимо, это сюда перекочевало из ошибки автора обзора на Ars Technica. Имелось в виду, что пока поддерживается использование одного ядра процессора. Поддержка SMP есть, но пока работает не очень стабильно.


  1. MacIn
    19.08.2021 03:50
    +3

    Традиционный вопрос: что с драйверами? Используются существующие сторонние?


    1. gban
      19.08.2021 03:58
      +1

      F**k Nvidia :)


  1. symbix
    19.08.2021 04:48
    +25

    "Если есть желание, можно помочь и написать новый браузер с нуля."


    :)


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


    1. batyrmastyr
      19.08.2021 08:32
      +13

      Тоже ржал в голос с фразы

      Текущий настолько слабый, что он пока не может даже воспроизводить видео с YouTube.

      Всего-то переписать/перенести вагон декодеров десятка форматов видео, сделать поддержку MPEG-DASH и HLS.


  1. krankenstein
    19.08.2021 08:47
    +3

    Так я не понял, она на голом-то железе запустится? Или чтобы эту ОС использовать, надо иметь и настоящую?



    1. anger32
      19.08.2021 23:06
      +2

      Прокомментирую увиденное по своему профилю, глядя вот на это:

      https://github.com/SerenityOS/serenity/blob/master/Kernel/Graphics/Intel/NativeGraphicsAdapter.cpp

      Самопальный графический <<стек>> в виде голого фрейм-буффера есть. Зрелость его по вменяемым меркам собственной графики близка к 0. Для Intel GPU есть поддержка ровно 1 контроллера 2006-2008 года. Драйверная модель статическая, чисто регистровая. Ни прерываний, ни аппаратного курсора, менеджмента памяти, никакого задела даже на 2D акселератор (а он там простейший, строк в 100 кода можно уложиться, если бы был VMEM-менеджмент, но...), масса fixme даже на 645 строк в мастере. Зато есть чтение EDID через GMBUS.

      Посоны, видимо, глянули на размеры настоящих драйверов и решили забить в пользу VESA/int10 и UEFI mode-switcher-ов. Одним словом с драйверами вах.


  1. NeoCode
    19.08.2021 10:42
    +1

    Хорошо, респект авторам. Такие проекты всегда вызывают уважение.
    Для современных систем конечно самое главное — браузер, поэтому ждем порта хромиума или файрфокса (и ТорБраузера заодно) :) А одно из возможных применений — «чистая система» (под которую с огромной долей вероятности не будет вирусов и эксплойтов) для выхода в инет из виртуалки — для задач с высокими требованиями к безопасности, типа интернет-банкинга.


    1. encyclopedist
      19.08.2021 11:47
      +1

      Serenity уже несколько раз выступала в роли мишени на CtF соревнованиях, так что эксплойты под неё точно были.


  1. courser
    19.08.2021 10:52
    +15

    Чёрт, как я соскучился по нормальному интерфейсу. Где кнопки это кнопки, а чекбокс это чекбокс, а не ползающий пупырь с меняющейся контекстной поясняющей надписью, не то в прямой, не то в обратной логике.


    1. Nikita_64
      19.08.2021 11:20
      +2

      Согласен. Особенно раздражают элементы управления, которые становятся видимыми только если на них навести курсор (вертикальная прокрутка в панели навигации по документу MS Word 365). Кроме этого есть видимые элементы, но непонятно, что на них можно нажать, пока не подведешь курсок.


    1. Earthsea
      19.08.2021 13:14
      +1

      Чёрт, как я соскучился по нормальному интерфейсу. Где кнопки это кнопки, а чекбокс это чекбокс, а не ползающий пупырь с меняющейся контекстной поясняющей надписью, не то в прямой, не то в обратной логике.

      На любой дистрибутив Линукса можно накатить любую DE и в ней что угодно под себя настроить. Обычно в них по умолчанию все и так нормальное. Вот LXDE например:


      1. NeoCode
        19.08.2021 13:39
        +1

        LXDE нормальное, но далеко не все линуксовые DE нормальные:)


  1. fishHook
    19.08.2021 11:06
    +7

    операционную систему еще не доработали. Но дело осталось за малым

    Оптимизм — это, наверное, здорово, но когда взрослые дядьки демонстрируют незамутненную подростковую наивность, это уже по-другому называется. Как тут не вспомнить многострадальную ReactOS, которая последние десять лет «вот-вот и будет готова». Автор поста, вы серьезно считаете, что продемонстрированное поделие при всем уважении к труду авторов, которое (насколько я понял) хоть как-то запускается пока только на виртуальной машине, не умеет в многопоточность, не работает на современный процессорах, не имеет набора драйверов и утилии и пишется командой энтузиастов (я так понимаю, речи о полноценном тестировании не идет) хоть в каком-то обозримом будущем способно выйти в релиз?


    1. encyclopedist
      19.08.2021 11:52
      +3

      У авторов серенити нет никакой наивности. Они пишут это не для того, чтобы оно когда-нибудь стало продакшен-системой, а для развлечения.


      1. fishHook
        19.08.2021 12:04
        +3

        А статью написал прям автор серенити? Я в общем-то с авторами и их целью и не борюсь. Меня подбешивает детсадовский уровень статьи рекламирующий компанию Селектел.

        авторы проекта утверждают, что система собиралась практически с нуля

        Денис Попов тоже что-то подобное утверждал. Наверное, не стоит все подряд утверждения транслировать безо всякой аналитики. Среди комментаторов (смотри комменты) тут же нашелся человек, который потрудился посмотреть в исходники и нашел тонну говнокода. У автора статьи на это мозгов не хватило, зато хватает их на прогнозы типа «дело осталось за малым».


        1. Tangeman
          19.08.2021 16:46
          +1

          нашел тонну говнокода

          И что? Это не противоречит "собиралась практически с нуля" — Попов просто взял дистр линукса и ничего сам не писал, а тут всё самописное, достаточно посмотреть на этот самый код, его качество это уже другой вопрос.


          Да и вообще насчёт говнокода — вы в ядро линукса когда-нибудь заглядывали? Там его тоже достаточно — даже сейчас, про первые версии я уже молчу, но ничего, работает ведь, шагает по планете. Можете для разнообразия глянуть на код windows (есть в сети), вообще страх и ужас — но это не мешает ему быть #1 в десктопах.


  1. ereinion
    19.08.2021 12:59
    +2

    Когда я слышу «Unix-подобная система с интерфейсом в стиле 90-х» я представляю интерфейс CDE. Зачем же делать интерфейс в стиле винды? Не понимаю!


    1. NeoCode
      19.08.2021 13:41

      Кстати интерфейс CDE тоже нормальный, как и интерфейс старой винды. Погуглил картинки — приятно смотреть (хотя я никогда им не пользовался, так что списать на ностальгию не получится).


      1. ereinion
        19.08.2021 14:03

        Он как раз нормальный и интересный (довелось пощупать и его и его предшественника — HP VUE, недавно обзор постил даже). Я не поддерживаю именно имитацию интерфейса винды — их было уже слишком много и нет никакой самобытности у системы в результате.


        1. diakin
          19.08.2021 22:47
          +2

          На самобытность! Даёшь привычный интерфейс!


  1. deepform
    20.08.2021 11:59

    Объясните, пожалуйста, мне глупому, кому и зачем нужна ОС без софта, ну кроме как для развлечения?


  1. Wingtiger
    20.08.2021 20:47

    а ещё Колибри есть. И #КОСМОС для создания своей оси. Тоже без нормальных дров и их там никогда не будет.


    1. yatanai
      21.08.2021 00:02

      Я чего-то давно не слышал о подвижках Колибри. Её развивать перестали?


    1. Vilgelm
      23.08.2021 03:02

      Колибри/Менуэт имеют преимущество в виде своей скорости и возможности запуска на чем-то типа Pentium I, 8 MB RAM. При этом она запускается на реальном железе, лично пробовал. Я удивлен что ей до сих пор не нашли реального применения в каких-нибудь встраиваемых устройствах.


  1. v1a0
    23.08.2021 15:58

    Не мне об этом говорить, но не кажется ли вам, что это изобретение (очередного) велосипеда? Да классно, да идейно, да лучше чем ничего, но это же столько труда и все ради "лофтовой" оси?


  1. BurguyMlt
    23.08.2021 15:58

    Очень и очень интересно.

    Буду наблюдать за развитием проэкта. Интересно есть контрибьюторы из России?


    1. bugaevc
      03.09.2021 23:56

      Есть :)


  1. Anterenoire
    23.08.2021 15:58
    +3

    Почему никто вместо очередного дистрибутива линукса не напишет ту самую киношную ОС с огромными прогрессбарами и анимацией интерфейса? :)


  1. Axelaredz
    23.08.2021 15:58
    -1

    Кажется кто то не знает, что в KDE есть ретро темы)
    Ох уж эти болгенОСы)


  1. anonymous
    00.00.0000 00:00


  1. Mozhaiskiy
    30.10.2021 17:15
    +2

    Я тут из ностальгических чувств по BeOS'у нашёл старый ноут и неделю жил на нём под Haiku, у которой и степень готовности, и число софта, и поддержка железа много выше, чем у этой Serenity. Думал, раз я доначу иногда в Хайку, пусть будет у меня ретро-пишущая машинка для записи мыслей, которую не жалко таскать в лес на прогулку. Увы. Классно внешне, UX и хоткеи маковские, на радостях скринов наделал, но в реальности беда: ОС падает, крешится, нормального браузера с поддержкой шрифтов так и нет (в Web+ не работает добрая половина сайтов из-за этого), даже текстового редактора нормального нет (StyledEdit и Pe конечно есть, но хочется русской орфографии, подсветки синтаксиса MarkDown, вот этого всего, к чему уже привыкли). А Be-софт устарел настолько, что пользоваться нельзя: GobeProductive и AbiWord уже совсем динозавры. По факту, вся разработка под Haiku сейчас свелась к порту *nix софта на QT, нативного ПО крайне мало, а превращать экзотическую ОС в кривой лончер все того же LibraOffice как-то глупо, проще уже линукс накатить.

    Короче, три дня оргазмировал от возвращения в "тот 1998-й", но сдался — некрофилия это всё. В 2021-м уже хочется ретины, сглаживания шрифтов, хорошей типографики и отзывчивого UI без пиксель-хантинга в элементы 90-х. Ламповая, но некрофилия.

    Боюсь, что большинство "альтернативных ОС" сегодня обречены либо на порты софта с linux, либо на эмуляцию Windows API, либо будут "голыми", а тогда встаёт вопрос: нафига они нужны, эти ОС?

    И написать "свой браузер" в 2021-м году уже не под силу никому, слишком много там всего нужно, это посложнее, чем ОС написать. Максимум, будут порты какого-нибудь устаревшего на несколько лет Chromium / WebKit, если смогут его пересобрать под другой платформой вообще.

    А скрины с Хайку клёвые. Ламповые :)