Переработка ядра PearKernel.
Конечно же, за вас написан main.py чтобы было бы проще понять чо к чему.
Советую почитать немного обо IPC (взрослых трубах, а не о этих мэйлбоксах)
Почитав исходник FS сервера, main.py файла и почитав о Mach 3.0 сразу вольетесь.
Почему я уверен?
Легко: в ядре Pech нету такого как "61 системных вызовов".
Все предельно ясно:
Захотел почитать файл? Отправь сообщение серверу FS
Вот как выглядит сообщение к FS: {"client_pid": <ваш pid>, "reply_pipe": <id на трубу к которой отправить ответ>, "cmd": <команда>,
"path": <любой патч в vfs (рекомендуется прочитать files.txt)>, "data": <дата на запись, только для команды write>,
"permissions": <пермиссии (читать далее), только для mkdir и write>}
Вот они:
Ядро - это помощник процессов: оно должно только помогать делать работу, но не делать её за процесс.
Безопасность и стабильность - выше всего: ядро должно любым способ не дать сделать процессу что-то плохое.
Всё, что может помешать безопасности (к примеру опасные библиотеки) должно быть обнулено.
Сервера - это возможность процессов делать операции более безопаснее.
IPC - это лучшее, что можно было придумать. Любая версия ядра без IPC не может быть Pech-подобным.
Динамические программы - главное в ядре. Без него, VFS можно считать никчёмной.
VFS - не контроллер физических ФС. Это отдельная ФС имеющая свои файлы.
Всё должно быть на своём месте: не каких лишних файлов с "утилитами" на 600 строк.
Легкая структура пермиссий:
Для файлов:
- r или nr (разрешение на чтение)
- nw или w (разрешение на запись)
- cd или d (можно ли удалить или нет)
Менять пермиссии пока нельзя.
Для папок: только cd или d.
Вот мой gmail:
Пишите что хотите туда.
Удачной разработки!