69297

Поняття операційної системи, її призначення та функції

Лекция

Информатика, кибернетика и программирование

Комп’ютерні системи від самого початку розроблялися для розв’язання практичних задач користувачів. Можна дати таке означення операційної системи. Призначення операційної системи Операційні системи забезпечують поперше зручність використання комп’ютерної...

Украинкский

2014-10-02

65.5 KB

30 чел.

Лекція № 1

Тема: Поняття операційної системи, її призначення та функції

План

  1.  Поняття операційної системи
  2.  Призначення операційної системи
  3.  Функціональні компоненти операційних систем

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

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

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

Можна дати таке означення операційної системи.

Операційна система (ОС) — це програмне забезпечення, що реалізує зв'язок між прикладними програмами й апаратними засобами комп'ютера.

Призначення операційної системи

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

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

Операційна система як розширена машина

За допомогою операційної системи у прикладного програміста (а через його програми і в користувача) має створюватися враження, що він працює з розширеною машиною [4, 29, 41, 44].

Апаратне забезпечення комп'ютера недостатньо пристосоване до безпосереднього використання у програмах. Наприклад, якщо розглянути роботу із пристроями введення-виведення на рівні команд відповідних контролерів, то можна побачити, що набір таких команд обмежений, а для багатьох пристроїв — примітивний (є навіть вислів: «апаратне забезпечення потворне»). Операційна система приховує такий інтерфейс апаратного забезпечення, замість нього програмістові пропонують інтерфейс прикладного програмування (рис. 1.1), що використовує поняття вищого рівня (їх називають абстракціями).

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

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

Операційна система як розподілювач ресурсів

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

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

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

Функціональні компоненти операційних систем

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

Спосіб побудови системи зі складових частин та їхній взаємозв'язок визначає архітектура операційної системи. Підходи до реалізації архітектури ОС будуть розглянуті в розділі 2.

Керування процесами й потоками

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

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

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

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

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

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

захисту ресурсів (наприклад, вони спільно використовують адресний простір свого процесу).

Керування пам'яттю

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

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

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

Керування введенням-виведенням

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

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

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

Керування файлами та файлові системи

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

Файл — це набір даних у файловій системі, доступ до якого здійснюється за іменем. Термін «файлова система» може вживатися для двох понять: принципу організації даних у вигляді файлів і конкретного набору даних (зазвичай відповідної частини диска), організованих відповідно до такого принципу. У рамках ОС може бути реалізована одночасна підтримка декількох файлових систем.

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

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

Мережна підтримка

Мережні системи

Сучасні операційні системи пристосовані до роботи в мережі, їх називають мережними операційними системами [29]. Засоби мережної підтримки дають ОС можливість:

+  надавати локальні ресурси (дисковий простір, принтери тощо) у загальне користування через мережу, тобто функціонувати як сервер;

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

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

Розподілені системи

Мережні ОС не приховують від користувача наявність мережі, мережна підтримка в них не визначає структуру системи, а збагачує її додатковими можливостями. Є також розподілені ОС [б, 45], які дають змогу об'єднати ресурси декількох комп'ютерів у розподілену систему. Вона виглядає для користувача як один комп'ютер з декількома процесорами, що працюють паралельно. Розподілені та багатопроцесорні системи є двома основними категоріями ОС, які використовують декілька процесорів. Вони мають багато спільного й будуть розглянуті в розділі 20.

Безпека даних

Під безпекою даних в ОС розуміють забезпечення надійності системи (захисту даних від втрати у разі збоїв) і захист даних від несанкціонованого доступу (випадкового чи навмисного).

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

Інтерфейс користувача

Розрізняють два типи засобів взаємодії користувача з ОС: командний інтерпретатор (shell) і графічний інтерфейс користувача (GUI).

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

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

Питання для самоконтролю:

  1.  Поняття операційної системи.
  2.  Причини появи операційних систем.
  3.  Призначення ОС як розширеної машини.
  4.  Операційна система як розподілювач ресурсів.
  5.  Функціональні компоненти ОС. Охарактеризувати.


 

А также другие работы, которые могут Вас заинтересовать

6162. Осциллографические измерения 320.5 KB
  Осциллографические измерения 1. Электронно-лучевой осциллограф Электронно-лучевой осциллограф (от латинского слова осциллум - колебание и греческого графо - пишу) или осциллоскоп (греч. скопео - вижу) - прибор, предназначен...
6163. Робота з симулятором машини Ноймана. Дослідження виконання машинного коду в автоматичному режимі 170.61 KB
  Мета: опанувати роботу на симуляторі машини Ноймана, зрозуміти і дослідити принцип виконання програми машиною Ноймана. Завдання: запустити симулятор, увести до нього коди машинних інструкцій і коди чисел, навчитися утворювати і змінювати ці ко...
6164. Редактор логических схем алгоритмовАвтоматизация проектирования компьютерных систем 125.74 KB
  Автоматизация проектирования компьютерных систем Краткое описание программы Интерфейс пользователя: Пользователь может выполнить одно из следующих действий: Открыть существующий файл для просмотра и дальнейшего редактирования алгоритма. ...
6165. Маркетинговые исследования рынка шоколадных батончиков 224.41 KB
  Маркетинговые исследования рынка шоколадных батончиков Введение Рынок шоколадных батончиков достаточно привлекателен, является одним из самых значительных сегментов  национальной экономики, а также  принадлежит к высокодоходным отраслям. Следствием ...
6166. Естетично-екологічне виховання у дошкільних навчальних закладах 268.5 KB
  Екологічна криза, що виникла через непродумане господарювання людини, змушує змінити своє ставлення до довкілля. Цій меті покликана служити система екологічного виховання, яка є окремим напрямом педагогічної теорії та практики.
6167. Принципи конфігурування коммутатора Cisco Catalyst 2960 610.5 KB
  Мета роботи: Вивчити принципи конфігурування коммутатора CiscoCatalyst 2960. Порядок виконання роботи Виконання даної лабораторної роботи, складається з двох частин: Підготовки на емуляторі Packet Tracerv 4 Робота на ко...
6169. Бази даних XML 130 KB
  Бази даних XML Завдання Вивчити відповідні розділи документації СУБД. Навести власні приклади використання конструкцій мови доступу до СУБД. Підготувати звіт у вигляді файлу з прикладами та його друкованого варіанту. Створення ...
6170. НАГНЕТАТЕЛЬНАЯ ФУНКЦИЯ СЕРДЦА. ФАЗОВЫЙ АНАЛИЗ СЕРДЕЧНОГО ЦИКЛА. ЯВЛЕНИЯ, СОПРОВОЖДАЮЩИЕ РАБОТУ СЕРДЦА 164.23 KB
  Нагнетательная функция сердца. Роль клапанного аппарата в ее реализации. Закон Франка-Старлинга (закон «сердца»). Причины наполнения сердца кровью. Фазовый анализ сердечного цикла. Звуковые и механические явления, сопровождающие работу сердца (тоны сердца, верхушечный толчок), их диагностическое значение.