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



Скачати 103.59 Kb.
Pdf просмотр
Дата конвертації19.06.2017
Розмір103.59 Kb.

РОЗДІЛ 1.
План
1. Призначення і функції операційної системи
2. ОС як система управління ресурсами
3. Функціональні компоненти операційної системи автономного комп'ютера
4. Інтерфейс прикладного програмування

1.Призначення і функції операційної системи
Сьогодні існує велика кількість різних типів операційних систем, що відрізняються областями застосування, апаратними платформами і методами реалізації. А тож , це пояснює і значні функціональні відмінності цих ОС. Навіть у конкретної операційної
системи набір виконуваних функцій часто визначити не так просто — та функція, яка сьогодні виконується зовнішнім по відношенню до ОС компонентом, завтра може стати її
невід'ємною частиною і навпаки. Тому при вивченні операційних систем дуже важливо зі
всього різноманіття виділити ті функції, які властиві всім операційним системам як класу продуктів.
Операційні системи для автономного комп'ютера
Операційна система комп'ютера є комплексом взаємозв'язаних програм, який діє як
інтерфейс між додатками і користувачами з одного боку, і апаратурою комп'ютера з іншого боку. Відповідно до цього визначення ОС виконує дві групи функцій:
 надання користувачеві або програмістові замість реальної апаратури комп'ютера розширеної віртуальної машини, з якою зручніше працювати і яку легше програмувати;
 підвищення ефективності використання комп'ютера шляхом раціонального управління його ресурсами відповідно до деякого критерію.
2.ОС як система управління ресурсами
Операційна система не тільки надає користувачам і програмістам зручний інтерфейс до апаратних засобів комп'ютера, але і є механізмом, що розподіляє ресурси комп'ютера.
До основних ресурсів сучасних обчислювальних систем можуть бути віднесені такі
ресурси, як процесори, основна пам'ять, таймери, набори даных, диски, накопичувачі на магнітних стрічках, принтери, мережеві пристрої і деякі інші. Ресурси розподіляються між процесами. Процес (завдання) є базове поняття більшості сучасних ОС і часто стисло визначається як програма у стадії виконання. Програма — це статичний об'єкт, що є
файлом з кодами і даними. Процес — це динамічний об'єкт, який виникає в операційній системі після того, як користувач або сама операційна система вирішує «запустити програму на виконання», тобто створити нову одиницю обчислювальної роботи.
Наприклад, ОС може створити процес у відповідь на команду користувача run prgl.exe, де prgl. ехе — це ім'я файлу, в якому зберігається код програми.
Критерій ефективності, відповідно до якого ОС організовує управління ресурсами комп'ютера, може бути різним. Наприклад, в одних системах важливий такий критерій, як пропускна спроможність обчислювальної системи, в інших — час її реакції. Відповідно вибраному критерію ефективності операційні системи по-різному організовують обчислювальний процес.

Управління ресурсами включає рішення наступних загальних, не залежних від типу ресурсу задач:
 планування ресурсу — тобто визначення, якому процесу, коли і в якій кількості
(якщо ресурс може виділятися частинами) слід виділити даний ресурс;
 задоволення запитів на ресурси;
 відстежування стану і облік використання ресурсу — тобто підтримка оперативної
інформації про те, зайнятий або вільний ресурс і яка частка ресурсу вже розподілена;
 вирішення конфліктів між процесами.
Для вирішення цих загальних завдань управління ресурсами різні ОС використовують різні алгоритми, особливості яких кінець кінцем і визначають облік ОС в цілому,
включаючи характеристики продуктивності, область використання і навіть призначений для користувача інтерфейс. Наприклад, вживаний алгоритм управління процесором в значній мірі визначає, чи може ОС використовуватись як система розділення часу, система пакетної обробки або система реального часу.
ОС як віртуальна машина
Для того, щоб успішно вирішувати свої задачі, сучасний користувач або навіть прикладний програміст може обійтися без досконального знання апаратного пристрою комп'ютера. Йому не обов'язково бути в курсі того, як функціонують різні електронні
блоки і електромеханічні вузли комп’ютера. Більш того, дуже часто користувач може не знати навіть системи команд процесора. Користувач-програміст звик мати справу з могутніми високорівневими функціями, які йому надає операційна система.
Операційна система позбавляє програмістів не тільки від необхідності безпосередньо працювати з апаратурою дискового накопичувача, надаючи їм простій файловий
інтерфейс, але і бере на себе всі інші рутинні операції, пов'язані з управлінням іншими апаратними пристроями комп'ютера: фізичною пам'яттю, таймерами, принтерами і т.д.
В результаті реальна машина, здатна виконувати тільки невеликий набір елементарних дій, визначуваних її системою команд, перетворюється на віртуальну машину, що виконує широкий набір набагато могутніших функцій. Віртуальна машина теж управляється командами, але це вже команди іншого, вищого рівня: видалити файл з певним ім'ям, запустити на виконання деяку прикладну програму, підвищити пріоритет завдання, вивести текст з файлу на друк. Таким чином, призначення ОС полягає в наданні користувачеві/програмістові деякої розширеної віртуальної машини, яку легше програмувати і з якою легше працювати, чим безпосередньо з апаратурою, складовій реальний комп'ютер або реальну мережу.
3.Функціональні компоненти операційної системи
автономного комп'ютера
Функції операційної системи автономного комп'ютера зазвичай діляться або відповідно до типів локальних ресурсів, якими управляє ОС, або відповідно до специфічних завдань, застосовних до всіх ресурсів. Іноді такі групи функцій називають підсистемами. Найбільш важливими підсистемами управління ресурсами є підсистеми управління процесами, пам'яттю, файлами і зовнішніми пристроями, а підсистемами,
загальними для всіх ресурсів, є підсистеми призначеного для користувача інтерфейсу,
захисту даних і адміністрування.

Управління процесами
Найважливішою частиною операційної системи, що безпосередньо впливає на функціонування обчислювальної машини, є підсистема управління процесами.
Для кожного новостворюваного процесу ОС генерує системні інформаційні структури,
які містять дані про потреби процесу в ресурсах обчислювальної системи, а також про фактично виділені йому ресурси. Таким чином, процес можна також визначити як деяку заявку на споживання системних ресурсів.
Щоб процес міг бути виконаний, операційна система повинна призначити йому область оперативної пам'яті, в якій будуть розміщені коди і дані процесу, а також надати йому необхідну кількість процесорного часу. Крім того, процесу може знадобитися доступ до таких ресурсів, як файли і пристрої введення-виводу.
У інформаційні структури процесу часто включаються допоміжні дані, що характеризують історію перебування процесу в системі (наприклад, яку частку часу процес витратив на операції введення-виводу, а яку на обчисления), його поточний стан (активне або заблоковане), ступінь привілейованості процесу (значення пріоритету). Дані такого роду можуть враховуватися операційною системою при ухваленні рішення про надання ресурсів процесу.
У мультипрограмній операційній системі одночасно може існувати декілька процесів.
Частина процесів породжується за ініціативою користувачів і їх додатків, такі процеси зазвичай називають призначеними для користувача. Інші процеси, звані системними,
ініціалізувалися самою операційною системою для виконання своїх функцій.
Оскільки процеси часто одночасно претендують на одні і ті ж ресурси, то в обов'язки
ОС входить підтримка черг заявок процесів на ресурси, наприклад черги до процесора,
до принтера, до послідовного порту.
Важливим завданням операційної системи є захист ресурсів, виділених даному процесу, від решти процесів. Одним з ресурсів процесу, що найретельніше захищаються, є області оперативної пам'яті, в якій зберігаються коди і дані процесу.
Сукупність всіх областей оперативної пам'яті, виділених операційною системою процесу, називається його адресним простором. Говорять, що кожен процес працює в своєму адресному просторі, маючи на увазі захист адресних просторів, здійснювану
ОС. Захищаються і інші типи ресурсів, такі як файли, зовнішні пристрої і т.д.
Операційна система може не тільки захищати ресурси, виділені одному процесу, але і
організовувати їх сумісне використання, наприклад вирішувати доступ до деякої
області пам'яті декільком процесам.
Впродовж періоду існування процесу його виконання може бути багато разів перерване
і продовжене. Для того, щоб відновити виконання процесу, необхідно відновити стан його операційного середовища. Стан операційного середовища ідентифікується станом регістрів і програмного лічильника, режимом роботи процесора, покажчиками на відкриті файли інформацією про незавершені операції введення-виводу, кодами помилок виконуваних даним процесом системних викликів і т.д. Ця інформація називається контекстом процесу. Говорять, що при зміні процесу відбувається перемикання контекстів.
Операційна система бере на себе також функції синхронізації процесів, що дозволяють процесу припиняти своє виконання до настання якої-небудь події в системі, наприклад
завершення операції введення-виводу, здійснюваною по його запиту операційною системою.
У операційній системі немає однозначної відповідності між процесами і програмами.
Один і той же програмний файл може породити декілька паралельно виконуваних процесів, а процес може в ході свого виконання змінити програмний файл і почати виконувати іншу програму.
Для реалізації складних програмних комплексів корисно буває організувати їх роботу у вигляді декількох паралельних процесів, які періодично взаємодіють один з одним і
обмінюються деякими даними. Оскільки операційна система захищає ресурси процесів
і не дозволяє одному процесу писати або читати з пам'яті іншого процесу, то для оперативної взаємодії процесів ОС повинна надавати особливі засоби, які називають засобами межпроцессної взаємодії.
Таким чином, підсистема управління процесами планує виконання процесів, тобто розподіляє процесорний час між декількома процесами, що одночасно існують в системі, займається створенням і знищенням процесів, забезпечує процеси необхідними системними ресурсами, підтримує синхронізацію процесів, а також забезпечує взаємодію між процесами.
Управління пам'яттю
Пам'ять є для процесу таким же важливим ресурсом, як і процесор, оскільки процес може виконуватися процесором тільки в тому випадку, якщо його коди і дані (не обов'язково все) знаходяться в оперативній пам'яті.
Управління пам'яттю включає розподіл наявної фізичної пам'яті між тими, що всіма
існують в системі в даний момент процесами, завантаження кодів і даних процесів у відведені ним області пам'яті, настройку адресно-залежних частин кодів процесу на фізичні адреси виділеної області, а також захист областей пам'яті кожного процесу.
Існує велика різноманітність алгоритмів розподілу пам'яті. Вони можуть відрізнятися,
наприклад, кількістю що виділяються процесу областей пам'яті (у одних випадках пам'ять виділяється процесу у вигляді однієї безперервної області, а в інших — у вигляді декількох несуміжних областей), мірою свободи межі областей (вона може бути жорстко зафіксована на весь час існування процесу або ж динамічно переміщатися при виділенні процесу додаткових об'ємів пам'яті). У деяких системах розподіл пам'яті виконується сторінками фіксованого розміру, а в інших — сегментами змінної довжини.
Одним з найбільш популярних способів управління пам'яттю в сучасних операційних системах є так звана віртуальна пам'ять. Наявність в ОС механізму віртуальної пам'яті
дозволяє програмістові писати програму так, як ніби в його розпорядженні є однорідна оперативна пам'ять великого об'єму, що часто істотно перевищує об'єм наявної
фізичної пам'яті. Насправді всі дані, використовувані програмою, зберігаються на диску і при необхідності частинами (сегментами або сторінками) відображаються у фізичну пам'ять. При переміщенні кодів і даних між оперативною пам'яттю і диском підсистема віртуальної пам'яті виконує трансляцію віртуальних адресів, отриманих в результаті компіляції і компоновки програми, у фізичні адреси елементів оперативної
пам'яті. Дуже важливо, що всі операції по переміщенню кодів і даних між оперативною пам'яттю і дисками, а також трансляція адресу виконуються ОС прозоро для програміста.

Таким чином, функціями ОС по управлінню пам'яттю є відстежування вільної і
зайнятої пам'яті; виділення пам'яті процесам і звільнення пам'яті при завершенні
процесів; захист пам'яті; витіснення процесів з оперативної пам'яті на диск, коли розміри основної пам'яті недостатні для розміщення в ній всіх процесів, і повернення
їх в оперативну пам'ять, коли в ній звільняється місце, а також настройка адресу програми на конкретну область фізичної пам'яті.
Управління файлами і зовнішніми пристроями
Здатність ОС до «екранування» складнощів реальної апаратури дуже яскраво виявляється в одній з основних підсистем ОС — файловій системі. Операційна система віртуалізує окремий набір даних, що зберігаються на зовнішньому накопичувачі, у вигляді файлу — простій неструктурованій послідовності байтів, що має символьне ім'я. Для зручності роботи з даними файли групуються в каталоги, які, у свою чергу, утворюють групи — каталоги вищого рівня. Користувач може за допомогою ОС виконувати над файлами і каталогами такі дії, як пошук по імені,
видалення, виведення вмісту на зовнішній пристрій (наприклад, на дисплей), зміну і
збереження вмісту.
При виконанні своїх функцій файлова система тісно взаємодіє з підсистемою управління зовнішніми пристроями, яка по запитах файлової системи здійснює
передачу даних між дисками і оперативною пам'яттю.
Підсистема управління зовнішніми пристроями, звана також підсистемою введення- виводу, виконує роль інтерфейсу до всіх пристроїв, підключених до комп'ютера.
Спектр цих пристроїв дуже обширний. Номенклатура накопичувачів, що випускаються, на жорстких, гнучких і оптичних дисках, принтерів, сканерів, моніторів,
плоттерів, модемів, мережевих адаптерів і більш специфічних пристроїв введення- виводу, таких як, наприклад, аналого-цифрові перетворювачі, може налічувати сотні
моделей. Ці моделі можуть істотно відрізнятися набором і послідовністю команд, за допомогою яких здійснюється обмін інформацією з процесором і пам'яттю комп'ютера,
швидкістю роботи, кодуванням передаваних даних, можливістю сумісного використання і безліччю інших деталей.
Програма, що управляє конкретною моделлю зовнішнього пристрою і що враховує всі
його особливості, зазвичай називається драйвером цього пристрою (від англійського drive — управляти, вести). Драйвер може управляти єдиною моделлю пристрою,
наприклад модемом U-1496E компанії ZYXEL, або ж групою пристроїв певного типу,
наприклад будь-якими Hayes-сумісними модемами. Для користувача дуже важливо,
щоб операційна система включала якомога більше різноманітних драйверів, оскільки це гарантує можливість підключення до комп'ютера великого числа зовнішніх пристроїв різних виробників.
Створенням драйверів пристроїв займаються як розробники конкретної ОС, так і
фахівці компаній, що випускають зовнішні пристрої. Операційна система повинна підтримувати добре певний інтерфейс між драйверами і рештою частини ОС, щоб розробники з компаній-виробників пристроїв введення-виводу могли поставляти разом з своїми пристроями драйвери для даної операційної системи.
Захист даних і адміністрування
Безпека даних обчислювальної системи забезпечується засобами відмовостійкості ОС,
направленими на захист від збоїв і відмов апаратури і помилок програмного
забезпечення, а також засобами захисту від несанкціонованого доступу. У останньому випадку ОС захищає дані від помилкової або зловмисної поведінки користувачів системи.
По-перше, при захисті даних від несанкціонованого доступу є процедура логічного входу. Операційна система повинна переконатися, що до системи намагається увійти користувач, вхід якого дозволений адміністратором: Функції захисту ОС взагалі дуже тісно пов'язані з функціями адміністрування, оскільки саме адміністратор визначає
права користувачів при їх зверненні до різних ресурсів системи — файлів, каталогів,
принтерів, сканерів і т.п. Крім того, адміністратор обмежує можливості користувачів у виконанні тих або інших системних дій.
Важливим засобом захисту даних є функції аудиту ОС, яка представяє собою фіксацію всіх подій, від яких залежить безпека системи. Наприклад, спроби вдалого і невдалого логічного входу в систему, операції доступу до деяких каталогів і файлів, використання принтерів і т.п. Список подій, які необхідно відстежувати, визначає адміністратор ОС.
Підтримка відмовостійкості реалізується операційною системою, як правило, на основі
резервування. Найчастіше у функції ОС входить підтримка декількох копій даних на різних дисках або різних дискових накопичувачах. Резервуються також принтери і інші
пристрої введення-виводу. При відмові одного з надмірних пристроїв операційна система винна швидко і прозорим для користувача чином провести реконфігурацию системи і продовжити роботу з резервним пристроєм. Особливим випадком забезпечення відмовостійкості є використання декількох процесорів, тобто мультипроцесування, коли система продовжує роботу при відмові одного з процесорів,
хоч і з меншою продуктивністю.
Інтерфейс прикладного програмування
Прикладні програмісти використовують в своїх додатках звернення до ОС, коли для виконання тих або інших дій їм потрібний особливий статус, яким володіє тільки операційна система. Наприклад, в більшості сучасних ОС всі дії, пов'язані з управлінням апаратними засобами комп'ютера, може виконувати тільки ОС. Крім цих функцій прикладний програміст може скористатися набором сервісних функцій ОС,
які спрощують написання додатків. Функції такого типу реалізують універсальні дії,
часто потрібні в різних додатках, такі, наприклад, як обробка текстових рядків. Ці
функції могли б бути виконані і самим додатком, проте набагато простіше використовувати вже готові, відладжені процедури, включені до складу операційної
системи. В той же час навіть за наявності в ОС відповідної функції програміст може реалізувати її самостійно в рамках додатку, якщо запропонований операційною системою варіант його не цілком влаштовує.
Можливості операційної системи доступні прикладному програмістові у вигляді
набору функцій, прикладного програмування, що називається інтерфейсом (Application
Programming Interface, API). Від кінцевого користувача ці функції приховані за оболонкою алфавітно-цифрового або графічного призначеного для користувача
інтерфейсу.
Додатки виконують звернення до функцій API за допомогою системних викликів.
Спосіб, яким додаток отримує послуги операційної системи, дуже схожий на виклик підпрограм. Інформація, потрібна ОС і що складається зазвичай з ідентифікатора команди і даних, поміщається в певне місце пам'яті, в регістри і/або стек. Потім
управління передається операційній системі, яка виконує необхідну функцію і повертає
результати через пам'ять, регістри або стеки. Якщо операція проведена неуспішно, то результат включає індикацію помилки.
Спосіб реалізації системних викликів залежить від структурної організації ОС яка, у свою чергу, тісно пов'язана з особливостями апаратної платформи. Крім того, він залежить від мови програмування. При використанні асемблера програміст встановлює
значення регістрів і/або областей пам'яті, а потім виконує спеціальну інструкцію виклику сервісу або програмного переривання для звернення до деякої функції ОС.
При використанні мов високого рівня функції ОС викликаються тим же способом, що і
написані користувачем підпрограми, вимагаючи завдання певних аргументів в певному порядку.
Призначений для користувача інтерфейс
Операційна система повинна забезпечувати зручний інтерфейс не тільки для прикладних програм, але і для людини, що працює за терміналом. Ця людина може бути кінцевим користувачем, адміністратором ОС або програмістом.
Сучасні ОС підтримують розвинені функції призначеного для користувача інтерфейсу для інтерактивної роботи за терміналами двох типів: алфавітно-цифровими і
графічними.
При роботі за алфавітно-цифровим терміналом користувач має в своєму розпорядженні
систему команд, потужність який відображає функціональні можливості даної ОС.
Зазвичай командна мова ОС дозволяє запускати і зупиняти додатки, виконувати різні
операції з файлами і каталогами, отримувати інформацію про стан ОС (кількість працюючих процесів, об'єм вільного простору на дисках і т. п.), адмініструвати систему. Команди можуть вводитися не тільки в інтерактивному режимі з терміналу,
але і прочитуватися з так званого командного файлу, що містить деяку послідовність команд.
Програмний модуль ОС, відповідальний за читання окремих команд або ж послідовності команд з командного файлу, іноді називають командним
інтерпретатором.
Введення команди може бути спрощене, якщо операційна система підтримує
графічний призначений для користувача інтерфейс. В цьому випадку користувач для виконання потрібної дії за допомогою миші вибирає на екрані потрібний пункт меню або графічний символ.
Висновки:
 ОС —
ЦЕ комплекс взаємозв'язаних програм, призначений для підвищення ефективності апаратури комп'ютера шляхом раціонального управління його ресурсами, а також для забезпечення зручностей користувачеві шляхом надання йому розширеної віртуальної машини.
 До основних ресурсів, управління якими здійснює ОС, відносяться процесори,
основна пам'ять, таймери, набори даних, диски, накопичувачі на магнітних стрічках, принтери, мережеві пристрої і деякі інші. Ресурси розподіляються між процесами. Для вирішення завдань управління ресурсами різні ОС
використовують різні алгоритми, особливості котрих кінець кінцем і
визначають подобу ОС.
 Найбільш важливими підсистемами ОС є підсистеми управління процесами,
пам'яттю, файлами і зовнішніми пристроями, а також підсистеми призначеного для користувача інтерфейсу, захисту даних і адміністрування.
 Прикладному програмістові можливості ОС доступні у вигляді набору функіцій,
складових інтерфейс прикладного програмування (API).
 Підсистема управління процесами планує виконання процесів, тобто розподіляє
процесорний час між декількома процесами, що одночасно існують в системі,
займається створенням і знищенням процесів, забезпечує процеси необхідними системними ресурсами, підтримує синхронізацію процесів, а також забезпечує
взаємодію між процесами.
 Функціями ОС по управлінню пам'яттю є відстежування вільної і зайнятої
пам'яті; виділення пам'яті процесам і звільнення пам'яті при завершенні
процесів; захист пам'яті; витіснення процесів з оперативної пам'яті на диск, коли розміри основної пам'яті недостатні для розміщення в ній всіх процесів, і
повернення їх в оперативну пам'ять, коли в ній звільняється місце, а також настройка адресу програми на конкретну область фізичної пам'яті.
 Безпека даних обчислювальної системи забезпечується засобами відмовостійкості ОС, направленими на захист від збоїв і відмов апаратури і
помилок програмного забезпечення, а також засобами захисту від несанкціонованого доступу. У останньому випадку ОС захищає дані від помилкової або зловмисної поведінки користувачів системи.
 Прикладні програмісти використовують в своїх додатках звернення до ОС, коли для виконання тих або інших дій їм потрібний особливий статус, яким володіє
тільки операційна система. Сучасні ОС підтримують розвинені функції
призначеного для користувача інтерфейсу для інтерактивної роботи за терміналами двох типів: алфавітно-цифровими і графічними.
Контрольні запитання до лекції:
1. Дайте визначення: що таке операційна система?
2. Назвіть дві основні групи функцій які виконує операційна система.
3. Які ресурси можна віднести до основних ресурсів сучасних обчислювальних систем?
4. Перерахуйте задачі, вирішення яких включає в себе управління ресурсами.
5. Що таке підсистема і які підсистеми Ви знаєте?
6. Чи може в операційній системі існувати декілька процесів одночасно?
Поясніть відповідь.
7. Дайте визначення: що називається адресним простором?
8. Чи можуть декілька процесів виконуватися паралельно, іноді взаємодіяти один з одним та обмінюватися даними? Якщо так, то що ОС повинна надавати для оперативної взаємодії таких процесів?
9. Наведіть декілька прикладів, яким чином може виділятися область пам’яті під той чи інший процес.
10. Поясніть що таке віртуальна пам’ять?
11. Які дії користувач може виконувати за допомогою ОС над файлами та каталогами?

12. Спектр пристроїв, що можна підключити до ПК дуже обширний. Що допомагає підсистемі управління зовнішніми пристроями розпізнати ту чи
іншу модель?
13. Розкажіть про функції захисту даних та функції адміністрування ОС. Яким чином ОС забезпечує виконання цих функцій?
14. Чим відрізняється інтерфейс прикладного програмування від інтерфейса, який призначено для звичайного користувача?


Поділіться з Вашими друзьями:


База даних захищена авторським правом ©divovo.in.ua 2017
звернутися до адміністрації

войти | регистрация
    Головна сторінка


загрузить материал