Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Операційна система3.doc
Скачиваний:
3
Добавлен:
10.11.2018
Размер:
143.36 Кб
Скачать

Складові ос

До складу операційної системи входять:

  • Ядро операційної системи, що забезпечує розподіл та управління ресурсами обчислювальної системи;

  • базовий набір прикладного програмного забезпечення, системні бібліотеки та програми обслуговування.

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

  • управління введенням-виведенням інформації (підсистема вводу-виводу ядра ОС);

  • управління оперативною пам'яттю (підсистема управління оперативною пам'яттю ядра ОС);

  • управління процесами (підсистема управління процесами ядра ОС).

Кожна з цих підсистем представлена відповідними функціями ядра системи.

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

Існує три основних механізми забезпечення багатозадачності (планування задач):

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

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

  3. виділення під окрему задачу окремого процесора в багатопроцесорних системах.

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

В сучасних системах, як правило комбінується методи 2 і 3.

Інтерфейс ядра операційної системи

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

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

Системні виклики найчастіше мають синтаксис функції мови програмування, на якій написано ядро ОС.

Підсистема управління введенням-виведенням

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

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

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

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