Linux Семафоры (Язык С)

Срочно
Выполнен
Заказ
3178969
Раздел
Программирование
Предмет
Операционные системы
Антиплагиат
Не указан
Срок сдачи
7 Мая 2020 в 23:55
Цена
Договорная цена
Блокировка
10 дней
Размещен
3 Мая 2020 в 17:29
Просмотров
185
Описание работы

Реализуйте процесс взаимного исключения (mutual exclusion) для процесов , используя именные семафоры стандарту POSIX. Время работы на общем ресурсе симулировать с помощью, например функции sleep(). Для демонстрации правильной работы программы используйте вывод сообщений через отдельные процессы до, во время и после критической секции и функции, которая дает значение семафора. Не забудьте инициализировать семафор с соответствующим значением, как только он будет создан.

Создайте свою собственную библиотеку в использовании простых функций: для создания, открывания, получения значения, работы, закрывания и удаления семафора(используя соответствующие функции системы / библиотеки и включая обработку ошибок).

Напишите специальную программу для воспроизведения процессов взаимного исключения - на основе функций fork и exec(название программы для инициализации процессов, количество процессов и количество критических/приватных каждого процесса передавать через аргументы программы "Множителя"). Эта программа должна изначально создать и инициировать семафор, a в конце - когда все его дочерние процессы завершаться - удалите его.

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

Также проверьте, какое будет окончательное значение числа без использования критической секции.

Нужна такая же работа?
  • Разместите заказ
  • Выберите исполнителя
  • Получите результат
Гарантия на работу1 год
Средний балл4.52
СтоимостьНазначаете сами
ЭкспертВыбираете сами
Уникальность работыот 70%
Время выполнения заказа:
15 дней 6 часов 26 минут
Выполнен
Отзыв о выполненном заказе
Нужна аналогичная работа?
Оформи быстрый заказ и узнай стоимость
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Прямой эфир