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

Лекція 2. Класифікація ОС

Лекція 2. Класифікація ОС

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

Нижче наведена класифікація ОС за декількома найбільш основними ознаками.

  • За особливістю алгоритмів керування ресурсами;

  • За числом одночасно виконуваних задач;

  • По режиму обробки задач;

  • За підтримкою багатонитковості;

  • За числом одночасно працюючих користувачів;

  • За підтримкою багатопроцесорної обробки;

  • По способу побудови (архітектурі);

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

  • По призначенню;

  • За типом апаратури (за особливістю апаратних платформ);

  • За особливістю області використання;

За особливістю алгоритмів керування ресурсами

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

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

- багатозадачні й однозадачні;

- багатокористувальницькі й однокористувальницькі;

- на системи, що підтримують багатониткову обробку і не підтримуючі її;

- на багатопроцесорні й однопроцесорні системи.

За числом одночасно виконуваних задач операційні системи можуть бути розділені на два класи:

  • однозадачні (наприклад, MS-DOS, MSX) ;

  • багатозадачні (OC EC, OS/2, UNIX, Windows 95, Windows Seven).

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

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

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

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

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

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

  • багатозадачність без витіснення (NetWare, Windows 3.x);

  • багатозадачність із витісненням (Windows NT, 2000, XP, OS/2, UNIX, Linux).

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

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

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

У деяких ОС (Windows 3.х, наприклад) користувальницька програма може монополізувати процесор, тобто працювати в режимі, що не витісняє. Як правило, у більшості систем не підлягає витисненню код властиво ОС. Відповідальні програми, зокрема завдання реального часу, також не витісняються.

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

По режиму обробки задач:

  • однопрограмний режим;

  • мультипрограмний режим.

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

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

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

Сучасні ОС для ПК реалізують і мультипрограмний, і багатозадачний режими.

За підтримкою багатонитковості

  • ОС, які підтримують багатонитковість;

  • не підтримують багатонитковість .

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

Самостійне вивчення.

За числом одночасно працюючих користувачів ОС поділяються на:

  • однокористувальницькі (MS-DOS, Windows 3.x, ранні версії OS/2);

  • багатокористувальницькі (UNIX, Windows NT).

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

Варто зауважити, що не кожна багатозадачна система є багатокористувальницькою, і не кожна однокористувальницька ОС є однозадачною.

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

За підтримкою багатопроцесорної обробки.

  • Однопроцесорні

  • багатопроцесорні

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

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

У наші дні стає загальноприйнятим введення в ОС функцій підтримки багатопроцесорної обробки даних. Такі функції є в операційних системах Solaris фірми Sun, Open Server компанії Santa Crus Operations, OS/2 фірми IBM, Windows 2000 фірми Microsoft і NetWare 4.1 фірми Novell.

Багатопроцесорні ОС можуть класифікуватися за способом організації обчислювального процесу в системі з багатопроцесорною архітектурою:

- асиметричні ОС

- симетричні ОС.

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

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

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

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

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

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

  • Масштабування в асиметричній архітектурі реалізується інакше, ніж у симетричній. Тому що вимога єдиного корпуса відсутня, система може складатися з декількох пристроїв, кожне з яких містить один або кілька процесорів. Це масштабування по горизонталі. Кожний такий пристрій називається кластером, а вся мультипроцесорна система — кластерною.

  • Асиметрична ОС цілком виконується тільки на одному з процесорів системи, розподіляючи прикладні задачі на інші процесори. Тобто, в асиметричних ОС процесори нерівноправні. Звичайно існує головний процесор (master) і підлеглі (slave), завантаження й характер роботи яких визначає головний процесор.

Не слід плутати мультипроцесорну обробку з мультипрограмною обробкою. У мультипрограмних системах паралельна робота різних пристроїв дозволяє одночасно вести обробку декількох програм, але при цьому в процесорі в кожний момент часу виконується тільки одна програма. Тобто в цьому випадку кілька завдань виконуються поперемінно на одному процесорі, створюючи лише видимість паралельного виконання. А в мультипроцесорних системах кілька завдань виконуються дійсно одночасно, тому що є кілька обробних пристроїв — процесорів. Звичайно, багатопроцесування зовсім не виключає мультипрограмування: на кожному із процесорів може поперемінно виконуватися деякий закріплений за даним процесором набір завдань.

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

Важливий вплив на вигляд операційної системи в цілому, на можливості її використання в тій або іншій області роблять особливості й інших підсистем керування локальними ресурсами - підсистем керування пам'яттю, файлами, пристроями введення-виведення.

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

По способу побудови (архітектурі) ОС:

  • мікроядерні;

  • монолітні.

Цей поділ умовний. До мікроядерний ОС відноситься ОСРВ QNX, а до монолітним - Windows 9x і Linux. Для ОС Windows 9x користувач не може змінити ядро, так як не має в своєму розпорядженні вихідних кодів і програми збирання ядра. Для ОС Linux така можливість надана, користувач може самостійно скласти ядро, включивши до нього необхідні програмні модулі і драйвер.

На самостійне вивчення.

По типу використання ресурсів

  • локальні;

  • мережні.

Одним з найважливіших ознак класифікації ЕОМ є поділ їх на локальні і мережеві. Локальні ОС застосовуються на автономних ПК або ПК, які використовуються в комп'ютерних мережах в якості клієнта.

До складу локальних ОС входить клієнтська частина програми для доступу до віддалених ресурсів і послуг.

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

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

Прослухати

За призначенням ОС прийнято ділити на сім рівнів.

1. Мейнфрейми (mainframe)

У них відрізняються від ПК можливості I / O. Зазвичай мейнфрейми містять тисячі дисків і терабайти ОЗУ. Вони використовуються у вигляді потужних web-серверів, серверів для великомасштабних комерційних сайтів і серверів для транзакцій в бізнесі. ОС для мейнфреймів орієнтовані на обробку безлічі одночасних завдань, більшості з яких потрібна величезна кількість операцій I / O. Зазвичай вони припускають три види обслуговування:

1) пакетну обробку. Система виконує стандартні завдання без присутності користувачів. У пакетному режимі обробляються позови страхових компаній і складаються звіти про продажі у магазині;

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

3) поділ часу. Системи, що працюють в режимі поділу часу, дозволяють безлічі віддалених користувачів виконувати свої завдання на одній машині, наприклад, працювати з великою БД. Всі ці функції тісно пов'язані між собою і часто ОС мейнфрейма виконує їх усі. Прикладом ОС для мейнфрейма є OS/390 (від IBM).

2. Серверні (мережеві) ос

Працюють на серверах, які являють собою або дуже великі ПК, або робочі станції, або навіть мейнфрейми. Вони одночасно обслуговують безліч користувачів і дозволяють їм ділити програмні та апаратні ресурси. Сервери надають можливість працювати з друкувальними пристроями, файлами та Internet. Internet-провайдери звичайно запускають в роботу кілька серверів, щоб підтримувати одночасний доступ до мережі безлічі клієнтів. На серверах зберігаються сторінки web-сайтів та обробляються вхідні запити. Типові серверні ОС: Windows 2000 і Unix. У цих цілях в даний час стала використовуватися і ОС Linux.

Мережна ОС має у своєму складі засоби передачі повідомлень між комп'ютерами лініями зв'язку, що зовсім НЕ потрібно автономній ОС. На основі цих повідомлень мережна ОС підтримує поділ ресурсів комп'ютера між вибраних користувачами, підключеними до мережі. Для підтримки функцій передачі повідомлень мережні ОС містять спеціальні програмні компоненти, що реалізують популярні комунікаційні протоколи, такі як IP, IPX, Ethernet та інші.

3. Багатопроцесорні ос (кластери)

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

4. ОС для ПК

Робота цих ОС полягає в поданні зручного інтерфейсу для одного користувача. Такі ОС широко використовуються для роботи з текстом, електронними таблицями і доступу до Internet. Яскраві приклади: Windows 98, 2000, MacOS, Linux, Windows XP.

5. Ос реального часу

Головним параметром ОС РЧ є час. Наприклад на конвеєрі, комп'ютери, що працюють в режимі РЧ, збирають дані про промисловий процес і використовують їх для керування машинами. Такі процеси повинні задовольняти жорстким тимчасовим вимогам. Так, якщо автомобіль пересувається по конвеєру, то кожна дія має бути здійснена в строго певний момент часу. Якщо зварювальний робот зварить шов дуже рано / пізно, то він завдасть непоправної шкоди. Якщо деяка дія повинна відбутися в якийсь момент часу або всередині заданого діапазону часу, то говорять про жорстку систему РЧ.

Існує гнучка система РЧ, в якій допустимі час від часу пропуски термінів виконання операцій. У цю категорію потрапляє цифрове аудіо та multimedia-системи.

Приклади ОС: VxWorks, QNX.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]