Обновить

Здравствуйте! Сегодня хочу вам представить микроядро rMach.

моя реализация handoff scheduling
моя реализация handoff scheduling

Это проект микроядра в 700 с чем то строк кода. Финальный билд говорит что ядро потребляет 19.9 кб в RAM.

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

Я реализовал там:

  1. Reference counting (на порты) - чтобы не жрали память порты которые не кто не использует.

  2. Send once (право SERVER) - да, он самый.

  3. VM для изоляции и вытеснение. Нет, не virtual memory, а virtual machine.

  4. Handoff scheduling - имеет недочёты, но в целом работает.

  5. O(1) планировка на стероидах битовых масках.

  6. IPC на портах - как в Mach.

Да, снова MicroPython, но уже думаю над C.

А что с Pech? Да ну так себе - к примеру можно обойти изоляцию зная фичи Python'а.

Взломать rMach почти не возможно. Не обещаю, но вроде не возможно.

Как всегда (нет) - пост хотел в "Я пиарюсь", но - карма не позволяет.

Ссылка: https://github.com/SystemSoftware2/rMach

Если найдете баг - пожалуйста, скажите, я буду рад.

Также пример программы на моей VM:

CREATE_PORT
STORE my_port

PUSH 42
PUSH 0
FETCH my_port
SEND

FETCH my_port
RECV
PRINT
HALT

Удачи!

Теги:
+1
Комментарии0

Публикации