Процесс - это очень правильное понятие. Если у нас есть функция на шелле, это её можем легко запустить как процесс - в сабшелле. А вот использование для создания компонент динамических библиотек стоит запретить законодательно. Ибо это нарушает принцип изоляции. Или надо динамические библиотеки как в Win16 делать - c собственным адресным пространством и всё такое.
Процесс в достаточной степени изолирует компоненту от взаимодействующих с ней компонент. С учетом существования ulimit-ов он дает шансы взаимодействующим с ним обработать ЛЮБЫЕ его ошибки, вплоть до SIGSEGV. Реализация компоненты в виде динамической библиотеки такой возможности не даёт. Более того, дает компоненте возможность напакостить в памяти приложения, которое её использует, таким образом, что это станет заметно далеко не сразу.
Ну и, как я уже писал выше использование протоколов, даже самых примитивных, типа вопросов, требующих ответа yes/no в корне противоречит равноправию папйпов/сокетов с файлами.
no subject
Date: 2007-09-12 02:18 pm (UTC)Процесс в достаточной степени изолирует компоненту от взаимодействующих с ней компонент. С учетом существования ulimit-ов он дает шансы взаимодействующим с ним обработать ЛЮБЫЕ его ошибки, вплоть до SIGSEGV.
Реализация компоненты в виде динамической библиотеки такой возможности не даёт. Более того, дает компоненте возможность напакостить в памяти приложения, которое её использует, таким образом, что это станет заметно далеко не сразу.
Ну и, как я уже писал выше использование протоколов, даже самых примитивных, типа вопросов, требующих ответа yes/no в корне противоречит равноправию папйпов/сокетов с файлами.