Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка.doc
Скачиваний:
20
Добавлен:
08.11.2018
Размер:
1.15 Mб
Скачать

4.7 Архітектура операційних систем

Огляд програмного забезпечення

Програмне забезпечення можна розділити на дві загальні категорії:

  • прикладне програмне забезпечення

  • системне програмне забезпечення.

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

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

Можна виділити дві категорії системного програмного забезпечення:

  • власне операційна система (ОС)

  • обслуговуючі програми або утиліти.

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

Приведена класифікація проводить вельми умовні межі між системним і програмним забезпеченням, ОС і утилітами.

Компоненти операційної системи

Частину операційної системи, яка забезпечує інтерфейс ОС з користувачами, називають оболонкою. Сучасні оболонки виконують це завдання за допомогою графічного інтерфейсу користувача (Graphical User Interface, GUI), в якому об'єкти (файли, програми) представлені у вигляді піктограм. Ранні оболонки підтримували спілкування з користувачами за допомогою текстових повідомлень, що вводяться з клавіатури.

Деякі ОС дозволяють користувачу вибрати найбільш зручний для нього тип оболонки.

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

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

Будь-який доступ до файла надається і контролюється програмою управління файлами. Під час процедури відкриття файлу відбувається запит до програми управління файлами. Якщо доступ дозволяється, то вона надає інформацію, необхідну для пошуку файлу і роботи з ним. Інформація записується в область пам'яті - дескриптор файлу.

Інший компонент ядра ОС - набір драйверів пристроїв, що взаємодіють з контролерами пристроїв. Кожен драйвер пристрою розробляється для конкретного його типа (певного типа дисководу і т. д.) Драйвер перетворить запити, що поступають, в послідовність команд виконання окремих фізичних операцій, які потрібно виконати пристрою, пов'язаному з цим драйвером. Розробка інших елементів програмного забезпечення може вестися незалежно від специфічних особливостей конкретних пристроїв. Операційна система настроюється на використання певних периферійних пристроїв за допомогою простої установки відповідних драйверів.

Компонент ядра ОС - програма управління пам'яттю вирішує задачу координації використання машиною її основної пам'яті. У однозадачному середовищі програма, що виконується, розміщується в основній пам'яті, виконується, а потім замінюється програмою наступного завдання. У багатозадачному середовищі в основній пам'яті знаходиться одночасно багато програм і блоків даних, причому кожна програма займає власну область пам'яті, відведену їй програмою управління пам'яттю.

За ситуації, коли необхідний об'єм пам'яті перевищує реально існуючий об'єм, програма управління пам'яттю створює ілюзію збільшення об'єму пам'яті шляхом переміщення програм і даних з основної пам'яті на жорсткий диск і назад. Використовує віртуальну пам'ять. Наприклад для всіх програм, що виконуються, вимагається 64М основної пам'яті, а є тільки 32. Програма управління пам'яттю ділить необхідний об'єм на елементи - сторінки і зберігає вміст сторінок на ЖД. Типовий об'єм сторінки 4 К. Програма управління пам'яттю поміщає в основну пам'ять ті сторінки, які в даний момент повинні там знаходитися, заміщаючи ними ті, в яких більше немає необхідності.

Крім того до складу ядра ОС входить планувальник, що визначає послідовність виконання дій в системах з розділенням часу і диспетчер, що контролює розподіл тимчасових квантів для них.

Запуск операційної системи

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

Центральний процесор машини (ЦП) розроблений таким чином, що при його включенні програма, що виконується, кожного разу стартує з визначеної, наперед заданої адреси. Отже, саме в цьому місці основної пам'яті ЦП чекає знайти першу команду, яку потрібно виконати. Щоб гарантувати, що необхідна програма завжди буде присутня на вказаному місці, ця ділянка пам'яті зазвичай конструюється так, щоб її зміст був незмінним. Така пам'ять носить назву постійної пам'яті (постійний запам'ятовуючий пристрій, ПЗП). Послідовність бітів, одного разу поміщена в ПЗП за допомогою спеціального процесу, аналогічного напиленню провідників на підкладку чіпа, знаходиться там постійно, незалежно від того, включена машина або вимкнена.

У маленьких комп'ютерах, які використовують в керуємих приладах, в мікрохвильових печах, автомобільних системах запалення, представляється зручним виділити значний об'єм основної пам'яті під ПЗП, оскільки гнучкість в таких системах не потрібна. При кожному включенні виконується одна і та ж програма. Але у випадку з універсальними комп'ютерами ситуація інша і в них не практикується відведення великого об'єму основної пам'яті під постійні програми. Вміст пам'яті таких машин повинен бути змінним. Фактично велика частина пам'яті універсальних комп'ютерів в даний час сконструйована так, що її вміст може не тільки змінюватися, але і втрачатися при виключенні машини. Така пам'ять називається енергозалежною. Тому для початкового завантаження в комп'ютерах загального призначення лише мала частина основної пам'яті будується з мікросхем ПЗП. Ця область містить елементи пам'яті, в яких ЦП чекає знайти команди, що виконуються при включенні машини. Невелика програма, яка постійно знаходиться в цій області пам'яті, називається програмою первинного завантаження (bootstrap). Ця програма виконується автоматично при кожному включенні комп'ютера. Вона наказує ЦП зчитувати дані з наперед відомої ділянки зовнішньої пам'яті в енергозалежну основну пам'ять. В більшості випадків цими даними є програмний код операційної системи. Як тільки програми операційної системи будуть поміщені в основну пам'ять, програма первинного завантаження зажадає від ЦП виконати команду переходу в дану область пам'яті. В результаті стартують програми ядра, і операційна система починає контролювати подальшу діяльність машини.

У більшості сучасних персональних комп'ютерів програма первинного завантаження розроблена так, що перш за все вона намагається відшукати операційну систему на гнучкому диску (дискеті). Якщо дискета в машину не вставлена, програма завантаження автоматично приступає до зчитування операційної системи з жорсткого диска. Проте якщо дискета вставлена в пристрій, але не містить копії операційної системи, програма завантаження припиниться і видасть повідомлення про помилку оператору. Ви, ймовірно, стикалися з цим, коли включали персональний комп'ютер, забувши заздалегідь вийняти несистемну дискету з дисководу.