Визначення операційної системи Місце ОС у програмному забезпеченні

[ виправити ] текст може містити помилки, будь ласка перевіряйте перш ніж використовувати.

скачати

ВИЗНАЧЕННЯ ОПЕРАЦІЙНОЇ СИСТЕМИ. МІСЦЕ ОС В ПРОГРАМНЕ ЗАБЕЗПЕЧЕННЯ

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

  • надання користувачу або програмісту замість реальної апаратури комп'ютера розширеної віртуальної машини, з якою зручніше працювати і яку легше програмувати;

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

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

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

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

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

До числа основних ресурсів сучасних обчислювальних систем можуть бути віднесені такі ресурси, як

  • процесори,

  • основна пам'ять,

  • таймери,

  • набори даних,

  • диски,

  • накопичувачі на магнітних стрічках,

  • принтери,

  • мережеві пристрої та ін

Ресурси розподіляються між процесами.

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

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

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

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

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

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

  • задоволення запитів на ресурси;

  • відстеження стану й облік використання ресурсу - тобто підтримка оперативної інформації про те, зайнятий або вільний ресурс і яка частка ресурсу вже розподілена;

  • вирішення конфліктів між процесами.

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

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

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

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

  • Підсистеми управління процесами,

  • Підсистеми управління пам'яттю,

  • Підсистеми управління файлами і зовнішніми пристроями,

  • Підсистеми захисту даних і адміністрування,

  • Інтерфейс прикладного програмування,

  • Підсистеми інтерфейсу користувача.

Управління процесами

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

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

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

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

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

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

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

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

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

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





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

Існує велика різноманітність алгоритмів розподілу пам'яті. Вони можуть відрізнятися:

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

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

  • в деяких системах розподіл пам'яті виконується сторінками фіксованого розміру, а в інших - сегментами змінної довжини

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

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

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

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

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

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

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

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

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

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

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

Додати в блог або на сайт

Цей текст може містити помилки.

Програмування, комп'ютери, інформатика і кібернетика | Контрольна робота
42.6кб. | скачати


Схожі роботи:
Революція в програмному забезпеченні УЧПУ
Архітектура операційної системи MS DOS Структура ОС Ms-Dos розбивка на модулі визначення ст
Установка операційної системи
Функціонування операційної системи
Процес створення операційної системи
Особливості роботи операційної системи Windows
Проектування операційної системи малого підприємства
Переваги і недоліки операційної системи Wіndows
Налаштування інтерфейсу операційної системи Windows
© Усі права захищені
написати до нас