Ну, если у Вас есть надлежащий доступ и иронически, поддержка ядра /dev/kmem
можно перезаписать рабочее ядро в RAM. Абсолютно выполнимый с dd
или cat
. Вы, вероятно, или сделаете панику ядра или тупик машины.
Существует опция ядра это "netuers" /dev/kmem
то, где это только предоставляет доступ к определенным диапазонам адресов (адресное пространство PCI среди других), что я вообразил бы, включено в большинстве ядер запаса дистрибутива, таким образом, Вы, вероятно, не получили бы никуда выполнение его в реальной системе, если Вы не скомпилировали ядро сами. Но... испытайте это на экземпляре Linux, работающего в Вашем браузере полностью в JavaScript: cat /dev/zero > /dev/ram
- что-то подобное произошло бы в реальной системе.
Однако Linux обеспечивает функцию, (дополнительно) названную kexec
который загрузится в другом ядре и затем выполнит его, перезаписывая в настоящее время выполняющееся ядро. Чтобы сделать это безопасно, это должно быть сделано, когда никакие драйверы/устройства/файлы не активны, т.е. система должна пройти свои процедуры завершения работы, размонтировав все диски, и т.д. так же, как это закрывалось перед "передачей". Может использоваться для перезагрузки системы, не проходя BIOS. Можно также полностью проигнорировать все эти меры предосторожности и kexec
к ядру или любому коду, если Вам нравится посреди рабочей системы - рискуя повреждением, подобным выключению без надлежащего завершения работы.
Вы могли бы хотеть проверить Noweb, который позволяет грамотному программированию войти почти любой язык с ЛАТЕКСОМ или синтаксисом Sphinx/reStructuredText; Вы видите пример здесь).
Вы могли затем использовать стандартные ЛАТЕКСНЫЕ средства записи Emacs и возможно смешаться с несколькими - главный режим для редактирования частей кода.