Мне вот интересно, зачем пытаться писать подобие уже существующих ядер? Я к примеру зачитался концепцией экзоядра, где ядрышко только дает доступ к ресурсам компьютера и осуществляет их защиту. Остальное реализовано в виде подгружаемых библиотек, которые могут реализовывать какой угодно API. Принципиально там даже управление процессами из ядра выкинуто. Получается ядро маленькое, без наворотов и хорошо управляемое, то есть вполне под силу одному человеку. Монолиты пишутся обычно десятками-сотнями программистов, и это приводит к трудностям при отладке. Думаю что если не задумывается крупная коммерческая ось, то имеет смысл глядеть в сторону такого подхода. А не городить кучу костылей и припарок, чтобы потом гордо обозвать ядром и положить на полочку как со всеми начинаниями и происходит обычно. Не зря ведь и MS, и Линух призадумались над размерами своих ядер и проблемами поиска ошибок. Все ж понимают что до бесконечности увеличивать мощность процессоров не получится. А если ядро только разделяет и властвует, то остальное уже зависит от криворукости прикладных программистов, и путем отмирания оных система в целом будет развиваться. Ну даже к примеру работа с консолью может быть написана разными способами, и постоянно приклеивать ее к ядру неудобно. А будет это отдельным процессом, и управлять легче, и возможности получить уязвимость намного меньше. Как говорится, кесарю - кесарево, а ядру - только то что необходимо. Написать с лету такое ядро конечно не выйдет, зато есть над чем голову поломать.
|