Операционные системы. Лабораторная работа №3 (2019). Для всех вариантов.

Цена:
110 руб.

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

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

Описание

Лабораторная работа №3: Эмуляция работы параллельных процессов на примере схемы “производитель–потребитель”

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

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

Работы сдавались в ноябре 2018, зачтены без замечаний.

Внимание! В программе вместо "Студент ФИО" нужно вставить свои данные.
Операционные системы. Лабораторная работа № 3. Все варианты!
№3: Написать программу «часы», которая будет однократно перехватывать показания системных часов и от них вести отсчет времени, используя собственный счетчик прерываний таймера (в качестве основы может быть использован обработчик прерываний таймера из предыдущей работы). Показания времени – часы, минуты, секунды – следует выводить в заданном месте экрана. Формат вывода: xx:xx:xx. Обновление показаний времени выполнять дискретно, через заданное количество секунд. Программа должна работать резидент
User rt : 2 марта 2015
30 руб.
Операционные системы Лабораторная работа 3
Задание к лабораторной работе №3 Цель занятия: знакомство с сетевыми командами. Изучаемые команды: ifconfig, route, traceroute, ping. 1. Создать файл, содержащий MAC–адрес сетевого интерфейса eth0 и статистику переданных и принятых пакетов для этого интерфейса. 2. Создать файл, содержащий cписок доступных IP–адресов локальной сети. 3. Создать файл, содержащий IP–адрес и сетевое имя шлюза по умолчанию для выхода в Интернет. 4. Создать файл, содержащий перечень имен и IP-адресов узлов, входящих
User ilya22ru : 12 декабря 2024
410 руб.
Операционные системы. Лабораторная работа №3.
1. Создать файл, содержащий MAC–адрес сетевого интерфейса eth0 и статистику переданных и принятых пакетов для этого интерфейса. 2. Создать файл, содержащий список доступных IP–адресов локальной сети. 3. Создать файл, содержащий IP–адрес и сетевое имя шлюза по умолчанию для выхода в Интернет. 4. Создать файл, содержащий перечень имен и IP-адресов узлов, входящих в маршрут до вашего почтового сервера (например, mail.ru, yandex.ru). 5. Определить, какие из этих узлов доступны для связи в данны
User Fockus : 7 июля 2023
200 руб.
Лабораторная работа №3 "Операционные системы"
Лабораторная работа №3. Вариант 8. Эмуляция работы параллельных процессов на примере схемы «производитель–потребитель»
User Daniil2001 : 12 февраля 2023
50 руб.
Операционные системы. Лабораторная работа №3
Управляющие конструкции командной оболочки Обработка параметров командной строки, передаваемых в скрипт Цель работы: Изучить управляющие (условные, циклические) конструкций управления командной оболочкой. Изучить способы взаимодействия командной оболочки и скриптов. Задание. Написать скрипт, анализирующий параметры командной строки с помощью специальных переменных и с помощью команды getopts. Скрипт должен выполнять следующую работу: а) используя соответствующую спецпеременную вывести всю
User 1973830311asd : 26 сентября 2020
650 руб.
Операционные системы. Лабораторная работа № 3
1. Постановка задачи Написать программу «часы», которая будет однократно перехватывать показания системных часов и от них вести отсчет времени, используя собственный счетчик прерываний таймера (в качестве основы может быть использован обработчик прерываний таймера из предыдущей работы). Показания времени – часы, минуты, секунды – следует выводить в заданном месте экрана. Формат вывода: xx:xx:xx. Обновление показаний времени выполнять дискретно, через заданное количество секунд. Программа должна
User gnv1979 : 30 декабря 2016
30 руб.
Операционные системы Лабораторная работа № 3
Написать программу “часы”, которая будет однократно перехватывать показания системных часов и от них вести отсчет времени, используя собственный счетчик прерываний таймера (в качестве основы может быть использован обработчик прерываний таймера из предыдущей работы). Показания времени – часы, минуты, секунды – следует выводить в заданном месте экрана. Формат вывода: xx:xx:xx. Обновление показаний времени выполнять дискретно, через заданное количество секунд. Программа должна работать резидентно.
User jashma28 : 20 декабря 2012
800 руб.
Операционные системы. Лабораторная работа №3. ВАРИАНТ №3
Управляющие конструкции командной оболочки Обработка параметров командной строки, передаваемых в скрипт Цель работы: Изучить управляющие (условные, циклические) конструкций управления командной оболочкой. Изучить способы взаимодействия командной оболочки и скриптов. ВАРИАНТ-3 задание: Написать скрипт, анализирующий параметры командной строки с помощью специальных переменных и с помощью команды getopts. Скрипт должен выполнять следующую работу: а) используя соответствующую спецпеременную вывес
User DmitryK : 14 мая 2020
100 руб.
ИГ.06.28.02 - Пирамида с вырезами
Все выполнено в программе КОМПАС 3D v16 Вариант 28 ИГ.06.28.02 - Пирамида с вырезами 1. По двум видам построить вид слева, горизонтальный, фронтальный и профильный разрезы. 2. Нанести размеры. 3. Построить прямоугольную изометрическую проекцию с четвертью выреза. Отверстия сквозные. В состав работы входят 4 файла: - 3D модель данной детали, разрешение файла *.m3d; - ассоциативный чертеж формата А3 в трёх видах с выполненными горизонтальным, фронтальным и профильным разрезами с совмещением пол
100 руб.
ИГ.06.28.02 - Пирамида с вырезами
Правовая среда бизнеса.
ЭКЗАМЕНАЦИОННЫЕ ЗАДАЧИ ДЛЯ САМОСТОЯТЕЛЬНОГО РЕШЕНИЯ ЗАДАЧА 1. ПРЕДПРИНИМАТЕЛЬНИЦЫ Светлана и Ольга зарегистрированы как предприниматели без образования юридического лица (индивидуальные предприниматели). Они арендуют помещение для парикмахерской и работают в нём. Каждая из них получает стабильный доход от своей деятельности. Проработав несколько лет вместе, они думают над тем, чтобы расширить свой бизнес: купить, или снять ещё помещение, а также нанять персонал в эти помещения. Они обсуждают раз
User studypro3 : 6 января 2020
500 руб.
Лабораторные работы №1,2,3 по дисциплине: Технология разработки телекоммуникационных сервисов. Вариант №24
Вариант задания: №24 Суперкласс Cреда разработки ПО Поля Производитель, Последняя версия Методы Вывод производителя, Вывод последней версии Подклассы Borland Developer Studio, HiAsm,Kylix Лабораторная работа №1 Приёмы объектно-ориентированного программирования на языке Java 2 Цель работы:Изучение принципов объектно-ориентированного программирования – инкапсуляции, наследования, полиморфизма. Подготовка к лабораторной работе: 1. Изучить лекционный
User drazhenkov : 15 января 2021
250 руб.
Операционные системы реального времени. Экзамен. Билет №2
1. Дать описание конкретных действий, которые выполняет приведённый ниже программный запрос с заданными фактическими параметрами: stat = PeekMessage (&Msg, 0, 1000, 1002, PM_REMOVE); 2. Сформулировать основные различия между короткими сообщениями и сообщениями, передаваемыми по именованным каналам (длина сообщения, организация независимых каналов, адресация получателя). 3. Написать фрагмент программы, отображающий в память объект с именем "array.dat", содержащий массив из одного миллиона ц
User Михаил18 : 26 сентября 2019
250 руб.
up Наверх