3. Процессы

Под процессом понимается копия выполняемой программы и ее окружение. Здесь мы только упомянем наиболее важные различия между 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 процесса и отправлять ему сигналы.