Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lectures.docx
Скачиваний:
57
Добавлен:
10.12.2018
Размер:
1.24 Mб
Скачать
    1. Запитання для самоконтролю

  1. Призначення й рівні моделі OSI.

  2. Низькорівневі протоколи, їх особливості.

  3. Транспортні протоколи, TCP/IP.

  4. Назвіть протоколи верхнього рівня, їхнє призначення.

  5. Метод RPC, його застосування.

  6. Звертання до віддалених методів RMI.

  7. Види звертання до віддалених об’єктів.

  8. Відмінності зв’язку за допомогою повідомлень і на основі потоків даних.

  9. Основні механізми синхронізації потоків даних.

  10. Синхронізація потоків даних.

  11. Що таке сеанс?

  12. Наведіть приклади пріоритетних черг у маршрутизаторах.

  13. Назвіть протоколи проміжного рівня.

  14. Назвіть основні частини протоколу SOAP. Для чого він використову- ється?

  15. Розкрийте позитивні та негативні сторони сімейства протоколів XMPP.

  16. Коротко охарактеризуйте протокол UMSP.

2. Процеси

    1. Поняття процесу. Визначення і структура Комп’ютерна програма це пасивна сукупність інструкцій, у той час

як процес – це безпосереднє виконання цих інструкцій.

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

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

Прозорість паралельної роботи коштує достатньо дорого з погляду ре- сурсів обчислювальної системи. Так, кожного разу під час створення процесу операційна система має створювати абсолютно незалежний адресний прос- тір. Виділення пам’яті вимагає ініціалізації сегмента пам’яті, наприклад, за рахунок обнулення сегмента даних, копіювання відповідної програми в сег- мент коду і розміщення її у стек тимчасових даних. Перемикання процесора між двома процесами – також досить ресурсоємна операція, під час якої, крім збереження контексту процесора (у який входять значення регістрів, лі- чильник програми, вказівник на стек тощо), операційна система має також змінити регістри блока керування пам’яттю (Memory Management Unit, MMU) й оголосити некоректним вміст кешу трансляції адрес, наприклад асоціативного буфера сторінок (Translation Lookaside Buffer, TLB). Якщо операційна система підтримує більше процесів, ніж може одночасно містити- ся в оперативній пам’яті, то перед дійсним перемиканням з одного процесу

на другий може виникнути потреба підкачки (swapping) процесів між опера- тивною пам’яттю і диском.

Процес складається з трьох сегментів: сегмента коду, сегмента ресурсів і сегмента виконання (рис. 4.1).

Рис. 4.1. Структура процесу

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]