- •Срс 1. Класифікація операційних систем. Основні принципи побудови операційних систем Класифікація операційних систем
- •1. По призначенню ос діляться на:
- •2. По режиму обробки даних розрізняють:
- •3. За засобом взаємодії з обчислювальною системою ос діляться на:
- •4. За основним архітектурним принципом ос діляться на:
- •Основні принципи побудови операційних систем
- •1. Принцип модульності
- •2. Принцип функціональної вибірковості
- •3. Принцип генерованості ос
- •4.Принцип функціональної надлишковості
- •5. Принцип віртуалізації
- •Срс 2. Базові дисципліни планування psjn, hprn, srr, mlfb
- •Срс 3. Фіксовані розділи пам'яті
- •Срс 4: Сегментно-сторінкова модель пам'яті. Плоска модель пам'яті Сегментно-сторінкова модель
- •Плоска модель пам'яті
- •Срс 5: Класична задача розподілу ресурсів, що носить назву "Проблеми філософів, що обідають" Філософи, що обідають
- •Срс 6: Нескінченне відкладання Нескінченне відкладання
- •Срс 7: Таблиця розташування файлів. Структура завантажувального запису dos
- •Структура завантажувального запису dos
- •Срс 8: Файлова система ntfs Файлова система ntfs (New Technology File System)
- •Основні можливості файлової системи ntfs
- •Срс 10: Захист інформації в комп’ютерних системах засобами ос. Захист файлів в операційних системах класу Unix Захист файлів
- •Срс 11: Модель віртуальних комунікаційних портів. Програмні канали. Черги повідомлень Загальні області пам'яті
- •Семафори
- •Програмні канали
- •Черги повідомлень
- •Срс 12: Взаємодія з користувачем в ос. Інтерфейс користувача. Елементи інтерфейсу. Віджети Взаємодія з користувачем в ос
- •Інтерфейс користувача.
- •Елементи інтерфейсу
- •Контрольні запитання:
- •Срс 13: Багатопроцесорні розподілені системи Функціонально розподілені системи
- •Паралельні комп’ютери
- •Продуктивність паралельних комп’ютерів
- •Системи з розподіленою пам’яттю
- •Класичні матричні системи
- •Обчислювальні кластери
- •Срс 14: Microsoft Windows для планшетів
- •Срс 15: Історія появи комп'ютерів Macintosh і їх застосування
- •Особливості апаратного забезпечення комп'ютерів Macintosh
- •Срс 16: Організація операційних систем на базі Linux
- •Срс 17: Хмарні операційні системи
- •Що таке хмарні операційні системи?
- •Найпопулярніші на сьогоднішній день WebOs:
- •Висновки
- •Література
- •Навчальне видання Тетяна Іванівна Трояновська Методичні вказівки до виконання самостійної роботи студентів з дисципліни “Комп’ютерні системи та мережі”
4.Принцип функціональної надлишковості
Цей принцип враховує можливість проведення однієї і тієї ж роботи різними засобами. До складу ОС може входити декілька типів моніторів (модулів супервізора, що керують тим чи іншим видом ресурсу), різні засоби організації комунікації між обчислювальними процесорами. Наявність кількох типів моніторів, кількох систем керування файлами дозволяє користувачам швидко і найбільш адекватно адаптувати ОС до визначеної конфігурації обчислювальної системи, забезпечити максимальне завантаження технічних засобів при рішенні конкретного класу задач, отримати максимальну продуктивність при рішенні заданих класу задач.
5. Принцип віртуалізації
Побудова віртуальних ресурсів, їх розподіл і використання зараз використовується практично в будь-якій ОС. Цей принцип дозволяє представити структуру системи у вигляді певного набору планувальників процесорів і розподілювачів ресурсів (моніторів) і використовувати єдину централізовану схему розподілу ресурсів.
Найбільш природнім і закінченим проявом концепції віртуальності є поняття віртуальної машини. По суті будь-яка операційна система, будучи засобом розподілу ресурсів і організовуючи за певними правилами керування процесорами, ховає від користувача і його додатків реальні апаратні та інші ресурси, замінюючи їх деякою абстракцією. В результаті користувачі бачать і використовують віртуальну машину як деякий пристрій, здатний сприймати їх програми, написані на певній мові програмування, виконувати їх та видавати результати. При такому мовному представленні користувача зовсім не цікавить реальна конфігурація обчислювальної системи, способи ефективного використання її компонентів і підсистем. Він мислить і працює з машиною в термінах використовуваної ним мови і тих ресурсів, які йому надаються в рамках віртуальної машини.
Найчастіше віртуальна машина, що надається користувачеві, відтворює архітектуру реальної машини, але архітектурні елементи в такому представленні виступають з новими або вдосконаленими характеристиками, які часто спрощують роботу з системою. Характеристики можуть бути довільними, але частіше всього користувачі бажають мати власну "ідеальну" за архітектурними характеристиками в наступному складі:
одноманітна за логікою роботи пам’ять (віртуальна) практично необмеженого розміру. Середній час доступу співставлений зі значенням цього параметра оперативної пам’яті. Організація роботи з інформацією в такій пам’яті виконується в термінах обробки даних – в термінах роботи з сегментами даних на рівні вибраної користувачем мови програмування;
довільне число процесорів (віртуальних), здатних працювати паралельно і взаємодіяти під час роботи. Способи керування процесорами, в тому числі синхронізація і інформаційні взаємодії, реалізовані і доступні користувачам на рівні використовуваної мови програмування в термінах керування процесами;
довільна кількість зовнішніх пристроїв (віртуальних), здатних працювати з пам’яттю віртуальної машини паралельно або послідовно, асинхронно або синхронно по відношенню до роботи того чи іншого віртуального процесора, які ініціюють роботу цих пристроїв. Інформація, що передається або зберігається на віртуальних пристроях, не обмежена допустимими розмірами. Доступ до такої інформації здійснюється на основі або послідовного, або прямого способу доступу в термінах відповідної системи керування файлами. Передбачене розширення інформаційних структур даних, що зберігаються на віртуальних пристроях.
Одним із аспектів віртуалізації є організація можливості виконання в даній ОС додатків, які розроблювалися для інших ОС. Мова йде про організацію кількох операційних середовищ. Реалізація цього принципу дозволяє такій ОС мати сильну перевагу перед аналогічними ОС, що не мають такої можливості. Прикладом реалізації принципу віртуалізації може служити VDM–машина (Virtual DOS machine) – захищена підсистема, що представляє повне середовище MS DOS–додатків. Одночасно може виконуватися практично довільне число VDM–сесій. Такі VDM–машини є в системах MS Windows, і в OS/2.
Принцип незалежності програм від зовнішніх пристроїв
Цей принцип реалізується в переважній більшості ОС загального використання. Вперше цей принцип був реалізований в ОС Unix.
Принцип полягає в тому, що зв'язок програм з конкретними пристроями виконується не на рівні трансляції програми, а в період планування її виконання. В результаті перекомпіляція при роботі з новим пристроєм, на якому розташовуються дані, не потрібна.
Принцип дозволяє однаково здійснювати операції з керування зовнішніми пристроями незалежно від їх конкретних фізичних характеристик. Наприклад, програмі, що вміщує операції обробки послідовного набору даних, все-одно, на якому носії ці дані будуть знаходитися.
Зміна носія і даних, розташованих на них (при незмінності структурних характеристик даних), не принесе ніяких змін в програму, якщо в системі реалізований принцип незалежності.
Принцип сумісності
Одним із аспектів сумісності є здатність ОС виконувати програми, написані для інших ОС або для більш ранніх версій даної ОС, а також для іншої апаратної платформи.
Необхідно розділити питання двійкової сумісності і сумісності на рівні вихідних текстів додатків. Двійкова сумісність досягається в тому випадку, коли можна взяти виконувану програму і запустити її на виконання на іншій ОС.
Для цього необхідні: сумісність на рівні команд процесора, сумісність на рівні системних викликів і навіть на рівні бібліотечних викликів, якщо вони є динамічно зв'язуваними.
Сумісність на рівні вихідних текстів потребує наявності відповідного транслятора в складі системного програмного забезпечення, а також сумісності на рівні бібліотек і системних викликів. При цьому необхідна перекомпіляція наявних вихідних текстів в новий виконуваний модуль.
Набагато складніше досягти двійкової сумісності між процесорами, основаними на різних архітектурах. Для того, щоб один комп'ютер виконував програми іншого (наприклад, програму для ПК ІВМ РС потрібно виконувати на ПК типу Macintosh фірми Apple), цей комп'ютер повинен працювати з машинними командами, які йому не зрозумілі. В цьому випадку процесор типу 680х0 (або Power PC) на Maс повинен виконувати двійковий код, призначений для процесора і80х86. Процесор 80х86 має власний дешифратор команд, регістри і внутрішню архітектуру. Процесор 680х0 не розуміє двійковий код 80х86, тому він повинен вибрати кожну команду, декодувати її, щоб визначити, для чого вона призначена, а потім виконати еквівалентну підпрограму, написану для 680х0.
В зв'язку з тим, що у 680х0 немає точно таких регістрів, прапорів і внутрішнього арифметично-логічного пристрою, як в 80х86, він повинен імітувати всі ці елементи з використанням своїх регістрів або пам'яті: він повинен ретельно відтворити результати кожної команди, що потребує спеціально написаних підпрограм для 680х0, які гарантують, що стан емульованих регістрів і прапорів після виконання кожної команди буде точно таким же, як і на реальному 80х86.
Виходом в таких випадках буде використання так званих прикладних середовищ або емуляторів. Враховуючи, що основну частину програми складають виклики бібліотечних функцій, прикладне середовище імітує бібліотечні функції цілком, використовуючи раніше написану бібліотеку функцій аналогічного призначення, а інші команди емулюють кожну окремо.
Одним із засобів забезпечення сумісності програмних і користувацьких інтерфейсів є відповідність стандартним POSIX. Використання стандарти POSIX дозволяє створювати програми в стилі UNIX, які потім можна легко переносити з однієї системи в іншу.
Принцип відкритої і нарощуваної ОС
Відкрита ОС доступна для аналізу як користувачам, так і спеціалістам, що обслуговують обчислювальну систему. Нарощувана (яка модифікується і розвивається) ОС дозволяє використовувати не тільки можливості генерації, а і вводити до її складу нові модулі, вдосконалювати існуючі і т.д. Іншими словами, необхідно, щоб можна було легко вносити доповнення і зміни, якщо це потрібно, не порушуючи цілісності системи.
Хороші перспективи для розширення надає підхід до структурування ОС по типу клієнт-сервер з використанням мікроядерної технології. У відповідності до цього підходу ОС будується як сукупність привілейованої керуючої програми і набору непривілейованих послуг – “серверів”. Основна частина ОС залишається незмінною і в той же час можуть бути додані нові сервери або покращені старі.
Цей принцип іноді трактують як розширюваністю системи. До відкритих ОС, насамперед, слід віднести UNIX-системи і, природньо, Linux.
Принцип мобільності (переносимості)
Операційна система повинна відносно легко переноситися з процесора одного типу на процесор іншого типу і з апаратної платформи (яка включає наряду з типом процесора і спосіб організації всієї апаратури комп'ютера, інакше кажучи, архітектуру обчислювальної системи) одного типу на апаратну платформу іншого типу. Принцип переносимості дуже близький до принципу сумісності, хоча це не одне і те ж.
Написання переносимої ОС аналогічне написанню будь-якого переносимого коду – потрібно слідувати деяким правилам:
Більша частина ОС має бути написана на мові, яка є на всіх системах. Це означає, що ОС має бути написана на мові високого рівня, переважно стандартизованій, наприклад, на мові С. Програма написана асемблері, не є в загальному випадку переносимою;
Важливо мінімізувати або, якщо це можливо, виключити ті частини коду, які безпосередньо взаємодіють з апаратними засобами. Залежність від апаратури може мати багато форм. Деякі очевидні форми залежності включають пряме маніпулювання регістрами та іншими засобами. Накінець, якщо апаратно-залежний код не може бути повністю виключений, то він повинен бути ізольований в добре локалізованих модулях. Апаратно-залежний код не повинен бути розподілений по всій системі. Наприклад, можна заховати апаратно-залежну структуру в програмно задані дані абстрактного типу. Інші модулі системи будуть працювати з цими даними, а не з апаратурою, використовуючи набір деяких функцій. Коли ОС переноситься, то змінюється тільки ці дані і функції, які ними маніпулюють.
Введення стандартів POSIX переслідувало мету забезпечити переносимість створюваного програмного забезпечення.
Принцип забезпечення безпеки обчислень.
Забезпечення безпеки при виконанні обчислень є бажаною властивістю для будь-якої багатокористувацької системи. Правила безпеки визначають такі властивості, як захист ресурсів одного користувача від інших і встановлення квот по ресурсах для попередження захоплення одним користувачем всіх системних ресурсів (таких, як пам'ять).
Забезпечення захисту інформації від несанкціонованого доступу є обов'язковою функцією мережевих операційних систем. В багатьох сучасних ОС гарантується ступінь безпеки даних, що відповідає рівню С2 в системі стандартів США. Основи стандартів в області безпеки були закладені в документі “Критерії оцінки надійності комп'ютерних систем”. Цей документ, виданий Національним центром комп'ютерної безпеки (NCSC-National Computer Security Center) в США в 1983р., часто називають Оранжевою книгою. У відповідності до вимог Оранжевої книги безпечною вважається система, яка “за допомогою спеціальних механізмів захисту контролює доступ до інформації таким чином, що лише особи, які мають відповідні повноваження або процеси, що виконуються від їх імені, можуть отримати доступ на читання, запис, створення або знищення інформації”.
Ієрархія рівнів безпеки, наведена в Оранжевій книзі, помічує найнижчий рівень безпеки, як D, а найвищий – як А.
В клас D попадають системи, оцінка яких виявила їх невідповідність вимогам всіх інших класів.
Основними властивостями, характерними для систем класу С, є наявність підсистеми обліку подій, зв'язаних з безпекою, і вибірковий контроль доступу. Клас (рівень) С ділиться на два підрівні: рівень С1 забезпечує захист даних від помилок користувачів, але не від дій зловмисників; і більш суворий рівень С2.
На рівні С2 мають бути присутні:
засоби секретного входу що забезпечує ідентифікацію користувачів шляхом вводу унікального імені і пароля перед тим, як їм буде дозволений доступ до системи;
вибірковий контроль доступу, що дозволяє власнику ресурсу визначити, хто має доступ до ресурсу і що він, може з ним робити. Власник ресурсу робить це шляхом надання прав доступу користувачу або групі користувачів;
засоби обліку і спостереження (auditing), що забезпечують можливість виявити і зафіксувати важливі події, пов'язані з безпекою, або будь-які спроби створити, отримати доступ або видалити системні ресурси ОС;
Захист пам'яті, який полягає в тому, що пам'ять ініціалізується перед тим, як повторно використовується.
На цьому рівні система не захищена від помилок користувача, але поведінка його може бути проконтрольована по записах в журналі, залишених засобами спостереження та аудиту.
Системи рівня В основані на помічених даних і розподілу користувачів по категоріях, тобто реалізують мандатний контроль доступу. Кожному користувачеві присвоюється рейтинг захисту, і він може отримати доступ до даних лише у відповідності до цього рейтингу. Цей рівень на відміну від рівня С захищає систему від помилкової поведінки користувача.
Рівень А є найвищим рівнем безпеки, він потребує в доповнення до всіх вимог рівня В формального, математично обгрунтованого доказу відповідності системи вимогам безпеки.
Різні комерційні структури (наприклад, банки) особливо виділяють необхідність облікової служби, аналогічної тій, що рекомендують державні рекомендації С2. Будь-яка діяльність, що пов'язана з безпекою, може бути відслідкована і тим самим облікована. Це як раз те, що вимагає стандарт С2 і те, що потрібно банкам. Але комерційні користувачі не хочуть розплачуватися продуктивністю за підвищений рівень безпеки.
А – рівень безпеки займає своїми керуючими механізмами до 90% процесорного часу, що в більшості випадків неприйнятно. Більш безпечні системи не тільки знижають ефективність, а і суттєво обмежують число всіх доступних прикладних пакетів, які відповідним чином можуть виконуватися в подібній системі. Наприклад, для ОС Solaris(версія UNIX) є декілька тисяч додатків, а для її аналогу В–рівня – тільки близько 100.
