Реферат Курсовая Конспект
Ls -l /home/student | sort - раздел Компьютеры, Межпроцессное взаимодействие в ОС Linux 1.3. Замените В Исходном Тексте Программы Оператор (Дайте Эт...
|
1.3. Замените в исходном тексте программы оператор (дайте этой программе имя pipework1.c)
execlp ("ls", "ls", "-l", "/home/student", 0);
несколькими системными вызовами write(), которые запишут в канал последовательность слов (например, “thisn”,“isn”,“a”,“messagen”,‘fromn”,“sendingn”,“process”). Для записи этих слов в канал следует использовать системный вызов write() так же, как и для обычного файла, указывая дескриптор fd[1]. После записи всех слов в канал закройте fd[1] и завершите процесс (exit()). Выполните программу.
Примечание. Для этой модификации оператор dup2(fd[1],1); НЕ НУЖЕН, его следует убрать.
1.4. Замените в программе из задания 1.3 оператор (дайте этой программе имя pipework2.c)
execlp ("sort", "sort", 0);
фрагментом, в котором читаются слова из канала и выводятся на стандартное устройство вывода (т.е. на экран). Для чтения данных из канала следует использовать системный вызов read() как и для обычного файла, указывая дескриптор fd[0]. После чтения и печати всех слов закройте fd[0] и завершите процесс (exit()).
Замечание. Для этой модификации оператор dup2(fd[0],0); НЕ НУЖЕН, его следует убрать.
1.4. В общем случае читать из канала могут несколько процессов; писать в канал также могут несколько процессов. Напишите программу pipework3.c, которая создает три дочерних процесса. Два из них записывают в канал по одному сообщению каждый, а третий дочерний процесс читает эти сообщения из канала и распечатывает их.
1.5. Для установления двухсторонней связи между процессами следует создать два канала, работающих в противоположных направлениях. Напишите программу pipework4.c для двухстороннего общения между двумя процессами с использованием двух каналов.
1.6. Запишите результаты работы всех программ и объясните их работу.
II. Именованные каналы (named pipes, FIFOs)
Именованный канал - это однонаправленный канал связи между двумя или более процессами в UNIX. В действительности именованный канал является файлом, который создается одним процессом и который затем может использоваться этим и/или другими процессами для связи. Существование в каталоге именованного канала легко можно обнаружить при просмотре оглавления каталога: строка, соответствующая именованному файлу, начинается с символа 'p' (вместо 'd' для каталога или '-' для обычного файла).
В оболочке именованный канал создается командой mknod или mkfifo.
Задание2. Выполните команду
– Конец работы –
Эта тема принадлежит разделу:
На сайте allrefs.net читайте: "Межпроцессное взаимодействие в ОС Linux"
Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Ls -l /home/student | sort
Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:
Твитнуть |
Новости и инфо для студентов