Лабораторная работа №4 по дисциплине: «Операционные системы»

Цена:
100 руб.

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

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

Описание

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

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

Уважаемый студент, дистанционного обучения,
Оценена Ваша работа по предмету: Операционные системы
Вид работы: Лабораторная работа 4
Оценка:Зачет
Дата оценки: 08.02.2017
Рецензия:

Бах Ольга Анатольевна
ЛАБОРАТОРНАЯ РАБОТА №4 по дисциплине «Операционные системы»
1. Постановка задачи. Написать программу, которая будет эмулировать параллельную работу некоторых потоков. Потоки должны работать циклически. В качестве модели использовать схему “производитель – потребитель”.
User mike_vorn : 30 сентября 2014
680 руб.
Лабораторная работа № 4 по дисциплине "Операционные системы".
Написать программу, которая будет эмулировать параллельную работу некоторых потоков. Потоки должны работать циклически. В качестве модели использовать схему “производитель – потребитель”. Один поток (производитель) может помещать случайные (или какие-то определенные – например, только четные числа или квадраты целых чисел и т.п.) числа в буфер (массив заданного размера), для наглядности поток-производитель должен эти числа выводить на экран. Другой поток (потребитель) забирает числа из этого буф
User Greenberg : 11 марта 2012
79 руб.
Лабораторная работа №4 по дисциплине: Операционные системы. Для всех вариантов.
Лабораторная работа №4: Эмуляция работы параллельных процессов на примере схемы “производитель–потребитель” Написать программу, которая будет эмулировать параллельную работу некоторых потоков. Потоки должны работать циклически. В качестве модели использовать схему “производитель – потребитель”. Один поток (производитель) может помещать случайные (или какие-то определенные – например, только четные числа или квадраты целых чисел и т.п.) числа в буфер (массив заданного размера), для наглядности
User IT-STUDHELP : 23 апреля 2017
38 руб.
Лабораторная работа №4 по дисциплине: Операционные системы. Для всех вариантов. promo
Лабораторная работа №4 по дисциплине: Операционные системы. Вариант №7
Задание Написать программу, которая будет эмулировать параллельную работу некоторых потоков. Потоки должны работать циклически. В качестве модели использовать схему “производитель – потребитель”. Один поток (производитель) может помещать случайные (или какие-то определенные – например, только четные числа или квадраты целых чисел и т.п.) числа в буфер (массив заданного размера), для наглядности поток-производитель должен эти числа выводить на экран. Другой поток (потребитель) забирает числа из э
User Jack : 28 января 2014
300 руб.
Лабораторная работа № 4 по дисциплине: Операционные системы. Вариант №1
Постановка задачи. Написать программу, которая будет эмулировать параллельную работу некоторых потоков. Потоки должны работать циклически. В качестве модели использовать схему «производитель – потребитель». Один поток (производитель) может помещать случайные (или какие-то определенные – например, только четные числа или квадраты целых чисел и т.п.) числа в буфер (массив заданного размера), для наглядности поток-производитель должен эти числа выводить на экран. Другой поток (потребитель) забирает
User xtrail : 2 апреля 2013
200 руб.
Лабораторная работа №4 по дисциплине "Операционные системы". Вариант №3.
Постановка задачи: Написать программу, которая будет эмулировать параллельную работу некоторых потоков. Потоки должны работать циклически. В качестве модели использовать схему “производитель – потребитель”. Один поток (производитель) может помещать случайные (или какие-то определенные – например, только четные числа или квадраты целых чисел и т.п.) числа в буфер (массив заданного размера), для наглядности поток-производитель должен эти числа выводить на экран. Другой поток (потребитель) забирает
User hunter911 : 15 сентября 2012
100 руб.
Лабораторная работа № 4 по дисциплине: «Операционные системы, среды и оболочки»
«Управление доступом к файловым ресурсам» Цель работы: Освоение навыков управления доступом пользователей к файлам и папкам с целью защиты информации от несанкционированного доступа 1. Создадим папку, в которую поместите текстовый файл и приложение в виде файла с расширением exe. Например, одну из стандартных программ Windows, такую как notepad.exe (Блокнот).
User gargona : 2 мая 2012
Лабораторная работа №4 по дисциплине: Операционные системы. 3-й семестр
Написать программу, которая будет эмулировать параллельную работу некоторых потоков. Потоки должны работать циклически. В качестве модели использовать схему “производитель – потребитель”. Один поток (производитель) может помещать случайные (или какие-то определенные – например, только четные числа или квадраты целых чисел и т.п.) числа в буфер (массив заданного размера), для наглядности поток-производитель должен эти числа выводить на экран. Другой поток (потребитель) забирает числа из этого буф
User saharok : 13 января 2014
69 руб.
И28.04.00.00 Цилиндр пневматического патрона с полым штоком
Задание № 28.04.00.0 из Атласа чертежей общего вида для деталирования Иванова Ю.Б. Цилиндр пневматического патрона служит для зажима датели механизмом головки патрона, которая на чертеже непоказана. Усилие к головке патрона передается штоком 7. Цилиндр 1 прикреплен к головке патрона шестью винтами М10. Для передвижения штока 7 влево (рабочий ход) сжатый воздух под давлением 39*10^4 н/м^2 (4 кГ/см^2) подводится к штуцеру Г. Проходя по кольцевой выточке в муфте 4 через сверления во втулке 2, крыш
User HelpStud : 10 апреля 2018
300 руб.
И28.04.00.00 Цилиндр пневматического патрона с полым штоком promo
Теоретическая механика СамГУПС Самара 2020 Задача Д2 Рисунок 4 Вариант 4
Применение принципа Даламбера к определению реакций связи Вертикальный вал АК (рис. Д2.0–Д2.9), вращающийся с постоянной угловой скоростью ω = 10 c-1, закреплен подпятником в точке А и цилиндрическим подшипником в точке, указанной в таблице Д2, в столбце 2. При этом АВ = ВD = DЕ = ЕК = а. К валу жестко прикреплены однородный стержень 1 длиной l = 0,6 м, имеющий массу m1 =3 кг, и невесомый стержень 2 длиной l2 = 0,4 м и с точечной массой m2 = 5 кг на конце. Оба стержня лежат в одной плоскости.
User Z24 : 9 ноября 2025
250 руб.
Теоретическая механика СамГУПС Самара 2020 Задача Д2 Рисунок 4 Вариант 4
Кейс «Увеличить продажи – наша задача». 2015.
Ситуация Prom1.ru - молодой Интерен-магазин. Его создатели поставили перед собой задачу - построить эффективно действующий масштабируемый бизнес, который обеспечивал бы безупречный приём, обработку и отправку заказов, предлагая при этом самые новые и удобные веб-сервисы. Процесс покупок в Prom1.ru должен быть максимально простым, удобным и доступным самому широкому кругу пользователей. Для выполнения таких амбициозных целей и обеспечения устойчивого роста компании нужна мощная аналитическая баз
User studypro : 27 июля 2015
100 руб.
Черчение. Задание №45. вариант №21. фигура 1,2,3,4
Задание 45 вариант 21 фигура 1 Задание 45 вариант 21 фигура 2 Задание 45 вариант 21 фигура 3 Задание 45 вариант 21 фигура 4 Построить третью проекцию модели по двум заданным. 3d модели и чертежи (все на скиншотах показанно) открыть можно в компасе 3D v13,14,15,16,17 и выше.
User bublegum : 6 мая 2020
150 руб.
Черчение. Задание №45. вариант №21. фигура 1,2,3,4 promo
up Наверх