В случае каталогов sticky bit
В случае каталогов sticky bit позволяет стереть только файлы, которыми владеет пользователь.
Различается несколько типов процессов.
- Системные процессы
являются частью ядра и резидентно размещены в оперативной памяти. Они запускаются при инициализации ядра системы. Системными процессами являются, например, kmadaemon (диспетчер памяти ядра), shed (диспетчер свопинга), bdfflush (диспетчер кэша), init (прародитель всех остальных процессов).
- Демоны
– не интерактивные процессы, запускаемые путем загрузки в память соответствующих программ и выполняемые в фоновом режиме. Демоны не ассоциируются ни с одним из пользователей (они служат, например, для организации терминального ввода, печатающего устройства, сетевого доступа).
- Прикладные процессы
– это остальные процессы принадлежащие, как правило, пользователям.
Процессы создаются процедурой
fork и характеризуются набором атрибутов:
PID |
(Process ID) представляет собой уникальное имя процесса (идентификатор нового процесса характеризуется большим кодом, чем идентификатор предыдущего). После уничтожения процесса ликвидируется и его PID и этот идентификатор может быть присвоен новому процессу. |
PPID |
(Parent Process ID) – идентификатор процесса, породившего данный процесс. |
Приоритет процесса |
(Nice Number) учитывается планировщиком при определении очередности запуска процессов. |
TTY |
псевдотерминал, ассоциированный с процессом. Демоны не имеют псевдотерминала. |
RID (Real ID) |
пользователя, запустившего данный процесс. Эффективный идентификатор (EUID) служит для определения прав доступа процесса к системным ресурсам. |
Для запуска задачи процесс должен выполнить системный вызов exec. При этом не порождается новый процесс, а код процесса замещается полностью кодом запускаемой программы.
Так, когда пользователь вводит команду
ls, текущий процесс
shell осуществляет вызов
fork, порождая новый процесс – копию
shell. Порожденный процесс осуществит вызов
exec, указав в качестве параметра имя исполняемого файла (
ls).
Ls замещает
shell, а по завершении работы процесс уничтожается.
Сигналы
Сигналы служат для того, чтобы передавать от одного процесса к другому или от ядра к какому-то процессу, уведомление о происхождении некоторого события. Примером такого события может быть нажатие клавиши мышки или нажатие клавиш <Ctrl><C> (SIGINIT)или <Ctrl><Alt><Del>.
Для отправления сигнала служит команда
kill pid, где
sig_no – номер или символическое название сигнала,
pid - идентификатор процесса, которому адресован сигнал. Для остановки процесса, выполняемого в фоновом режиме можно послать сигнал SIGTERM. Например, kill $!, где $! – переменная, где хранится идентификатор процесса (PID), запущенного последним.
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий