Лабораторная работа №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 Управляющие конструкции командной оболочки Обработка параметров командной строки, передаваемых в скрипт
Ближний Восток и его перспективы
Ближний Восток и его перспективы Окончание «холодной войны» объективно привело к возрастанию относительной самостоятельности региональных подсистем международных отношений (МО). В свою очередь, это обусловило усиление неконтролируемого развития как собственно региональных подсистем МО в целом, так и отдельных частей последних. Однако наиболее парадоксальным результатом обоих из вышеупомянутых процессов является возрастающий конфликтный потенциал регионов, особенно в том, что касается зоны так
User Elfa254 : 12 сентября 2013
Культурология. Зачет. Билет №1.
Объект, предмет и методы исследования культурологии. Объект исследования науки – это совокупность качественно определенных явлений и процессов реальности, существенно отличных по своей внутренней природе, основным чертам и законам функционирования и развития от других объектов этой реальности. Культурология относится к группе наук, исследующих в качестве объектов все виды и формы...
User Cole82 : 1 июня 2015
21 руб.
Основы теплотехники МИИТ 2012 Задача 1.3 Вариант 8
В дроссельном клапане парового двигателя водяной пар с начальными параметрами р1 и t1 дросселируется до давления 1 МПа, а затем адиабатно расширяется в цилиндре двигателя до давления 0,1 МПа. Определить потерю располагаемой работы пара вследствие дросселирования. Решение задачи проиллюстрировать в is — диаграмме.
User Z24 : 4 марта 2026
150 руб.
Основы теплотехники МИИТ 2012 Задача 1.3 Вариант 8
Гидравлика Москва 1990 Задача 4 Вариант 7
амкнутый резервуар разделен на две части плоской перегородкой, имеющей квадратное отверстие со стороной а, закрытое крышкой (рис.4). Давление над жидкостью Ж в левой части резервуара определяется показаниями манометра рм, давление воздуха в правой части — показаниями мановакуумметра. Определить величину и точку приложения результирующей силы давления на крышку. Указание: Эксцентриситет е центра давления для результирующей силы может быть определен по выражению е=Iв/(hц.т+(Δр/γ))·S где Δ
User Z24 : 26 декабря 2025
160 руб.
Гидравлика Москва 1990 Задача 4 Вариант 7
up Наверх