Операционные системы. Лабораторная работа №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 руб.
Cd-rw
CD-RW 1. Появление CD-RW. Основные производители на рынке Украины CD-RW приводы давно стали популярны на компьютерном рынке, однако зачастую при покупке выбор основывается на цене или фирме-производителе, а не на познаниях покупателя о том, какой привод обеспечит наилучшее сочетание це-ны/производительности/особенностей. На вид накопитель CD-RW практически неотличим от CD-ROM - те же размеры, тот же выдвижной лоток для приема дисков, то же гнездо для подключения наушников и регулятор громкости
User kostak : 17 июня 2012
Електрифікація корівника на 100 голів
Дипломний проект бакалавра. Складається з ПЗ і 4 аркушів графічного матеріалу. Вирощування і утримання молочних корів є однією з головних галузей тваринництва. Мета цієї роботи – оволодіти методикою проектування та навчитись самостійно розв’язувати завдання, пов’язані з розробкою проекту електромеханізації виробничих процесів сільськогосподарських об’єктів Зміст Вступ Розділ 1. Виробничо-господарська характеристика господарства і стан його електрифікації Розділ 2. Проектування електрифікації вир
User nike11111 : 14 февраля 2014
Електрифікація корівника на 100 голів
Наконечник для шланга - Вариант 19. Сборочный чертеж
Выполнить сборочный чертеж наконечника для шланга по чертежам его деталей и описанию устройства. На главном виде сборочного чертежа корпус 1 расположить так, как он изображен на главном виде чертежа детали. Масштаб сборочного чертежа 1:1. Назначение и устройство наконечника для шланга. Приспособление для обдувки сжатым воздухом, промывки и очистки от посторонних частиц, масла, следов охлаждающей жидкости и антикоррозийных покрытий деталей, поступающих на сборку. В корпус 1 со стороны отверстия
User .Инженер. : 17 июня 2025
400 руб.
Наконечник для шланга - Вариант 19. Сборочный чертеж promo
Расчет технологии производства булки городской
ВВЕДЕНИЕ 1 ТЕХНОЛОГИЧЕСКАЯ ЧАСТЬ 1.1 Технологическая характеристика сырья 1.1.1 Особенности биологии 1.1.1.1 Приготовление теста на густой опаре. 1.1.1.2 Приготовление теста на большой густой опаре 1.1.1.3 Приготовление теста на жидких опарах 1.1.1.4 Характеристика хлебопекарных дрожжей 1.1.1.5 Строение дрожжевой клетки 1.1.2 Технохимическая характеристика 1.1.3 Свойства ферментов 1.1.4 Комплексные улучшители для пшеничной муки 1.2 Технологическая схема производства 1.2.1 Приготовление теста 1
User OstVER : 7 сентября 2013
40 руб.
up Наверх