Вышла версия 0.0.2 snakeware — дистрибутива Linux, в котором всё работает через Python



    31 мая 2020 года разработчик Джош Мур (Josh Moore) из американского города Сиракузы опубликовал на GitHub новую версию своего необычного дистрибутива Linux — snakeware v0.0.2. В этом дистрибутиве все работает с помощью языка программирования Python, включая пространство пользователя, оболочку и графический интерфейс.

    Фактически, Мур решил создать собственную Python OS, где оконный менеджер snakeware основан на pygame/pygame_gui, а вместо графического стека X11 для отображение графики напрямую используется фреймбуфер (/dev/fb0). Разработчик просит присоединиться к его проекту всех желающих.

    Цель проекта, согласно словам Мура, создать «пригодный для использования набор пользовательских приложений и утилит, полностью написанных на Python, и потому что Python — это весело».

    Дистрибутив snakeware собран с помощью Buildroot. Энтузиасты и разработчики Python, использующие pygame и pygame_gui, могут создавать свои собственные приложения для snakeware. В snakeware не используется подсистема инициализации и управления systemd.

    В планах Мура по доработке snakeware в настоящее время значится длинный список дополнений, вплоть до создания версии для Raspberry Pi, веб-браузера и чата для разработчиков. Проект находится на начальной стадии, но Мур уже в нем реализовал некоторые из своих задумок, например, сделал поддержку звука и snaketerm — простой терминал Python. В snakeware есть приложения — часы, калькулятор, игры Pong и Snake. Также он хочет прекратить использовать Busybox для инициализации и найти способ выполнить все необходимые инициализации из среды Python.

    Вдобавок Мур предупредил, что у некоторых пользователей могут возникнуть проблемы с запуском snakeware. В настоящее время ядро snakeware сконфигурировано для работы с его персональным ПК на AMD.


    Ролик про версию snakeware v0.0.1 Initial Demo Release.


    Ролик про версию версии snakeware v0.0.2.
    Реклама
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее

    Комментарии 23

      +2
      а зачем?
        +1
        The idea is that a Python OS would be fun to use and very easy to contribute to. Even relative beginners might be able to find ways to meaningfully contribute apps and other code to this distro.

        Our window manager, snakewm, is based on pygame/pygame_gui. We do not use X11; snakewm draws directly to /dev/fb0.

        We also are not going to be using any other huge and opaque software such as systemd, etc. The goal is to eventually have a usable set of userspace apps and utilities written entirely in Python, because Python is fun and it Just Werks™.
        0
        Интересно понять, насколько (проценты, разы, степени?) такая система менее эффективна по количеству затрачиваемых ресурсов и времени по сравнению с традиционным asm+C.
          +3
          Тут критично в основном время разработки — ведь нужно переписать на python кучу софта.
            +3

            Питоновские проблемы с многопоточностью — это даже хуже, чем /dev/fb0 в плане производительности.
            Но зато в такой системе очень удобно копаться и изучать ее.

              +5
              Питоновские проблемы с многопоточностью


              Ну это будет архикритично если выполнить всю ОС в виде монолитного приложения ;)
                +1

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

                  0

                  Усложнение кода входит в прямое противоречие с jff, о котором говорит автор. Так-то да, технически возможно.

                  0

                  Пока что виден всего один интерпретатор на все =)
                  Да и для демонстрации большего и не нужно.

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

                    И с кооперативной многозадачностью, да.
                    Каджит не уверен, насколько реально написать аналог вытесняющей многозадачности на питоне. Вероятно, можно, если пропатчить интерпретатор.


                    спокойно разбивать исполнение по ядрам в разных процессах

                    Ну, это будет просто размен кооперативной многозадачности-в-один-поток на межпроцессное взаимодействие.


                    Но, в целом, это уже прототип настоящей ОС. Эх, где оно было, когда каджит был моложе?

                  +2

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

                    0
                    Ох, как-то не обратил внимания, что ядро оригинальное. Почему-то подумал, что там какая-то простенькая система инициализации и каким-то образом интерпретатор python в качестве ядра.
                  0
                  Даешь ядро на python!
                    0
                    Ага, и вшить в BIOS интерпретатор Python
                      0

                      EFI Python, Baremetal Python

                  +1

                  Интересно, а почему pygame-ui, а не kivy? Есть даже оконные менеджеры на python и kivy.

                    0

                    Кажется, слава SmallTalk кому-то не даёт покоя.

                      0
                      Ожидаем дистрибутив на JS
                        0

                        ожидаем дистрибутив на Php/HTML/CSS))))
                        Идея крута, не вижу проблем из скоростью, так как ядро на линуксе! Потом все нужные приложения написать на питоне в 100 раз быстрее чем на других языках! Тем более что 99% любого функционала уже на гитхабе ждёт)))) Не вижу проблем что бы это стало плохим дистрибутивом, учитывая что его будут использовать во всех вузах США для обучения! Это вам не Попов с его ОС))))))
                        Я думаю тут и будут специалисты по взлому обучатся!

                          +1
                          Ждём аналог ffmpeg на pure python + css ;)

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

                        Самое читаемое