- •6.080401 «Інформаційні управляючи системи і технології» 6.080402 «Інформаційні технології проектування»
- •1. Структура та обсяг дисципліни
- •2. Основи програмування на мові с
- •2.1 Найпростіші конструкції мови
- •2.2 Типи даних
- •2.4 Операції мови с
- •2.5 Структура простої с програми
- •2.6 Організація введення-виведення
- •2.7 Компіляція в системі Linux
- •2.8 Організація розгалужень в програмі
- •2.9 Організація циклів
- •2.10 Оператор break
- •2.11 Оператор continue
- •2.11 Масиви
- •2.12 Функції
- •2.13 Рекурсивні функції
- •2.14 Читання і запис текстових файлів
- •2.15 Структури даних
- •3. Операційні системи
- •3.1. Поняття операційної системи
- •3.1.1 Призначення операційної системи
- •3.1.2 Операційна система як розширена машина
- •3.1.3 Операційна система як розподілювач ресурсів
- •3.2 Класифікація сучасних операційних систем
- •4 Архітектура операційних систем
- •4.1 Базові поняття архітектури операційних систем
- •4.1.1 Ядро системи. Привілейований режим і режим користувача
- •4.2 Реалізація архітектури операційних систем
- •4.2.1 Монолітні системи
- •4.2.2 Багаторівневі системи
- •4.3 Системи з мікроядром
- •4.4 Концепція віртуальних машин
- •5. Підтримка програмування в oc unix.
- •5.1. Вивчення передачі інформації
- •5.2. Змінні оточення
- •5.3. Обробка помилок
- •5.4. Правила формування і засоби розбору командних рядків
- •6. Логічна організація файлових систем
- •6. 1. Поняття файла і файлової системи
- •6.1.1. Поняття файла
- •6.1.2. Поняття файлової системи
- •6.1.3. Типи файлів
- •6.1.4. Імена файлів
- •6. 2. Організація інформації у файловій системі
- •6.2.1. Розділи
- •6.2.2. Каталоги
- •6.2.3. Зв’язок розділів і структури каталогів
- •6. 3. Зв’язки
- •6. 3. 1. Жорсткі зв’язки
- •6. 3. 2. Символічні зв’язки
- •6. 4. Атрибути файлів
- •6. 5. Операції над файлами і каталогами
- •6. 5. 1. Підходи до використання файлів процесами
- •6. 5. 2. Загальні відомості про файлові операції
- •7. Файлові операції posix
- •7.1. Відкриття і створення файлів
- •7.2. Закриття файла
- •7.3. Читання і записування даних
- •7.4. Збирання інформації про атрибути файла
- •7.5 Операції над каталогами
- •Література
3. Операційні системи
3.1. Поняття операційної системи
Причиною появи операційних систем була необхідність створення зручних у використанні комп’ютерних систем (під комп’ютерною системою будемо розуміти сукупність апаратного і програмного забезпечення комп’ютера). Комп’ютерні системи від самого початку розроблялися для розв’язання практичних задач користувачів. Оскільки робити це за допомогою лише апаратного забезпечення виявилося складно, були створені прикладні програми. Для таких програм знадобилися загальні операції керування апаратним забезпеченням, розподілу апаратнихз ресурсів тощо. Ці операції згрупували в рамках окремого рівня програмного забезпечення, який і стали називати операційною системою.
Далі можливості операційних систем вийшли далеко за межі базовогонабору операцій, необхідних прикладним програмам, але проміжне становище таких систем між прикладнимим програмами й апаратним забезпеченням залишилося незмінним.
Таким чином, операційна система (ОС) – це програмне забезпечення, що реалізує зв’язок між прикладнимим програмами й апаратнимим засобами комп’ютера.
3.1.1 Призначення операційної системи
ОС реалізує безліч функцій, зокрема:
визначає так званий інтерфейс користувача;
забезпечує розподіл апаратних ресурсів між користувачами;
дає можливість працювати з общимімі даними в режимі колективного користування;
планує доступ користувачів до загальних ресурсів;
забезпечує ефективне виконання операцій введення/виведення;
здійснює оновлення інформації про обчислювальний процес у разі помилок.
Операційні системи забезпечують, поперше, зручність використання комп’ютерної системи, по-друге, ефективність і надійність її роботи.
Перша функція властива ОС як розширеній машині, друга – ОС як розподілювач апаратних ресурсів.
3.1.2 Операційна система як розширена машина
За допомогою операційної системи у прикладного програміста (а через його програми і в користувача) має створюватися враження, що він працює з розширеною машиною.
Апаратне забезпечення недостатньо пристосоване для безпосереднього використання у програмах. Наприклад, якщо розглянути роботу із пристроями введення-виведення на рівні команд відповідних контролерів, то можна побачити, що набір таких команд обмежений, а для багатьох пристроїв – примітивний. Операційна система приховує такий інтерфейс апаратного забезпечення, замість нього програмістові пропонують інтерфейс прикладного програмування, що використовує поняття вищого рівня (їх називають абстракціями).
Наприклад, при роботі з диском типовою абстракцією є файл. працювати з файлами простіше, ніж безпосередньо з контролером диска (не потрібно враховувати переміщення головок дисковода, запускати і зупиняти мотор тощо), внаслідок цього програміст може зосередитися на суті свого прикладного завдання. За взаємодію з контролером диска відповідає операційна система.
Виділення абстракцій дає змогу досягти того, що код ОС і прикладних програм не потребує зміни при переході на нове апаратне забезпечення. Наприклад, якщо втсановити на комп’ютері дисковий пристрій нового типу (за умови, що він підтримувається ОС), всі його особливості будуть враховані на рівні ОС, а прикладні програми продовживатимуть використовувати файли, як і раніше. Така характеристика системи називається апаратною незалежністю. Можна сказати, що ОС надають апаратно-незалежне середовище для виконання прикладних програм.
Абстракції
Деталі доступу
Рис. 1 Взаємодія ОС із апаратним забезпеченням і застосуваннями