freePy_OS project

Список разделов Общие разделы Оффтопик

Описание: Разговоры обо всём
Модератор: exooman

  • 1

Сообщение #1 Николас » 20.06.2018, 12:50

Всем привет.

Вот предлагаю вашему вниманию тему — проект freePy OS.

- что это?
- безплатная операционная система на основе ядра Linux, GUI (графический пользовательский интерфейс) которой основан на Python® языке, как возможно и других основных программ.

- зачем это, ведь уже есть готовые сборки — Debian®, Ubuntu®, Lubuntu®, Mint®. И сам язык программирования Python®, он не подразумевает компиляцию в бинарники (исполняемые файлы), а есть интерпретируемым языком — постоянно компилируется, от чего падает общая производительность — время запуска программ?
- тут вот есть плюс большой и нюанс - минимум снижения производительности. Сам код программы на вид как текст (как скрипты) - их легко проверять на вшитого червя — простой текст в текстовом редакторе. Безопасность, при наличии проверенных исходников на ROM (только чтение) носители велика — то что надо, как правительству (в первую очередь разведке и МО), так и простому гражданину. Все в мире готовые сборки ОС (операционная система) всегда надо перепроверять, а это очень тяжёлый и дорогостоящий труд. В языке Python® есть понятия исходный код и байт код. Исходный код — простой и понятный код для программиста, бит код уже интерпретатор Python® создает в кэш-папке (она создается в папке с программой) и запускает как программу (бинарник) — потеря быстродействия минимальная. После завершения работы системы, кэш можно очищать — для безопасности. И еще одна перспектива даже интерпретации — запуск на всех процессорных платформах, где есть интерпретатор Python® — ARM, x86, x64. А это уже перспектива на рынок мобильных устройств — всех, как и портативных армейских устройств. Вообще, для армейских нужд и в первую очередь разведки, своя ОС может носится в мобильном чипе на груди (flash memory, live OS), как и для персональной информации, и даже с устройством самоуничтожения — выгорания кристаллов памяти. Простое выгорание от капсульного воспламенителя чипа памяти пороховым зарядом, заранее помещенном вокруг самого чипа + немного магниевой стружки, для повышения температуры горения - выгорит даже плата ... И еще для факта — ОС Android® имеет интерпретатор Java®, там такой же вроде бы принцип работы, но достаточно громоздкой интерфейс ~ 800 — 900 Мб, а то и больше для всей системы. Я конечно не проверял, но вроде есть и вариант даже компиляции с Python® исходников в постоянные бинарники - я это смотрел для Windows® OS.

Еще плюсы — модульная конструкция, где каждый элемент (программа) независима от всех иных элементов, и запускается отдельно на любых устройствах. Получится система максимально гибкая, и очень дружелюбная, с простым кодом (небольшим) для проверки безопасности. Так же и смена/обновление самих модуль-программ - все прозрачно. Потом, ОЗУ (оперативное запоминающее устройство) — по моим расчетам не больше 350Мб для чистой системы.
Для игрового режима, а Steam® (система дистрибуции компьютерных игр и программ) есть давно уже на Linux, можно сделать игровой режим — перед запуском игры, выгружать заранее приготовленный список ненужных фоновых программ (и GUI), а после игры, обратно их загружать - приблизительно как в игровых консолях - минимум системы, максимум игры. Оперативной памяти может быть и много, но шина (пропускная способность) всегда одна - 128 бита, и 256 в двухканальном режиме (DDR). А лишние прерывания к незанятым службам, как процессора так и памяти, ни кому не нужны. Это очень актуально для портативных устройств — ARM.

Особенности написания:
Конечно, собирать свою ОС, на основе даже готового ядра Linux (свою сборку) это долгий и кропотливый труд, но можно пойти очень интересным и достаточно продуктивным путем — в обратную. Поскольку на Python® будет писаться в первую очередь интерфейс (графическая оболочка), то начинать разрабатывать сначала меню программ, с учетом сенсорных технологий в двух режимах запуска — полный экран и оконный режим. Потом панель, рабочий стол, простой файловый менеджер, текстовый редактор, прикладные программы (менеджер настроек, калькулятор... интернет браузер даже возможно (легковесный), установщик). В этом варианте, написание каждой программы это уже полноценная завершенная работа (маленькая победа) — такими результатами можно сразу пользоваться на всех Linux системах. А это сила.

Лицензия и участники:
Лицензию я бы хотел применить к программному коду и медиаресурсам — CC0 1.0, или подобную ей, по принципу — бери и пользуйся и даже лицензируй под себя, без привязки к оригиналу — но смысла в лицензировании исходника нету, все и так могут его скачать с основного ресурса. Это уместно только, если есть принципиальные (существенные) изменения, достойные своей полной лицензии.
Участники которые участвуют в этом проекте — все на равных правах, лишь бы несли свой, хоть и малый, но вклад. Например я могу даже сейчас сделать полностью теоретическую часть и дизайн (иконки, обои, кнопки...). Вот Python® программирование пока туго, пока только освоил Blender® Python® API, на уровне своих примеров — игру наверное уже смогу сделать... но пока не до этого. А вот знающих Python® надо - сам бы подтянулся от BGE® скриптинга, до прикладного программирования. Возможно и участие спонсоров с прозрачным... расходом помощи, для оплаты помощи в программировании - по принципу пошаговой оплаты репетитора с форумов по Python®, а то они как то даже глумливы бывают на безплатную помощь.

Вопрос с заранее скомпилированными бинарниками закрыт — интерпретатор Python® работает стабильно и надежно, потеря времени даже в варианте интерпретации и кеша неважна, а вот что важно — кросс процессорная совместимость и безопасность. Конечно можно побитово проверять исходник бинарников, но это немного усложняет работу — компиляция на все процессоры, как и нужда в открытых исходниках с компиляцией на своей системе — это сложнее для личной безопасности. В Python® исходниках (коде) можно прописать объяснение, что будет все достаточно понятно и легко, вооружившись справкой по Python® API, с уже готовыми и легкими объяснениями значения кода. Если нет смыла в Python®, то тогда и нет смысла в Android® и Java® — что весьма глупо. И даже при инсталляции Ubuntu® (Lubuntu®, и других дистрибутивов на их основе) используются приложения написанные на Python®. И вообще - Python®, это достаточно весомый язык в мире, его доля среди языков программирования весьма велика. А если есть действительно корректная компиляция с Python® исходников в бинарник, так вообще нечего обсуждать.

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

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

В любом случае, мне будет интересно как участие в таком проекте, так и ваше мнение.

Благодарю всем за внимание.

п.с. основой для развития этого проекта может стать и этот сайт...
Николас M
Аватара
Откуда: Черновцы +
Сообщения: 204

Вернуться в Оффтопик

Кто сейчас на форуме (по активности за 5 минут)

Сейчас этот раздел просматривают: 1 гость

cron