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

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

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

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

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

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

Ø однокористувальницькі (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 така можливість надана, користувач може самостійно скласти ядро, включивши до нього необхідні програмні модулі і драйвер.

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: