Основные понятия Unix
Unix базируется на двух основных понятиях: "процесс" и "файл". Процессы
являют собой динамическую сторону системы, это субьекты; а файлы -
статическую, это обьекты действия процессов. Почти весь интерфейс
взаимодействия процессов с ядром и друг с другом выглядит как запись/чтение
файлов. /* Хотя надо добавить такие вещи, как сигналы, разделяемая память
и семафоры. */
Процессы нельзя путать с программами - одна программа (как правило с различными
данными) может выполняться в разных процессах. Процессы можно весьма условно
разделить на два типа - задачи и демоны. Задача - это процесс, который
выполняет свою работу, стремясь побыстрее закончить ее и завершиться.
Демон ждет событий, которые он должен обработать, обрабатывает произошедшие
события и снова ждет; завершается он как правило по приказу другого процесса,
чаще всего его убивает пользователь, дав команду "kill номер_процесса".
/* В этом смысле получается, что интерактивная задача, обрабатывающая
ввод пользователя, скорее похожа на демона, чем на задачу. :-) */