Лабораторная работа №3 "Операционные системы"

Цена:
50 руб.

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

material.view.file_icon
material.view.file_icon
material.view.file_icon LR3.EXE
material.view.file_icon LR3.pas
material.view.file_icon ЛР3 Операционные системы.docx
Работа представляет собой rar архив с файлами (распаковать онлайн), которые открываются в программах:
  • Microsoft Word

Описание

Лабораторная работа №3. Вариант 8.
Эмуляция работы параллельных процессов на примере
схемы «производитель–потребитель»

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

Задание для выполнения лаб. работы №3
Написать программу, которая будет эмулировать параллельную работу некоторых потоков. Потоки должны работать циклически. В качестве модели использовать схему «производитель – потребитель». Один поток (производитель) может помещать случайные (или какие-то определенные – например, только четные числа или квадраты целых чисел и т.п.) числа в буфер (массив заданного размера), для наглядности поток-производитель должен эти числа выводить на экран. Другой поток (потребитель) забирает числа из этого буфера. Для контроля также выполнять вывод на экран чисел, взятых потоком-потребителем из буфера. Вывод разными потоками выполнять в разные строки и/или разным цветом; дополнительно выводить на экран индикатор того, какой именно поток работает в настоящий момент, а также содержимое буфера и текущий процент его заполненности.
На экране параллельная работа потоков может быть представлена следующим образом:
Верхняя строка (производитель): ячейка для вывода текущего сгенерированного числа, признак активности потока (слово, символ, цвет), сообщение о переполнении буфера в случае этого события. Возможно, ещё какая-то полезная информация, например, номер заполняемой ячейки.
Нижняя (или вторая) строка (потребитель): ячейка для вывода текущего прочитанного числа, признак активности потока (слово, символ, цвет), сообщение о пустом буфере в случае этого события. Возможно, информация о номере считываемой из буфера ячейки.
В середине экрана: сам буфер, в который числа добавляются потоком-производителем и из которого считываются (удаляются или перекрашиваются, попадая при этом в его ячейку в нижней строке экрана) потоком-потребителем. Считывание чисел можно производить по принципу стека или очереди. При считывании по принципу очереди после завершения работы потребителя какое-то количество чисел из начала буфера исчезнет, следовательно, буфер будет перемещаться по экрану и в какой-то момент его потребуется переписать заново, от начала.
Отдельной строкой или в углу экрана отображать процент заполненности буфера.
Предусмотреть обработку критических ситуаций:
1) Случай, когда потребителю предоставлено управление, а буфер данных пуст – тогда активный поток должен напрямую отдать управление производителю, а сам уйти в режим ожидания. При этом вопрос с квантом времени для производителя может быть решён по-разному. Например, остаток недоработанного потребителем кванта может быть передан производителю, либо ему может быть выделен новый квант времени.
2) Случай, когда управление предоставлено производителю, а буфер полон и записывать результаты некуда – поток-производитель должен заблокироваться до появления свободного места в буфере и запустить поток-потребитель. Вопрос с квантом может решаться аналогично.
Для того чтобы было возможно пронаблюдать работу потоков в замедленном режиме, в каждом из потоков следует поставить дополнительную задержку (стандартный delay), величину которой задавать с клавиатуры при запуске программы, в качестве параметра командной строки. При запуске без параметров выводить сообщение примерного вида: «Программа запущена со стандартной задержкой, величина которой =…» и формат запуска программы для задания желаемой задержки.
Потоки при работе чередуются случайным образом; регламентировать их работу с помощью таймера (выделять каждому кванты времени, величина которых тоже случайна – в некотором диапазоне). При этом может складываться ситуация, что один и тот же поток несколько раз подряд получит управление. Таймер по окончании выделенного потоку кванта времени изменяет статус этого потока с активного на пассивный, в результате чего внутренний цикл этого потока должен завершиться.
Внутри обработчика прерываний таймера не может находиться вызовов процедур – потоков! Вызовы процедур должны происходить в бесконечном цикле в основной программе. В обработчик прерываний таймера вообще нельзя включать никакие действия, требующие длительного выполнения, например, вызовы циклических процедур, или процедур, работающих с графикой или с диском.
Для выхода из программы предусмотреть какую-то специальную клавишу или комбинацию клавиш (выбор по желанию программиста), информация о ней должна быть известна пользователю – помещена на экране. При нажатии этой клавиши происходит окончание работы потока-производителя, а поток-потребитель закончит свою работу, только когда буфер будет исчерпан, т.е. выработанная информация будет полностью использована.
Лабораторная работа № 3 Операционные системы. Вариант № 20
3. Написать программу “часы”, которая будет однократно перехватывать показания системных часов и от них вести отсчет времени, используя собственный счетчик прерываний таймера (в качестве основы может быть использован обработчик прерываний таймера из предыдущей работы). Показания времени – часы, минуты, секунды – следует выводить в заданном месте экрана. Формат вывода: xx:xx:xx. Обновление показаний времени выполнять дискретно, через заданное количество секунд.
User Despite : 14 мая 2015
60 руб.
Лабораторная работа №3. Операционные системы. 3-й семестр
Тема: Работа с экраном (“часы”) Вариант 1. Программа принимает три параметра: 1-й – частота обновления в секундах; 2-й – координата X часов; 3-й – координата Y часов; Результат – фоновые часы.
User oksana : 22 марта 2015
70 руб.
ЛАБОРАТОРНАЯ РАБОТА №3 по дисциплине «Операционные системы»
Задание к лабораторной работе №3 Цель занятия: знакомство с сетевыми командами. Изучаемые команды: ifconfig, route, traceroute, ping. 1. Создать файл, содержащий MAC–адрес сетевого интерфейса eth0 и статистику переданных и принятых пакетов для этого интерфейса. 2. Создать файл, содержащий cписок доступных IP–адресов локальной сети. 3. Создать файл, содержащий IP–адрес и сетевое имя шлюза по умолчанию для выхода в Интернет. 4. Создать файл, содержащий перечень имен и IP-адресов узлов, входящих в
User mike0307 : 24 января 2023
200 руб.
Лабораторная работа №3 по дисциплине «Операционные системы».
Тема работы: Эмуляция работы параллельных процессов на примере схемы “производитель–потребитель” 1. Постановка задачи Написать программу, которая будет эмулировать параллельную работу некоторых потоков. Потоки должны работать циклически. В качестве модели использовать схему “производитель – потребитель”. Один поток (производитель) может помещать случайные (или какие-то определенные – например, только четные числа или квадраты целых чисел и т.п.) числа в буфер (массив заданного размера), для на
User boeobq : 22 ноября 2021
150 руб.
Лабораторная работа №3 по дисциплине «Операционные системы».
Лабораторная работа №3 по дисциплине: Операционные системы
Лабораторная работа №3 по дисциплине: Операционные системы Цель занятия: знакомство с сетевыми командами. Изучаемые команды: ifconfig, route, traceroute, ping. 1. Создать файл, содержащий MAC–адрес сетевого интерфейса eth0 и статистику переданных и принятых пакетов для этого интерфейса. 2. Создать файл, содержащий cписок доступных IP–адресов локальной сети. 3. Создать файл, содержащий IP–адрес и сетевое имя шлюза по умолчанию для выхода в Интернет. 4. Создать файл, содержащий перечень имен
User dralex : 5 апреля 2020
100 руб.
Лабораторная работа №3 по дисциплине: «Операционные системы»
Задание Написать программу “часы”, которая будет однократно перехватывать показания системных часов и от них вести отсчет времени, используя собственный счетчик прерываний таймера (в качестве основы может быть использован обработчик прерываний таймера из предыдущей работы). Показания времени – часы, минуты, секунды – следует выводить в заданном месте экрана. Формат вывода: xx:xx:xx. Обновление показаний времени выполнять дискретно, через заданное количество секунд. Программа должна работать рез
User Мария114 : 24 мая 2017
100 руб.
Лабораторная работа № 3 по дисциплине "Операционные системы".
Написать программу “часы”, которая будет однократно перехватывать показания системных часов и от них вести отсчет времени, используя собственный счетчик прерываний таймера (в качестве основы может быть использован обработчик прерываний таймера из предыдущей работы). Показания времени – часы, минуты, секунды – следует выводить в заданном месте экрана. Формат вывода: xx:xx:xx. Обновление показаний времени выполнять дискретно, через заданное количество секунд. Программа должна работать резидентно.
User Greenberg : 11 марта 2012
79 руб.
ЛАБОРАТОРНАЯ РАБОТА 3 Операционные системы Вариант: 1 Управляющие конструкции командной оболочки Обработка параметров командной строки, передаваемых в скрипт
ЛАБОРАТОРНАЯ РАБОТА 3 По дисциплине: Операционные системы Вариант: 1 Управляющие конструкции командной оболочки Обработка параметров командной строки, передаваемых в скрипт
User KVASROGOV : 10 января 2021
150 руб.
ЛАБОРАТОРНАЯ РАБОТА 3 Операционные системы Вариант: 1 Управляющие конструкции командной оболочки Обработка параметров командной строки, передаваемых в скрипт
Основы построения систем и сетей радиосвязи. Билет 07.
1 Что может стать причиной возникновения тепловых шумов? • Нелинейные искажения сигнала при прохождении через элементы схем приёмо-передатчиков • Межсимвольные искажения, вызванные многолучевым распространением радиосигнала • Хаотичное движение подвижных носителей заряда • Рефракция радиоволн на трассе распространения радиосигнала 2 Определить значение уровня напряжённости электрического поля, выраженного относительно 1 мкВ/м, если абсолютное значение напряженности поля в точке приёма составля
User pavel121 : 6 июня 2020
175 руб.
Основы построения систем и сетей радиосвязи. Билет 07.
Гуманистическая школа психологии
Психология. Содержание: Гуманистическая школа психологии. Сущность Гуманистической школы. Основатели. Предмет исследования. Методы. Вклад в психологию. Использованная литература. Можно читать прямо с листа, максимально оптимизированно. . Рекомендуется для студентов Юридического факультета.
User GnobYTEL : 22 декабря 2012
10 руб.
Контрольная работа по логистике
Понятие материального запаса является одним из ключевых в логистике. Взятое из природы сырье, прежде чем в виде готового изделия попасть к конечному потребителю, перемещается, соединяется с другими материалами, подвергается производственной обработке. Продвигаясь по материалопроводящей цепи, сырье (а впоследствии полуфабрикат и готовый продукт) периодически задерживается, ожидая своей очереди вступления в ту или иную производственную или логическую операцию. Общепринятая формулировка гласит: мат
User alfFRED : 15 ноября 2012
10 руб.
Лабораторные работы №1,2,3 по дисциплине: Операционные системы. Для всех вариантов.
Лабораторная работа No1 Обработка прерываний клавиатуры Написать программу, которая должна “озвучивать” клавиатуру, т.е. после запуска этой программы нажатие любой клавиши на клавиатуре будет сопровождаться звуковым сигналом. Клавиатура при этом должна оставаться работоспособной, т.е. продолжать выполнять свои основные функции в нормальном темпе. Программа должна быть резидентной, т.е. оставаться в памяти после своего завершения. В качестве пробного варианта длительность звукового сигнала и час
User holm4enko87 : 10 января 2025
300 руб.
promo
up Наверх