Будь умным!


У вас вопросы?
У нас ответы:) SamZan.ru

Лабораторная работа 5 Работа с файловыми дескрипторами и каналами

Работа добавлена на сайт samzan.ru: 2015-07-10

Лабораторная работа 5

Работа с файловыми дескрипторами и каналами.

 1 Работа с  файловыми дескрипторами

В этом и последующих заданиях для манипуляций с файловыми дескрипторами (ФД) используйте системные вызовы dup(), dup2(). Учитывая буферизацию ввода-вывода, для корректного вывода в конце каждой выводимой строки ставьте признак конца строки. (см. http://linuxdoc.ru/stdin-stdout-stderr.html)

1. 1 Напишите программу, которая считывает данные от пользователя и выводит ответное сообщение на терминал, используя для этого команды для работы с файлами read(), write().

1. 2 Напишите программу, которая позволяет определить для данного процесса максимальное количество одновременно

1) используемых файловых дескрипторов (ссылающихся, возможно, на один файл);

2) открытых файлов.

1. 3 Напишите программу, которая записывает в stdin, а считывает из stdout. Объясните результат. Затем свяжите stdin с непустым файлом fin, а stdout с непустым файлом fout на этапе запуска программы следующим образом: ./command < fin > fout.

Выведите содержимое файлов и объясните полученные изменения.

 2 Взаимодействие процессов через pipe

 

В заданиях этого пункта процессы передают данные (сообщения) в канал через файловый дескриптор 1, а считывают через дескриптор 0. При успешной передаче/приеме процесс должен выводить на экран передаваемые/полученные данные вместе с номером файлового дескриптора, через который эти данные переданы/получены.

2. 1 Напишите программу, которая запрашивает у пользователя сообщение, передает его через канал и считывает из него.  

2. 2 Создайте программу-родитель, которая порождает программу-ребенка c использованием exec() (никакие параметры не передаются!) и обменивается с ней данными через два pipe: один канал служит для передачи данных от родителя к ребенку, другой – наоборот.

2. 3 Создайте программу-родитель, которая запрашивает у пользователя целое число N, порождает N дочерних процессов c использованием exec() (никакие параметры не передаются!) и ожидает от этих программ сообщения через канал, которые затем выводит на экран. Дочерние процессы также выводят на экран посылаемые сообщения.

 3 Взаимодействие процессов через FIFO

3. 1 Используя программные задержки (и/или опцию O_NDELAY при открытии), получите

1) ошибку открытия FIFO в родительском процессе

2) чтение дочерним процессом 0 байт

3. 2 Разработайте программу, которая в зависимости от параметров запуска ведет себя как сервер или как клиент. Функции сервера – считывать данные из FIFO и выводить их на экран. Функции клиента – считывать данные от пользователя и передавать их через FIFO.

Указания к выполнению работы: Карпов В.Е., Коньков К.А. Основы операционных систем, с. 335-357 (Семинар 5).

При защите лабораторной работы предоставляется отчет и демонстрируется работа всех программ.


1. Уфимский государственный нефтяной технический университет Филиал ГОУ ВПО УГНТУ в г
2. Взаимозаменяемость зубчатых колес и передач
3. ГАРАЖПРЕДСТАВЛЯЕТ ПРОЕКТ АРТЭКСПЕРИМЕНТ- КОНСТРУИРУЯ ОТНОШЕНИЯ 2~19 января 2014 Артэксперимент
4. за кордону надходить на внутрішнє ринок найбільш конкурентноздатна продукція вітчизняного виробника і фор
5. это программа укрупненных действий для достижения поставленных целей
6. Память связывает прошлое субъекта с его настоящим и будущим и является важнейшей познавательной функцией л.
7. Петербург. Остановка пешеходная экскурсия Исаакиевская площадь в
8. Представлено сочинение на английском языке Биография Марка Твена- The Biogrphy of Mrk Twin с переводом на русский язы
9. Бекітемін О~Б т~ра~асы д
10.  Подходы к составлению отчета о прибылях и убытках в Российской и зарубежной практике
11. Ложные друзья переводчика в области радиоэлектронных средств
12. Notepd Опис можливостей обробки текстової інформації
13. 23 ~арашада~ы ’ 907 б~йры~ымен бекiтiлген ’ 027 -е нысанды медициналы~ ~~жаттама ~йым
14. Бизнес-план расширения производства и увеличения продаж медицинского препарата Полисорб
15. до недели с назначенным времени для собеседования в форме письма или звонка
16. Исследование алгоритмов скремблирования данных
17. Тема 13- Электрическая проводимость металлов
18. реферат дисертації на здобуття наукового ступеня кандидата біологічних наук Київ ~6.
19. ІЯ Горбачевського
20. Тема 4 Типы экономических систем План1 Ры