Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Метвказівки для Астистовой1.doc
Скачиваний:
2
Добавлен:
08.11.2019
Размер:
288.26 Кб
Скачать

Завдання

Написати дві програми, які створюють між собою канал. Одна програма грає роль клієнта, друга служить сервером. Функції клієнта і сервера визначаються варіантами завдань на виконання лабораторної роботи. У парних варіантах завдання використати іменовані канали.

Варіанти завдань

1. Клієнт передає серверу через канал запит у вигляді повного шляху до файлу.

Сервер читає цей файл і передає клієнтові його вміст або повідомлення про помилку, якщо файл з вказаним ім'ям не існує або не доступний для читання. Клієнт виводить прийняті дані на термінал.

2. Клієнт і сервер обмінюються повідомленнями, що вводяться з клавіатури. Програми запускаються на різних терміналах. Прийняті повідомлення виводяться на екран.

3. Сервер виконує команду ps, і результати її виконання передаються клієнтові, який виводить їх на термінал.

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

5. Клієнт передає серверу запит у вигляді повного шляху до файлу. Сервер читає цей файл і передає клієнтові його вміст або повідомлення про помилку, якщо файл не існує або не доступний для читання. Клієнт записує отриману інформацію у файл в поточному каталозі з тим же ім'ям і доповнює його розширенням result.

6. Клієнт приймає з клавіатури команди і передає їх серверу. Сервер виконує прийняті команди і повертає результати їх виконання клієнтові. Дані, що приймаються, клієнт виводить на термінал. Програми запускати на різних терміналах.

7. Клієнт приймає з клавіатури команди і передає їх серверу. Сервер виконує ці команди, результати повертаються клієнтові, який записує їх у файл.

8. Клієнт запитує у сервера кількість файлів, що знаходяться у вказаному каталозі. Отриманий результат виводиться клієнтом на термінал.

9. Клієнт формує запит, що містить ім'я файлу. Сервер визначає, чи являється вказаний файл каталогом і формує відповідну відповідь. Відповідь виводиться клієнтом на екран.

10. Клієнт формує запит, що містить ім'я каталогу. Сервер переглядає каталог і передає клієнтові кількість підкаталогів, що є в цьому каталозі. Клієнт виводить отриману інформацію на екран.

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

12. Клієнт запитує у сервера кількість працюючих в даний момент часу користувачів. Якщо кількість користувачів більша заданого числа, на термінал виводиться повідомлення.

Контрольні питання

1. Які Вам відомі засоби міжпроцесної взаємодії в ОС UNIX?

2. Який системний виклик використовується для створення програмних каналів в ОС LINUX і які файлові дескриптори він повертає?

3. В чому полягає недолік каналів як засобів міжпроцесної взаємодії?

4. Чим відрізняються іменовані канали FIFO від програмних каналів?

5. Чи є іменований канал окремим типом файлу у файловій системі UNIX?

6. Яким символом команда інтерпретатора ls –l позначає в перщій позиції іменований канал?

7. В якому режимі буде відкритий канал після свого створення на стороні сервера?