Шпори по ОС

1.doc (1 стор.)
Оригінал


1. Визначення та основні особливості ОСРВ.

Управління - процес цілеспрямованого впливу на об'єкт.

Об'єкт управління (ОУ), пристрій управління (УУ).

Системи управління

Компи управляються спеціальними системними програмами, які називаються операційною системою (ОС).

Тип ОС залежить від завдань, що вирішуються даними компом.

Для звичайних компів, к-які розраховані на роботу з польз-лем - ОС загального призначення.

Основна особливість цих ОС.

Керуюча ЕОМ реалізує алгоритм управління.

Для керуючих компів - ОСРВ.

ОСРВ - це ОС, у до-рій успішність роботи будь-якої програми залежить не тільки від її логічної правильності, а й від часу, за до-рої вона отримала рез-тат. Т. е. Тимчасові пар-ри роботи програми повинні бути гарантовані. У ОСРВ програми отримують рез-тат за гарантований час, незалежно від поточної завантаженості системи.

Існують поняття жорстке і м'яке реальний час. Жорстке РВ забезпечується ОСРВ. М'яке РВ обесп-ся ОС загального призначення за рахунок високої швидкодії комп'ютерів.
2. ОСВР - це ОС, в кіт. успішність роботи будь-якої програми завис. не тільки від її логічної правильності, а й від часу, за кіт. вона отримала рез-тат. Тобто часові параметри роботи програми повинні бути гарантовані. У ОСРВ програми отримують результат за гарантований час незалежно від поточної завантаженості системи.

Типові часи реакції.

  1. Математ-е моделювання в реальному часі. t - час реакції (кілька мікросекунд).

Пр-р: Реалізація закону управління, який заданий у вигляді діф.уравненія.

x / = Ax + Bu

Висш.матем-ка: х - незалежна перем-ая у (х);

Прикладна метем-ка: t-час х (t).


Метод Ейлера - аналітичну криву розбиваємо на відрізки

x n +1 = x n + nx / - формула для обчислення послед.точкі з попередньої.

Метод Руше-Кутта (чисельне інтегрування)


  1. Радіолокація (мілісекунди)

  2. управління хім-ми реакціями (години)

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

Мікропроцесорні системи дізнаються про настання будь-яких подій ч / з систему переривань.

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

Процедура, яка обслуговує переривання, являє собою програму, кот.запускается при настанні відпо-го події.

3. Основні області застосування ОСРВ

  1. Військова, космічна: бортове і вбудовуване обладнання (літаки, ракети).

  2. Промисловість

  1. Товари широкого вжитку


5. Основні визначення: програма, процес, стан, стек, віртуальна пам'ять.

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

Процесор-це пристрій виконує опр-й набір інструкцій. Для того щоб запустити програму процесора необхідно перевести її з формалізованої мови на набір інструкції проціссора

Процес-це код програми в процесі виконання. Яв-ся динамічної сутністю програми.

Стек-область пам'яті, що використовується для зберігання проміжних даних. Дані храняться в стеку за принципом «першим увійшов-останнім вийшов»

Стек має апаратну підтримку з боку мікропроцесора.

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

Віртуальна пам'ять-пам'ять, в адресному просторі якій працює процес.


^ 6. Основні визначення: межпроцессное взаємодія (семафори і т.п.), подія, завдання, ресурс, зв'язування.

Межпроц. взаємодій-ие - Той чи інший спосіб передачі інформації від одного процесу до іншого.

Форми взаємодій-ия: 1. Семафори. 2 або більше процесу мають доступ до однієї змін-й (0 або 1). Семафори орг-ся самої ОС. 2. Сигнали. С. Доставляються процесу допомогою ОС. Процес повинен зареєструвати обробник цих сигналів. 3. Поштові скриньки. П.Я. орг-ся ОС, в них може зберігатися ціла група повідомлень. Неск-ко процесів можуть мати доступ до одного П.Я.

Подія - Це сповіщення ОС процесу про тій чи іншій формі межпроцес. взаим-ия.

Завдання - одна з гілок виконання процесу.

Ресурс - Це об'єкт, необх. для роботи процесу або завданню.

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

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

^ Динамічне связиваніÐ μ - коли в завантажувальному модулі указ-ся тільки посилання на код необ-х бібліотечних функцій, при цьому сам код буде додано тільки в етапі виконання.


  1. Типи завдань. Види програмування.

Типи завдань.

  1. Періодичні - к-які виконуються ч / з певний період.

  2. Циклічні - к-які виконуються безперервно і по завершенню починаються спочатку.

  3. Імпульсні - виконуються епізодично.

Види програмування.

  1. Послідовне - кожна дія, що виконується програмою, виконується послідовно.

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

  3. Програмування під ОСРВ. Це (2) або поєднання (2) і (1).


^ 8. Види ресурсів. Стан процесу

1. Апаратні (процесор; пам'ять; пристрої введення / виводу; всі апаратні елементи комп'ютера, до кіт. М. пів-ть доступ за допомогою програм-ия.

2. Програмні (програма; дані; файли; т.е всі об'єкти, кіт. Створюються за допомогою прогр-ія).

У завис-ти від хар-к ресурси бувають: активні-здатні змінювати інф.; Пасивні - здатні зберігати інф.; Локальні-ство-ся процесом; розділяються-можуть бути исп-ни нек-ми проц-ми до тих пір поки сущ -т хоча б один процес, ісп. їх; тимчасові - «створити», «видалити»; постійні-«захопити» і «звільнити».

Поділяємо. рес-си справ. на-критичні (тільки один процес м. раб-ть одн.) і - некритичний. (м. раб-ть одн. неск. процесів)

Стан проц-в: 1.Не сущ-т 2.Не обсл-ся 3.Готов 4.Виполніть-ся 5.Ожідает ресурс 6.Ожідает призначений час 7.Ожід-т приз. Події
9) Типи взаємодії процесів.

За типом взаємодії процеси діляться:

1) Співпрацюють (п-р: 2 процесу, організація обміну інф-й м-у ними).

2) Конкуруючі - це процеси, спільно использ-ие розділяються критичні ресурси. (П-р: процеси, викорис-ие критичні секції; процеси, процеси, использ-ие взаим. Винятки).

^ Критична секція - уч-к програми, на якому забороняється перемикання завдання.

Будь ОСРВ має спец. ф-ції для роботи в критич. секціях.

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

Час перебування в критичній секції д.б. мінімальним.

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

Коли процеси хочуть пів-ть доступ до подоб-у ресурсу м-т метушня-ть 3 критич. с-ції:

1. «Блокування» - процес чекає ресурс, який ніколи не звільниться.

2. «Тупик» - 2 процесу очікують звільняються-я ресурсу, яким володіє інший процес.

3. «Голодовка» - процес монополізував процесор.
11) Стандарти на ОСРВ. Норми ESSE консорціуму VITA. Стандарт POSIX 1003.1b.

^ Стандарти на ОСРВ - це по суті справи звід правил по створенню ОСРВ. Стандарти закріплюють тільки основ. принципи проектир-я ОС.

Больш-во стандартів на ОС були створені після появи ОС,

Як правило, розробники ОС викорис-т тільки ті чи інші елементи стандарту.

Основним критерієм при створенні ОС залишається критерій мінімальної затримки.

СОМ-технології (component, object, model).

1. POSIX (Portable Operating System Interface) розроблений інститутом IEEE (Institute of Electrical and Electronical Engineers).

Стандарт створений на основі ОС UNIX. Стандарт складається з декількох частин, які описують всі елементи ОС:

1) POSIX 1003.1 - дана частина регламентує основні елементи ОС: ядро, API (Application Programming Interface), файлові системи.

2) POSIX 1003.2 - регламентує основні сервісні програми ОС.

3) POSIX 1003.1 b - регламентує елементи, пов'язані з організацією реального часу.

QNX - ОС, створені повністю на основі стандартів POSIX.
12. Стандарт на ОСРВ SCEPTRE

У стандарті об'єднані основні особливості ОСРВ, що працюють на промислових комп'ютерах. Розглянемо основні цілі, які повинна переслідувати ОСРВ:

1. Адекватність поставленого завдання

2. Безпека ОС повинна бути максимально стійкою до апаратних і програмних збоїв

3. Мінімальна вартість

4. Максимальна продуктивність

5. Переносимість

6. Адаптивність - можливість ОС пристосовуватися до різним завданням.

7. Модульність - ОС повинна складатися з окремих незалежних модулів. З них можна зібрати min варіанти ОС, здатні вирішувати поставлені завдання
Стандарт також визначає види сервісу, які надає ОС:

  1. Комунікації (межпроцессорной взаємодія)

  2. Синхронізація

  3. Контроль і планування завдань

  4. Управління пам'яттю

  5. Управління переривань і пристроями введення / виводу

  6. Управління файловою системою

  7. Управління передачею даних

  8. Обробка помилок

  9. Управління часом.


13. Типи архітектур ОСРВ

1. Монолітна ОС - являє собою монолітний програмний модуль

2. Модульна ОС - з декількох взаємопов'язаних модулів

3. Об'єктна ОС - з декількох взаємопов'язаних об'єктів і створена на основі ООП
^ 14.ОБ'ектно-орієнтований підхід до програмування. Основна концепція об'єктно-орієнтованого підходу

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

ООПодход представляє збій методику побудови та опису даної моделі.

У ООПредставленіі система є сукупністю об'єктів, взаємодіючих м / у собою. Рівень формалізації (тобто які об'єкти будуть включені в опис і які зв'язки враховані) залежить від поставленого завдання.

Для того щоб уточнити модель, досить внести в неї локальні зміни.
??. Обор підхід: об'єкти

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

Зовні об'єкти видно тільки операції. При цьому їх реалізація прихована всередині об'єкта.

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

З інф. Точки зору об'єкт містить 3 компоненти:

1.Аттрібути об'єкта - основні хар-ки об'єкта.

2.Часть об'єкта - складений об'єкт-об'єкти, що входять в даний об'єкт.

3.Поведеніе об'єкта-набір операцій з об'єктами.

При описі системи ми вказуємо, які об'єкти в неї входять і встановлюємо м / у ними взаємозв'язок. Зв'язки м / у об'єктами можуть бути статичними і динамічними.

Статичні зв'язки існують м / у об'єктами завжди, при цьому об'єкти знають про існування один одного.

Динамічні зв'язки встановлюються м / у об'єктами в процесі функціонування.

Вся інфа в ООСістеме зберігається в об'єкті.

Для того, щоб змінити інфу, необхідно надіслати запит об'єкту.

При цьому об'єкт проводить необхідні дії самостійно.

Кажуть, що поведінка та інформація інкапсульовані в об'єкті ООП.

Поняття об'єкт прямо пов'язане з поняттям абстрактний тип даних

- Це модель даних, що містить операції з цими даними.

Використання об'єктів дає такі переваги:

1.двойная захист (передбачається захист інф-ції всередині об'єкта і зовні).

2.модульность.

3. Повторна використовуванність.
+ +14) Об'єктно-орієнтований підхід: класи та представники, поліморфізм, успадкування.

Клас предст-т собою шаблон для створення об'єктів.

Об'єкти, створені по одному класу, мають однакову информац-ю структуру. У цьому відношенні об'єкт явл-ся представником класу.

Поліморфізм

При створенні матем. моделі исп-ся об'єкти различ. класів. При цьому поведінка моделі визначається динамич. взаємодією об'єктів.

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

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

Приклад:
Спадкування - при описі класів можна помітити, що частина з них має однакові хар-ки

^ Хар-ка класу - поведінка та інформ-я структура.

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

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

При наслед-ії можливо переопред-е поведінки та інформаці-х стр-р, які наслед-ся класами, нащадками.

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

Спадкування м-т исп-ся для слід. цілей:

1) ^ Повторне викорис-е прогр-го коду. MFC (Microsoft Foundation Classes) - бібліотека.

mfc.xc.dll.

2) Побудова підтипів.

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

На практиці це означає чисте спадкування без перевизначення.

3) ^ Спеціалізація класу

відбувається, коли при спадкуванні переопр-ся інф-е стр-ри і хар-ки класу предків. При цьому клас нащадок перед-т собою спеалізір.класс.

4) Концептуальна мета (понятійне)

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

^ 16. Модульна арх-ра ОСРВ (на основі мікроядра)

Модульн. арх-ра - ОЗ складається їх неск. взаємозв'язки-х модулів).

Позбавлена ​​недостатньо-в моноліт. типу (т.е оновл-е ф-ий ОС не вимагає повної перекомпіляції; ядро ​​ОС в проц-се вип-ия м.б. витіснене процесом з вищим пріоритетом; алг-ми роботи ОС можуть бути Адапт-ни на різн. апарат платф-ми).

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

Микроядро

API + менеджер процесів

М1 ....

М2

(По функц. Ознакою)

^ 17. Об'єктна арх-ра на основі об'єктів-мікроядер

(На базі об'єктів-мікроядер). Soft Kernel-сис, постр-ая по об'єкт. типом. У об'єкт. типі ОС осут-т прогр. інтерфейс. ОС перед-т собою сов-ть об'єктах-в, кіт. взаємодій. м / у собою. Роль прогр. інтерфейсу беруть на себе мікроядра, зв. з додатком. Самі об'єкти, обр-ие ОС перед-т додаткам (процесам) прогр. інтерфейс. Як правило прог-ми дл таких ОС створ-ся на мові С + +.

У підбирань. ОС все комп. (Прогр. комп.) Мають рівні праваи. Т.а будь-який процес, раб-ий з процесором. Б витіснений прц-му з більш вис. пріоритетом. Роль прогр. інтерф-са (АPI) вип-т з одного боку компілятор, з ін боку динам. ред-р об'єктних зв'язків. При запуску програми дин. ред-р загр-т необх-ті мікрояд. Динамічне-ий ус-т взаємозв'язки-зь м / у об'єктами ОС. Якщо мікрояд., Необхідну для запуску прогр-я вже запущено, т.е запущено прилож-е, ісп. його, то ОС вос-ся цим мікроядром і не буде ос-ть повтор. завантаження. Цим СП-м ек-ся пам'ять. Мікроядра за своєю стр-ре схожі на модулі або погр. динамич. Біб-ки, однак мікрояд. мають недо. особ-ти. 1. Микроядро і модуль. Багато ОС під-т дин. завантаження - комп-ти сис-ми, кіт. наз. модулями, відміну зак-ся в тому, що модулі не реалізує-т об'єктах-ориент підхід. Крім ого, обмін інф. з мод-ми йде ч / з сист. виклики. 2. Микроядро і дин. библбка (dLL). У загальному випадку дин. бібл-ки м. сприяння з-ть тільки дин. довантажуючи-ті ф-ції і об'єктах-ориент. підхід при цьому не исп-ся. Однак, часто при ісп. об-ориент підходу після комп. пілож-ия воно буде сос-ть з використан-го exe файлу і дин. бібл-к dLL, при цьому в цих Біб-хбудут сприяння з-ся від. ф-ції або Біб-ки ф-ції, а будуть сприяння з-ся об'єкти. 3.Мікроядро і драйвер. Модуль перед-н для упр-ия оборуд-ем. Особ-ти у драйверів такі ж як у модулів, т.е прямі, сист. виклики.
^ 19. Синхронізація та взаємодію процесів

Доступ завдань до різних ресурсів в многозад-х ОС вимагає синхрон-ії дії цих процесів. Особливо, якщо ресурс є розділяються. Способи здійснення взаємодії підрозділяють на безпечні і небезпечні. Безпечне вз-е - обмін інф. ос-ся ч / з об'єкти взаим-я, кіт предост-ся ОС, при цьому цілісність інф. обесп-ся ОС. Приклад: семафори, сигнали і почт. ящики. Небезпечне вз-е - обмін інф. ос-ся за допомогою разл. рес-в (глобальні перем.). При цьому об'єкти синхрон. і взаим-ия ОС не задейст-ся.
20. Семафора.

Семафор - мінлива, організована ОС, яка зберігає кількість користувачів завдань або процесів, які мають одночасний доступ до некіт. ресурсу. Фактично, лічильник користувачів. З кожним семафором пов'язана чергу очікування, утворена процесами або завданнями, які очікували, коли семафор прийме некіт. значення. Залежно від max значення лічильника семафори бувають: 1.двоічние (0 або 1) исп-ся для роботи з критич. розділяються ресурсом. 2.счетные (0…n) исп-ся для работы некритичными разделяемыми ресурсами. n - max кол-во пользователей, получ. одноврем. Доступ к ресурсу. Каждый процесс получивший доступ к ресурсу, уменьшает значение счетчика на 1. Когда счетчик =0, то доступ к ресурсу закрыт, при освобождении ресурса процессом счетчик +1. Процесс, стоящий в очереди, получает доступ.

21. ^ СОБЫТИЯ (СИГНАЛЫ).

Оповещение о наступлении к-л события. Система прерываний предст. собой пример реализации сигналов. С сигналами связана логическая переменная (0 или 1) и означающая наступление к-л события.
^ 22. Почтовые ящики

Представляют собой массив, в котором находятся очереди сообщений о наступлении каких-либо событий. С каждым ПЯ связана очередь задач, ожидающих освобождение ПЯ. Обычно доступ к ПЯ организуется через алгоритм взаимного исключения. Как правило, размер ПЯ неограничен.
^ 23. Очереди задач

Все виды взаимодействия ограничиваются очередью задач. Рассмотрим как группируются задачи в очереди. Очереди задач можно разделить на следующие группы:

  1. Очередь выполняемых задач состоит из задач, находящихся в состоянии исполнения.

  2. Очередь готовых задач состоит задач, находящихся в состоянии готовности.

  3. Очередь задач, ожидающих семафора.

  4. Очередь задач, ожидающих события.

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

24.собъекты синхронизации стандарта Posix, Mutex, Condvar

Стандарт Posix вводит следующие объекты синхронизации, которые должны присутствовать в ОСРВ:

1.Семафоры(двоичные).

2.Очередь сообщений совпадают по принципу построения с почтовыми ящиками.

3.Разделяемая память.

Если ОСРВ поддерживают разделение процессов на задачи, то согласно стандарту в системе должны присутствовать следующие объекты синхронизации:

1.Объекты синхронизации Mutex(Mutual Exclusion)- данные объекты обеспечивают взаимное исключение работающих задач.

2.Объекты Condvar(Conditional Varuable условные перемещения)

Обеспечивают взаимное исключение задач при принятии условной переменной(Condvar) определенного значения.

Mutex представляют собой развитие двоичных семафоров с т. зрения обеспечения безопасности работы программы.

Семафор не содержит инфы от задачи, которая заблокировала его(работала с ним последней)

Простая организация

Взаимно исключ.---- семафор

/ /

1 0

Простая организация –отсутствие инфа о задаче, которая произвела блокировку последней.

Случайная повторная попытка заблокировать ресурс задачей, которая владеет этим же ресурсом, приведет к сбою.

M utex

/ /

Двоичный семафор + идентефикатор задачи последней захватившей ресурс

Condvar дает возможность задаче ожидать наступления некоторых условий.

Обеспечивает взаимное исключение при наступлении каких-либо условий.

Реализация объектов типа Condvar организована на основе объектов типа Mutex и сигналах, оповещающих о выполнении условий.

^ 25.управление задачами. планирование задач.

Управление задачами(процессами, процедурами обработки прерываний) является важной функций ОС.

Специфический механизм планирования задач делает ОС системой реального времени.

^ Планирование задач.

Необходимость планирования задач возникает тогда, когда в списке активных задач появляется более одной задачи.

Планирование задач позволяет оптимально загружать аппаратные ресурсы.

Алгоритмы планирования специфичны для разных операционных систем.

Эффективное планирование позволяет уменьшить время реакции ОС на внешние события.

Пример планирования задач.

В ОСРВ одним из наиболее важных требований при планировании является предсказуемость времени работы задачи.

Как правило, очереди задач, ожидающие исполнения не ограничены.

Max размер очереди определяется только доступными аппаратными ресурсами(память, количество одновременно выполняющихся задач).

Алгоритм планирования должен обеспечивать предсказуемость поведения задач вне зависимости от текущей загруженности системы.

Алгоритм планирования реализуется специфической программой, входящей в ОС, которая наз. «Планировщик задач».

Scheduler – расписание.

Планировщик задач-программа, которая управляет разделением процессорного времени м/у выполняющимися задачами.

Кроме того, планировщик фактически управляет переходом задач из 1 состояния в другое. Для многопроцессорных систем планировщик распределяет задачи по процессам.
^ 26. Планирование задач. Приоритеты.

Необх-ть планир-ия задач воз-т тогда, когда в списке акт. задач появ. более одгой задачи. План-ие задач поз-т опт-но загр-ть аппарат рес-сы. Алг-мы планир-ия специфичны для разных ОС. Эффектив. планир-ие задач поз-т ум-ть время реакции ОС на внеш. соб-ия. Приоритет задая изм-т ОС. В ОСРВ одним из наиб. важных треб-ий пр планир-ии яв-ся предс-ть времени работы задач. Как правило, очереди задач, ож-х исп-ия неогран-ны, т.е макс. раз-р очереди опр-ся только дост-ми аппарат. рес-ми. Алгоритм планир-ия д. обесп-ть предск-ть поведениязадач в нез-ти от текущей загр-ти сис-мы. тАлгор-м планир-я реал-ся спец. прогр., входящей в ОС, кот. наз-ся планир-ом задач (scheduler). Планировщик задач-погр-ма, кот. упр-т разд-ем процесс-го времени м/у вып-ся зад-ми. Кроме того, планир-к факт-ки упр-т переходом задач из од сост-ия в другое. Для многопроц-х сис-м планир-к распр-т задачи по процессорам.

Приоритеты. Наз-ся кажд. задаче при ее создании. В проц-се фун-ия приоритет может ост-ся пост-ым или может изм-ся, поэт. сущ-т схемы назн-ия приоритетов: 1. Фикированные. приор-т задачи не изм-ся, при этом число, озн. приоритет-уникально. 2.Турнирное назначение. Приоритет послед. исп-ся задачи пониж-ся. 3.Назн-ие по алгоритму Round Robin(unix). Приор-т задачи опр-ся ее нач. приоритетом и временем ее обсл-ия, чем больше задачи обсл-ся, тем меньше ее приоритет. Однако приоритет задачи не м.б. ниже опр. зн-ия. В разл. ОС могут вводиться новые схемы наз-ия приоритета. 4. Приоритет в ОС. OS-9 задач ув-ся в процессе ожидания вып-ия. Это делается во избежании слишком большого времени ожидания. При планир-ии задач м. воз-ть разл. критич. сит-ции, связ-ые с наз-ем приоритетов. Сит-ия, когда более приор. задачи блок-ны менее приоритет задачей, кот. владеет ресурсом, необх. более приоритетн. задаче, наз-ся инверсией приоритетов. 5. Библ-ки спец. ф-ций: приклад. и сист-ые (упр. компьютером), мат. библ. спец. ф-ий. Эти ф-ции нест-ны

^ 27. Стратегии планирования задач.

Существуют различные способы планирования задач:

Базовые стратегии:

  1. Очереди ожидания FIFO – первой будет исполнена задача, пришедшая первой.

  2. Очередь ожидания, отсортированная по времени выполнения. Первой будет исполнена задача, исполнявшаяся до этого самое короткое время.

  3. Очередь ожидания, отсортированная в зависимости от приоритета. Первой пойдет на исполнение задача, имеющая самый высокий приоритет.

  4. Несколько очередей ожидания (типа 1 и 2).

В ОС типа Unix используется следующий способ планирования задач. Все процессорное время делится на кванты времени одинаковой длины. Все готовые задачи получают свой квант времени. Частота полученного кванта зависит от числа готовых задач и их приоритетов. Изначально все задачи имеют высокий приоритет. Если в течении своего кванта задача использует процессор и не блокируется, то ее приоритет не изменяется или увеличивается. В противном случае ее приоритет понижается. Такая стратегия планирования дает высокую среднюю производительность, но непригодна для ОСРВ, так как процессорное время, которое получает задача, зависит от текущей загруженности системы.

ОСРВ используют следующую стратегию планирования:

Все задачи имеют фиксированные приоритеты. Приоритеты могут динамически изменяться как самой задачей, так и планировщиком. Процессорное время получает задача, имеющая наивысший приоритет. В случае, если существует несколько задач с высоким приоритетом, то среди них организуется планирование с изменением приоритета по схеме Round Robin.
^ 28. Планирование периодических задач

Период. задачи – задачи, кот. зап-ся(вып-ся) с опред. периодом.

Т i -период; i - № задачи. Такие задачи обычно акт-ся сигналом таймера. Для таких задач сущ-т спец. алг-мы разделения вр-ни. На процессор. сис-ме д. вып-ся след. соотн-е: <1 (R i – время работы задачи; T i -период запуска задач; n-число задач).

Для период. задач была предл-на след. схема планир-я. RMS – Rate Monotonic Shedulding. Опишем эту схему планир-я. Пред-ся, что все зад. в ОС период-ки и м/у ними не сущ. взаимосвязи. Приоритет зад., соласно этой схеме обратно пропорц-н периоду ее работу,т.е чем меньше ее приоритет→тем больше период ее работы (запуска). Согласно этой схемы приориты задач д.б. разными. в этой схеме сущ-т один недостаток, связ. с приложением о том, что все задачи независимы. Исп-е этой схемы в исх. виде м. привести к инверсии приоритетов, если в сис-ме сущ-т зависимые задачи.

Зависимыз задачи – неск-ко задач акт-ся при приходе одного сигнала. почти все задачи завис. Данная сис. планир-ия была доп-на спец. алгоритмом, позв. бороться с инверсией приоритетов. О наз-ся Priority Celling Protocol (РСР). Сост-е протокола: 1. Кажд. раз ресурсу и кажд. набору задач приписан так назыв. уровень приорит-ти. 2. Блок-ка ресурса не воз-на, если уровень его приор-ти выше, чем ур-нь приоритет-ти, запросив. его задачи. 3. Приоритет, Влад. ресурсом задач временно повыш-ся.

Если в процессе работы задачи она ожидает пост-ия данных, то сам процесс ожидает с точки зрения алг-ма м.б. реализован. 1.Опрос соот. датчика 2. акт-ия задач по приходу соот. сигнала с датчика. В этом случае зад-т сис-ма прерывания. В 1 случае процессор будет работать вхолостую, во 2 – будет загр-н более эфф-но.

^ 29.Переключение контекста.

Контекст задачи – набор данных, задающих сост-ие прцессора при выполнении задач. Контекст задачи обычно совп-т с сод-ым регистра процессоров.

Переключение контекста – переход процессора от исп-ия одной задачи к другой. Переключение задач м.б. инициировано: 1) планировщиком задач 2) прерывние, когда пришел сигнал о гот-ти к-л ресурса 3) м.б. инициировано сис-ым вызовом, когда задача реал-т к-л сист.ф-ию. Т.к. контекст полностью опр-т какая задача будет вып-ся, то понятие переключение контекста и переключение задач совп-т. перекл-е задач вып-т диспетчер. При переключении задач диспетчер вып-т след. действия: 1.ост-ка раб. задачи. Для этого вып-ся все ком-ды, загр. в процессор. 2.вып-ся пост-ка текущей задачи и загр. затреб. задачу 3.запустить задачу. К этому моменту полностью вос-ся контекст дан. задачи. Перек-е контекста тр-т опр. времени Число, хар. это время яв-ся одной из наиб важных хар-к ОСРВ. При обработке прерывпний переход процессора на ып-е проц-ры обр-ки прерываний также пред-т собой прерыв-е контекста.
30. Классификация ОСРВ.Краткий обзор современных ОСРВ

В зависимости от способа разработки ОСРВ дел-ся на:

1. Self - Hoted - ОС, содер-щая сред-ва разработки программ. Как правило, поддерживает файловую сис-му, ср-ва ввода/вывода, последоват.интерфейс и инструмент.сред-ва разработки программн.обеспечения. Достоинства : удобство работы и разработки программного обеспечения. Недостатки : громоздкость ОС. Подобные ОС прим-ся на обычных компах промышленного исполнения.

2. Host - Target. Созд-ся програм.обеспеч-е для Host-сис-мы. Платформа разработки програм.обеспеч-я может работать под управлением других ОС,при этом связь м/у двумя платформами может осущ-ся через любые ср-ва взаимодействия микропроцессорных систем. Достоинства : малыйразмер ОС,функц-щий на Target-системе.

В зависимости от происхожд-я ОСРВ делятся:

  1. ОСРВ,созд-я на базе ОС общего назнач-я

  2. Собственно ОСРВ-предназ.для широкого типа задач объектно независимых

  3. Специализиров.ОСРВ-ОС,разраб.для конкретн.оборуд-я(сот.тел, цифр.аппаратура)

По своему внешнему строению ОС бывают:1)классич.2)объектно-ориентир.

КЛАССИЧ.ОСРВ:

1.CHORUS -содеж.только ср-ва управ-я Target платформами. Есть версии:Host-Target, self-Hosted.Архитектура на основе микроядра. В качестве стандарта исп-ся стандарт POSIX и собствен.дополнения. ОС поддерживает многозадачность,многопроцессорность. Стратегии планирования основ. на приоритетах с исп-ем очередей типа FIFO.Ядро ОС м.быть вытеснено более приоритетн.задачей. ОС:CHORUS,

UNIX,Windows.Процессоры:Intelx86, Power PC,Motorola68xx, Motorola 88xx

2.Lynx OS -америк.ОС, только Self-Hosted.Архитектура на базе микрядра.Стандарт POSIX. Стратегии планирвания :1)FIFO 2)Алгоритм Round-Robin.Процессоры те же,что и у CHORUS.

3.QNX-self-Hosted, стандарт POSIX. Архитектура на базе микрядра.Стандарт POSIX. Стратегии планирвания :1)FIFO 2)Алгоритм Round-Robin.Процессор- Intelx86

4. OS -9 - Host-Target Процессоры:Intelx86, Power PC,Motorola68xx, OC- UNIX,Windows

5. VRTX - Host-Target.созд.по собств.стандарту Процессоры:Intelx86, Power PC,Motorola68xx

6. VxWorks - Host-Target.Монолит.архитектура.Стандарт собств.и POSIX. Процессоры те же,что и у CHORUS.

ОБЪЕКТНО-ОРИЕНТИРОВ.ОС(ОООС)

К ОООС отн-ся ОС,построен.с использ-ем объектно-ориентир.подхода иОС,основанные на Ооподхода кразработке прогр.обеспечения.Sof Kernel-постр.на С++, прогр.обеспечение на взаимод-ии объектов.Это франц.ОС, Host-Target система.Архитектура на осн.микроядер, объектов.Стандарт собств.Среды раз-ки- Linux,Unix.Платформы- Power PC,Motorola68xx

^ СПЕЦИАЛИЗИРОВАННЫЕ ОС -это сис-мы, создан.под кокретн.модель контроллеров или оборуд-я, решающего опред.задачу. Достоинства -1)max произв-ть 2)max использ-е возмож-тей обор-я 3) компактность.Исп-ся в оборуди, сод-щем специализ.
31.Системы на основе Linux

Для поддержки реального времени ОС Windows модифицируются по 3-м направлениям :

1) поддержка стандарта POSIX, касающ-ся ОСРВ- POSIX поддерж-ся ОС набазовом уровне. Это треб-ие к ОС общего назнчения. Элементы стандарта,связ-ые с поддержкой РВ в Windows поддерж-ся частично. В ОС не реализ-ся спец-ные механизмы планирования задач,мех-мы планирования задач, мех-мы работы с таймером и т.п.

^ 2) поддержка специализир.оборуд-я,прогр.реализация поддержки в спец-ных интерфейсных связях с управляемыми объектами

3) реализация возможности приоритетного вытеснения ядра ОС(Preemption).ОС Linux, как все ОС общ.назначения не дает возм-ть запустить более приоритетную задачу,если в данный момент вып-ся ядро ОС.

Сущ-ют нес-ко способов реализ-ии (1),(3),в зав-ти от способа решения этих задач их мона разделить на 2 группы :

1) заново переписать всё ядро ОС(недостаток-большой объем работы)

2) написать отдельн.модуль(микроядро),отвечающий за диспетчеризацию и планирование задач.Необх-мо предусмотреть взаим-ие микроядра и основного ядра ОС.Сущ-ет специализир.версия ОС Linux, кот-я реализ-ет (2)

RT - LINUX - в данной ОС исп-ся спец-ное микроядро,отвечающ.за созд-ие и планирование задча, обеспеч-ие их взаимод-ия и диспетчеризацию.В ОС реализован простейший мех-м планирования с исп-ем приоритетов,взаим-ия м/у задачами осущ-ся ч/з очередь сообщений FIFO

Для орг-ции вып-ия ядра ОС ядру ОС присвоен самый низкий приоритет. В ядре ОС функции,отвеч. за запрещ-я и разреш-я переключения задач и прерываний замены на вызов соотв-х функций в микроядре.
32.ОСРВ на основе Windows NT

Windows NT может исп-ся в кач-ве ОСРВ по след-щим причинам:

1)поддержка многопропорц-ти и многозадачности

2)возможность реализ-ии механизма вытеснения ядра ОС

3)возможность разрешения и запрещения прерываний

4)прямой доступ к оборуд-ю, реализуемый ч/з систему драйверов

5)специальная схема приоритетов, реализ-щая в ОС

Недостатки Windows NT(в смысле орг-ции реального времени)

1)ядро ОС невозможно вытеснить более приоритет.задачей

2)при формировании запроса на прерывание схема назначения приоритетов, заложенная в ОС, присваивает всем задачам, обрабатывающим запросы на прерывание, одинаковые приоритеты.Т.о.задачи будут получать процессорное время в порядке их поступления в очередь задач FIFO


Для того, чтобы опр-ть режим работы жесткого РВ в ОС общего назначения-необходимо сформировать “прослойку” м/у аппарат.обеспеч.(РС) и ОС.При этом сама ОС становится зависимой от этой программ. “прослойки”

Soft-Ice-относится к отладчику прогр.обеспеч-я,позв.внедряться в “прослойку”

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

1) Hyper Kernel представ.собой ядро, обесп-щее предсказуемое поведение ОС Windows NT(на уровне упр-я задачами и т.п.) Хар-ки сис-мы-разрешение таймера 1 мкс, миним.таймерный интервал-20мкс. Разработка РС ведется в Visual C/C++

2) LP RT -Technology- включ.3 комп-та:

a)интерфейсн.плата д/связи с управ-мым объектом

б)комплект разрабочика ПО(для Visual C++) с поддержкой Soft-Ice

в)програм.комплекс,обеспеч-щий совместное функцион-ие оболочки и Windows NT

3) Realtime ETS Kernel -выпускается в2-х версиях:1.По принципу Hyper Kernel 2.НастояшшаяОСРВ

4)С omponent Integrator -предс.собой програм.пакет, модифицирующий ряд алгоритмов работы WindowsNT:

1компонент-поддержка рабоы без дисплея и клавиатуры , сокращение потребности в памяти,поддержка специализиров.интерфейсов.

2компонент-поддержка работы с таймерами

5)Windows RT
33.Критерии выбора языка программирования для СРВ

1) получение наивысш.произв-ти-один из наиболее главных критериев.Язык програм-ич должен быть компилированным-с поддержкой оптимизации испол-го кода.Этим требованиям удовл.С++.Часто при созд-и быстродейст-щих приложений при написании критич-х по времени фрагментов прогр-ы исп-ся Ассемблер

2) получение доступа к любым рес-сам оборуд-я либо посред-вом языковых конструкций, либо использ-ие функции дополнит.библиотек, поставляем.вместе с оборудованием

3) возм-ть вызова процедур,напис-х на др.языке

4) возм-ть исп-я объектно-ориентиров.подхода

При созд-и приложений для ОСРВ исп-ся С/С++, Assembler, Java

нутри объектов скрыты данные.Это говорит о том, чтов инф. я скрыта внутри объекта.х операций.
Навчальний матеріал
© uadoc.zavantag.com
При копіюванні вкажіть посилання.
звернутися до адміністрації