русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Основні поняття про процеси і роботи


Дата додавання: 2014-11-28; переглядів: 852.


Процесом у Linux і Unix називається програма або команда, що виконується.

Linux – багатозадачна ОС і в ній одночасно може виконуватись кілька процесів. Для того, щоб їх розрізняти, кожному з них присвоюється персональний ідентифікатор (PID – Process IDentificator). Для виведення на екран списку всіх процесів, що існують в даний момент в системі, використовується команда ps. В результаті виконання цієї команди на екран дисплея може бути, наприклад, видана така інформація:

PID TTY TIME CMD

701 pts/0 1:16:00 bash

2403 pts/0 0:18:00 bs

TTY – термінал з якого був запущений процес.

ТІМЕ – час, протягом якого він виконується.

CMD – назва програми, яка буде працювати у запущеному процесі.

Найперший процес, запущений системою, називається – init. Його PID=1. Він є головним батьківським процесом всіх інших процесів. Кожен новий процес повинний обов'язково мати свій батьківський процес. Наприклад, процес текстової оболонки bash, який був породжений безпосередньо від процесу init, у свою чергу, буде батьківським процесом для всіх інших процесів, створюваних користувачем під час сеансу. Особливістю Unix та Linux є те, що для кожного нового процесу створюється дублікат батьківського процесу. Такий механізм процесів називається клонуванням.

Кожний новостворений процес отримує три уже відкритих файли:

- stdin – для вхідних даних,

- stdout – для вихідних даних,

- stderr – для повідомлень про помилки.

Процеси можуть функціонувати в двох режимах: системному і користувача.Робота в системному режимі означає виконання процесом системних викликів. Він найбільш важливий, тому що виконується обробка переривань, викликаних зовнішніми сигналами і системними викликами, а також керуванням доступом до диска, розподіл додаткової динамічної пам'яті й інших ресурсів системи. Процес функціонує в режимі користувача, коли виконується програма користувача.

Окрім поняття “процес” використовується також і поняття “робота”. Хоча їх практичний смисл досить близький, проте є деякі відмінності. По-перше, якщо процес характеризується ідентифікатором PID, то робота – номером, що позначається символом %. По-друге, для керування роботами існують спеціальні команди, про які детальніше буде сказано далі. По-третє, до робіт відноситься лише частина наявних в системі процесів, зокрема процеси користувачів.

Варто також зазначити, керування роботами здійснюється власними засобами текстових оболонок Linux. Наприклад, оболонка bash має команду jobs для керування роботами. Для перегляду наявних в системі робіт вказана команда має такий формат:

jobs –<опції>,

де <опції> вказують на ідентифікатори типу процесів (робіт).

Отримати інформацію про відповідність між номером роботи і ідентифікатором процесу можна за допомогою команди

jobs –l


<== попередня лекція | наступна лекція ==>
Порядок виконання роботи | Активні, фонові та відкладені процеси (роботи)


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн