В Windows есть объекты, поддерживаемые системой - события, дескрипторы доступа к файлам, окна, таймеры и т. Д., Которые не являются неограниченными, так что все программы в системе могут создавать что-то вроде не более 50 тыс. Объектов (я не уверен в точной цифре, но это не очень важно для этого вопроса).
Так что, если какая-то программа выполняется очень долго и создает много объектов и не освобождает их (точно так же, как утечка памяти, но здесь системные объекты просочились), в системе, наконец, заканчиваются объекты и другие программы, которые пытаются чтобы сделать что-то, требующее создания каких-либо новых системных объектов, начните получать указания об ошибках из системных функций. Как, например, программа A запускает и пропускает все объекты, доступные системе, а затем программа B пытается открыть файл и завершается неудачей только потому, что у системы нет ресурсов для обслуживания этого запроса. Единственное решение на этом этапе - перезапустить программу A, чтобы утечка ресурсов использовалась системой.
Существует ли такая же проблема в системах Unix / Linux или они каким-то образом защищены от этого?