
- •Особливості апаратних платформ
- •Особливості областей використання
- •Особливості методів побудови
- •Моделі операційних систем
- •Стратегії планування процеcу. Основні поняття планування процесів
- •4.3 Планування в інтерактивних системах
- •Адресний простір процесу
- •Розподіл пам'яті розділами змінної величини тобто динамічними розділами.
- •Переміщувані розділи
- •Методи розподілу пам'яті з використанням дискового простору Поняття віртуальної пам'яті
- •Сторінковий розподіл
- •Сегментний розподіл
- •Сторінково-сегментний розподіл
- •1 Алгоритми заміщення сторінок
- •2. Алгоритм nru (Not Recently Used - сторінка, що не використалася останнім часом)
- •3. Алгоритм fifo (перша прибула - перша вивантажена)
- •5. Алгоритм "годинник"
- •6. Алгоритм lru (Least Recently Used - що використалася найрідше)
- •8. Алгоритм wsClock
- •Устрій віртуальної пам'яті
- •Структура мережної операційної системи
- •Модель osi. Основна термінологія
- •Передача даних у мережі
- •Поясніть принцип розподілу мережених адрес.
- •Перелічіть класи мереж.
- •Поясніть призначення та принцип дії транспортних протоколів.
- •Основні характеристики файлової системи fat
- •Фундамент fat32
- •Деталі форматування
- •Стабільність файлової системи
- •Основа ntfs
- •Основні характеристики
- •Структура розділу
- •Метафайли
- •Файли і каталоги
- •Конфіденційність і схоронність даних
- •Файли необхідні для успішного завантаження Windows 2000/хр
- •Захист системи, від несанкціонованого відновлення паролю
Лекція №1
Тема Еволюція ОС.Основні поняття операційної системи. Класифікація ОС. Призначення ОС. Види ОС. Властивості ОС. Визначення, місце та роль в організації і функціонуванні обчислювальної системи. Ядро ОС. Однозадачні, багатозадачні ОС. Однокористувалиницькі, багатокористувальницькі ОС. Особливості області використовування: системи пакетної обробки, системи розділу часу, реального часу. Особливості методів будови.
Мета: Ознайомитися з видами ОС. Властивостями ОС. Визначити місце та роль в організації і функціонуванні обчислювальної системи.
Операційна система - це програма, що виконує функції посередника між користувачем і комп'ютером.
Операційна система (ОС) служить для керування ресурсами комп'ютера і забезпечення взаємодії всіх програм на комп'ютері з людиною.
Ядро ОС поділяється на два рівні: програми ядра системи і програми користувачів. Ядро призначене для забезпечення інтерфейсу і керування апаратурою. Програми ядра виконуються на рівні ядра, на якому можуть виконуватися привілейовані операції. Це дозволяє ядру здійснювати повний контроль над апаратурою і над програмами рівня користувача, а також забезпечувати середовище, у якій усі програми розділяють між собою всю наявну апаратну частину комп'ютера на основі відповідних прав і привілеїв.
Програми користувача, команди і бібліотеки співіснують на рівні користувача. Цей рівень означає непривілейований доступ до використовування апаратних ресурсів. Програми користувальницького рівня тому виконуються в замкнутому середовищі, контрольоване ядром, що запобігає одночасно виконуванню програм від перетинання один з одним ( випадково чи навмисно).
Призначення операційної системи полягає в забезпеченні зручності керування комп'ютером.
ОС, виконуючи роль посередника, має дві мети:
ефективно використовувати комп'ютерні ресурси.
створювати умови для ефективної роботи користувача
Під ресурсами комп'ютера звичайно розглядають:час роботи процесора, адресний простір основної пам'яті, обладнання введення – виведення, файли, що зберігаються в зовнішній пам'яті
Компоненти ОС поділяються на 2 класи: системні і прикладні.
До прикладних компонентів відносяться текстові редактoри, компілятори, системи програмування, програми графічного виводу інформації, комунікаційні програми і т.д.
До системних компонентів відносяться ядро системи, що забезпечує взаємодію всіх компонентів, завантажник програм, підсистеми, що забезпечують діалог з людиною - віконна система, інтерпретатор команд, і файлова система. Саме системні компоненти ОС визначають її основні властивості.
ОС повинна здійснювати:
керування процесами (розподіляє ресурс - процесорний час);
керування пам'яттю (розподіляє ресурс - адресний простір основної пам'яті);
керування довготермінової пам¢яті (магнітні диски, флеш - пам¢ять ...)
керування пристроями (розподіляє ресурси) - устаткування введення - висновку;
керування даними (розподіляє ресурс - дані чи файли – завантаження користувальницьких програм у пам¢ять).
Паралельно виконання декількох задач
Організація взаємодії задач одна з іншою
Захист системних ресурсів, даних і програм користувача, виконуємих процесів і самої себе від помилкових і злонаправлених дій користувачів і їх програм.
Аутентифікацію (перевірка, що користувач той за кого себе видає) і авторизацію(перевірка користувача на право виконувати ту чи іншу операцію)
Функціонування комп'ютера після включення живлення починається з запуску програми первісного завантаження - Boot Track. Програма Boot Track ініціалізує основні апаратні блоки комп'ютера і регістри процесора (CPU), накопичувач пам'яті, контролери периферійного устаткування. Потім завантажується ядро ОС, Operating System Kernel. Подальше функціонування ОС здійснюється як реакція на події, що відбуваються в комп'ютері.
Класифікація ОС
Операційні системи можуть розрізнятися особливостями реалізації внутрішніх алгоритмів керування основними ресурсами комп'ютера (процесорами, пам'яттю, пристроями), особливостями використаних методів проектування, типами апаратних платформ, областями використання і багатьма іншими властивостями.
Підтримка багатозадачності. По числу одночасно виконуваних задач операційні системи можуть бути розділені на два класи:
однозадачні (наприклад, MS-DOS, MSX) і
багатозадачні (OC EC, OS/2, UNIX, Windows 95).
По числу одночасно працюючих користувачів ОС поділяються на:
однокористувальницькі (MS-DOS, Windows 3.x, ранні версії OS/2);
багатокористувальницькі (UNIX, Windows NT).
Що витісняє і не витісняє багатозадачність. Найважливішим поділюваним ресурсом є процесорний час. Спосіб розподілу процесорного часу між декількома одночасно існуючими в системі процесами (чи нитками) багато в чому визначає специфіку ОС. Серед безлічі існуючих варіантів реалізації багатозадачності можна виділити дві групи алгоритмів:
що не витісняє багатозадачність (NetWare, Windows 3.x);
що витісняє багатозадачність (Windows NT, OS/2, UNIX).
Підтримка багатонитковості. Важливою властивістю операційних систем є можливість розпаралелювання обчислень у рамках однієї задачі. Багатониткова ОС розділяє процесорний час не між задачами, а між їх окремими галузями (нитками).
Багатопроцесорна обробка. Іншою важливою властивістю ОС є відсутність чи наявність у ній засобів підтримки багатопроцесорної обробки - мультипроцесування. Мультипроцесування приводить до ускладнення всіх алгоритмів керування ресурсами.
Багатопроцесорні ОС можуть класифікуватися по способі організації обчислювального процесу в системі з багатопроцесорною архітектурою: асиметричні ОС і симетричні ОС. Асиметрична ОС цілком виконується тільки на одному з процесорів системи, розподіляючи прикладні задачі по інших процесорах. Симетрична ОС цілком децентралізована і використовує весь пул процесорів, розділяючи їх між системними і прикладними задачами.
Особливості апаратних платформ
На властивості операційної системи безпосередній вплив роблять апаратні засоби, на які вона орієнтована. По типі апаратури розрізняють операційні системи персональних комп'ютерів, міні-комп'ютерів, мейнфреймов, кластерів і мереж ЕОМ. Серед перерахованих типів комп'ютерів можуть зустрічатися як однопроцесорні варіанти, так і багатопроцесорні. У будь-якому випадку специфіка апаратних засобів, як правило, відбивається на специфіці операційних систем.
Очевидно, що ОС великої машини є більш складної і функціональний, чим ОС персонального комп'ютера. Так в ОС великих машин функції по плануванню потоку виконуваних задач, мабуть, реалізуються шляхом використання складних пріоритетних дисциплін і вимагають більшої обчислювальної потужності, чим в ОС персональних комп'ютерів. Аналогічно обстоїть справа і з іншими функціями.
Мережна ОС має у своєму складі засобу передачі повідомлень між комп'ютерами по лініях зв'язку, що зовсім не потрібні в автономної ОС. На основі цих повідомлень мережна ОС підтримує поділ ресурсів комп'ютера між вилученими користувачами, підключеними до мережі. Для підтримки функцій передачі повідомлень мережні ОС містять спеціальні програмні компоненти, що реалізують популярні комунікаційні протоколи, такі як IP, IPX, Ethernet і інші.
Багатопроцесорні системи жадають від операційної системи особливої організації, за допомогою якої сама операційна система, а також підтримувані нею додатка могли б виконуватися паралельно окремими процесорами системи Інші вимоги пред'являються до операційних систем кластерів. Кластер - слабко зв'язана сукупність декількох обчислювальних систем, що працюють спільно для виконання загальних додатків, і які представляються користувачу єдиною системою. Поряд зі спеціальною апаратурою для функціонування кластерних систем необхідна і програмна підтримка з боку операційної системи, що зводиться в основному до синхронізації доступу до поділюваних ресурсів, виявленню відмовлень і динамічної реконфігурації системи. Однієї з перших розробок в області кластерних технологій були рішення компанії Digital Equipment на базі комп'ютерів VAX.
Особливості областей використання
Багатозадачні ОС підрозділяються на три типи відповідно до використаного при їхній розробці критеріями ефективності:
Системи пакетної обробки призначалися для рішення задач в основному обчислювального характеру, не потребуючого швидкого одержання результатів. Головною метою і критерієм ефективності систем пакетної обробки є максимальна пропускна здатність, тобто рішення максимального числа задач в одиницю часу. Для досягнення цієї мети в системах пакетної обробки використовуються наступна схема функціонування: на початку роботи формується пакет завдань, кожне завдання містить вимога до системних ресурсів; з цього пакета завдань формується мультипрограмна суміш, тобто безліч одночасна виконуваних задач. Для одночасного виконання вибираються задачі, що пред'являють вимоги, що відрізняються, до ресурсів, так, щоб забезпечувалося збалансоване завантаження всіх будов обчислювальної машини; так, наприклад, у мультипрограмній суміші бажано одночасна присутність обчислювальних задач і задач з інтенсивним уведенням-виводом. Отже, у таких ОС неможливо гарантувати виконання того чи іншого завдання протягом визначеного періоду часу. У системах пакетної обробки переключення процесора з виконання однієї задачі на виконання іншої відбувається тільки у випадку, якщо активна задача сама відмовляється від процесора, наприклад, через необхідність виконати операцію введення-виводу. Тому одна задача може надовго зайняти процесор, що унеможливлює виконання інтерактивних задач.
Системи поділу часу покликані виправити основний недолік систем пакетної обробки - ізоляцію користувача-програміста від процесу виконання його задач. Кожному користувачу системи поділу часу надається термінал, з якого він може вести діалог зі своєю програмою. Тому що в системах поділу часу кожній задачі виділяється тільки квант процесорного часу, жодна задача не займає процесор надовго, і час відповіді виявляється прийнятним. Якщо квант обраний досить невеликим, то у всіх користувачів, що одночасно працюють на одній і тій же машині, складається враження, що кожний з них одноосібно використовує машину. Ясно, що системи поділу часу володіють меншою пропускною здатністю, чим системи пакетної обробки, тому що на виконання приймається кожна запущена користувачем задача, а не та, котра "вигідна" системі, і, крім того, маються накладні витрати обчислювальної потужності на більш часте переключення процесора з задачі на задачу. Критерієм ефективності систем поділу часу є не максимальна пропускна здатність, а зручність і ефективність роботи користувача.
Системи реального часу застосовуються для керування різними технічними об'єктами, такими, наприклад, як верстат, супутник, наукова експериментальна чи установка технологічними процесами, такими, як гальванічна лінія, доменний процес і т.п. У всіх цих випадках існує гранично припустимий час, протягом якого повинна бути виконана та чи інша програма, що керує об'єктом, у противному випадку може відбутися аварія: супутник вийде з зони видимості, експериментальні дані, що надходять з датчиків, будуть загублені, товщина гальванічного покриття не буде відповідати нормі. Таким чином, критерієм ефективності для систем реального часу є їхня здатність витримувати заздалегідь задані інтервали часу між запуском програми й одержанням результату (керуючого впливу). Цей час називається часом реакції системи, а відповідне властивість системи - реактивністю. Для цих систем мультипрограмна суміш являє собою фіксований набір заздалегідь розроблених програм, а вибір програми на виконання здійснюється виходячи з поточного стану чи об'єкта відповідно до розкладу планових робіт.
Деякі операційні системи можуть сполучати в собі властивості систем різних типів, наприклад, частина задач може виконуватися в режимі пакетної обробки, а частина - у режимі реального чи часу в режимі поділу часу. У таких випадках режим пакетної обробки часто називають фоновим режимом.