Тема 1.2. Архітектура операційних систем 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Тема 1.2. Архітектура операційних систем



Принцип модульності ОС

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

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

 

Принцип функціональної вибірковості

ВОС виділяється деяка частина важливих модулів, що повинні постійно знаходитися в оперативній пам'яті для більш ефективної організації обчислювального процесу (ядро)

 

При формуванні складу ядра потрібно враховувати два суперечливих вимоги.

1) До складу ядра повинні увійти найбільш часто використовувані системні модулі.

2) Кількість модулів повинно бути таким, щоб обсяг пам'яті, займаний ядром, був би не занадто великим.

Транзитні програмні модулі завантажуються в оперативну пам'ять тільки при необхідності і

у разі відсутності вільного простору можуть бути заміщені іншими транзитними модулями.

 

Принцип генерування ОС

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

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

 

Самостійна робота №3

Тема 1.3. Процеси та потоки

Створення та завершення процесів і потоків

Для потоку дозволені такі стани (рис. 3.1):

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

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

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

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

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

 

 
 

 


Рис. 3.1. Стани потоків

 

Перехід потоків між станами очікування і готовності реалізовано на основі планування задач, або планування потоків.

 

Визначення процесу та потоку

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

 

Для успішного виконання програми потрібні певні ресурси. До них належать:

-ресурси, необхідні для послідовного виконання програмного коду (передусім процесорний час);

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

 

 

Ці групи ресурсів визначають дві складові частини процесу:

- послідовність виконуваних команд процесора;

- набір адрес пам'яті (адресний простір), у якому розташовані ці команди і дані для них.

 

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

 

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

 

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

У багатопроцесорних системах код окремих потоків може виконуватися на окремих процесорах.

 

Реалізація та використання моделі процесів і багатопотоковості

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

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

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

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

 

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

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

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

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

- інформація про потоки процесу.

Потік містить такі елементи:

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

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

 

Самостійна робота №4

Тема 1.4. Планування процесів і потоків



Поделиться:


Последнее изменение этой страницы: 2016-09-20; просмотров: 180; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.83.87.94 (0.182 с.)