Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции_Р2.doc
Скачиваний:
4
Добавлен:
01.04.2025
Размер:
2 Мб
Скачать
☆
      1. Моделі процесів і потоків

Максимально можлива кількість процесів (захищених адресних просторів) і по­токів, які в них виконуються, може варіюватися в різних системах.

В однозадачних системах є тільки один адресний простір, у якому в кожен мо­мент часу може виконуватися один потік.

У деяких вбудованих системах теж є один адресний простір (один процес), але в ньому дозволене виконання багатьох потоків. У цьому разі можна органі­зовувати паралельні обчислення, але захист даних застосувань не реалізовано.

У системах, подібних до традиційних версій UNIX, допускається наявність багатьох процесів, але в рамках адресного простору процесу виконується тіль­ки один потік. Це традиційна однопотокова модель процесів. Поняття потоку в даній моделі не застосовують, а використовують терміни «перемикання між процесами», «планування виконання процесів», «послідовність команд про­цесу» тощо (тут під процесом розуміють його єдиний потік).

У більшості сучасних ОС (таких, як лінія Windows XP, сучасні версії UNIX) може бути багато процесів, а в адресному просторі кожного процесу - багато потоків. Ці системи підтримують багато потоковість або реалізують модель по­токів. Процес у такій системі називають багато потоковим процесом.

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

2.1.3 Складові елементи процесів і потоків

До елементів процесу належать:

      • захищений адресний простір;

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

      • інформація про використання ресурсів (відкриті файли, мережні з'єднан­ня тощо);

      • інформація про потоки процесу. Потік містить такі елементи:

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

      • стек потоку (ділянка пам'яті, де перебувають локальні змінні потоку й адреси повернення функцій, що викликані у його коді).

Лекція №5

Тема 2.2 Багатопотоковість та її реалізація

План

1. Поняття паралелізму.

2. Види паралелізму.

3. Переваги і недоліки багатопотоковісті.

4. Способи реалізації моделі потоків.

Мета: Вивчити поняття та види паралелізму. Знати переваги і недоліки багатопотоковісті. Вміти визначати способи реалізації моделі потоків.

2.2.1 Поняття паралелізму

Використання декількох потоків у застосуванні означає внесення в нього парале­лізму (concurrency). Паралелізм — це одночасне (з погляду прикладного програ­міста) виконання дій різними фрагментами коду застосування. Така одночасність може бути реалізована на одному процесорі шляхом перемикання задач (випадок псевдопаралелізму), а може ґрунтуватися на паралельному виконанні коду на декількох процесорах (випадок справжнього паралелізму). Потоки абстрагують цю відмінність, даючи можливість розробляти застосування, які в однопроцесорних системах використовують псевдопаралелізм, а при додаванні процесорів — справжній паралелізм (такі застосування масштабуються зі збільшенням кілько­сті процесорів).

Багатозадачні системи базуються на понятті мультипроцесування та мультипрограмування.

Мультипрограмування – одночасне виконання декількох задач на одному процесорі.

Мультипроцесування - використання декількох процесорів для одночасного виконання задач.