Часть 2, практическая.
Системное программирование в Linux.
Цель: получение практических навыков работы с различными компонентами операционной системы (управлением процессами и пользователями, вводом-выводом и файловой системой, памятью и межпроцессным взаимодействием).
Написать программу на языке программирования C согласно вашему варианту с использованием системных вызовов: • порождения, запуска и завершения процессов; • получения информации о процессах; • получения информации о пользователе; • работы с потоками ввода-вывода, файлами и файловой системой; • работы с разделяемой памятью, каналами и семафорами.
Запрещено использовать вместо системных вызов соответствующие библиотечные функции языка C (например, вместо open использовать fopen), если иное не указано в задании.
Функциональные требования к Вашей программе: 1) сразу после запуска должны порождаться несколько процессов, формируя определённое генеалогическое дерево процессов (Задание «А» Вашего варианта); 2) каждый из процессов: • сначала должен вывести свой идентификатор и идентификатор родительского процесса, • затем выполнить некоторые действия (Задание «Б» Вашего варианта), • после чего вывести сообщение, что процесс с таким-то идентификатором и таким-то идентификатором родительского процесса завершает работу.
Ваш отчёт по данной части контрольной работы должен включать следующие разделы: 1) текст всех созданных Вами в процессе выполнения задания файлов (листинги программ, Make-файлы, заголовочные файлы, входная и выходная информация и т.д.); 2) результаты тестирования, включающие • несколько различных вариантов запуска программы (с конвейерами, перенаправлениями потоков ввода-вывода), • всё, что выводит Ваша программа на экран, в файлы и т.п., можно с комментариями — почему в таком порядке, почему вывелось именно это и т.д.; учтите, что каждая выведенная на экран строка должна сопровождаться идентификатором процесса, который её вывел; • генеалогические деревья, построенные на основании выходной информации в каждом из запусков, с указанием идентификаторов процессов, на них изображённых. 3) Ваши выводы по итогам данной работы.
Задание «А». Генеалогические деревья процессов.
Задание «Б». Дополнительные действия процессов.
Все процессы должны выводить сообщения (см. Функциональные требования), и, кроме того, выделенные зелёным, жёлтым и оранжевым цветами должны производить дополнительные действия.
Учтите, что передачу и получение информации каждым из процессов необходимо сопровождать выводом на экран информации типа «процесс такой-то передал/получил такую-то информацию таким-то образом (через конвейер, FIFO и т.д.)».
Для верной работы программ Вам необходимо будет запускать их в конвейере с какими- либо командами ОС (например, для получения на стандартном потоке ввода вашей программы расширенного списка файлов запустите ls -l | ./myproga).
Вариант 1, 9, 17, 25, 31, 33. Оранжевый получает со стандартного потока ввода список файлов каталога, и выводит их на экран, добавляя перед каждым именем порядковый номер; после этого общее количество полученных файлов оранжевый передаёт жёлтому (через FIFO). Жёлтый полученное количество возводит в квадрат и передаёт зелёному через pipe. Зелёный выводит это число на экран и в файл.
Вариант 2, 7, 10, 18, 26, 32, 34. Жёлтый получает со стандартного потока ввода права доступа к файлам каталога, и выводит их на экран, подменяя все группы прав rwx словом ВСЕ, а через FIFO передаёт зелёному в неизменном виде. Зелёный в полученных строках заменяет группы прав —- на НЕТ и пишет строку в файл.
Оранжевый забирает строки из файла (сразу после записи каждой из строк, синхронизируясь с зелёным семафорами) и выводит эти строки на экран.
Вариант 3, 11, 15, 19, 24, 27, 35. Оранжевый получает со стандартного потока ввода любое руководство, и выводит в файл заголовки всех секций данного руководства.
Жёлтый их оттуда забирает (сразу после записи каждой из строк, синхронизируясь с оранжевым семафорами), выводит на экран и передаёт через pipe зелёному, добавляя к каждой строке порядковый номер. Зелёный выводит эти строки.
Вариант 4, 12, 16, 20, 28, 36, 40. Зелёный получает со стандартного потока информацию о файлах каталога, и, во-первых, выводит на экран строки о тех из них, у которых установлен бит запуска владельцем; во-вторых, при помощи семафоров передаёт оранжевому размер каждого из таких файлов (никаких дополнительных средств коммуникации между зелёным и оранжевым не использовать, только семафоры), а оранжевый суммирует и выводит каждый раз полученное значение и текущую сумму на экран; в-третьих, зелёный через pipe передаёт жёлтому имена этих файлов, а жёлтый записывает их в файл.
Вариант 5, 8, 13, 21, 29, 37, 39. Жёлтый получает со стандартного потока ввода список всех активных процессов, и, во-первых, выводит на экран процессы только с четными PID; во-вторых, передаёт при помощи семафоров оранжевому каждый из этих номеров (никаких дополнительных средств коммуникации между зелёным и оранжевым не использовать, только семафоры), оранжевый суммирует и выводит каждый раз полученное значение и текущую сумму на экран; в-третьих, жёлтый при помощи pipe передаёт имена чётных процессов зелёному, а тот записывает их в файл.
Вариант 6, 14, 22, 23, 30, 38. Жёлтый получает со стандартного потока ввода содержимое любого текстового файла и выводит на экран те его строки, которые начинаются с цифры, остальные строки передавая через FIFO зелёному. Тот заменяет в полученных строках X на Y и выводит результирующие строки на экран, а затем передаёт значение длины строки оранжевому при помощи семафоров (без дополнительных средств коммуникации). Оранжевый отображает на экран полученные значения и накопительную сумму.
или напишите нам прямо сейчас:
Здравствуйте, меня интересуют примерные тесты по биотехническим технологиям
Инга, здравствуйте! Поможем с подготовкой материалов для Вашего учебного проекта. Прошу Вас прислать подробное задание (методичка, заданий от кафедры, бланки, комментарии — всё, что есть) на почту 3227505@mail.ru. Я посмотрю и напишу Вам ответ на почту в самые сжатые сроки. Спасибо!
Здравствуйте! Нужно сдать сессию под ключ ММУ
Валерия, здравствуйте! Поможем с подготовкой материалов для Вашего учебного проекта. Прошу Вас прислать подробное задание (методичка, заданий от кафедры, бланки, комментарии — всё, что есть) на почту 3227505@mail.ru. Я посмотрю и напишу Вам ответ на почту в самые сжатые сроки. Спасибо!
Здравствуйте! ВКР ММУ выполняете?
Дмитрий, здравствуйте! Поможем с подготовкой материалов для Вашего учебного проекта. Прошу Вас прислать подробное задание (методичка, заданий от кафедры, бланки, комментарии — всё, что есть) на почту 3227505@mail.ru. Я посмотрю и напишу Вам ответ на почту в самые сжатые сроки. Спасибо!
Отчет по Ознакомительная практика ММУ 2 семестр электроэнергетика и электротехника
Кристина, здравствуйте! Поможем с подготовкой материалов для Вашего учебного проекта. Прошу Вас прислать подробное задание (методичка, заданий от кафедры, бланки, комментарии — всё, что есть) на почту 3227505@mail.ru. Я посмотрю и напишу Вам ответ на почту в самые сжатые сроки. Спасибо!
Преддипломная практика | П.В | Производственная практика ММУ по направлению 20.03.01 Техносферная безопасность.__2. Научно-исследовательская работа | П.В | Производственная практика
Анна, здравствуйте! Поможем с подготовкой материалов для Вашего учебного проекта. Прошу Вас прислать подробное задание (методичка, заданий от кафедры, бланки, комментарии — всё, что есть) на почту 3227505@mail.ru. Я посмотрю и напишу Вам ответ на почту в самые сжатые сроки. Спасибо!
Учебная практика. Дистанционное обучение в колледже ММУ. Торговое дело 1 семестр
Владимир, здравствуйте! Поможем с подготовкой материалов для Вашего учебного проекта. Прошу Вас прислать подробное задание (методичка, заданий от кафедры, бланки, комментарии — всё, что есть) на почту 3227505@mail.ru. Я посмотрю и напишу Вам ответ на почту в самые сжатые сроки. Спасибо!
сдать вступительный экзамены , на менеджер в энергетике, ММУ
Иван, здравствуйте! Поможем с подготовкой материалов для Вашего учебного проекта. Прошу Вас прислать подробное задание (методичка, заданий от кафедры, бланки, комментарии — всё, что есть) на почту 3227505@mail.ru. Я посмотрю и напишу Вам ответ на почту в самые сжатые сроки. Спасибо!
Технологическая (проектно-технологическая) практика | П.В | Производственная практика / институт ВТУ ММУ факультет Техносферная безопасность профиль Пожарная безопасность
Оксана, здравствуйте! Поможем с подготовкой материалов для Вашего учебного проекта. Прошу Вас прислать подробное задание (методичка, заданий от кафедры, бланки, комментарии — всё, что есть) на почту 3227505@mail.ru. Я посмотрю и напишу Вам ответ на почту в самые сжатые сроки. Спасибо!
Подскажите, пожалуйста, сколько будет стоить закрыть предмет на 2 курсе ММУ, просто тесты?
Андрей, здравствуйте! Поможем с подготовкой материалов для Вашего учебного проекта. Прошу Вас прислать подробное задание (методичка, заданий от кафедры, бланки, комментарии — всё, что есть) на почту 3227505@mail.ru. Я посмотрю и напишу Вам ответ на почту в самые сжатые сроки. Спасибо!
Колледж ММУ специальность Оператор диспетчерской службы.__Онлайн тесты за 1 семестр и отчет об учебной практике ПМ.01, 02, 03
Екатерина, здравствуйте! Поможем с подготовкой материалов для Вашего учебного проекта. Прошу Вас прислать подробное задание (методичка, заданий от кафедры, бланки, комментарии — всё, что есть) на почту 3227505@mail.ru. Я посмотрю и напишу Вам ответ на почту в самые сжатые сроки. Спасибо!
Анатомия 1 курс 2 семестр в ММУ
Юлия, здравствуйте! Поможем с подготовкой материалов для Вашего учебного проекта. Прошу Вас прислать подробное задание (методичка, заданий от кафедры, бланки, комментарии — всё, что есть) на почту 3227505@mail.ru. Я посмотрю и напишу Вам ответ на почту в самые сжатые сроки. Спасибо!
«Системы обеспечения производственной безопасности» для ММУ__Курсовая на одну из тем.
Дарья, здравствуйте! Поможем с подготовкой материалов для Вашего учебного проекта. Прошу Вас прислать подробное задание (методичка, заданий от кафедры, бланки, комментарии — всё, что есть) на почту 3227505@mail.ru. Я посмотрю и напишу Вам ответ на почту в самые сжатые сроки. Спасибо!
Сессию дистанционно в ММУ
Ангелина, здравствуйте! Поможем с подготовкой материалов для Вашего учебного проекта. Прошу Вас прислать подробное задание (методичка, заданий от кафедры, бланки, комментарии — всё, что есть) на почту 3227505@mail.ru. Я посмотрю и напишу Вам ответ на почту в самые сжатые сроки. Спасибо!
Здравствуйте, нужна помощь по сдаче вступительных тестов ММУ русский,информационные технологии,математика (инженерно-технический профиль)
Кирилл, здравствуйте! Поможем с подготовкой материалов для Вашего учебного проекта. Прошу Вас прислать подробное задание (методичка, заданий от кафедры, бланки, комментарии — всё, что есть) на почту 3227505@mail.ru. Я посмотрю и напишу Вам ответ на почту в самые сжатые сроки. Спасибо!
Ответы на вступительные экзамены в ММУ
Артём, здравствуйте! Поможем с подготовкой материалов для Вашего учебного проекта. Прошу Вас прислать подробное задание (методичка, заданий от кафедры, бланки, комментарии — всё, что есть) на почту 3227505@mail.ru. Я посмотрю и напишу Вам ответ на почту в самые сжатые сроки. Спасибо!