>Очень наглядно показана куча мусора, которую студенты навалили. Именно так и выглядит
>ламерский код и подход - паутина, награмождение сложных сложностей. Гордится то
>тут нечем, - вот чего линуксоиды никак не поймут.
>
>250 вызовов ядра? я читал другие источники - более 300. Сам не
>считал, не до сук. А вот в Plan9 их чуть больше
>40 - меньше на ПОРЯДОК. И новых больше не будет независимо
>от наращиваемого функционала - новый функионал станет файлом. Так же как
>в 9P новых команд уже добавлять ни к чему. 2<<1 ==
>4 :) KISS my shiny metal... Думаю, студенты не наваливают код в линукс уже много лет, с тех пор, как участие в разработке ядра стали принимать такие корпорации, как IBM, RedHat, Novell.
Эффективность систем не стоит сравнивать по количеству системных вызовов, всё зависит от качества реализации и от необходимости тех или иных вызовов; если у нас есть 40 системных вызовов и какое-то действие состоит из 10 системных вызовов и нужно повторять его часто, то намного эффективнее будет ввести соответствующий системный вызов, чтоб один раз переключится в режим ядра и выполнить необходимые действия, нежели 10 раз переходить в режим ядра и обратно. Но всё же в первую очередь зависит от программистов, реализующих соответствующие вызовы; возьмём, например, винду - API-функций несколько тысяч (сколько из них системных - неизвестно), казалось бы любое действие можно было бы выполнить одной функцией, но вот где-то вычитал, что сохранение файла в блокноте приводит чуть ли не к двадцати системным вызовам, так что количество в качество тут не переходит. Введение каждого нового системного вызова продиктовано некоторой необходимостью, я уверен, что адекватность каждого вызова перед внедрением в ядро линукс была проанализирована и необходимость в этих вызовах есть.
"новый функионал станет файлом" - и к чему приведёт обращение к этому файлу? Как минимум к переключению контекста на драйвер, обрабатывающий запросы к этому файлу. Дальше нужно смотреть какой новый функционал предоставляется соответствующим файлом. Если он реализует новый функционал из тех 40 системных вызовов, то далее будет цепочка переходов в режим ядра и обратно (если соответствующий дравер в нём не работает). Собственно чем это отличается от классического системного (ну или библиотечного, в зависимости от ситуации) вызова? Да только интерфейсом...