
- •Огляд і характеристика операційних систем Узагальнена структура програмного забезпечення обчислювальних систем
- •Класифікація операційних систем
- •1. По призначенню ос діляться на:
- •2. По режиму обробки даних розрізняють:
- •3. За засобом взаємодії з обчислювальною системою ос діляться на:
- •4. За основним архітектурним принципом ос діляться на:
- •1. Принцип модульності
- •2. Принцип функціональної вибірковості
- •3. Принцип генерованості ос
- •4.Принцип функціональної надлишковості
- •5. Принцип віртуалізації
- •Принцип незалежності програм від зовнішніх пристроїв
- •Принцип сумісності
- •Принцип відкритої і нарощуваної ос
- •Принцип мобільності (переносимості)
- •10. Принцип забезпечення безпеки обчислень.
- •Планування процесів Дисципліни планування - вимоги, показники, класифікація
- •Базові дисципліни планування
- •Управління пам'яттю Віртуальна і реальна пам'ять
- •Фіксовані розділи
- •Односегментна модель
- •Багатосегментна модель
- •Сторінкова модель
- •Сегментно-сторінкова модель
- •Плоска модель пам'яті
- •Монопольно використовувані ресурси Властивості ресурсів і їх уявлення
- •Філософи, що обідають
- •Тупики: попередження, виявлення, розв'язка
- •Нескінченне відкладання
- •Файлові системи Структура магнітного диска
- •Файлова система fat
- •Структура завантажувального запису dos
- •Файлові системи vfat і fat32
- •Файлова система ntfs (New Technology File System)
- •Основні можливості файлової системи ntfs
- •Структура тому з файловою системою ntfs
- •Можливості файлової системи ntfs по обмеженню доступу до файлів і каталогів
- •Основні відмінності fat і ntfs
- •Файлові системи операційних систем класу Unix Структура файлової системи
- •Захист файлів
- •Системні засоби взаємодії процесів Дужки критичних секцій.
- •Віртуальні переривання або сигнали
- •Модель віртуальних комунікаційних портів
- •Загальні області пам'яті
- •Семафори
- •Програмні канали
- •Черги повідомлень
- •Література
- •Операційні системи
- •43018, Луцьк-18, вул. Львівська,75.
Принцип незалежності програм від зовнішніх пристроїв
Цей принцип реалізується в переважній більшості ОС загального використання. Вперше цей принцип був реалізований в ОС 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, які потім можна легко переносити з однієї системи в іншу.