Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
дроб.язко.doc
Скачиваний:
4
Добавлен:
29.10.2018
Размер:
253.44 Кб
Скачать

Системи програмування та операційні системи Викладач Дроб’язко і.П

1)Розкрити зміст визначення «Операційні системи як розширена машина»

Використання більшості комп'ютерів на рівні машинної мови є важким, особливо це стосується введення-виведення. Наприклад, для організації читання блоку даних з гнучкого диска програміст може використовувати 16 різних команд, кожна з яких вимагає 13 параметрів, таких як номер блоку на диску, номер сектора на доріжці і т.п. Коли виконання операції з диском завершується, контроллер повертає 23 значення, що відображають наявність і типи помилок, які, очевидно, треба аналізувати. Навіть якщо не входити в курс реальних проблем програмування введення-виведення, ясно, що серед програмістів знайшлося б не багато охочих безпосередньо займатися програмуванням цих операцій. При роботі з диском програмістові-користувачеві досить представляти його у вигляді деякого набору файлів, кожний з яких має ім'я. Робота з файлом полягає в його відкритті, виконанні читання або запису, а потім в закритті файлу. Такі питання, як: чи слід при записі використовувати вдосконалену частотну модуляцію або в якому стані зараз знаходиться двигун механізму переміщення прочитуючих головок, не повинні хвилювати користувача. Програма, яка приховує від програміста всі реалії апаратури і надає можливість простого, зручного перегляду вказаних файлів, читання або запису, - це, звичайно, операційна cистема. Точно так само, як ОС захищає програмістів від апаратури дискового накопичувача і надає йому простий файловий інтерфейс, операційна система бере на себе всі малоприємні справи, пов'язані з обробкою переривань, управлінням таймерами і оперативною пам'яттю, а також інші низькорівневі проблеми. В кожному випадку та абстрактна, уявна машина, з якою, завдяки операційній системі, тепер може мати справу користувач, набагато простіша і зручніша в обігу, чим реальна апаратура, що лежить в основі цієї абстрактної машини. З цієї точки зору функцією ОС є надання користувачеві деякої розширеної або віртуальної машини, яку легше програмувати і з якою легше працювати, ніж безпосередньо з апаратурою, з якої складається реальна машина.

2) Основні сучасні вимоги до ос

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

На вибір операційної системи впливають наступні фактори:

  1. Архітектура апаратного забезпечення;

  2. Конфігурація мережі;

  3. Платформи, які використовує замовник;

  4. Функціональні можливості конкретних ОС.

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

  • надійність;

  • оптимальне використання ресурсів;

  • система захисту від несанкціонованого доступу;

  • підтримку специфічних технологій (апаратне забезпечення);

  • реалізація певних функцій.

Операційні системи поділяються за багатьма критеріями, та класифікуються як:

  1. Однопроцесорні

  2. Багатопроцесорні

  3. Однопрограмні

  4. Багатопрограмні

  5. Мережеві

  6. Розподіленні

  7. Віртуальні

Функціональні можливості та архітектура визначають область застосування конкретної ОС.

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

  1. Розширюваність:

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

ОС змінюються повільніше ніж апаратура, зазвичай, шляхом доповнення новими властивостями. Значно рідше відбуваються значні еволюційні зміни.

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

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

Переносимі ОС підтримують різні апаратні платформи за рахунок наявності кількох варіантів реалізації.

Апаратна платформа визначається типом ПК, архітектурою апаратних засобів. Таким чином, код ОС повинен переноситись з однієї платформи на іншу.

  1. Сумісність:

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

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

Розрізняють сумісність на рівні вихідних текстів та на рівні двійкових кодів.

  1. Надійність та відмовостійкість:

ОС повинна бути захищена як від зовнішніх помилок (збоїв та відмов), так і від внутрішніх.

Робота повинна бути передбачуваною, а додатки не повинні зашкоджувати ОС.

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

  1. Безпека:

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

  1. Продуктивність:

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

Продуктивність визначається рядом факторів:

  • архітектурою ОС;

  • множиною функцій;

  • можливостями реалізації багатопрограмних режимів;

якістю програмного коду.