Операционные системы. Лабораторная работа №4 (СИБГУТИ)

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

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

Описание

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

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

Работа была успешно сдана преподавателю (Бах О.А.).
Операционные системы. Лабораторная работа №4
1. Постановка задачи Написать программу, которая будет эмулировать параллельную работу некоторых потоков. Потоки должны работать циклически. В качестве модели использовать схему “производитель – потребитель”. Один поток (производитель) может помещать случайные (или какие-то определенные – например, только четные числа или квадраты целых чисел и т.п.) числа в буфер (массив заданного размера), для наглядности поток-производитель должен эти числа выводить на экран. Другой поток (потребитель) забира
User gnv1979 : 30 декабря 2016
30 руб.
Операционные системы. Лабораторная работа № 4
Написать программу, которая будет эмулировать параллельную работу некоторых потоков. Потоки должны работать циклически. В качестве модели использовать схему «производитель – потребитель». Один поток (производитель) может помещать случайные (или какие-то определенные – например, только четные числа или квадраты целых чисел и т.п.) числа в буфер (массив заданного размера), для наглядности поток-производитель должен эти числа выводить на экран. Другой поток (потребитель) забирает числа из этого буф
User jashma28 : 20 мая 2012
800 руб.
Операционные системы (СибГУТИ)
Дисциплина Операционные системы 1) Основные характеристики и особенности систем пакетной обработки, систем разделения времени и систем реального времени. Критерии эффективности. 2) Сегментное преобразование памяти – достоинства и недостатки. Дескриптор сегмента. Сравнить с дескриптором страниц – общее и различия. 3) Привести пример программной реализации семафорных примитивов. Использовать семафоры для синхронизации процессов, один из которых в процессе своей работы посылает другому сообщение,
User Lost : 15 февраля 2012
80 руб.
Лабораторная работа №4 по дисциплине: «Операционные системы»
Задание Написать программу, которая будет эмулировать параллельную работу некоторых потоков. Потоки должны работать циклически. В качестве модели использовать схему “производитель – потребитель”. Один поток (производитель) может помещать случайные (или какие-то определенные – например, только четные числа или квадраты целых чисел и т.п.) числа в буфер (массив заданного размера), для наглядности поток-производитель должен эти числа выводить на экран. Другой поток (потребитель) забирает числа из э
User Мария114 : 24 мая 2017
100 руб.
Операционные системы. Лабораторная работа № 4. Все варианты!
№4: Написать программу, которая будет эмулировать параллельную работу некоторых потоков. Потоки должны работать циклически. В качестве модели использовать схему “производитель – потребитель”. Один поток (производитель) может помещать случайные (или какие-то определенные – например, только четные числа или квадраты целых чисел и т.п.) числа в буфер (массив заданного размера), для наглядности поток-производитель должен эти числа выводить на экран. Другой поток (потребитель) забирает числа из этого
User rt : 2 марта 2015
30 руб.
ЛАБОРАТОРНАЯ РАБОТА №4 по дисциплине «Операционные системы»
1. Постановка задачи. Написать программу, которая будет эмулировать параллельную работу некоторых потоков. Потоки должны работать циклически. В качестве модели использовать схему “производитель – потребитель”.
User mike_vorn : 30 сентября 2014
680 руб.
Лабораторная работа № 4 по дисциплине "Операционные системы".
Написать программу, которая будет эмулировать параллельную работу некоторых потоков. Потоки должны работать циклически. В качестве модели использовать схему “производитель – потребитель”. Один поток (производитель) может помещать случайные (или какие-то определенные – например, только четные числа или квадраты целых чисел и т.п.) числа в буфер (массив заданного размера), для наглядности поток-производитель должен эти числа выводить на экран. Другой поток (потребитель) забирает числа из этого буф
User Greenberg : 11 марта 2012
79 руб.
Операционные системы. Лабораторная работа № 4. Вариант 4
Написать программу, которая будет эмулировать параллельную работу некоторых потоков. Потоки должны работать циклически. В качестве модели использовать схему «производитель – потребитель». Один поток (производитель) может помещать случайные (или какие-то определенные – например, только четные числа или квадраты целых чисел и т.п.) числа в буфер (массив заданного размера), для наглядности поток-производитель должен эти числа выводить на экран. Другой поток (потребитель) забирает числа из этого буф
User maxgalll : 15 ноября 2011
65 руб.
Проекты домов
проекты домов в формате AutoCAD, можно использовать в качестве примера или основы для своей работы.
Принципы дифференциации и интеграции системы менеджмента
Введение…………………………………………………………………………3 Глава 1. Процессы дифференциации и интеграции…………………………..4 Глава 2. Дифференциация системы менеджмента…………………………....20 2.1 Концептуализация модели Лоуренса и Лорша…………………….20 2.2Матрица модели «дифференциация и интеграция»………………...22 2.3 Методика дифференциации производственных затрат…………....24 Глава3. Интеграция системы менеджмента…………………………………...28 3.1 Интеграция как закономерный этап развития системы менеджмента…………………………………………………………………….28 3.2Интеграция
User evelin : 6 апреля 2014
5 руб.
Характеристика родин української чорно-рябої молочної породи в ВАТ Горохівський буряко - радгосп Горохівського району Волинської області
ЗМІСТ Вступ I Огляд літератури 1.1. Походження і поширення української чорно – рябої молочної породи в Україні 1.2. Екстер’єр і конституція 1.3. Молочна продуктивність II Характеристика господарства 2.1. Місце знаходження, природно - кліматичні умови. 2.2. Виробнича структура і господарсько – економічна діяльність. III Матеріал та методика дослідження IV Власні дослідження 4.1. Характеристика стада великої рогатої худоби ВАТ “ Горохівського бурякорадгоспу ” 4.2.
User Aronitue9 : 4 сентября 2012
50 руб.
Теплотехника Часть 1 Термодинамика Задача 20 Вариант 3
Влажный насыщенный пар с абсолютным давлением р1 поступает в дроссельный калориметр для определения его влажности. После дросселирования до давления р2 = 0,1 МПа температура пара становится равной t2. Какова влажность пара до дросселирования? Как возрастает удельная энтропия пара в дроссельном калориметре? Решение задачи иллюстрировать в is — диаграмме.
User Z24 : 11 октября 2025
160 руб.
Теплотехника Часть 1 Термодинамика Задача 20 Вариант 3
up Наверх