Посмотрел исходники ядра linux 2.4-20.8. Заметил одно место, которое, ИМХО, можно сделать попроще. Это - передача аргументов и переменных среды вызываемой функцией exec программе. Довольно сложная вещь с хранением строк в памяти ядра. Предлагается следующий способ, не требующий каких-то особых действий со стороны ядра. Короче: будем передавать аргументы в файле с дескриптором равным, например, 3. Перед вызовом exec этот файл создаётся, открывается, потом удаляется из ФС функцией unlink. Затем в него пишутся аргументы, потом вызывается exec, потом вызванная программа читает из него аргументы и закрывает. Конечно, может это и не особо нужно, раз уже так реализовано, ведь проще - не всегда лучше, но, по-моему, чем меньше используется невыгружаемой памяти, тем стабильнее система. Может, у кого-нибудь ещё есть соображения по этому поводу и вообще по поводу улучшения linux?
Форум —
Development


