Юрий Шимановский (pan_szymanowski) wrote,
Юрий Шимановский
pan_szymanowski

Category:

Ошибка программиста

Если вы не программист, вам это не интересно. Можно пропустить.
Эту историю я люблю впоминать. Очень показательная. Когда я работал в банке "Украина", я познакомился с Юниксом. Сделали мне юзерский акаунт и я радостно начал разбираться. Ну, как многие из вас знают, в юниксе главное - функция fork(), которая из одной программы делает две одинаковых. Это очень важная функция. Можно сказать, юникс принципиально отличается от других систем только одной этой функцией. Дай думаю, попробую, как она работает. Пусть одна программка сделает 100 копий себя. Написал:

main() {
int i;
for (i=0;i<100;i++) fork();
}

Простенькая программка да? Делаем 100 циклов и в каждом создаем копию самих себя. Да... но если хорошо подумать, эта программка создает 2 в сотой степени копий. На первом цикле получается 2 копии. На втором - 4, потом 8 и так далее до 2^100
Машина, конечно сразу же повисла. Админ, сидящий в другом здании, ее перезагрузил. Я, поскольку, не пониял что случилось, опять запустил эту программку и так несколько раз, пока админ не прибежал ко мне лично и не объяснил нормы поведения на предприятии.
Вообще, парадоксальная вещь. Юникс отлично защищен от вирусов, хакеров, дураков. А вот от такой программки он с копыт долой. И бороться, в сущности, нельзя никак. Это заложено в идеологии системы.
Subscribe

  • У нас землетрясение

    Елки, у нас второе землетрясение за два месяца. 3.5 балла, в том же месте. И еще был звук как от далекого взрыва. У меня как раз было совещание по…

  • Дома

    Дома. Машик тут же совершил облет замка по много лет отработанной траектории. После замлетрясения месяц назад я беспокоился, не рухнул ли потолок в…

  • Ночевка Теннесси

    Полпути проехали. Теперь в Нэшвилле, в гостинице. Завтра к вечеру будем дома.

  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 8 comments