Первая страница
Наша команда
Контакты
О нас

    Головна сторінка



“Інформаційні управляючі системи та технології” 080402 “Інформаційні технології проектування” Одеса 2010

“Інформаційні управляючі системи та технології” 080402 “Інформаційні технології проектування” Одеса 2010




Сторінка8/24
Дата конвертації10.03.2017
Розмір1.41 Mb.
1   ...   4   5   6   7   8   9   10   11   ...   24

3.2 Стани процесів і потоків


Для потоку дозволені такі стани:

  • створення (new) – потік перебуває у процесі створення;

  • виконання (running) – інструкції потоку виконує процесор (у конкретний момент часу на одному процесорі тільки один потік може бути в такому стані);

  • очікування (waiting) – потік очікує деякої події (наприклад, завершення операції введення-виведення); такий стан називають також заблокованим, а потік – припиненим;

  • готовність (ready) – потік очікує, що планувальник перемкне процесор на нього, прицьому він має всі необхідні йому ресурси, крім процесорного часу;

  • завершення (terminated) – потік завершив виконання (якщо прицьому його рсурси не були вилучені з системи, він переходить у додатковий стан – стан зомбі);

Можливі переходи між станаит потоку зображені на рис. 3.1.

Рисунок 3.1 Стани потоку

Перехід потіків між станами очікування і готовності реалізовано на основі планування задач, або планування потоків. Під час планування потоків визначають, який з потків треба відновити після завершення операції введення-виведення, як організувати очікування у системі.

Для здійснення переходу між станами готовносі та виконання необхідне планування процесорного часу. На основі алгоритмів такогопланування визначають, яуий з готових потоків потрібно виконувати в конкретний момент, коли потрібно перервати виконання потоку, щоб перемкнутися на інший готовий потік тощо.

Відносно систем, які реалізують модель процесів, прийнято говорити про стан процесів, а не потоків, і про планування процесів; фактично стани процесу в цьому разі однозначно відповідають станам його єдиного потоку.

Факт (від лат. factum - зроблене) - поняття, що має виражену суб'єкт-об'єктну природу, що охоплює справжню подію або наслідок діяльності (онтологічний аспект) і, що вживається для вираження особливого різновиду емпіричного знання, яке, з одного боку, здійснює вихідні емпіричні узагальнення, будучи безпосередньою основою теорії або здогадки, а з другого боку - несе у своєму вмісті сліди семантичного впливу останніх (логіко-гносеологічний аспект).

3.3 Опис процесів і потоків


Як ми вже знаємо, одним із основних завдань операційної системи є розподіл ресурсів між процесами і потоками. Такими ресурсами є насамперед процесорний час (його розподіляють між потоками під час планування), засобивведення-виведення й оперативна пам’ять (їх розподіляють між процесами).

Для керування розподілом ресурсів ОС повинна підтримувати структури даних, які містять інформацію, що описує процеси, потоки і ресурси. До таких структур даних належать:



  • таблиці розподілу ресурсів: таблиці пам’яті, таблиці введення-виведення , таблиці файлів тощо;

  • таблиці процесів і таблиці потоків, де міститься інформація про процеси і потоки, присутні у системів конкретний момент.

3.3.1 Керуючи блоки процесів і потоків


Інформацію про процеси і потки в системі зберігають у спеціальних структурах даних, які називають керуючими блоками процесів і керуючими блоками потоків. Ці структури дуже важливі для роботи ОС, оскількі на підставі їхньої інформації система здійснює керування процесами і потоками.

Керуючий блок потоку (Thread control Block, TCB) відповідає активному потоку, тобто тому, який перебуває у стані готовності, очікування або виконання.

Цій блок може міститу таку інформацію:



  • ідентифікаційні дані потоку (зазвичай його унікальний ідентифікатор);
    Ідентифіка́тор (identifier) - 1. Ознака, яка служить для ідентифікації особи чи предмета, що розпізнається. // Захисна ознака для встановлення справжності банкноти чи цінного папера.


  • стан процесору потоку: користувацьки регістри процесора, лічильник інструкцій, покажчик на стек;

  • інформацію для планування потоків.

Таблиця потоків – це зв’язний список або масив керуючих блоків потоку. Вона розташована в захищеній області пам’яті ОС.

Керуючий блок процесу (Process Control Block, PCB) відповідає процесу, що присутній у системі. Такий блок може містити:

  • ідентифікаційні дані процесу (унікальний ідентифікатор, інформацію про інші процеси, пов’язані з аданим);

  • інформаію про потоки, які виконуються в адресному просторі процесу (наприклад, покажчики на їхні керуючи блоки);

  • інформацію, на основі якої можна визначити права процесу на використання різних ресурсів (наприклад, ідентифікатор користувача, який створив процес);

  • інформацію з розподілу адресного просору процесу);

  • інформацію про ресурси введення-виведення та файли, які використовує процес.

3.3.2 Образи процесу і потоку


Сукупність інформації, що відображує процес у пам’яті, називають образом процесу (process image), а всю інформацію про потік – образом потоку (thread image). До образу процесу належать:

  • керуючий блок процесу;

  • програмний код користувача;

  • дані користувача (глобальні дані програми, загальні для всіх потоків);

  • інформація образів потоків процесу.

Програмний код користувача, дані користувача та інформація про потоки завантажуються в адресний простір процесу. Образ процесу звичайно не є безперервною ділянкою пам’яті, його частини можуть вивантажуватись на диск.

До образу потоку належать:



  • керуючий блок потоку;

  • стек ядра (стек потоку, який використовується під час виконання коду потоку в режимі ядра);

  • стек користувача (стек потоку, доступний у користивацькому ражимі).

Схема розташування в пам’яті образів процесу і його потоків зображена на рисунку 3.2. Усі потоки конкретного процесу можуть користуватися загальною інформацією його образу.
1   ...   4   5   6   7   8   9   10   11   ...   24



  • 3.3 Опис процесів і потоків
  • 3.3.1 Керуючи блоки процесів і потоків
  • 3.3.2 Образи процесу і потоку