Обновить
15
-10.3
Дмитрий Гарбузов@SystemSoft

Просто разработчик

Отправить сообщение

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

Ассемблер изучаю иногда.

Для чего ядро? Ну... Я ОС делаю, вот и стараюсь сделать крутое ядро под него.

Также имею цель убить pyRTOS (мечтать не вредно, хе-хе).

Но надеюсь люди оценят меня.

Если вы считаете связку MicroPython и asyncio всего лишь простым планировщиком задач — это ваше право. Система работает и будет развиваться. Я пишу не клон Linux, поэтому упоминания fork и execve здесь неуместны: в моей архитектуре они просто не нужны.

Я создаю своё ядро и делаю это так, как считаю нужным. В среде MicroPython не требуется городить костыли из 70-х годов — здесь на порядок меньше багов управления памятью и больше гибкости для реализации моих концептов. Если вы ожидали, что Pech станет очередным аналогом pyRTOS, то спешу вас разочаровать: этого не будет.

Поддерживать проект или нет — выбор каждого. Я ориентируюсь на результат и новую архитектуру, а не на старые учебники. Хорошего дня!

UPD: не каких секретов не будет.

Вот концепты:

Ядро - это помощник процессов: оно должно только помогать делать работу, но не делать её за процесс.
Безопасность и стабильность - выше всего: ядро должно любым способ не дать сделать процессу что-то плохое.
Всё, что может помешать безопасности (к примеру опасные библиотеки) должно быть обнулено.
Сервера - это возможность процессов делать операции более безопаснее.
IPC - это лучшее, что можно было придумать. Любая версия ядра без IPC не может быть Pech-подобным.
Динамические программы - главное в ядре. Без него, VFS можно считать никчёмной.
VFS - не контроллер физических ФС. Это отдельная ФС имеющая свои файлы.
Всё должно быть на своём месте: не каких лишних файлов с "утилитами" на 600 строк.

Вот ссылка на гитхаб: SystemSoftware2/Pech: Переработка ядра PearKernel

кнопка с текстом "Читать далее", типо смотришь вступление: думаешь, не, не хочу. потом смотришь другое и нажимаешь чтобы дальше читать.

Гейм 40 минут это выдумка, согласен.

30 минут максимум был по памяти (не каждый) .

это нормально, просто посмотрите на финал Ролан Гарроса 2025 года, сразу поймёте что есть ИИ, а что есть писатель)

я тоже занимаюсь, а гейм по 40 минут сильное преувеличение, только полчаса у профессионалов играли больше всего. а игра 4 часа это финал Ролан Гарроса скорее всего💀.

ааа, я не в курсе всего: там был момент что всё работало без vpn но щас какие то неполадки кажись. видимо снова заблокали.

Не уверен что есть то, что сделать нельзя. Конечно за исключением полёта на Марс.

Тут вообще смесь: пытаюсь повторить Mach с структурой ФС как у Unix и привкусом Linux.

Забыл добавить: теперь логи нужно выводить самому (через функцию ядра).

Надеюсь это нормально =)

Попробую угадать:

"Меня попросили"

Ну вообще есть 3 проекта где настоящая ОС а не просто эмулятор. Просто дело в том что я пишу на MicroPython. А он как раз позволяет писать под голое железо.

Ну а вообще я стараюсь делать именно работу настоящей ОС, а не эмулятора.

Да, забыл, на MicroPython уже писали ОС.

Raspberry Pi Pico (или W): да, конечно. я подтверждаю👍👍👍.

исправляю:

  1. False

Первое:

0.30000000000000004 != 0.3

  1. True

  2. True

Первое:

0.3 это 0.3

Второе:

int убирает .3 и получается 0.

0 это 0

на русском "влез" будет читаться

я всё понимаю но почему нельзя просто писать свои функции по типу индекса?

вот реализация если что:

def index(lis, el):
  ind = 0
  for i in lis:
    if i == el:
      return ind
    ind += 1
  return -1

либо же можно писать такие функции:

def my_index(lis, el):
  try:
    return lis.index(el)
  except:
    return -1

чем же сложно писать функции по типу второго варианта и сделать это в файл с названием по типу utils?

или что вам мешает ещё? объясните.

Информация

В рейтинге
Не участвует
Откуда
Адыгейск, Адыгея, Россия
Зарегистрирован
Активность

Специализация

Десктоп разработчик
Python
Компиляторы
Системное программирование
C
Объектно-ориентированное проектирование