Эмуляция работы параллельных процессов на примере схемы “производитель–потребитель

Цена:
40 руб.

Состав работы

material.view.file_icon
material.view.file_icon
material.view.file_icon 4 исправленное.doc
material.view.file_icon LAB4.EXE
material.view.file_icon LAB4.PAS
Работа представляет собой zip архив с файлами (распаковать онлайн), которые открываются в программах:
  • Microsoft Word

Описание

Постановка задачи

Написать программу, которая будет эмулировать параллельную работу некоторых потоков. Потоки должны работать циклически. В качестве модели использовать схему “производитель – потребитель”. Один поток (производитель) может помещать случайные (или какие-то определенные – например, только четные числа или квадраты целых чисел и т.п.) числа в буфер (массив заданного размера), для наглядности поток-производитель должен эти числа выводить на экран. Другой поток (потребитель) забирает числа из этого буфера. Для контроля также выполнять вывод на экран чисел, взятых потоком-потребителем из буфера. Вывод разными потоками выполнять в разные строки и/или разным цветом; дополнительно выводить на экран индикатор того, какой именно поток работает в настоящий момент, а также содержимое буфера и текущий процент его заполненности.

На экране параллельная работа потоков может быть представлена следующим образом:

Верхняя строка (производитель): ячейка для вывода текущего сгенерированного числа, признак активности потока (слово, символ, цвет), сообщение о переполнении буфера в случае этого события. Возможно, ещё какая-то полезная информация, например, номер заполняемой ячейки.

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

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

Отдельной строкой или в углу экрана отображать процент заполненности буфера.

Предусмотреть обработку критических ситуаций:

1) Случай, когда потребителю предоставлено управление, а буфер данных пуст – тогда активный поток должен напрямую отдать управление производителю, а сам уйти в режим ожидания. При этом вопрос с квантом времени для производителя может быть решён по-разному. Например, остаток недоработанного потребителем кванта может быть передан производителю, либо ему может быть выделен новый квант времени.

2) Случай, когда управление предоставлено производителю, а буфер полон и записывать результаты некуда – поток-производитель должен заблокироваться до появления свободного места в буфере и запустить поток-потребитель. Вопрос с квантом может решаться аналогично.

Для того чтобы было возможно пронаблюдать работу потоков в замедленном режиме, в каждом из потоков следует поставить дополнительную задержку (стандартный delay), величину которой задавать с клавиатуры при запуске программы, в качестве параметра командной строки. При запуске без параметров выводить сообщение примерного вида: “Программа запущена со стандартной задержкой, величина которой =…” и формат запуска программы для задания желаемой задержки.

Потоки при работе чередуются случайным образом; регламентировать их работу с помощью таймера (выделять каждому кванты времени, величина которых тоже случайна – в некотором диапазоне). При этом может складываться ситуация, что один и тот же поток несколько раз подряд получит управление. Таймер по окончании выделенного потоку кванта времени изменяет статус этого потока с активного на пассивный, в результате чего внутренний цикл этого потока должен завершиться.

Внутри обработчика прерываний таймера не может находиться вызовов процедур – потоков! Вызовы процедур должны происходить в бесконечном цикле в основной программе. В обработчик прерываний таймера вообще нельзя включать никакие действия, требующие длительного выполнения, например, вызовы циклических процедур, или процедур, работающих с графикой или с диском.

Для выхода из программы предусмотреть какую-то специальную клавишу или комбинацию клавиш (выбор по желанию программиста), информация о ней должна быть известна пользователю – помещена на экране. При нажатии этой клавиши происходит окончание работы потока-производителя, а поток-потребитель закончит свою работу, только когда буфер будет исчерпан, т.е. выработанная информация будет полностью использована.

Дополнительная информация

Сдано 2012г.
Лабораторная работа №4 Эмуляция работы параллельных процессов на примере схемы «производитель–потребитель»
Написать программу, которая будет эмулировать параллельную работу некоторых потоков. Потоки должны работать циклически. В качестве модели использовать схему «производитель – потребитель». Один поток (производитель) может помещать случайные (или какие-то определенные – например, только четные числа или квадраты целых чисел и т.п.) числа в буфер (массив заданного размера), для наглядности поток-производитель должен эти числа выводить на экран. Другой поток (потребитель) забирает числа из этого буф
User Ruslanks : 2 апреля 2018
150 руб.
Операционные системы Лабораторная работа №3 Эмуляция работы параллельных процессов на примере схемы “производитель–потребитель”
Задание для выполнения лаб. работы №3 Написать программу, которая будет эмулировать параллельную работу некоторых потоков. Потоки должны работать циклически. В качестве модели использовать схему “производитель – потребитель”. Один поток (производитель) может помещать случайные (или какие-то определенные – например, только четные числа или квадраты целых чисел и т.п.) числа в буфер (массив заданного размера), для наглядности поток-производитель должен эти числа выводить на экран. Другой поток (п
User svladislav987 : 23 августа 2023
200 руб.
Операционные системы. Лабораторная работа № 4. Эмуляция работы параллельных процессов на примере схемы «производитель–потребитель»
1. Постановка задачи Написать программу, которая будет эмулировать параллельную работу некоторых потоков. Потоки должны работать циклически. В качестве модели использовать схему “производитель – потребитель”. Один поток (производитель) может помещать случайные (или какие-то определенные – например, только четные числа или квадраты целых чисел и т.п.) числа в буфер (массив заданного размера), для наглядности поток-производитель должен эти числа выводить на экран. Другой поток (потребитель) забира
User nik200511 : 11 марта 2014
41 руб.
Операционные системы. Лабораторная работа № 4. Эмуляция работы параллельных процессов на примере схемы “производитель-потребитель” . Turbo Pascal. СибГУТИ
Задание для выполнения лаб. работы №4 Написать программу, которая будет эмулировать параллельную работу некоторых потоков. Потоки должны работать циклически. В качестве модели использовать схему “производитель – потребитель”. Один поток (производитель) может помещать случайные (или какие-то определенные – например, только четные числа или квадраты целых чисел и т.п.) числа в буфер (массив заданного размера), для наглядности поток-производитель должен эти числа выводить на экран. Другой поток (п
User РешуВашуРаботу : 27 апреля 2018
450 руб.
Лояльность потребителей
Введение. Понятие лояльности потребителей. Понятие лояльности потребителей и её значение. Связь между уровнем удовлетворенности и лояльностью. Критерии и методы оценки лояльности потребителей. Клиентская лояльность: три модели поведения. Критерии оценки лояльности потребителей. Методика "SERVQUAL". Другие методики оценки лояльности потребителей. программы повышения лояльности. Общие сведения о программах повышения лояльности. Дисконтная программа и розыгрыши призов. Бонусные программы поощрения
User evelin : 19 июля 2015
42 руб.
Управление взаимоотношениями с потребителями.
Технологии работы с возражениями покупателей Практическая часть. 1) Краткое описание ситуации любой организации (1 стр). Вид деятельности любой. Источники информации: личный опыт работы, публикации, сайты организаций. Задания по деятельности организации: А) Какие признаки сегментирования рынка использует организация? Стратегия охвата (сегментирования) рынка? Б) Какие исследования можно провести для проверки гипотез о профилях сегментов?В) Определите возможные признаки позиционирования компании
User studypro3 : 8 февраля 2019
400 руб.
Управление взаимоотношениями с потребителями.
Технологии работы с возражениями покупателей Практическая часть. 1) Краткое описание ситуации любой организации (1 стр). Вид деятельности любой. Источники информации: личный опыт работы, публикации, сайты организаций. Задания по деятельности организации: А) Какие признаки сегментирования рынка использует организация? Стратегия охвата (сегментирования) рынка? Б) Какие исследования можно провести для проверки гипотез о профилях сегментов? ) Определите возможные признаки позиционирования компании
User studypro3 : 27 марта 2018
500 руб.
Модели поведения потребителей
В работе рассмотрены основные модели поведения потребителей, их классификация,описан процесс принятия решений, приведены особенности поведения организаций–потребителей и конечных потребителей. В практической части рассчитана сегментация рынка потребителей ООО "Лэтуаль" в г. Тула (на основе критерия Фишера) и маркетинговые исследования.
User evelin : 19 июля 2015
41 руб.
Деньги и денежные реформы в России
Содержание: 1. Введение……………………………………………………………………….3 2. Экономическое положение Советской республики в период гражданской войны……………………………………………………………….5 3. Натурализация хозяйственных связей……………………..…………7 4. Деньги и денежная реформы 1919-1924 гг. ………………………..8 5. Реформы 20-60 гг. …………………………………………………………10 6. От попыток реформ к кризису командно-бюрократической системы…………………………………………………………………………....14 7. Экономическое развитие Советского Союза в середине 60-х - начале 80-х гг. ………………………
User DocentMark : 31 октября 2012
10 руб.
Системи систем виявлення вторгнень (СВВ) или Intrusion Detection Systems (IDS)
IDS є програмними або апаратними системами, які автоматизують процес перегляду подій, що виникають у комп'ютерній системі чи мережі, аналізують їх з точки зору безпеки. Так як кількість мережевих атак зростає, IDS стають необхідним доповненням інфраструктури безпеки. Ми розглянемо, для яких цілей призначені IDS, як вибрати та настроїти IDS для конкретних систем і мережевих оточень, як обробляти результати роботи IDS і як інтегрувати IDS з іншою інфраструктурою безпеки підприємства. Виявлення пр
User Slolka : 5 октября 2013
10 руб.
Датчик шума
Введение Данный курсовой проект выполнен на основе материала, полученного на предприятии ФГУП «Калугаприбор» г. Калуги. В данном курсовом проекте при разработке печатного узла учитывались условия его работы. Условия эксплуатации блока подразумевают постоянное действие вибрации (10 g) и воздействие ударов (перегрузка 15 g, форма импульса прямоугольная, t = 15 мс), давление 760 мм. рт. ст., диапазон температур (-60 – +100)°С, влажность до 80% при температуре 300С. Данный узел должен обеспечивать в
User DocentMark : 13 ноября 2012
15 руб.
Лабораторная работа №2 по дисциплине Планирование и управление информационной безопасностью. Вариант №1
Лабораторная работа № 2 ТЕМА: «Методы противодействия несанкционированному доступу» 1. Цель работы: Ознакомиться с организации доступа к ресурсам. 2 Порядок выполнения: 1. В первую очередь требуется выбрать один из вариантов выполнения работы: 1) исследования параметров парольной защиты (из 6 баллов), 2) разработка модели системы доступа в соответствии с вариантами по журналу (таблица 5). 2. Напишите вывод по выполненной работе. Теоретические положения 2. Задание. 1. Определить время п
User xtrail : 26 июля 2024
500 руб.
promo
up Наверх