Это возможно, посмотрите на раздел отображения идентификатора пользователя в странице справочника экспорта.
В основном Вы хотите это в строке экспорта: all_squash anonuid=whatever anongid=whatever
Если Вы не находитесь на Linux, а на BSD, сделайте то, что сказал Chris S.
Метинги, которые могут быть реализованы за несколько [1181270]человеко-лет[1181271]. Очень маловероятно, что в таком случае вы сможете включить его в официальное дерево исходных текстов, но это не так уж и важно.
Учитывая этот масштаб по отношению к тому, что вы называете "наибольшим преимуществом":
Лично я бы не считал это стоящим занятием, но это не значит, что я считаю это невозможным или плохой идеей. Вашим главным препятствием будет поиск других людей, которые могли бы внести свой вклад. [1180947]Другой проблемой, которую нужно решить, будет взаимодействие с любым оборудованием. Вам понадобился бы довольно нетривиальный кусок кода, который позволил бы Java-коду получить доступ, например, к сетевой карте, SATA, (i)SCSI, USB, FibreChannel и мириадам других контроллеров, аудиокарте и (наверное, одному из самых хитрых битов) графическому ускорителю. Это привело бы к тому, что существенная часть кода была бы написана на другом языке, более близком к "голому металлу" (будь то ассемблерка или C/C++ - что на самом деле не намного больше, чем более читабельная ассемблерка с более высоким уровнем абстракции).
xinput list
В конце концов, если бы написание кода ядра на Java было конечной целью, то, вероятно, было бы принято решение сделать это немного по-другому: написать его на Java и скомпилировать его непосредственно в родной код.
xinput test <ID>
1) Каждый разработчик Java с относительно небольшим уровнем знаний смог разработать модуль ядра.
Написание модуля ядра, который в 90% случаев [1181992]связан с аппаратным обеспечением [1181993], требует более чем "незначительного" уровня знаний об аппаратном обеспечении. Люди, которые знают Java, но не понимают C в глубине души, определённо не являются подходящими кандидатами на написание драйверов аппаратуры (или любых других модулей ядра).
xinput set-button-map <ID> 1 2 3 4 5 0 0
Взгляните с другой стороны: доверяете ли вы свои самые важные данные (а я даже не говорю о том, чтобы быть на системе жизнеобеспечения, управляемой таким ядром) чему-то, что работает на ядре, написанном [1181994] людьми, которые не понимают Си и ассемблера [1181995] настолько, чтобы написать на нём разумный драйвер?
function ipfor() {
ping -c 1 $1 | grep -Eo -m 1 '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}';
}
2) (И это действительно намеченная цель): JVM мог бы решить самую большую проблему разработки ядра, и это - отсутствие защиты памяти. Двоичный сегмент кода, скомпилированный из java, никогда не причинял вреда структурам данных вне его рамок, если нет другой проблемы (например, ошибка jit-компилятора или низкоуровневая проблема hw), хотя проверки безопасности во время выполнения такого двоичного кода привели к хорошо измеряемому недостатку скорости.
Защита памяти JIT? Она требует, чтобы страницы были как доступными для записи, так и исполняемыми. Это кошмар безопасности даже при отсутствии прямого доступа к памяти (в смысле возможности использовать указатели)Если безопасность (а значит, и изоляция кода среди прочих) вас беспокоит, то микроядра - это то, за чем вы охотитесь. Вы даже можете иметь [1181998]формально верифицированное [1181999]. И опять же, код может быть хорош только настолько, насколько хорош худший программист, чей код все еще находится - в лучшем случае. Язык как таковой не так важен, как люди, его использующие.
Кстати, Настоятельно рекомендую прочитать [1182000] этот ответ по системному программированию на различных языках [1182001] по SO.[1181575].