Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.

Необходимо сделать 3 лабораторные работы. Текст задания ниже, методички - в прикрепленных файлах. Везде по 2 задания, но нужно делать ТОЛЬКО задания под номером 2.

Приветствуется максимально простой и понятный код.

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

  • если программа прочитала файл, то сразу передается ответ, он должен содержать номер отвечающей программы и время ответа;
  • если файл не читался, то ответ передается только при условии, что время посылки запроса в сообщении меньше, чем время запроса на чтение у данной программы;Запросы, на которые ответы не были переданы, должны быть запомнены и после чтения файла обслужены.(лаб 8, задание 2. Задание 1 делать НЕ НУЖНО.)

    2) Напишите две программы, которые работают параллельно и обмениваются массивом целых чисел через две общие разделяемые области. Через первую область первая программа передает массив второй программе. Через вторую область вторая программа возвращает первой программе массив, каждый элемент которого уменьшен на 1. Обе программы должна вывести получаемую последовательность чисел. Синхронизация работы программ должна осуществляться с помощью общих переменных, размещенных в разделяемой памяти.(лаб 9, задание 2. Задание 1 делать НЕ НУЖНО).

    3) Напишите две программы, экземпляры которых запускаются параллельно и с разной частотой обращаются к общему файлу. Каждый процесс из первой группы (Писатель) пополняет файл определенной строкой символов и выводит ее на экран вместе с именем программы. Процессы второй группы (Читатели) считывают строки из файла и выводят их на экран при условии отсутствия ожидающих запись Писателей. Пока один Писатель записывает строку в файл, другим Писателям и всем Читателям запрещено обращение к файлу. Если Писатели не пишут в файл, то разрешается одновременная работа всех Читателей.Писатели должны ожидать, пока не закончат работу запущенные Читатели. Писатель заканчивает работу после того как выполнит N-кратную запись строки в файл. Работа Читателя завершается, когда он прочитал весь текущий файл. Синхронизация процессов должна выполняться с помощью семафоров.(лаб 10, задание 2. Задание 1 делать НЕ НУЖНО.)

год назад
guest_16715379787895
год в сервисе
Был
год назад
  • Похожие заказы
  • Необходимо разработать программное решение, которое будет позволять работать одновременно в нескольких аккаунтах VK каждый под своим отдельным прокси. Также присылать по API оповещения из VK и дублировать оповещения в Telegram. В оценке обязательно указывайте стек технологий, ...

    Закрыт
    год назад
  • $160

    Ваша задача реализовать функцию assign. Ваша реализация оценивается по следующим критериям в следующем порядке: Соблюдены требования к типу: вы должны придерживаться приведенной выше спецификации типа ключа и значения. Корректность: Ваша программа должна работать interval_mapс описанным выше поведением. ...

    Закрыт
    год назад
  • Написать на bash скрипт , которая по выбору пользователя сможет вычислить a) произведение отрицательных элементов массива b) сумму положительных элементов массива расположенных до максимального элемента При этом пользователю в начале должен быть дан выбор ...

    Прикладное ПО1 исполнитель
    Завершен
    год назад
  • Бот нужен для защиты проекта. Есть код, в котором немного прописаны Inline кнопки(3-4 уровня кнопок, которые меняют текст в зависимости от нажатой кнопки). Необходимо добавить функционал кнопкам: 1. Инлайн меню с 4 кнопками, каждая из ...

    Закрыт
    год назад
  • Надо решить кейс по численным методам фотоники (анализ деформации зеркала) до 10:00 Москве завтрашнего дня, инструкция: во вложении

    Прикладное ПОнет заявок
    Закрыт
    год назад
  • Приветствую. Я занимаюсь рассылками, мне нужно что бы несколько скриптов на питоне брали номера из одной базы данных и при этом не могли взять одни и те же номера. Сейчас это реализованно на sqlite через ...

    Закрыт
    год назад
  • $100

    Детальное описание на английском в прикрепленном файле, сделать нужно согласно struct описанной в задании и используя linked list, лабораторная для университета, так что не должно быть слишком сложно сделать надо до 19 декабря, плачу в районе ...

    Прикладное ПО1 исполнитель
    Закрыт
    год назад
  • Добрый день! В проект по созданию соц. сети разыскивается Vue.JS (vue3) разработчик. Шаблонная кодовая база имеется, API реализовано на 90%. Для ускорения разработки принято решение взять еще одного FrontEnd разработчика. Стэк проекта: Vue3, Node.js + Express, JWT авторизация. В заявке, ...

    Закрыт
    год назад
  • $2500

    Привет, я ищу фрилансера, который сможет перенести мои данные в excel. Простая задача, если выполнить ее вовремя, будет работать с ним на долго. Проект состоит в том, чтобы создать лист Excel для расчета чьего-то да

    Закрыт
    год назад