Міністерство освіти та науки України
Національний університет “Львівська політехніка”
Інститут комп’ютерних наук та інформаційних технологій
Кафедра автоматизованих систем управління
ОПЕРАЦІЙНІ СИСТЕМИ
ЗБІРНИК ЛАБОРАТОРНИХ РОБІТ
Львів - 2018
Лабораторна робота №1
Тема ( Загальне розуміння операційної системи.
Мета ( На прикладі роботи з OpenGL зрозуміти суть операційної системи.
ТЕОРЕТИЧНІ ПОЛОЖЕННЯ
Операційна система – це програмне забезпечення, яке встановлюється на електронне обладнання для забезпечення його функціонування. Наприклад, комп’ютер – це універсальний інструмент для обробки інформації. Тому і операційна система повинна реалізовувати універсальні функції – збереження файлів, запуск програм, розділення ресурсів комп’ютера між працюючими програмами. В ресурси, якими керує операційна система, входять: час процесора, оперативна пам’ять, дискова пам’ять, пристрої вводу даних, пристрої виводу даних. Розподіл вказаних ресурсів відбувається за допомогою системних функцій, які ви вивчали в курсі «системне програмування». Кожна програма має право взяти частинку ресурсів операційної системи (наприклад, виділити пам’ять) та використовувати їх на свій розсуд. Програму вибирає користувач в залежності від своїх потреб.
Операційна система може працювати як підсистема загальної системи. Наприклад, Windows починала свій розвиток як звичайна програма в середовищі DOS. В сучасних системах Windows можна запускати VM-Ware – віртуальну машину з будь-якою віртуальною операційною системою, в якій можна запускати цілком реальні задачі.
Сучасні смартфони також мають операційні системи, які дозволяють перетворювати їх на інші віртуальні пристрої. Ці віртуальні пристрої дозволяють: дивитись фільми по Інтернет, слухати музику, перетворювати звук на текст та навпаки, фотографувати з додаванням віртуальної реальності, знімати та розпізнавати відео, модифікувати та збагачувати звук, здійснювати відео зв’язок, визначати місцеположення, заміняти банківську картку, заміняти медичні прилади, бути проміжними серверами, заміняти дистанційний пульт, здійснювати віддалені платежі, тощо.
Прості пристрої мають спеціалізовані операційні системи. Наприклад, побутова пральна машина повинна одночасно керувати мотором, вимірювати температуру, контролювати з десяток давачів, а також тримати зв’язок з кнопками та екраном на панелі управління. Програма, яку записують в постійну пам’ять контролера такої пральної машини можна вважати спеціалізованою операційною системою реального часу.
Таким чином, можна зробити висновок, що операційна система завжди розширює можливості пристрою, на якому вона працює і завжди дає користувачу додаткові зручності в роботі.
Розглянемо універсальну підсистему трьохмірної графіки OpenGL, яка є стандартною компонентою для всіх платформ і на основі якої можна будувати віртуальні об’єкти реального світу.
Бібліотека функцій “Open Graphic Library” вперше була розроблена фірмою “Silicon Graphics” і увійшла у WINDOWS з 1990-х років. Ця бібліотека використовує прямі звернення до відео-драйверу за допомогою механізму DСI (Display Control Interface - DCIMAN32.DLL) і працює досить швидко.
Для того, щоб використовувати бібліотеку функцій OpenGL необхідно створити вікно (наприклад, за допомогою функції “CreateWindowExA”). Після цього необхідно визначити графічний контекст вікна (наприклад, за допомогою функції “GetDC”) і передати його у функцію “ChoosePixelFormat”, яка дозволяє підібрати найкращій режим відображення відео-карти (ці параметри передаються в другому параметрі цієї функції як адреса структури PIXELFORMATDESCRIPTOR). В результаті виконання цієї функції регістр EAX буде містити індекс відео режиму, який найбільше підходить користувачеві, а структура PIXELFORMATDESCRIPTOR поповниться новими даними. Отриманий індекс та нову структуру PIXELFORMATDESCRIPTOR треба передати у функцію SetPixelFormat, яка буде використовувати вказаний режим відео-карти при спілкуванні з драйвером. Після вказаних дій відео-драйвер буде коректно нала...