Page 23 - 6111
P. 23

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

                                Нитки
                                Багатозадачність  є  найважливішою  властивістю  ОС.  Для
                            підтримки  цієї  властивості  ОС  визначає  й  оформляє  для  себе  ті
                            внутрішні одиниці роботи, між якими і буде розділятися процесор і
                            інші ресурси комп’ютера. Ці внутрішні одиниці роботи в різних ОС
                            носять  різні  назви  -  задача,  завдання,  процес,  нитка.  У  деяких
                            випадках сутності, що позначаються цими поняттями, принципово
                            відрізняються один від одного.
                                Говорячи про процеси, ми відзначали, що  операційна система
                            підтримує їх відособленість: у кожного процесу є своє віртуальний
                            адресний  простір,  кожному  процесу  призначаються  свої  ресурси  -
                            файли, вікна, семафори і т.д. Така відособленість потрібна для того,
                            щоб  захистити  один  процес  від  іншого,  оскільки  вони,  спільно
                            використовуючи всі ресурси машини, конкурують один з одним. У
                            загальному  випадку  процеси  належать  різним  користувачам,  що
                            розділяють  один  комп’ютер,  і  ОС  бере  на  себе  роль  арбітра  в
                            суперечках процесів за ресурси.
                                При  мультипрограмування  підвищується  пропускна  здатність
                            системи,  але  окремий  процес  ніколи  не  може  бути  виконаний
                            швидше,  ніж  якщо  б  він  виконувався  в  однопрограмних  режимі
                            (всяке  поділ  ресурсів  сповільнює  роботу  одного  з  учасників  за
                            рахунок додаткових витрат часу на очікування звільнення ресурсу).
                            Проте  завдання,  яке  вирішується  в  рамках  одного  процесу,  може
                            мати внутрішній паралелізм, який в принципі дозволяє прискорити
                            її  розв’язання.  Наприклад,  в  ході  виконання  задачі  відбувається
                            звертання до зовнішнього пристрою, і на час цієї операції можна не
                            блокувати повністю виконання процесу, а продовжити обчислення
                            по іншій “гілці” процесу.
                                Для  цих  цілей  сучасні  ОС  пропонують  використовувати
                            порівняно новий механізм багатониткової обробки (multithreading).
                            При  цьому  вводиться  нове  поняття  “нитка”  (thread),  а  поняття
                            “процес” у значній мірі змінює зміст.
                                Мультипрограмування  тепер  реалізується  на  рівні  ниток,  і
                            задача,  оформлена  у  вигляді  декількох  ниток  в  рамках  одного
                            процесу,    може    бути    виконана     швидше     за   рахунок
                                                              22
   18   19   20   21   22   23   24   25   26   27   28