11
Операційні системи Лекція 3 Вимоги до сучасних операційних систем

Лекція №3

Embed Size (px)

Citation preview

Page 1: Лекція №3

Операційні системи

Лекція 3Вимоги до сучасних операційних систем

Page 2: Лекція №3

2/11Лекція 3

План лекції

Функціональні і ринкові вимоги до ОС Апаратна незалежність і здатність ОС

до перенесення Програмна сумісність, прикладні

програмні середовища Розширюваність

Page 3: Лекція №3

3/11Лекція 3

Функціональні і ринкові вимоги до ОС Функціональні – вимоги до функцій,

які підтримує ОС (вимоги користувача)

Ринкові – вимоги до економічної ефективності розроблення і супроводження ОС (вимоги розробника)

Page 4: Лекція №3

4/11Лекція 3

Функціональні вимоги до ОС

Ефективне керування ресурсами Зручний інтерфейс користувача Зручний та ефективний інтерфейс

прикладних програм Багатозадачність, багатопотоковість Віртуальна пам'ять Багатовіконний графічний інтерфейс Підтримка мережної взаємодії Надійність, відмовостійкість Безпека даних

Page 5: Лекція №3

5/11Лекція 3

Ринкові вимоги до ОС

Здатність до перенесення (portability) Програмна сумісність (у тому числі –

зворотна сумісність) Розширюваність

Page 6: Лекція №3

6/11Лекція 3

Апаратна незалежність і здатність ОС до перенесення Засоби апаратної підтримки ОС

Система переривань Засоби підтримки привілейованого режиму Засоби трансляції адрес Засоби перемикання процесів Системний таймер Засоби захисту оперативної пам'яті Захист пристроїв введення-виведення

Здатність до перенесення (portability) Більша частина коду має бути написана мовою високого

рівня, для якої існують транслятори на різних апаратних платформах

Код, що залежить від апаратного забезпечення, має бути відокремленим від іншої частини системи

Обсяг машинно-залежного коду має бути мінімізованим

Page 7: Лекція №3

7/11Лекція 3

Апаратна незалежність і здатність ОС до перенесення

Машинно-залежна частина ОС

для комп'ютера А

Машинно-незалежна частина ОС

на мові комп'ютера А

Операційна системадля комп'ютера А

Машинно-залежна частина ОС

для комп'ютера С

Машинно-незалежна частина ОС

на мові комп'ютера С

Операційна системадля комп'ютера С

Машинно-залежна частина ОС

для комп'ютера В

Машинно-незалежна частина ОС

на мові комп'ютера В

Машинно-незалежна частина ОСна алгоритмічній мові високого рівня

Операційна системадля комп'ютера В

Компіляція

Page 8: Лекція №3

8/11Лекція 3

Програмна сумісність Програмна сумісність – можливість виконувати у середовищі

ОС програми, розроблені для іншої ОС Зворотна сумісність – можливість виконувати у середовищі

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

вихідних текстів Необхідна наявність компілятора (стандартизація мов

програмування, розробка стандартних компіляторів) Необхідна сумісність API (стандартизація інтерфейсів)

Бінарна сумісність – можливість перенесення виконуваного коду

Якщо архітектура процесора (набір команд, система адресації, діапазон адрес) сумісна, тоді необхідні лише

• сумісність API• сумісність внутрішньої структури виконуваного файлу

Якщо архітектури процесорів несумісні, то необхідна емуляція середовища виконання

• Для прискорення емуляції – трансляція бібліотек

Page 9: Лекція №3

9/11Лекція 3

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

API ОС3

Прикладна програма

ОС3

Транслятор системних викликів

Прикладне середовище ОС3

API ОС2

Прикладна програма

ОС2

Транслятор системних викликів

Прикладне середовище ОС2

Прикладна програма

ОС1

API ОС1Менеджери ресурсів

Базові механізми

Page 10: Лекція №3

10/11Лекція 3

Реалізація рівноправних API

Прикладна програма

ОС1

Прикладна програма

ОС2

Прикладна програма

ОС3

API ОС1 API ОС2 API ОС3Менеджери ресурсів

Базові механізми

Page 11: Лекція №3

11/11Лекція 3

Розширюваність ОС ОС може жити довше за апаратуру! Розширюваність – можливість додавання нових

функцій при збереженні основної частини коду Підтримка нової апаратури (CD-ROM, flash) Зв'язок з мережами нових типів Нові технології інтерфейсу користувача (GUI) Нова апаратна архітектура (багатопроцесорність)

Шляхи досягнення розширюваності: Модульна структура ОС Використання обєктів Технологія клієнт-сервер із застосуванням

мікроядрової архітектури Завантажувані модулі драйверів