Под процессом понимается копия выполняемой программы и ее окружение. Здесь мы только упомянем наиболее важные различия между GNU/Linux и Windows® (для получения более подробной информации обратитесь, пожалуйста, к Глава 33, Управление процессами).
Наиболее важное различие напрямую
связано с понятием
пользователя: каждый процесс
выполняется с правами пользователя,
который его запустил. Внутри себя система
идентифицирует процессы по уникальному
номеру, называемому
идентификатором
процесса или 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® не позволят вам отправить
сигналы процессам, запущенным другими
пользователями. В главе Глава 33, Управление процессами
вы узнаете, как получать PID процесса и
отправлять ему сигналы.