Индивидуальное домашние задание №1 по "Операционным системам" на тему "Использование каналов" (на оценку 8)
Печик Ирина Юрьевна, БПИ-217, Вариант-26
Разработать программу, которая определяет количество целых чисел в ASCII-строке. числа состоят из цифр от 0 до 9. Разделителями являются все другие символы
- funtionc.c - функция с решением задачи из условия
- tests - набор текстовых файлов, на которых проводилось тестирование программы
- program [4, 5, 6, 7, 8] - программы на каждую из оценок. Для каждой такой программы приведены результаты выполнения тестов.
Разработка программы, осуществляющей взаимодействие между тремя дочерними процессами с использованием неименованных каналов.
-
Главный файл: program4.c
-
Файл с функцией для нахождения количества чисел в ASCII-строке: function.c
- Первый процесс читает текстовые данные из заданного файла и через неименованный канал передает их второму процессу;
- Второй процесс осуществляет обработку данных в соответствии с заданием и передает результат обработки через неименованный канал третьему процессу;
- Третий процесс осуществляет вывод данных в заданный файл.
- Компилируем
gcc program_4/program4.c -o program_4/program4.exe
- Запускаем
./program_4/program4.exe ./input_files/input.txt program_4/output_files/output.txt
Разработка программы, в которой взаимодействие между тремя дочерними процессами осуществляется через именованные каналы.
-
Главный файл: program5.c
-
Файл с функцией для нахождения количества чисел в ASCII-строке: function.c
- Первый процесс читает текстовые данные из заданного файла и через именованный канал передает их второму процессу;
- Второй процесс осуществляет обработку данных в соответствии с заданием и передает результат обработки через именованный канал третьему процессу;
- Третий процесс осуществляет вывод данных в заданный файл.
- Компилируем
gcc program_5/program5.c -o program_5/program5.exe
- Запускаем
./program_5/program5.exe ./input_files/input.txt program_5/output_files/output.txt
Разработка программы, которая осуществляет взаимодействие между двумя дочерними процессами с использованием неименованных каналов.
-
Главный файл: program6.c
-
Файл с функцией для нахождения количества чисел в ASCII-строке: function.c
- Первый процесс читает текстовые данные из заданного файла и через неименованный канал передает их второму процессу;
- Второй процесс осуществляет обработку данных в соответствии с заданием и передает результат обработки через неименованный канал обратно первому процессу;
- Первый процесс осуществляет вывод данных в заданный файл.
- Компилируем
gcc program_6/program6.c -o program_6/program6.exe
- Запускаем
./program_6/program6.exe ./input_files/input.txt program_6/output_files/output.txt
Разработка программы, которая осуществляет взаимодействие между двумя дочерними процессами с использованием именованных каналов.
-
Главный файл: program7.c
-
Файл с функцией для нахождения количества чисел в ASCII-строке: function.c
- Первый процесс читает текстовые данные из заданного файла и через именованный канал передает их второму процессу;
- Второй процесс осуществляет обработку данных в соответствии с заданием и передает результат обработки через именованный канал обратно первому процессу;
- Первый процесс осуществляет вывод данных в заданный файл.
- Компилируем
gcc program_7/program7.c -o program_7/program7.exe
- Запускаем
./program_7/program7.exe ./input_files/input.txt program_7/output_files/output.txt
Разработка программы, которая осуществляет взаимодействие между двумя независимыми (неродственными) процессами с использованием именованных каналов.
-
Главные файлы: program8_first.c program8_second.c
-
Файл с функцией для нахождения количества чисел в ASCII-строке: function.c
- Первый процесс читает текстовые данные из заданного файла и через именованный канал передает их второму процессу;
- Второй процесс осуществляет обработку данных в соответствии с заданием и передает результат обработки через именованный канал обратно первому процессу;
- Первый процесс осуществляет вывод данных в заданный файл.
- Компилируем
gcc program_8/program8_first.c -o program_8/program8_first.exe
gcc program_8/program8_second.c -o program_8/program8_second.exe
- Запускаем в разных терминалах в любом порядке
./program_8/program8_first.exe ./input_files/input.txt program_8/output_files/output.txt ./program_8/program8_second.exe