Программа по параллельной работе потоков “производитель – потребитель”

Цена:
150 руб.

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

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

Описание

ЛАБОРАТОРНАЯ РАБОТА №4
по дисциплине
«Операционные системы»

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

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

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

Год сдачи - 2010
Оценка - Зачет
Замечаний нет
Программа по параллельной работе потоков “производитель – потребитель”
ЛАБОРАТОРНАЯ РАБОТА №4 по дисциплине «Операционные системы» Написать программу, которая будет эмулировать параллельную работу некоторых потоков. Потоки должны работать циклически. В качестве модели использовать схему “производитель – потребитель”. Один поток (производитель) может помещать случайные (или какие-то определенные – например, только четные числа или квадраты целых чисел и т.п.) числа в буфер (массив заданного размера), для наглядности поток-производитель должен эти числа выводить на э
User hunter911 : 23 января 2011
100 руб.
Лояльность потребителей
Введение. Понятие лояльности потребителей. Понятие лояльности потребителей и её значение. Связь между уровнем удовлетворенности и лояльностью. Критерии и методы оценки лояльности потребителей. Клиентская лояльность: три модели поведения. Критерии оценки лояльности потребителей. Методика "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. Рынок труда в условиях совершенной конкуренции Одним из основных факторов производства является труд. Конечно, труд, как производственный ре­сурс имеет свои особенности. Главная из них состоит в том, что труд неотделим от человека и несет социальный и политический аспект. У рабочих, в отличие от машин, есть права, и на защите этих прав в современной рыночной экономике стоят профсоюзы и государство. Вместе с тем, несмотря на отмеченную выше специфику труда, при его исследовании как фактора п
User ostah : 24 сентября 2013
5 руб.
Защита прав потребителей
Экономические трудности середины 80-х годов привели к тому, что из лексикона практически исчезло слово "купить". Потребление представляло собой одну сплошную и непрервыную трудность, выразимую лишь одним роковым вопросом: "где достать". Затем пришли рыночные реформы, вслед за ними - законы, защищаюшие интересы потребителей. Казалось, достаточно добиться появления справедливых законов, предоставляющих потребителям реальную возможность защитить себя от произвола производителей и продавцов и все из
User Aronitue9 : 18 ноября 2012
5 руб.
Типы поведения потребителя
Социальное действие и поведение Единицей поведения является социальный акт, действие. "Поведение человека может быть представлено как ряд функциональных единиц, каждая из которых начинается с нарушения равновесия внутри организма и кончается восстановлением равновесия. Такая единица называется актом" (Шибутани 1969: 60). Нарушение равновесия - это, говоря иными словами, потребность. Покупка - это заключительная фаза акта, началом которого была осознанная потребность (осознание нарушения равновес
User elementpio : 15 ноября 2012
Теплотехника Задача 26.62 Вариант 04
Тема «Теплопередача через плоскую стенку» Определить на сколько снизятся тепловые потери ограждающих конструкций (стен) здания с известной общей площадью стен F, толщиной δ1 и с коэффициентом теплопроводности λ1, если на стены наложить слой тепловой изоляции толщиной δ3 с коэффициентом теплопроводности λ3. С внутренней стороны стены имеют слой гипсовой штукатурки толщиной δ2=15 мм с коэффициентом теплопроводности λ3=0,375 Вт/(м·К). Внутри помещения требуется поддерживать температуру во
User Z24 : 11 февраля 2026
200 руб.
Теплотехника Задача 26.62 Вариант 04
Разработать проект полукозлового крана, работающего на открытом воздухе, для осуществления погрузочно–разгрузочных работ с различными классами грузов
Содержание Введение 1. Расчёт механизма подъёма 1.1. Выбор типа и кратности полиспаста 1.2. Расчёт и выбор каната 1.3. Диаметр блока 1.4. Выбор двигателя 1.5. Выбор редуктора 1.6. Выбор тормоза 1.7. Выбор муфт 1.8. Определение времени пуска и торможения 1.9. Проверка подшипников качения 1.10. Расчёт крепления каната на барабане 1.11. Проверка болтов фланца барабана 1.12
User Рики-Тики-Та : 6 ноября 2011
55 руб.
Криминалистика
- КР, 9 заданий по 12 тестовых вопроса Вопросы к семинару 1. Вопрос 1. Предметом любой науки являются закономерности … действительности. 1. реальной 2. объективной 3. повседневной Вопрос 2. … преступление совершается в условиях реальной действительности. 1. Всякое 2. Любое 3. Повторное Вопрос 3. Как бы быстротечно не было преступление, оно … не является единовременным актом. 1. обычно 2. никогда 3. всегда Вопрос 4. … отражения подчиняется определенным закономерностям. 1. Событие 2. Явление 3. Пр
User тантал : 19 июля 2013
100 руб.
Склад готовой продукции со стальным каркасом
Содержание Введение 3 1 Исходные данные 3 2 Конструктивное решение 3 2.1 Объемно-планировочные решения 3 2.2 Архитектурно-строительное решение 4 2.3 Конструктивные и компоновочные схемы 4 3 Сбор нагрузок 4 3.1 Постоянная нагрузка 4 3.2 Снеговая нагрузка 5 3.3 Ветровая нагрузка 5 4 Расчетные сочетания усилий 6 5 Подбор сечений элементов каркаса 8 5.1 Подбор сечения прогонов под кровельные «сэндвич» панели 8 5.2 Подбор сечения прогонов под стеновые «сэндвич» панели 10 5.3 Подбор сечения элементов
User Рики-Тики-Та : 14 июня 2012
55 руб.
up Наверх