3. Процеси

Під процесом розуміється копія виконуваної програми та її оточення. Тут ми тільки згадаємо найважливіші відмінності між GNU/Linux і Windows® (для одержання більш докладнішої інформації зверніться, будь ласка, до Розділ 10, Управління процесами).

Найбільш істотна різниця безпосередньо пов'язана з поняттям користувача: кожен процес виконується з правами користувача, який його запустив. Внутрішньо система ідентифікує процеси унікальним номером під назвою ідентифікатор процесу чи PID (proccess ID) . З цього PID система знає, хто (тобто який користувач) запустив процес, та деякі частини іншої інформації, потім їй потрібно лише перевірити достовірність процесу. Візьмімо наш приклад з a_file. Користувач peter матиме змогу відкрити цей файл у режимі тільки для читання, але не в режимі читання-запису, бо його права доступу до файлу забороняють це. І знову ж, винятком цього правила є root.

Завдяки цьому, GNU/Linux практично невразлива для вірусів. Для своєї роботи віруси повинні заражати виконувані файли. Як у користувача, у вас немає доступу на запис до вразливих системних файлів, таким чином, істотно знижується ризик. Взагалі віруси дуже рідкісні у світі UNIX®. Існує лише кілька маловідомих вірусів для Linux, і вони є нешкідливими, якщо виконуються під звичайним користувачем. Лише один користувач може зашкодити системі запуском цих вірусів: root.

Досить цікаво, що антивірусне програмне забезпечення для GNU/Linux таки існує, але в основному для файлів DOS/Windows®! Навіщо ж потрібні антивірусні програми, що працюють у GNU/Linux, але орієнтовані на DOS/Windows®? Усе частіше і частіше ви будете зустрічати системи GNU/Linux, що працюють у як файл-сервери для машин Windows® за допомогою пакета програм Samba (дивіться главу Загальний доступ до файлів та принтерів у книзі Керівництво з адміністрування серверу).

Linux спрощує контроль за процесами. Одним з методів є це “сигнали”, що дозволяють вам призупинити чи вбити процес шляхом відправки йому відповідного сигналу. Проте відправляти сигнали ви можете лише своїми власним процесам. За винятком root'а, Linux і системи на базі UNIX® не дозволять вам відправити сигнали процесам, що запущені іншими користувачами. У главі Розділ 10, Управління процесами ви дізнаєтеся, як отримувати PID процесу і відправляти йому сигнали.