Складові елементи процесів і потоківСтр 1 из 2Следующая ⇒
· захищений адресний простір; · дані, спільні для всього процесу (ці дані можуть спільно використовувати всі його потоки); · інформація про використання ресурсів (відкриті файли, мережні з’єднання тощо); · інформація про потоки процесу. Потік містить такі елементи: · стан процесора (набір поточних даних із його регістрів), зокрема лічильник поточної інструкції процесора; · стек потоку (ділянка пам’яті, де перебувають локальні змінні потоку й адреси повернення функцій, що викликані у його коді). · Інформація, що зберігається у структурах даних процесу Процес містить таку інформацію: · командний рядок запуску виконуваного процесом застосування; · інформація про відведений процесу адресний простір, включно зі стеком; · посилання на поточний робочий каталог і кореневий каталог процесу (останній служить для обмеження доступу процесу до файлової структури); · таблиця відкритих процесом файлів; · так зване оточення процесу, тобто перелік заданих для даного процесу змінних з їх поточними значеннями; · атрибути, що визначають права і привілеї процесу · таблиця обробників сигналів; · вказівка на батьківський процес; · призначена для користувача маска або маска доступу — вказівка на те, які права треба видалити при створенні нового файлу або каталогу із стандартного набору прав, присвоєних файлу (каталогу). · перелік потоків процесу (якщо операційна система підтримує багатопотоковість) Для розуміння наступної інформації нам потрібно дізнатись, що таке потік ядра. Потік ядра – це послідовність виконання команд в адресному просторі ядра. Потоками ядра управляє ОС,перемикання ними можливе тільки у привілейованому режимі. Для потоку дозволені такі стани: · створення (new) - потік перебуває у процесі створення; · виконання(running) - інструкції потоку виконує процесор (у конкретний момент часу на одному процесорі тільки один потік може бути в такому стані); · очікування (waiting) - потік очікує деякої події(наприклад, завершення операції введення-виведення), такий стан називають також заблокованим, а потік-припиненим; · готовність(ready) - потік очікує,що планувальник перемкне процесор на нього,при цьому він має всі необхідні ресурси,крім процесорного часу; · завершення (terminated) - потік завершив виконання (якщо при цьому його ресурси не були вилучені з системи, він переходить у додатковий стан-стан зомбі). В одно процесорній системі у стані виконання може знаходитися тільки один процес,а в стані очікування чи готовності-кілька процесів. Життєвий цикл процесу починається зі стану «готовий»,коли процес готовий до виконання. При активізації процес переходить у стан «виконуваний» і знаходиться в ньому доти,поки сам він звільнить процесор,перейшовши в стан очікування якої-небудь події, або буде насильно «витиснутий» із процесора,наприклад,внаслідок вичерпання відведеного даному процесу кванта процесорного часу. В останньому випадку процес повертається в стан «готовий». У цей же стан процес переходить зі стану очікування,після того як очікувана подія відбудеться. ©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.
|