Операционные системы. Лабораторная работа №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 руб.
Финансы. Экзамен. В-8
1) Темы и методические указания для выполнения первого вопроса экзаменационной работы Первый вопрос экзаменационного задания предполагает изложение основных положений одной из тем дисциплины. Изложение осуществляется в два этапа: на первом этапе составляется подробный план ответа, а на втором этапе – формируются выводы по каждому пункту плана и общий вывод по рассматриваемой теме. и также приводится перечень источников, которые были использованы кроме лекционного материала . Темы для выполнения
User Mixhot : 29 января 2016
50 руб.
Основы гидравлики и теплотехники Задача 14
Требуется подать воду на высоту h по водопроводу диаметром d и длиной l. Необходимо обеспечить при отборе воды свободный напор hсв=4 м. На трубопроводе имеется одна задвижка коэффициентом местного сопротивления ξ=0,44 с высотой перекрытия a/d=0,3 и три резких поворота на 90º с ξ=1,1. Скорость движения V. Коэффициент гидравлического трения по длине λ=0,25. Определить полный напор насоса Н и требуемую мощность электродвигателя насоса, если КПД насоса 0,65, подача Q.
User Z24 : 20 октября 2025
150 руб.
Основы гидравлики и теплотехники Задача 14
Лабораторные работы №№ 1,2,3,4,5,6. Сетевые базы данных. Вариант №1
Лабораторная работа № 1 1. Напишите запрос к таблице Покупателей, чей вывод может включить всех покупателей с оценкой ниже 100, если они не находятся в Лондоне Лабораторная работа № 2 1. Напишите запрос, который вывел бы для каждого заказа его номер, стоимость и имя заказчика. Данные вывести для заказчиков, размещенных не в Лондоне и не в Риме. Лабораторная работа № 3 1. Создать таблицу для хранения данных о дисциплинах, изучаемых в высших учебных заведениях. Таблица должна содержать по
User zhdv : 4 января 2016
249 руб.
Основы исследовательской деятельности в начальном образовании
Задания для самостоятельной работы по дисциплине «Основы исследовательской деятельности в начальном образовании» Раздел 1. Общая характеристика исследовательской деятельности в начальном образовании 1. Определить этапы написания теоретической части исследования в начальном образовании. 2. Выявить противоречия, возникшие в области начального образования, интересующей исполнителя, сформулировать проблему подлежащую решению. 3. Сделать рабочую матрицу научных данных по одному из базовых понятий в о
User studypro2 : 7 декабря 2016
500 руб.
up Наверх