Я знаю о fork bomb и о том, как она создает цепную реакцию и создает дочерние процессы один за другим. Но я хотел немного пояснить, что в целом означает «перегрузка ресурсов». Истощается ли оперативная память или жесткий диск, что, в свою очередь, приводит к сбою нашей системы? Было бы полезно хорошее и подробное объяснение.
Спасибо
Классическая fork-бомба, означая процесс, который копирует себя экспоненциально, израсходует два ресурса: ЦП и таблица процессов. ЦП, потому что для каждого из этих процессов нужны интервалы для выполнения, и таблица процессов, потому что внезапно существует взрыв процессов.
"Ресурс hogging", может относиться к любому вычислительному ресурсу. Это не должна быть fork-бомба. Например, если Вы имеете dd
выполнение, и оно израсходовало всю пропускную способность средств ввода-вывода к Вашим дискам, и Ваша машина становится невыносимо медленной из-за высокой загрузки, Вы могли технически сказать, что dd
пожиратель ресурсов. То же может быть сказано для любой программы, которая пытается поднять RAM (Пример: "Chrome является пожирателем ресурсов, он ест RAM на завтрак"), или дисковое пространство или любой ограниченный ресурс на Вашем компьютере.
Теперь, наконец: то, чтобы заставлять Вашу систему отказать является действительно просто очень редким случаем. Ваша система станет медленной, и в случае исчерпания ресурсов памяти Уничтожитель OOM (Из уничтожителя памяти) может вызвать погром. Прямой катастрофический отказ, однако, является действительно исключением.