В конце 2021 года мир увидел прекрасную операционную систему Essense с рядом функций, которых по умолчанию нет в популярных ОС, таких как Windows, MacOS или Ubuntu. Например, векторный UI и группировка окон по вкладкам (табам), как на скриншоте вверху. Действительно, очень удобно. Даже странно, почему никто из «больших» ещё не реализовал.

Essense — не единственная система, созданная с нуля одним человеком или небольшим коллективом. Есть такие феномены и в России.

Essense OS


Ключевые характеристики Essense OS:

  • Для полноценной работы достаточно 30 МБ дискового пространства и примерно 64 МБ оперативной памяти. На скриншоте внизу ядро ОС занимает 45,5 МБ, но для загрузки хватит меньшего.

  • Загрузка за несколько секунд даже на старом HDD. В демонстрационном видео при загрузке с SSD рабочий стол появляется через 0,7 секунды после заставки BIOS.
  • Полностью векторный GUI, то есть идеальное качество изображения на дисплеях высокого разрешения. Продвинутый векторный рендеринг с поддержкой анимации.
  • Вкладки.
  • Рендеринг шрифтов на FreeType и Harfbuzz (любые языки).
  • Открытые исходники.
  • Особенности ядра:
    • Независимый от файловой системы менеджер кэша.
    • Менеджер памяти: общая память, маппинг файлов в память, многопоточное обнуление страниц, балансировка рабочего множества — память, которая требуется процессам в каждый момент времени.
    • Сетевой стек для TCP/IP.
    • Шедулер с несколькими уровнями приоритетов и инверсией приоритетов.
    • Загрузка модулей по требованию.
    • Виртуальная файловая система.
    • Оконный менеджер.
    • Аудиомикшер (в настоящее время переписывается).
    • Дополнительная POSIX-подсистема, способная запускать GCC и некоторые инструменты Busybox.

В общем-то, это отличный образец системного программирования.

Есть свой файл-менеджер, текстовый редактор, IRC-клиент, диспетчер задач. На Essense портированы Bochs, GCC, Binutils, FFmpeg, Mesa (для софтверного OpenGL) и Musl.

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

Проверить систему в действии можно самостоятельно. Последние билды можно посмотреть здесь. Команда для установки в виртуальной машине Qemu:

qemu-kvm -drive file=drive,format=raw -m 2048 -smp 2 || qemu-system-x86_64 -enable-kvm -drive file=drive,format=raw -m 2048 -smp 2

Пока все версии выпускаются только для эмуляторов, но скоро автор обещает выпустить первый билд с настройками для реального железа (наверное, x86).

Видеодемонстрация на реальном железе:

Обсуждение проекта — на сервере Discord (обычно в онлайне больше 100 участников).

SerenityOS: шведский минимализм




Про SerenityOS уже упоминали на Хабре. Но в реальности каждый новый месячный апдейт Serenity — это событие, потому что проект сам по себе довольно удивительный.

Шведский разработчик Андреас Клинг совершенствует своё детище практически в одиночку. Для сравнения, над ядром Windows XP работало несколько тысяч программистов (общее число сотрудников Microsoft сейчас около 190 000).

Неудивительно, что Андреас практически стал звездой YouTube с 32 тыс. подписчиков.


Андреас Клинг

Раньше Андреас трудился в Apple над оптимизацией производительности движка WebKit. Компания Apple отличается тем, что почти все инструменты и программы создаёт сама с нуля, включая операционную систему и браузер. Судя по всему, разработчик проникся этим подходом. Так родилась операционная система Serenity.

В одном из интервью Андреас говорит, что проект очень важен для него в плане восстановления после зависимости. Собственно, он начал SerenityOS во время реабилитации — и продолжает до сих пор. Это как новая здоровая страсть, которая полностью заменяет старую пагубную.

Конечно, сейчас Serenity стала достаточно известной ОС, так что к делу подключились другие энтузиасты. Но поначалу он всё делал один. Вообще, увлекательно наблюдать за разработкой. Иногда она происходит буквально в реальном времени. Например, Андреас пишет в чате, что хорошо бы добавить функцию Х, а через два часа новое сообщение: «Функция Х добавлена».

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

Последнее видео с обновлениями за январь 2022 года:

Вот ещё одно маленькое демо: здесь мы видим, что ОС работает на реальном железе, она загружается, запускается диспетчер задач, консоль и DOOM (320×200). Кстати, этот компьютер Андреас собрал из запчастей, которые ему прислали пользователи Reddit со всего мира: CPU i9-9900k, 64 ГБ DDR4, SSD 240 ГБ и т. д., то есть неплохая машина.

Стандартный UI напоминает классический дизайн Windows 95/98/2000 и выглядит немного консервативно по современным меркам. С другой стороны, у «старой школы» осталось много преданных сторонников, которым не очень нравятся последние тренды в UI.

Пример GUI-программирования в SerenityOS. Минимальная программа c окном:

#include <LibGUI/Application.h>
#include <LibGUI/Window.h>

int main(int argc, char** argv)
{
GUI::Application app(argc, argv);
auto window = GUI::Window::construct();
window->set_title("My window!");
window->set_rect(100, 100, 300, 200);
window->show();
return app.exec();
}

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



Добавить кнопку — четыре строчки:

 auto& button = window->set_main_widget<GUI::Button>("OK");
button.on_click = [&] {
app.quit();
};

Под SerenityOS совсем не сложно писать софт. За два года сторонние разработчики выложили несколько десятков приложений, игр и демок.

Персистентная память. Два в одном


Отдельно хочется упомянуть про уникальную российскую разработку Phantom OS, над которой более десяти лет работает Дмитрий Завалишин (dzavalishin) с коллегами. Собственно, сам автор неоднократно рассказывал о ней на Хабре.

Просто в этом году по СМИ прокатилась волна статей с упоминанием Phantom OS: всё началось с Cnews («Россияне создали уникальную ОС — конкурента Linux»), потом тему подхватили на Хабре. Возможно, кто-то уже забыл или не знал про Phantom OS, так что им было любопытно прочитать про этот проект.

На самом деле приятно, что о разработке вновь вспомнили. Самое главное, что опять всплыла ключевая и фундаментальная идея «Фантом ОС», которая отнюдь не устарела: это персистентная оперативная память. Кстати, год назад на эту тему был доклад на конференции FOSDEM 2021, то есть персистентная память считается актуальной и перспективной идеей.

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

Хотя работа с медленными накопителями остаётся неэффективной, главное, что ОС изначально спроектирована на один уровень памяти, а не на два (быстрая RAM + постоянное хранилище). То есть единая сущность вместо двух миров. Как говорил сам системный архитектор Phantom OS в комментариях на Хабре, «важно иметь концепцию персистентной системы, а сам механизм обеспечения персистентности вторичен. Если он появится в бесплатном виде — отлично».

Другими словами, осталось дело за малым — выпустить быструю энергонезависимую память.

Российские ОС


Персистентная оперативная память — далеко не единственная инновационная идея, которая никак не реализована в массовых операционных системах. На то они и массовые, чтобы сохранять легаси. Но это же и причина отсутствия революционных инноваций. Вот почему каждый год на конференциях типа SOSP, OSDI, EuroSys и HotOS энтузиасты представляют десятки новых операционных систем. Ближайшая конференция EuroSys пройдёт 5–8 апреля 2022 года в Ренне.

В России тоже есть научно-практическая конференция по операционным системам: OS DAY. Например, на OS DAY 2021 рассказывали про ОС «Аврора» (инфраструктура разработки, доверенная среда исполнения Аврора TEE и механизмы безопасности), KasperskyOS, QP ОС, РЕД ОС и др.


«Ульяновск.BSD 12» (версия 2021.12.21) на базе FreeBSD из Единого реестра российских программ

Единый реестр российских программ для электронных вычислительных машин и баз данных по классу «Операционные системы» содержит 24 записи (версия на 12 октября 2020):
Название Правообладатель
Calculate Directory Server ООО «МИР КАЛКУЛЭЙТ»
Calculate Linux Desktop ООО «МИР КАЛКУЛЭЙТ»
Kraftway Terminal Linux ЗАО “Крафтвэй корпорэйшн ПЛС”
RAIDIX ООО «РЭЙДИКС»
Sailfish Mobile OS RUS ООО «ОТКРЫТАЯ МОБИЛЬНАЯ ПЛАТФОРМА»
WANFleX ООО «ИНФИНЕТ»
WTware Ковалёв Андрей Александрович
Альт Линукс 7.0 Кентавр ООО «Альт Линукс»
Альт Линукс КДесктоп ООО «Альт Линукс»
Альт Линукс СПТ ООО «Свободные программы и технологии
Альт Линукс Школьный ООО «Альт Линукс»
Альт Образование ООО «БАЗАЛЬТ СВОБОДНОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ»
Альт Сервер ООО «БАЗАЛЬТ СВОБОДНОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ»
Базальт Рабочая станция ООО «БАЗАЛЬТ СВОБОДНОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ»
Комплекс анализа защищённости «Сканер-ВС» ЗАО «Научно-производственное объединение «Эшелон»
ОС РОСА КОБАЛЬТ DX ООО «НТЦ ИТ РОСА»
ОС РОСА ХРОМ DX ООО «НТЦ ИТ РОСА»
Операционная система «Синергия 1.0» ФГУП «Российский федеральный ядерный центр — Всероссийский научно-исследовательский институт экспериментальной физики»
Операционная система для микроконтроллера «Магистра х.х." Зырин Николай Владимирович
Операционная система специального назначения «Astra Linux Special Edition» АО «Научно-производственное объединение Русские базовые информационные технологии»
Программный комплекс ICLinux ОАО «АйСиЭл — КПО ВС»
Программный комплекс терминального доступа «Циркон 36КТ» ЗАО «МНОГОПРОФИЛЬНОЕ ВНЕДРЕНЧЕСКОЕ ПРЕДПРИЯТИЕ «СВЕМЕЛ»
Программный комплекс терминального доступа «Циркон 36СТ» ЗАО «МНОГОПРОФИЛЬНОЕ ВНЕДРЕНЧЕСКОЕ ПРЕДПРИЯТИЕ «СВЕМЕЛ»
Ульяновск.BSD Волков Сергей Вячеславович
Любая система — это программно-аппаратный комплекс. То есть ОС должна поддерживать различное оборудование на уровне драйверов. Или работать на собственной платформе. Поэтому параллельно с ОС продолжается разработка российских процессоров. Из серверных CPU: 32-ядерный «Эльбрус-32С» (6–7 нм), 48-ядерный «Байкал-S», «Байкал-S» (6 нм), процессор Yadro и др. В России производятся материнские платы собственного дизайна (для «Эльбрусов»). Теоретически в будущем возможно создание серверов на своей элементной базе с собственной ОС. В принципе, здесь нет ничего фантастического.



Как показывает практика, серверы на процессорах «Эльбрус» пока что получаются дороже и хуже, чем на стандартных x86. Но разработчики надеются, что это временное явление.
А какие OS приглянулись вам больше всего?

НЛО прилетело и оставило здесь промокоды для читателей нашего блога:

15% на все тарифы VDS (кроме тарифа Прогрев) — HABRFIRSTVDS.

20% на выделенные серверы AMD Ryzen и Intel Core HABRFIRSTDEDIC.

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


  1. Gordon01
    21.02.2022 12:22
    -1

    В общем-то, это отличный образец системного программирования.

    и

    Менеджер памяти: общая память, маппинг файлов в память, многопоточное обнуление страниц, балансировка рабочего множества — память, которая требуется процессам в каждый момент времени.

    Идея запускать все в едином адресном пространстве ради производительности не нова, но делать это на C/C++ — шуточная, все работает на этапе прототипа, а в реальности придется все это обмазывать тоннами стандартной мишуры вроде санитайзеров, чтобы убедиться чтобы код на C/C++ работает более-менее надежно и не содержит ошибок.

    Про https://github.com/theseus-os/Theseus ничего не сказано. Там та же идея, только на безопасном языке.

    Персистентная память. Два в одном

    Не нужно, а кому нужно — пользуются Intel Optane


    1. domix32
      21.02.2022 13:18
      +1

      Так или иначе это придется обмазывать санитайзерами, фаззерами и прочим, даже если это Rust.


      1. 0xd34df00d
        21.02.2022 20:03
        +1

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


        1. domix32
          21.02.2022 22:06
          +1

          Фаззинг как минимум понадобится. Чтоб было понятнее вот например куча трофеев во вполне себе pure rust библиотеках. Это из тех что опубликованы. Вот например ядро линукса фаззят с кучей внутренних и внешних протоколов.


          Ассемблерная часть оказывается обычно самой безопасной т.к. является по сути загрузчиком прочего кода, который уже является непосредственно ОС. Так что наверняка и хаскель тоже придётся что-то тестировать и отравлять санитайзерами (в случае если ОС планирует таки использовать уже написанное, что в 99% случаев автоматически требует какой-нибудь libc)


        1. mikhanoid
          22.02.2022 18:06

          Haskell не гарантирует отсутсвия арифметических или алгоритмичесаих ошибок: перепутали адреса для DMA, и контроллер диска перетёр кусок памяти с thunk-ами. Проблема вылезет совсем в другое время и в другом месте ????????‍♂️


    1. Kelbon
      21.02.2022 16:44
      +3

      "на безопасном языке", смешно смешно. То есть вы утверждаете что на расте нельзя написать обращение по невалидному указателю или гонку?)


      1. gxcreator
        21.02.2022 18:42
        +1

        Очевидно имеются в виду managed языки.


        1. Kelbon
          21.02.2022 19:50
          +1

          очевидно имеется в виду тот язык который в ссылке на гитхабе


      1. Gordon01
        22.02.2022 19:25

        Вы только один безопасный язык знаете?


    1. mikhanoid
      22.02.2022 17:56

      Общая память и единое адресное пространство, как бы, разные техники.


  1. sidorovmax
    21.02.2022 12:58

    Вы ссылаетесь на сайт https://reestr-minsvyaz.ru/
    А там написано: Актуальность реестра – 12 октября 2020 г.


    1. 1shaman Автор
      21.02.2022 14:51
      +1

      Спасибо за инфу, добавил дату в статью


  1. Andrey_Epifantsev
    21.02.2022 13:06
    +4

    А на этих ОС можно запустить браузер и открыть в нём Youtube?


    1. vanxant
      21.02.2022 13:09
      +3

      Открыть ютуб в большинстве можно. С запуском видео уже сложнее.


    1. Dzzzen
      21.02.2022 13:53
      +10

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


  1. NAI
    21.02.2022 13:23
    +5

    Зануда мод:on

    нет в популярных ОС, таких как Windows, MacOS или Ubuntu.

    Дико извиняюсь, безмерно отстал от жизни, но давно убунту стала ОС? Еще пару лет назад она была "дистрибутивом основанным на Debian" (С) Вики. Типа как ZverCD (и прочие сборки энтузиастов) с Windows. То же касается русских ОС типа Альты\Астры и пр.

    Или теперь можно сделать свой пак с софтом и назвать это ОС имени себя?

    Зануда мод:off


    1. Arris
      21.02.2022 13:44
      +6

      Или теперь можно сделать свой пак с софтом и назвать это ОС имени себя?

      Всегда можно было. Главное не писать об этом на хабре, не приглашать СМИ для освещения сего достижения и не хвалиться в интернетах. Последствия могут быть... интересными!


      1. PanDubls
        21.02.2022 15:51
        +6

        Главное, чтобы обои нескучные, тогда всё пучком будет


      1. JuSay
        22.02.2022 09:00
        +1

        Ну вот. Обидели болгена:(


    1. affinity
      21.02.2022 13:44
      +1

      ну справедливости ради, они сами её ОС называют About the Ubuntu project | Ubuntu


      1. NAI
        21.02.2022 13:58
        +1

        Они сами не могут определиться:

        The new standard secure enterprise Linux for servers, desktops, cloud, developers and things.

        https://canonical.com/#products

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


        1. a1111exe
          21.02.2022 14:54
          +6

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

          Просветите невежду - в чём именно разница? Ну или так - назовите ОС на ядре linux, которая не дистро? А я пока оставлю это здесь:

          "A Linux distribution (often abbreviated as distro) is an operating system" (https://en.wikipedia.org/wiki/Linux_distribution).

          "Debian GNU/Linux, is a GNU/Linux distribution" (https://en.wikipedia.org/wiki/Debian).

          'The "stable" distribution', 'The "testing" distribution', 'The "unstable" distribution' (https://www.debian.org/releases/).


          1. NAI
            21.02.2022 15:22

            Просветите невежду - в чём именно разница?

            Примерно в том же как называть системный блок процессором (аналогия, кстати очень точная). Мы уже получили кучу мемов уровня "Не вставляется флешка в процессор" (С) Бухгалтерия.

            Ну или так - назовите ОС на ядре linux, которая не дистро?

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

            Мы можем взять каноничное ядро Linux внести в него ряд изменений, и все равно это будет ядро Linux. И только внеся достаточное количество изменений, как например Apple сделало с BSD, можно говорить о чем-то отдельном.

            Ubuntu, насколько я помню (это не точно т.к. не слежу), не ведет свою отдельную разработку ядра - они берут ванильную версию, и допиливают настройки, добавляют\отключают модули.


            1. a1111exe
              21.02.2022 16:38
              +4

              аналогия, кстати очень точная

              Не согласен. Системный блок может быть пустым. Вот компьютер vs процессор - больше похоже на правду. Но по такой аналогии Вы процессор называете компьютером, а, скажем, ноутбук от Dell - нет. Ибо (по такой аналогии) сборка от той или иной фирмы - не компьютер.

              Ядро как бы и определяет ОС, а не набор прикладных приложений.

              Продолжая аналогию - процессор определяет компьютер. На этом моё согласие заканчивается, т.к. я считаю, что конечный, готовый к использованию, компьютер определяется не только процессором, но и прочими компонентами, включая блок питания. Соответственно, ОС, пригодная для использования пользователем, должна включать что-то помимо ядра. Это, кстати, не только моё мнение:
              https://en.wikipedia.org/wiki/Kernel_(operating_system)

              https://www.geeksforgeeks.org/difference-between-operating-system-and-kernel/

              https://stackoverflow.com/questions/3315730/what-is-the-difference-between-the-operating-system-and-the-kernel

              Мы можем взять каноничное ядро Linux внести в него ряд изменений, и все равно это будет ядро Linux.

              Но это не будет ОС.

              Ubuntu, насколько я помню (это не точно т.к. не слежу), не ведет свою отдельную разработку ядра - они берут ванильную версию, и допиливают настройки, добавляют\отключают модули

              Ну и что? Dell, емнип, не разрабатывает процессоры. Значит ли это, что ноутбуки от этой фирмы - не компьютеры?


              1. egorro_13
                21.02.2022 17:19

                Системный блок может быть пустым

                Тогда уж пустым может быть корпус, а системный блок - это корпус вместе с начинкой (процессор, материнская, память, блок питания, диски и прочее). А компьютер - это сочетание системного блока и всех подключенных к нему устройств - монитор(ы), клавиатура, мышь и т.д.


                1. a1111exe
                  21.02.2022 18:07

                  Тогда уж пустым может быть корпус, а системный блок - это корпус вместе с начинкой (процессор, материнская, память, блок питания, диски и прочее). А компьютер - это сочетание системного блока и всех подключенных к нему устройств - монитор(ы), клавиатура, мышь и т.д.

                  Хехе, статья на Вики на эту тему рекомендуется к удалению из-за отсутствия ссылок на авторитетные источники. Там в обсуждении ещё есть интересный аргумент: можно или нельзя открыть системный блок? По Вашему предложению нельзя, т.к. тогда каким-то образом придётся вместе с корпусом открывать и начинку. С другой стороны, оборот "откройте системный блок Вашего компьютера" слух не режет. Ну, по крайней мере мне и рекомендатору на удаление статьи из Вики.

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


                  1. egorro_13
                    21.02.2022 18:23

                    А, ну раз в Самой Википедии что-то там понаписано... Все понял, продолжать разговор смысла не вижу.


                    1. a1111exe
                      21.02.2022 18:33

                      Все понял

                      И даже как открывать/закрывать вместе с системным блоком начинку корпуса? :)


                      1. egorro_13
                        21.02.2022 18:52
                        +1

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


                      1. a1111exe
                        21.02.2022 19:09
                        +1

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

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

                        Не знаю, как Вы, а я из этой непростой ситуации выношу два важных урока:

                        (1) режим зануды открывает двери в такие кроличьи норы, дно которых (если есть) довольно труднодостижимо;

                        (2) может или не может системный блок быть пустым - это не меняет моего исходного рассуждения по аналогии, надо только слово "компьютер" заменить на "системный блок".


                      1. egorro_13
                        21.02.2022 19:24
                        +1

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

                        Еще раз: пустой корпус не является системным блоком - это просто корпус, пустая коробка, предназначенная для сборки системника. Собранный на столе компьютер без корпуса не является системным блоком - это просто набор подключенных друг к другу устройств, работающих в совокупности. Системный блок - это С О Ч Е Т А Н И Е коробки и набора устройств, а не что-то отдельно взятое. При вскрытии системного блока видишь набор оборудования, на котором он работает, а если при вскрытии видишь пустые крепления и пару вертушек - это НЕ системный блок, это просто одна из его частей.

                        Не знаю, как Вы, а я из этой непростой ситуации выношу два важных урока

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


                      1. a1111exe
                        21.02.2022 19:43

                        никаких поводов для занудства не вижу.

                        Чего тогда занудствуете? :) Я-то не против. Замечу только, что от одновременного использования капслока, пробелов между буквами и полужирного шрифта убедительность аргументации не увеличивается. Вот если бы Вы привели ссылки на источники, которые можно было бы посчитать авторитетными, тогда другое дело. Потому что мы тут обсуждаем не суть вещей, а словарное определение. Какой-нибудь словарь русского языка, наверное, подошёл бы.

                        Я просто пытаюсь до человека донести простейшие различия между двумя простейшими понятиями

                        Польщён, что назвали меня человеком, и что Вам так важно моё мнение. Вы вот лучше скажите - дистрибутив линукса это ОС или нет? :)


                      1. egorro_13
                        21.02.2022 20:04
                        +1

                        Чего тогда занудствуете? :) Я-то не против. Замечу только, что от одновременного использования капслока, пробелов между буквами и полужирного шрифта убедительность аргументации не увеличивается. Вот если бы Вы привели ссылки на источники, которые можно было бы посчитать авторитетными, тогда другое дело. Потому что мы тут обсуждаем не суть вещей, а словарное определение. Какой-нибудь словарь русского языка, наверное, подошёл бы.

                        Мне достаточно и такого вполне для меня авторитетного источника, как головной мозг. Плюс определенный жизненный опыт. Определение в словаре есть (долго искать другие нет ни интереса, ни желания), но явно писалось для галочки далеким от темы человеком - "системный блок является просто приспособлением для защиты компонентов" (т.е. якобы это тупо оболочка для железа), через пару абзацев - "все эти компоненты входят в состав системного блока", а не просто защищаются им. "Белое не является черным, но черное является белым".

                        Польщён, что назвали меня человеком, и что Вам так важно моё мнение. Вы вот лучше скажите - дистрибутив линукса это ОС или нет? :)

                        Дистрибутив Линуса - это по-любому ОС, просто с определенным набором программ. Другой вопрос - являются ли разные дистрибутивы разными операционными системами - нет, конечно)) Это именно вариации одной ОСи


                      1. a1111exe
                        22.02.2022 02:06
                        +1

                        Дистрибутив Линуса - это по-любому ОС

                        Супер! :)

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

                        Тут я не был бы так категоричен. Само ядро недостаточно функционально для того, чтобы называться ОС. А вокруг ядра можно собирать очень разные системы. Те же Debian, Arch, Gentoo можно смело считать разными операционными системами на базе ядра Linux.


              1. NAI
                21.02.2022 20:10

                Продолжая аналогию - процессор определяет компьютер.

                Как бы да... RISC(классический), ARM, x86 (да,я знаю что это набор команд) - определяют сегмент рынка и задачи которые на нем можно решать, ПО которое на нем можно запускать и вообще чуть больше чем все. Утверждать что ARM = x86 ну такое себе.

                Аналогия для того и нужна, чтобы просто и на пальцах показать смысл. Зачем вы углубились в лингвистику, пытаясь найти 100% соответствие, мне не совсем ясно (что называть корпусом, что компьютером, что процессором). Факт и посыл был совершенно в другом.

                По вашей логике, как раз Dell\Asus\HP (Canonical\RedHat\Alt) надо называть производителями процессоров (производителями ОС). Но на самом деле это сборщики из готовых компонентов (пакетов). Да кто-то что-то может покрутить в настройках, но это сборка, это не производство, это не другая архитектура. Код из одного дистрибутива запустится на другом (местами конечно надо подпилить, но я в общем).

                Но это не будет ОС.

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


                1. a1111exe
                  22.02.2022 02:13

                  а можете не расширять, оставить как есть - с мигающим курсором

                  Я сейчас правильно понял? Вы готовы утверждать, что можно, имея исключительно ядро, чего-то там делать с мигающим курсором? Вы уверены в этом? Делали когда-нибудь такое? Потому что в интернетах хором пишут, что с голым кернелом работать невозможно. И мой персональный опыт с LFS это очень недвусмысленно подтверждает.


                  1. NAI
                    22.02.2022 09:43

                    Работал с FreeRTOS. Естественно, что с любой низкоуровневой абстракцией, по сути HAL работать тяженько, это вам не питон.

                    По поводу мигающего курсора, очевидно, что терминал это приложение, очевидно, что подразумевается POSIX (или аналоги). Да POSIX тоже можно реализовать через отдельное приложение и про это я писал в самом начале:

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


                1. a1111exe
                  23.02.2022 13:09

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

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

                  По вашей логике, как раз Dell\Asus\HP (Canonical\RedHat\Alt) надо называть производителями процессоров (производителями ОС).

                  Нет, потому что по моей логике ОС это аналог не процессора, а компьютера.

                  Как бы там ни было, для себя я вопрос считаю исчерпаным. Спасибо.


              1. grumbler66rus
                23.02.2022 10:37

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


                1. a1111exe
                  23.02.2022 13:07

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


            1. DaneSoul
              22.02.2022 00:31
              +3

              Ядро как бы и определяет ОС, а не набор прикладных приложений.
              Эсли все определяется только ядром, то в чем тогда по-вашему смыл отдельного термина «операционная система»?
              Android это операционная система или нет? Ведь ядро то там от Linux.


              1. NAI
                22.02.2022 09:50
                +1

                И только внеся достаточное количество изменений, как например Apple сделало с BSD, можно говорить о чем-то отдельном.

                Мир не черный и белый, есть переходные моменты. Google насколько я помню очень сильно перепиливает ядро для поддержки всякого в Android (а-ля Apple с BSD). Вы не можете нативно запустить андроид приложение на ванильном ядре линукса той же версии.

                Может пойдем от обратного? Если я в CentOS 7 ставлю новый гит версии 2.35 - это новая ОС?


    1. Han123
      21.02.2022 14:07
      -1

      Подмена понятий шла давно...

      Сейчас тяжело объяснить народу чем отличается операционная СИСТЕМА от операционной СРЕДЫ. Родоначальником данной подмены был мелкософт начиная с WIN95 и до WinME включительно.

      Забавно но факт в РуВики Win3.x обзывается операционной системой в англоязыкной - операционной средой.


      1. kichrot
        21.02.2022 17:06
        +2

        Подмена понятий шла давно...

        Сейчас тяжело объяснить народу чем отличается операционная СИСТЕМА от операционной СРЕДЫ. ...

        Насчет подмены понятий. Именно, это Вы, в данном случае, и пытаетесь провернуть. :)

        Вы готовы логически разделить два понятия "СРЕДА" и "СИСТЕМА", с учетом того, что любая среда является системой и любая система является средой??? :)

        Как видите не так все просто, как Вам казалось.

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

        Например, Вы можете выделить в человеке, некую самостоятельную и самодостаточную сущность, определяющего его, как человека, без потери, при таком выделении, его субъективных человеческих качеств???

        Попробуйте мысленно провести такой эксперимент, честно и беспристрастно. Увидите, что получится.


      1. F0iL
        21.02.2022 17:22

        Забавно но факт в РуВики Win3.x обзывается операционной системой в англоязыкной - операционной средой.

        Да ладно.
        https://en.wikipedia.org/wiki/Windows_3.0

        Что это тут у нас...


        1. NAI
          21.02.2022 20:15

          Т.к. википедию может править любой желающий, ляпов в ней достаточно. Из вашей же ссылки в тексте:

          Like its predecessors, Windows 3.0 is not an operating system per se, but rather an operating environment that is designed for DOS and controls its functions.[9][19]


          1. dartraiden
            21.02.2022 22:06

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


            1. NAI
              21.02.2022 23:09

              Конкретно здесь, проблема в том, что в пределах одной англоязычной статьи написано разное =)


  1. BOBAH1
    21.02.2022 15:18
    -2

    Классно, очень в тему. Я как раз сейчас Линухи изучаю.


    1. light_and_ray
      21.02.2022 16:34
      +2

      Но ведь статья не про Линуксы, а про нечто новое, что появилось


      1. JTux270
        22.02.2022 08:58
        +2

        Объединение нескольких окон в одно окно со вкладками было во Fluxbox ещё минимум 10 лет назад. Это вообще не функция ОС, это функция оконного менеджера. Про это ещё на Опеннете в новости про эту ОС месяц назад тоже пытались упомянуть, но кому надо то, что помнят олды..?


  1. forthuser
    21.02.2022 16:41
    +1

    А какие OS приглянулись вам больше всего?

    KolibriOS, HaikuOS, ReactOS,
    … Genera…


  1. saipr
    21.02.2022 17:48

    А какие OS приглянулись вам больше всего?

    Дисрибутив Mageia !


    P.S. А что с импортозамещением:


    Единый реестр российских программ для электронных вычислительных машин и баз данных по классу «Операционные системы» содержит 24 записи

    Как работали госструктуры на Windows, так и работают?


  1. profman
    21.02.2022 18:25
    +1

    Судя по скриншоту в Ульяновске таки смогли пропатчить KDE под BSD :)


  1. Gigatrop
    21.02.2022 18:51

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

    Векторный GUI - это преимущество?

    Преимущество векторной графики - масштабирование. Ресайзим однопиксельную рамку в полтора раза, и она мутная или округляется в какую-то некрасивую сторону.

    Отрисовка пиксельного квадрата везде векторное, не из картинки его берут. Браузеры могут рисовать SVG и анимации, CSS сплошь и рядом векторный. Шрифты давно векторные. Получается все ОС, особенно браузерные, - векторные. Ну у окон не торчат векторные вензеля и короны, и слава богу.

    У векторных иконок нет хинтинга, их детали не попадают в пиксели. А на винде иконки "в исходнике" большие - аналог векторных, при даунскейле. А маки имеют высокий ppi, что нивелирует отсутствие хинтинга или мутность иконок. И проблем нет, всё хорошо на "дисплеях высокого разрешения".


    1. eps
      22.02.2022 10:15

      Gnome в 2000-х мечтали, что векторные значки решат все проблемы с масштабированием. Но проблемы не решились. Чтобы графика выглядела хорошо, её нужно рисовать пиксель-в-пиксель под целевое разрешение


  1. kITerE
    22.02.2022 11:32

    Новые операционные системы 2021 и 2022 года

    А что, собственно, в названии означают года 2021 и 2022?

    Кроме Essense OS, все остальные ОС (SerenityOS, Phantom OS) уже давно существуют.


  1. SergeyKlevogin
    24.02.2022 11:13

    Как так получается, что для полноценной работы Essense OS достаточно 30 МБ дискового пространства, и в то же время Essence.tar.xz занимает 336 Мб?