На головну

одноразові операції

  1.  Активно-пасивні операції банків
  2.  Активні банківські операції (факторингові, банківська гарантія)
  3.  Активні операції банків
  4.  Активні операції комерційних банків та їх характеристика
  5.  Алгебраїчні операції.
  6.  арбітражні операції
  7.  Орендні і лізингові операції

Складний життєвий шлях процесу в комп'ютері починається з його народження. Будь-яка операційна система, що підтримує концепцію процесів, повинна володіти засобами для їх створення. У дуже простих системах (наприклад, в системах, спроектованих для роботи тільки одного конкретного додатка) всі процеси можуть бути породжені на етапі старту системи. Більш складні операційні системи створюють процеси динамічно, в міру необхідності. Ініціатором народження нового процесу після старту операційної системи може виступити або процес користувача, що зробив спеціальний системний виклик, або сама операційна система, тобто, в кінцевому підсумку, теж певний процес. Процес, який ініціював створення нового процесу, прийнято називати процесом-батьком (parent process), а новостворений процес - процесом-дитиною (child process). Процеси-діти можуть, в свою чергу, породжувати нових дітей і т. Д., Утворюючи, в загальному випадку, усередині системи набір генеалогічних дерев процесів - генеалогічний ліс. Приклад генеалогічного лісу зображений на малюнку 2.4. Слід зазначити, що всі призначені для користувача процеси разом з деякими процесами операційної системи належать до одного і того ж дереву лісу. У ряді обчислювальних систем ліс взагалі вироджується в одне таке дерево.

Рис 2.4 Спрощений генеалогічний ліс процесів. Стрілочка означає відношення батько-дитина.

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

Зазвичай для виконання своїх функцій процес-дитина вимагає певних ресурсів: пам'яті, файлів, пристроїв введення-виведення і т. Д. Існує два підходи до їх виділення. Новий процес може отримати в своє користування деяку частину батьківських ресурсів, можливо, розділяючи з процесом-батьком і іншими процесами-дітьми права на них, подібно до розподілу ресурсів в нормальної людської сім'ї, або може отримати свої ресурси безпосередньо від операційної системи, ставши, так би мовити , на державне забезпечення в дитбудинку. Інформація про виділені ресурсах заноситься в PCB.

Після наділення процесу-дитини ресурсами необхідно занести в його адресний простір програмний код, значення даних, встановити програмний лічильник. Тут також можливі два рішення. У першому випадку процес-дитина стає дублікатом процесу-батька по регистровому і призначеного для користувача контекстами, при цьому повинен існувати спосіб визначення хто для кого з процесів-двійників є батьком. У другому випадку процес-дитина завантажується новою програмою з будь-якого файлу.  Операційна система UNIX дозволяє породження процесу тільки першим способом; для запуску нової програми необхідно спочатку створити копію процесу-батька, а потім процес-дитина повинна замінити свій користувальницький контекст за допомогою спеціального системного виклику. Операційні системи VAX / VMS і WINDOWS NT допускають тільки друге рішення.

Породження нового процесу як дубліката процесу-батька призводить до можливості існування програм (т. Е. Виконувані файли), для роботи яких організовується більш одного процесу.  Можливість заміни призначеного для користувача контексту процесу по ходу його роботи (т. Е. Завантаження для виконання нової програми) призводить до того, що в рамках одного і того ж процесу можуть бути послідовно виконані кілька різних програм.

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

Ми не будемо в деталях зупинятися на причинах, які можуть привести до закінчення життєвого циклу процесу. Після того, як процес завершив свою роботу, операційна система переводить його в стан закінчив виконання і звільняє все асоційовані з ним ресурси, роблячи відповідні записи в блоці управління процесом. При цьому сам PCB не знищується, а залишається в системі ще деякий час. Це пов'язано з тим, що процес-батько після завершення процесу-дитини може запитати операційну систему про причини сталася смерті породженого їм процесу і / або статистичну інформацію про його роботі. Подібна інформація зберігається в PCB мертвого процесу до запиту процесу-батька або до кінця його діяльності, після чого всі сліди померлого процесу остаточно зникають із системи. В операційній системі UNIX процеси, що знаходяться в стані закінчив виконання, Прийнято називати процесами зомбі.

Слід зауважити, що в ряді операційних систем (наприклад, в VAX / VMS) загибель процесу-батька призводить до завершення роботи всіх його дітей. В інших операційних системах (наприклад, в UNIX) процеси-діти продовжують своє існування і після закінчення роботи процесу-батька. При цьому виникає необхідність зміни інформації в PCB процесів-дітей про яке породило їх процесі для того, щоб генеалогічний ліс процесів залишався цілісним. Розглянемо наступний приклад. Нехай процес з номером 2515 був породжений процесом з номером 2001 і після завершення його роботи залишається в обчислювальній системі необмежено довго. Тоді, не виключено, що номер 2001 буде використаний операційною системою повторно для зовсім іншого процесу. Якщо не змінити інформацію про процес-батьку для процесу 2515, то генеалогічний ліс процесів виявиться некоректним - процес 2515 буде вважати своїм батьком новий процес 2001, а процес 2001 буде відхрещуватися від несподіваного нащадка. Як правило, осиротілі процеси усиновляються одним із системних процесів, який породжується при старті операційної системи, і функціонує весь час, поки вона працює.




 Структура обчислювальної системи |  Що таке ОС |  Коротка історія еволюції обчислювальних систем |  Системні виклики |  виняткові ситуації |  Монолітне ядро |  Листкові системи (Layered systems) |  Віртуальні машини |  Мікроядерна архітектура. |  змішані системи |

© um.co.ua - учбові матеріали та реферати