
Функції ос
Раніше функції ОС були розглянуті в загальному. Розглянемо тепер функції ОС більш детально.
До основних функцій ОС відносять:
Завантаження програм до оперативної пам'яті, контроль за їх виконанням та завершенням
Як згадувалось раніше, комп'ютерна програма, представляє собою послідовність команд, що реалізують деякий алгоритм, і, можливо, дані, які необхідно обробити відповідно до цього алгоритму. Відомо також, що процесор може зчитувати команди та дані безпосередньо з оперативної пам'яті. Тому, перед виконанням програми її необхідно завантажити до оперативної пам'яті, після чого налагодити процесор на виконання першої команди цієї програми, а в подальшому – контролювати процес передачі керування наступним командам програми та їх виконання. Після виконання останньої команди програми необхідно вивантажити програму з пам'яті.
Організація доступу та керування периферійними пристроями ЕОМ
Організація доступу та керування деяким пристроєм реалізується надсиланням до цього пристрою зрозумілих йому команд. Керування периферійними пристроями в загальному випадку, здійснюється ОС з допомогою стандартного набору команд, які перехоплюються програмою-драйвером цього пристрою і перетворюються у зрозумілі йому команди. При цьому від ОС приховуються апаратна реалізація конкретного пристрою і вона керує деяким "віртуальним пристроєм".
Для деяких пристроїв (наприклад, стандартні пристрої вводу, такі, як клавіатура, миша) існують стандарти їх апаратної реалізації, відповідно і керуються вони теж стандартними командами (хоча конкретний пристрій може підтримувати додаткові специфічні команди, що лише розширюють базову функціональність пристрою). Керування такими пристроями може бути покладене безпосередньо на ОС, точніше, на стандартні драйвери, що входять до складу ОС.
Керування ключовими пристроями ЕОМ (без чого, між іншим, неможливе завантаження ОС) до завантаження ОС покладається на BIOS – ПЗ базового рівня, що зберігається у мікросхемах енергонезалежної пам'яті на системній платі. Так, наприклад, через BIOS можливе виконання таких низькорівневих дій, як ввід символа з клавіатури, вивод символа на екран чи на принтер, зчитування-запис сектора на диску тощо. Після завантаження ОС керування цими пристроями може лишатись за BIOS, а може і перекладатись на драйвери.
Оскільки при реалізації частини апаратних засобів ЕОМ виробники використовували власні, самостійно розроблені стандарти, то в більшості випадків у функціонально ідентичні пристрої різних виробників закладені різні принципи керування цими пристроями. Керування такими пристроями можливе лише за допомогою спеціалізованих драйверів.
Керування доступом до даних на енергонезалежних носях (підтримка файлової системи)
На носіях запам'ятовуючих пристроїв повинне бути організоване зберігання файлів відповідно до вимог конкретної файлової системи, а також виконання базових операцій з файлами та каталогами:
створення файлів та каталогів;
копіювання файлів та каталогів;
переміщення файлів та каталогів;
знищення файлів та каталогів;
перегляд вмісту каталогів.
Забезпечення інтерфейсу користувача.
Користувач повинен мати можливість віддавати системі команди на виконання нею певних дій, а система – сприймати команди користувача та виводити повідомлення про стан їх виконання. Сукупність засобів, які забезпечують таку взаємодію користувача з ЕОМ, називається інтерфейсом користувача.
Окрім них, ОС можуть виконувати і безліч додаткових необов'язкових функцій (залежно від версії конкретної ОС), наприклад:
Підтримка мережі (підтримка стеку протоколів)
Створення комп'ютерних мереж можливе за умови попередньої розробки принципів об'єднання ЕОМ у мережі та функціонування таких мереж, проголошення їх стандартними та забезпечення дотримання їх апаратними засобами, а у разі існування відповідного ПЗ – і цим ПЗ. Розробка цих принципів пов'язана з розв'язанням (часто – ще й вибором одного чи декількох розв'язків з множини можливих) великої кількості проблем, що постають при необхідності забезпечення взаємодії декількох ЕОМ у складі мережі. Наприклад, на фізичному рівні необхідно обрати тип ліній зв'язку (або середовище), по яких будуть поширюватись сигнали. У випадку обрання кабельних ліній зв'язку необхідно визначити характеристики кабелю (геометрія та кількість жил, інші фізичні та хімічні параметри), стандартизувати роз'єми (кількість контактів, їх геометрія та призначення тощо), принципи перетворення даних у сигнали тощо. На інших рівнях постають проблеми вибору способу адресацї вузлів мережі, визначення можливої структури зв'язків між вузлами мережі (топології мережі), розробка принципів маршрутизації даних (вибір шляху проходження сигналів, що переносять дані, по лініям зв'язку у випадку існування двох чи більше таких шляхів) і тому подібне.
В результаті розв'язування такого роду проблем визначаються правила, за якими відбувається обмін даними між вузлами мережі – т.зв. мережні протоколи. Набір протоколів, дотримання яких дозволяє організувати працездатну комп'ютерну мережу, називають стеком протоколів. Протоколи відпрацьовуються програмними модулями, які нерідко для скорочення теж називають "протоколами". Для дієвої пітримки мережі деякою ЕОМ програмні протоколи повинні входити до складу ОС, що встановлена на цій ЕОМ.
Паралельне виконання програм.
При роботі ЕОМ часто виникає необхідність одночасного функціонування двох чи більшої кількості програм. Така функція реалізується компонентом ОС, відомим під назвою "планувальник процесів", який забезпечує циклічний почерговий доступ програм до процесора на протязі деякого часового проміжку (кванту). Тривалість часового кванту обирається з таким розрахунком, щоб у користувача виникала ілюзія паралельного виконання програм, насправді ж воно є псевдопаралельним.
Контроль за доступом до ресурсів комп’ютера (розділ повноважень)
При паралельному виконанні задач виникає необхідність оптимального розділення не тільки процесорного часу, а й ресурсів ЕОМ, таких, як оперативна пам'ять, запам'ятовуючі пристрої, пристрої вводу/виводу, комунікаційні пристрої тощо для недопущення конфлікту програм при їх доступі до цих ресурсів. Крім того, необхідно неуможливити модифікацію однієї з паралельно виконуваних програм (в тому числі і компонентів самої ОС) чи її даних у оперативній пам'яті ЕОМ іншими програмами.
Розмежування прав доступу користувачів та підтримка багатокористувацького режиму роботи
Поширеним явищем сучасного світу є (неодночасна) робота на одній ЕОМ кількох користувачів. При цьому виявляється незайвою потреба у розмежуванні прав доступу користувачів до ресурсів ЕОМ, як правило, до файлів – крім файлів, до яких повинні мати доступ всі користувачі, що працюють за даним компёютером, існують файли, до яких необхідно забезпечити доступ групи користувачів або конкретно їх власника.
Для розмежування прав доступу до складу ОС повинні входити відповідні програмні засоби. Класично розмежування прав доступу здійснюється за допомогою т.зв. облікових записів користувачів – записів в базі даних ОС, що містить дані про конретного користувача, який має право працювати на даному комп'ютері, наприклад:
ім'я користувача (login, логин);
пароль (password);
права та обмеження користувача;
персональні налаштування ОС.
Як правило, облікові записи створюються та налаштовуються адміністратором комп'ютера – користувачем з привілейованим обліковим записом.
Доступ деякого користувача до роботи на ЕОМ відбувається після процедури його авторизації (ідентифікації) – ОС запрошує користувача ввести своє ім'я та пароль та звіряє їх з даними у власній базі даних. Якщо введені дані співпадають з даними певного облікового запису, то до ОС застосовуються налаштування, збережені у цьому записі, а в процесі роботи всі команди користувача перед виконанням аналізуються на предмет їх дозволеності для даного користувача.