Репка / Repka-Pi

  • Автор темы Репка / Repka-Pi
  • Дата начала
Здравствуйте! Я копаю проект операционной системы ЯОС на русскоязычном языке программирования. Она получена следующим образом:
* взята ОС А2, разработанная в Цюрихе - это однопользовательская ОС с графикой и сетью. Имеет учебное и промышленное применение, в т.ч. в Китае
* этап освоения и починки, он далеко не завершён, но существенно продвинулся. В частностя, я (не будучи специалистом по ОС и железу) при помощи сообщества починил загрузку с CD, составил инструкцию по запуску на Zybo Z7-10 (там есть средства для работы с ПЛИС, я их не копал особо), которой не было опубликовано, научился запускать ARM-овскую часть в QEMU, что потребовало патча к QEMU
* специальный движок, позволяющий переводить код на русский язык с помощью словарей
* перевёл некоторое количество модулей
* улучшение среды разработки
* улучшение средств отладки, хотя надо ещё дорабатывать
* документация (надо ещё дорабатывать)
Смысл данной ОС прежде всего в следующем:
* вся ОС, а также тулчейн и среда разработки полностью компилируется за 2 минуты - идеально для учебных проектов
* горячая замена модулей
* она написана на более безопасном, чем Си языке Активный Оберон, обладающем средствами системного программирования. Язык уникален, хотя ближайшим аналогом является Го, появившийся намного позже, но в Го не всё нужное есть.
* конкретно смысл ЯОС в отличие от A2 в том, что это российская ОС, максимально локализованная и являющаяся независимой веткой разработки. Кроме того, политика разработчиков A2 не блещет, это полузакрытый проект с дефицитом документации и многие части там хронически сломаны.

Я предпринял 2 попытки портировать её на Raspberry Pi, дело дошло до завершения запуска ядра, после чего оно стало работать нестабильно из-за каких-то гонок. Я столкнулся с дефицитом информации по RPi, просто чудом удалось сделать даже то, что сделано. Я не специалист в низком уровне и у меня эта задача не на первом месте. Вообще весь проект ЯОС отошёл сейчас на третий план для меня, и есть задача по доработке отладчика, её хватит, наверное, до конца года. Но было бы интересно запустить эту систему под Репкой - их идея подходит друг к другу. Возможно, среди участников группы найдутся желающие. Если доброволец найдётся - переключусь на этот проект и приму участие. Для человека, который лучше меня разбирается в железе, при моих консультациях и участии работы тут, я думаю, на месяц - два в свободное от работы время.

Пишите сразу в личку, если кто-то заинтересовался. Не могу следить за ответами в группе, тут слишком много пишут.


Чем больше осей будет на репке, тем наверное лучше и интереснее. Особенно учебных осей. Я сам пилю учебную ось на базе netbsd. Пока интель, потому что zfs.
 
Последнюю запустил, но до железа руки пока не дошли
 
Что вас смутило? Ось, с исходниками которой можно делать лабы, проекты и прочее, связанное например с обучением ИТ-кадров в вузах и колледжах


Вот как раз ЯОС является (потенциально) идеальным примером такой ОС, поскольку в ней есть среда разработки, в которой легко ищется исходник (почти) любой сущности (по нажатию кнопки). Кроме того, в ней можно изменить код в любом месте и по запуску одного скрипта получить изменённую версию через 2 минуты. Я, конечно, не знаю про все учебные ОС, но в том, что касается навигации по исходникам, в Си вообще всё довольно плохо. Не все же знают и умеют пользоваться каким-нибудь bear, да и он не идеален. Без bear поиск определения часто "мажет", т.е. даже прочитать исходники большой программы - уже проблема. Сборка MINIX занимает от 30 минут до часа (хотя в ней меньше строк, чем в ЯОС), если ChatGPT не врёт. NetBSD и Plan9, по тем же сведениям, собирается 2-3 часа. Т.е., если мы хотим на уроке внести в Minix или NetBSD изменения и пересобрать её, то мы просто тупо можем не успеть её пересобрать. ЯОС - успеем. Кроме того Оберон - гораздо более простой язык, чем Си. Как пример, тут на днях новичок ругался, почему у него неправильно работает код f(c++,c++,c++), он не знал, что порядок вычисления аргументов функции не определён. В Обероне просто нет операции ++. Если система написана на более простом языке, то будет меньше борьбы с языком и больше на изучение собственно предметной области операционных систем. А поскольку ещё и на русском языке, то и языкового барьера нет, можно хоть в средней школе изучать (другое дело, насколько имеет смысл именно это изучать в средней школе, но это уже другой вопрос).
 
Plan9 тоже кстати, по заверениям ИИ собирается 2-3 часа. Так что A2/ЯОС вне конкуренции по этому параметру, спасибо, что дали повод мне про это узнать сегодня. Хотя если кто-то знает другие учебные ОС, которые быстро собираются, то я буду рад про них услышать. Есть какяа-то штука на Паскале для Bare Metal разработок, она, конечно, тоже молниеносно собирается.
 
зачем вам ИИ то для такого, просто берете и собираете, не?
 
Мне не нужно собирать, мне нужно узнать время сборки и найти, есть ли, нет ли конкурентное преимущество. ИИ в данном случае просто заменяет поисковую систему, потому что он удобнее (хотя и врёт часто).
 
Управляю электричеством с аналога малины, с ОС армбиан. Хочу на репке попробовать
 
(файл из Telegram export не включен в файл экспорта: Видео 12-02-2023 235908.mp4)
 
прикольно. а фотка такого безобразия есть? )