Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Управління процесами






Другим по значущості поняттям в операційній системі (ОС) є поняття процесу. Процес - сутність, що визначається по-різному. Це може бути - " впорядкований набір команд і належать йому ресурсів". З точки зору ОС UNIX, процес - це об'єкт, зареєстрований в спеціальній таблиці процесів. Структура цієї таблиці така: вона позиційна (як практично і всі таблиці в UNIX), тобто номер запису в таблиці - є ідентифікатор процесу " PID". Формуються процеси з 0 до N-1, де N - граничне число процесів, що система може одночасно обробляти. Це параметр налаштування ОС.

Розглянемо інформативне навантаження таблиці. У рядку-запису таблиці знаходиться посилання на контекст процесу, там же знаходиться посилання на тіло процесу. Тілом процесу ми будемо називати набір команд і даних, якими оперує процес.

Контекст процесу - атрибут, який присутній практично у всіх ОС, в різних ОС він може називатися по-різному. Контексті всіх процесів розміщуються в адресному просторі ОС і містять оперативну інформацію про стан процесу та поточну інформацію, пов'язану з процесом і його запуском.



Контекст містить:

номера користувачів та групи;

покажчик на індексний дескриптор поточного каталогу;

специфічні умови роботи процесу:

- обробка сигналів;

Розглянемо це докладніше. В ОС UNIX кожен процес може послати іншому процесу деякий вплив, який називають " сигнал"; відповідно, якщо процес-відправник має право передати сигнал процесу-одержувачу, то при виконанні передачі в останньому виникає подія, пов'язана з сигналом.

Ця подія дуже схоже на переривання, що виникає в апаратурі обчислювальної системи. В ОС є набір сигналів, які можуть передавати один одному процеси; перелік сигналів описаний у файлі " signal.h". Відправник може подати певним чином команду ОС, що він передає сигнал з заданим номером процесу-одержувачу, процес-отримувач може прореагувати на сигнал трьома способами: 1) припинення виконання, причиною якого є прийшов сигнал; 2) ігнорування сигналу (тут слід зазначити, що ігнорувати можна далеко не всі сигнали); 3) викликається зумовлена процесом функція, яка може виконати якісь дії; повернення з цієї функції здійснюється в точку приходу сигналу.

- інформація про відкриті в процесі файлах;

- інформація про поточний стан процесу на випадок його припинення;

Зупиняючи виконання процесу, ОС " упрятивает" у відповідний контекст інформацію, потрібну для його продовження: режими програми в момент припинення, стан регістрів, адреса точки переривання.

Тіло процесу, - як уже було сказано, можна представити у вигляді об'єднання сегменту тексту (коди) і сегменту даних. Розвинені ОС дозволяють розміщувати сегменти тексту і даних в різних, що не залежать один від одного, місцях оперативної пам'яті. Це добре, тому що замість одного великого шматка пам'яті нам потрібно два маленьких. Але ще краще наступне - така організація дозволяє використовувати сегмент коду повторно. У системі допускається існування ще одного процесу з власним контекстом, сегментом даних, але у якого спільний з іншими процесами сегмент коду.

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.