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