- •Лекція 4 «Операційні системи сімейства Unix, MacOs, Windows»
- •Сімейство Microsoft Windows.
- •Підсистеми ядра ос. Інтерфейс ядра операційної системи
- •Підсистема управління введенням-виведенням
- •Підсистема управління оперативною пам'яттю
- •Поняття планувальника операційної системи.
- •Типи планувальників ос.
- •Реалізація планувальників у різних ос.
- •Взаємодія між процесами.
- •Засоби міжпроцесної взаємодії.
- •Поняття Бібліотеки.
- •Статичні та динамічні бібліотеки.
- •Використання бібліотек.
- •Додаткова функціональність ос.
- •Безпека ос.
- •Командний інтерпретатор операційної системи.
- •Характеристики Кожному процесу мають бути виділені наступні ресурси: процесор, пам'ять, доступ до пристроїв вводу-виводу, файли
- •Робочий цикл процесу
- •Виконання процесів
- •Завершення процесів
- •Особливості написання драйверів для Windows nt.
- •Сервісні системні виклики.
- •Система відслідковування та обробки помилок у ос.
- •Види помилок.
- •Робота з відеоадаптером.
- •Структура відеоадаптера.
- •Особливості функціонування відеоадаптера у текстовому та графічному режимах.
- •Отримання та зміна атрибутів.
- •Позиціонування та організація пошуку даних.
- •Основні функції для роботи з bios.
- •Системний реєстр.
- •Функції bios для роботи з консоллю.
- •Функції bios для роботи з клавіатурою.
- •Функції bios для роботи з екраном.
- •Робота з портами.
- •Інтерфейс rs – 232.
- •Отримання та передача даних через порти.
- •Таймер bios.
- •Керування пам’яттю за допомогою функцій biosmemory.
- •Резидентні програми.
- •Структура та особливості тsr –програм.
- •Модульне програмування.
- •Організація інтерфейсу.
- •Зв’язок Асемблера з мовами високого рівня.
- •Структура об’єктного та завантажувального модуля.
- •Зовнішні виклики.
- •Поняття “extern” та компоновка кількох об’єктних модулів.
- •Основні поняття тестування програмного забезпечення.
- •Розробка test-cases, test-suites.
- •Атрибути test-cases, test-suites.
- •1. Процес тестування програмного забезпечення
- •2. Чорна скринька - функціональне тестування
- •3. Розробка test-cases, test-suites. Атрибути test-cases, test-suites.
- •Атрибути тс
- •Атрибути тs
- •Цикли розробки та тестування програмного забезпечення.
- •Особливості та порядок виконання.
- •Класифікація видів тестування програмного забезпечення.
- •Призначення тестування програмного забезпечення.
- •Класифікація видів тестування
- •Методи генерації, методи відбору тестування програмного забезпечення.
- •Виконання процесу тестування.
- •Файлові системи та Бази даних.
- •Технології доступу до даних. Dao, ado, odbc.
- •Архітектура odbc
- •Список зареєстрованих драйверів
- •Створення dsn для бази даних Mіcrosoft sql Server
- •Застосування Structured Query Language (sql).
- •Open DataBase Connectivity (odbc) для доступу до даних.
- •Використання та dao у базах даних.
- •Інтернет – системи з підтримкою бд.
Взаємодія між процесами.
Засоби міжпроцесної взаємодії.
Навчальна мета: Засвоїти основні поняття засобів між процесорної взаємодії.
Виховна мета: Допомогти студентам орієнтуватися у основних аспектах між процесорної взаємодії.
Актуальність: Нині вирішення питань між процесорної взаємодії попадає у ло найбільш запитуваних до рішення зада та проблем в галузі інформаційних технологій.
Мотивація: Легко розбиратися у несправностях операційної системи допоможе глибоке розуміння принципів роботи засобів міжпроцесорої взаємодії.
Засоби міжпроцесної взаємодії
Взаємодія процесів дозволяє процесам синхронізувати свою роботу, сумісно і узгоджено використовувати спільні ресурси та спільно виконувати обробку даних.
Взаємодія процесів забезпечується всіма підсистемами ядра ОС:
підсистема управління введенням-виведенням забезпечує передачу даних між процесами;
підсистема управління оперативною пам'яттю розподіляє під процеси спільну оперативну пам'ять,
підсистема управління процесами забезпечує синхронізацію виконання процесів та впроваджує механізм обміну сигналів, за допомогою якого процеси повідомляються про виникнення в системі надзвичайних подій.
Взаємодія між процесами (англ. Inter-Process Communication, скорочено англ. IPC) — набір засобів обміну повідомленнями між процесами. Засоби IPC можуть використовуватись для взаємодії процесів:
які виконуються на одному комп'ютері (для багатомашинних систем — під управлінням однієї операційної системи), також відомі як власне IPC;
які виконуються на різних комп'ютерах (для багатомашинних систем — під управлінням окремих операційних систем), також відомі як засоби міжмашинної взаємодії;
для забезпечення взаємодії процеса з самим собою — наприклад, для синхронізації або обміну даними між різними нитями одного процесу.
Взаємодія процесів в межах однієї машини
Для взаємодії процесів, що виконуються на одному комп'ютері (під управлінням однієї операційної системи) використовують (механізми взаємодії забезпечуються ядром операційної системи, в якій виконуються процеси):
сигнали — асинхронні (неочікувані) повідомлення, що не передають дані між процесами, а сповіщають про подію (надзвичайну ситуацію), на яку процес має відреагувати виконанням наперед визначеної дії (функції або команди в залежності від використаних засобів програмування);
неіменовані та іменовані канали передачі даних як синхронних (очікуваних) повідомлень; відправлення повідомлення відбувається подібно до операції запису в файл, отримання — подібно до читання даних з файлу, якщо канал порожній — процес, що очікує дані призупиняється до надходження даних в канал.
черги повідомлень — пакети даних, що передаються між процесами з увідомленням отримувача про надходження пакету;
сегменти подільної пам'яті — засіб, що дозволяє кільком процесам сумісно використовувати (поділяти) фрагмент оперативної пам'яті з метою обміну даними; відправлення даних відбувається шляхом запису в пам'ять, отримання — читанням з пам'яті.
Взаємодія процесів, що виконуються на різних машинах
Взаємодія процесів, що виконуються на різних комп'ютерах — під управлінням окремих операційних систем, міжмашинна взаємодія — забезпечується через спеціальну абстракцію — сокет. В залежності від рівня використання сокетів існують наступні засоби міжмашинної взаємодії процесів (механізми взаємодії узгоджено забезпечуються ядрами операційних систем, в яких виконуються процеси):
пряме використання сокетів — технологія, що вимагає програмування на низькому рівні і реалізації протокола передачі даних;
RPC (Remote Procedure Call), віддалений виклик процедур — технологія, що забезпечує взаємодію між процесами подібно до виклику функцій, дані в один бік передаються як аргументи функцій (віддалених процедур), в іншому — як результати виконання функцій (віддалених процедур).
CORBA — технологія, що передбачає можливість взаємодії між процесами як між об'єктами CORBA, є подальшим розвитком технології RPC.
Контрольні запитання:
Засоби міжпроцесної взаємодії
Взаємодія між процесами
Взаємодія процесів в межах однієї машини
Взаємодія процесів, що виконуються на різних машинах
Лекція 10 «Робота з бібліотеками»