Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СПЗ_лекції.docx
Скачиваний:
148
Добавлен:
23.02.2016
Размер:
136.33 Кб
Скачать

Лекція 2. Структура операційної системи.

  1. Огляд апаратного забезпечення комп’ютера.

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

Концептуально простий персональний комп’ютер можна представити у вигляді абстрактної моделі (наприклад, рис.2.1)

Рис.2.1. Деякі компоненти персонального комп’ютера.

Центральний процесор, пам’ять і пристрої введення-виведення з’єднані системною шиною, по якій вони обмінюються один з одним інформацією [Сучасні ПК мають більш складну структуру, яка включає декілька шин.]

  1. Центральний процесор.

Центральний процесор виступає основною складовою частиною комп’ютера. Він вибирає з пам’яті команди та виконує їх. Звичайний цикл роботи процесора виглядає так : він читає першу команду, декодує її для визначення її типу та операндів, виконує команду, потім зчитує, декодує та виконує наступні команди. Таким чином, здійснюється виконання програм. Для кожного центрального процесора існує набір команд, який він в змозі виконати. Всі центральні процесори містять внутрішні регістри для зберігання ключових змінних та тимчасових результатів. Крім основних регістрів, більшість комп’ютерів мають декілька спеціальних регістрів, які видимі для програміста. Один з них називають лічильником команд (РС). В ньому міститься адреса наступної, яка знаходиться в черзі на виконання, команди. Ще один регістр процесора називається вказівником стеку (SP). Він містить адресу вершини стека в пам’яті. Регістр PSW(слово стану процесора) містить біти коду станів, які задаються командами порівняння, пріоритетом центрального процесора та іншу службову інформацію. Операційна система повинна знати про всі регістри.

З метою покращення характеристик центральних процесорів їх розробники відмовились від простої моделі, в якій за один такт може бути зчитана, декодована та виконана тільки одна команда. Багато сучасних процесорів мають можливість виконувати декілька команд одночасно. Наприклад, у процесора можуть бути роздільні модулі, які займаються вибіркою, декодуванням та виконанням команд, і під час виконання команди під номером n він може декодувати команду з номером n+1 та зчитувати команду з номером n+2. подібну організацію процесу називають конвеєром. Три його стадії зображено на рис. 2.2.

Рис. 2.2. Конвеєр з трьома стадіями.

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

Рис. 2.3. Суперскалярний процесор.

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

  1. Пам’ять комп’ютера.

Системи пам’яті конструюються у вигляді ієрархії шарів (рис. 2.4)

Рис.2.4. Типова ієрархічна структура пам’яті (числа приблизні)

Описана ієрархія є найбільш типовою. Але в ній може бути присутнім також оптичний диск, невелика кількість постійної пам’яті з довільним доступом (ПЗП), CMOS-пам’ять (для зберігання поточної дати і часу в більшості випадків).

  1. Поняття про драйвери пристроїв введення-виведення

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

  1. Основні відомості про структуру системи Pentium

Структура, показана на рис.2.1, на протязі багатьох років використовувалась на міні-комп’ютерах, а також на перших моделях IBM PC. Але оскільки процесори і пам’ять почали працювати швидше, то можливості однієї шини по керуванню всією передачею даних досягли своєї межі. В результату в систему добавились додаткові шини, як для прискорення спілкування з пристроєм введення-виведення, так і для пересилки даних між процесором і пам’яттю. Внаслідок цієї еволюції на даний час велика система Pentium виглядає приблизно так, як на рис.2.5.

В цій системі вісім шин (шина кеша, локальна шина, шина пам’яті, PCI, SCSI, USB, IDE та ISA), кожна з своєю швидкістю передачі даних та своїми функціями. В операційній системі, для керування комп’ютером і його конфігурацією повинні знаходитись відомості про всі ці шини.

[PCI—інтерфейс периферійних пристроїв;

USB—універсальна послідовна шина, для того, щоб під’єднати до комп’ютера всі повільні пристрої введення-виведення, такі як клавіатура і миша;

SCSI—це високопродуктивна шина яка застосовується для швидких дисків, сканерів і інших пристроїв, які потребують значної пропускної здатності;

IDE—для приєднання периферійних пристроїв до системи].

Працюючи в оточені, зображеному на рис.2.5, операційна система повинна вміти розпізнавати апаратні складові та вміти їх налагоджувати.

  1. Основні поняття операційної системи.

Ключовим поняттям операційної системи виступає процес. Процесом називають програму в момент виконання. З кожним процесом пов’язується його адресний простір—це список адрес в пам’яті від деякого мінімуму до деякого максимуму, які процес може прочитати і в які він може писати. Адресний простір містить саму програму, дані до неї і її стек. В багатьох операційних системах вся інформація про кожен процес, додатково до вмісту його адресного простору, міститься в таблиці операційної системи (таблиця процесів, вона представляє собою масив або зв’язний список структур, по одній на кожен існуючий в даний момент процес). Таким чином, призупинений процес складається з власного адресного простору, який називають образом пам’яті і компонентів таблиці процесу, яка містить крім інших величин, його регістри.

  1. Загальна структура операційної системи.

Найчастіше використовується п’ять різних варіантів:

─ монолітні системи;

─ багаторівневі системи;

─ віртуальні машини;

─ екзоядро;

─ модель клієнт-сервер.

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

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

Але монолітні системи можуть мати деяку структуру, наприклад:

    1. Головна програма, яка викликає потрібну службову процедуру.

    2. Набір службових процедур, які виконують системні виклики.

    3. Набір утиліт, які обслуговують службові процедури.

Поділ процедур на 3 рівні показано на рис.2.6.

Рис.2.6. Програмна модель монолітної системи

Узагальненням підходу, зображеного на рис.2.6, є організація операційної системи у вигляді ієрархії рівнів. Першою такою системою була проста пакетна система для голандського комп’ютера Electrologica X8, пам’ять якого складалась з 32 К 27-розрядних слів. Система включала 6 рівнів (табл.2.1) і була написана Е. Дейкстрою (Нідерланди, 1968р.).