Эту историю я люблю впоминать. Очень показательная. Когда я работал в банке "Украина", я познакомился с Юниксом. Сделали мне юзерский акаунт и я радостно начал разбираться. Ну, как многие из вас знают, в юниксе главное - функция fork(), которая из одной программы делает две одинаковых. Это очень важная функция. Можно сказать, юникс принципиально отличается от других систем только одной этой функцией. Дай думаю, попробую, как она работает. Пусть одна программка сделает 100 копий себя. Написал:
main() {
int i;
for (i=0;i<100;i++) fork();
}
Простенькая программка да? Делаем 100 циклов и в каждом создаем копию самих себя. Да... но если хорошо подумать, эта программка создает 2 в сотой степени копий. На первом цикле получается 2 копии. На втором - 4, потом 8 и так далее до 2^100
Машина, конечно сразу же повисла. Админ, сидящий в другом здании, ее перезагрузил. Я, поскольку, не пониял что случилось, опять запустил эту программку и так несколько раз, пока админ не прибежал ко мне лично и не объяснил нормы поведения на предприятии.
Вообще, парадоксальная вещь. Юникс отлично защищен от вирусов, хакеров, дураков. А вот от такой программки он с копыт долой. И бороться, в сущности, нельзя никак. Это заложено в идеологии системы.