Операционные системы. Лабораторная работа №4. Вариант №18. Семестр №4

Цена:
220 руб.

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

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

Описание

Задание

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

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

Работа была зачтена с первого раза в 2013г, без замечаний со стороны преподавателя.
Преподаватель: Бах О.А.
Операционные системы. Лабораторная работа №3. Вариант №18. Семестр №4
Задание Написать программу “часы”, которая будет однократно перехватывать показания системных часов и от них вести отсчет времени, используя собственный счетчик прерываний таймера (в качестве основы может быть использован обработчик прерываний таймера из предыдущей работы). Показания времени – часы, минуты, секунды – следует выводить в заданном месте экрана. Формат вывода: xx:xx:xx. Обновление показаний времени выполнять дискретно, через заданное количество секунд. Программа должна работать р
User Shamrock : 16 марта 2014
220 руб.
Операционные системы. Лабораторная работа №5. Вариант №18. Семестр №4
Задание Написать программу, которая будет работать с видеопамятью. Можно выполнить любое из приведенных ниже заданий. Независимо от конкретного задания программа должна работать резидентно. Текст, присутствовавший на экране до запуска программы, не должен портиться никаким образом. В программе следует использовать два обработчика прерываний – прерываний таймера и прерываний клавиатуры. Прерывания таймера регламентируют скорость перемещения объекта, причем параметр, характеризующий величину ско
User Shamrock : 16 марта 2014
220 руб.
Операционные системы. Лабораторная работа №2. Вариант №18. Семестр №4
Задание Написать резидентную программу, которая будет работать, как “будильник” – через заданный интервал времени издавать короткий звуковой сигнал – “тикать” (например, через 1–2 секунды). По завершении более длительного интервала времени (от нескольких секунд до нескольких минут или часов) должен раздаваться более продолжительный мелодичный звуковой сигнал, имитирующий звонок будильника. Длительность звукового сигнала – “тиканья” – не должна быть слишком большой. Её следует задавать в програ
User Shamrock : 16 марта 2014
220 руб.
Операционные системы. Лабораторная работа №1. Вариант №18. Семестр 4-й
Задание Написать программу, которая должна “озвучивать” клавиатуру, т.е. после запуска этой программы нажатие любой клавиши на клавиатуре будет сопровождаться звуковым сигналом. Клавиатура при этом должна оставаться работоспособной, т.е. продолжать выполнять свои основные функции в нормальном темпе. Программа должна быть резидентной, т.е. оставаться в памяти после своего завершения. В качестве пробного варианта длительность звукового сигнала и частоту задать константами в программе. Когда буде
User Shamrock : 16 марта 2014
220 руб.
Основы визуального программирования. ЛАБОРАТОРНАЯ РАБОТА №4. Вариант 18. Семестр 4
Тема: Базы данных. ЗАДАНИЕ 1: 1. Создание таблиц. Создайте таблицы: Faculty (Название факультета, Курс, Количество групп на курсе ); Group (Название группы, Фамилия старосты, Количество студентов в группе); Stud (ФИО, Домашний адрес, Телефон). (см.вложение) - При выполнении команды Save as… создайте новый каталог для хранения Приложения, а внутри – еще один каталог (н-р, Base) для хранения базы (в нем и сохраняйте таблицы). - При необходимости видеть таблицу сразу после сохранения включите
User Shamrock : 22 февраля 2014
220 руб.
Основы визуального программирования. ЛАБОРАТОРНАЯ РАБОТА №4. Вариант 18. Семестр 4
МЕТРОЛОГИЯ, СТАНДАРТИЗАЦИЯ И СЕРТИФИКАЦИЯ. Лабораторная работа №4. Вариант 18. Семестр 4
Настоящая лабораторная работа выполняется в следующем порядке: 1. Ознакомление с органами управления и режимами работы элек-тронного осциллографа. 2. Наблюдение формы периодических сигналов в режиме внутренней синхронизации при различных значениях коэффициента развёртки. 3. Измерение напряжения гармонического сигнала. 4. Измерение периода и частоты гармонического сигнала. 5. Исследование формы и фазового сдвига сигналов в двухканальном режиме.
User Shamrock : 22 февраля 2014
220 руб.
МЕТРОЛОГИЯ, СТАНДАРТИЗАЦИЯ И СЕРТИФИКАЦИЯ. Лабораторная работа №4. Вариант 18. Семестр 4
Операционные системы. Вариант 18.
1) Основные характеристики и особенности систем пакетной обработки, систем разделения времени и систем реального времени. Критерии эффективности. 2) Сегментное преобразование памяти – достоинства и недо-статки. Дескриптор сегмента. Сравнить с дескриптором страниц – об-щее и различия. 3) Привести пример программной реализации семафорных примитивов. Использовать семафоры для синхронизации процессов, один из которых в процессе своей работы посылает другому сообще-ние, а тот, в свою очередь, для про
User studypro3 : 22 июля 2020
300 руб.
Операционные системы. Лабораторная работа №4
1. Постановка задачи Написать программу, которая будет эмулировать параллельную работу некоторых потоков. Потоки должны работать циклически. В качестве модели использовать схему “производитель – потребитель”. Один поток (производитель) может помещать случайные (или какие-то определенные – например, только четные числа или квадраты целых чисел и т.п.) числа в буфер (массив заданного размера), для наглядности поток-производитель должен эти числа выводить на экран. Другой поток (потребитель) забира
User gnv1979 : 30 декабря 2016
30 руб.
Зарубежные средства контроля качества электроэнергии
Оглавление 1. КОНТРОЛЬ КАЧЕСТВА ЭЛЕКТРИЧЕСКОЙ ЭНЕРГИИ 2 Основные задачи и виды контроля качества электроэнергии 2 Требования стандарта к контролю качества электроэнергии 3 2. Зарубежные средства контроля качества электроэнергии. 3 3. Системы анализа качества электроэнергии ELSPEC G4400 5 4. Литература 8 Основные задачи и виды контроля качества электроэнергии Основными задачами контроля КЭ являются: • Проверка выполнения требований стандарта в части эксплуатационного контроля ПКЭ в электрически
User Aronitue9 : 7 апреля 2012
20 руб.
О роли и месте экологии в обществе
После Всероссийской чрезвычайной конференции по охране природы, прошедшей в Политехническом музее 13 июня с. г., вопрос о том, что такое экология, кому она нужна и для чего, к сожалению, не прояснился, а запутался. В то же время именно от ответа на него сегодня зависит состояние дел в области экологии. Выступавший на конференции министр природных ресурсов Б.А. Яцкевич оказался в роли человека, заранее обреченного на непонимание. Он сказал, что перестройка природоохранных органов, в частности, пе
User elementpio : 11 марта 2013
Національно-культурні товариства угорців Закарпаття
Україна, а особливо Закарпаття, є територією з поліетнічною структурою населення. Це зумовлено низкою історичних, етнокультурних, економічних та геополітичних чинників. Подальша побудова мирного поліетнічного суспільства потребує комплексного наукового дослідження поєднання процесу етнічної самоідентифікації і формування сучасної нації у розумінні її як громадянського співтовариства. Значне місце у цьому процесі посідають громадські національно-культурні організації. Етапними з погляду зростання
User Lokard : 2 февраля 2014
19 руб.
ИГ.05.25.02 - Корпус. Разрезы простые
Все выполнено в программе КОМПАС 3D v16 Вариант 25 ИГ.05.25.02 - Корпус. Разрезы простые 1. По двум видам построить вид слева, фронтальный и профильный разрезы. 2. Нанести размеры. 3. Построить прямоугольную изометрическую проекцию с четвертью выреза. В состав работы входят 4 файла: - 3D модель данной детали, расширение файла *.m3d; - ассоциативный чертеж формата А3 в трёх видах с выполненными фронтальным и профильным разрезами с совмещением половины вида и половины разреза и проставленными р
100 руб.
ИГ.05.25.02 - Корпус. Разрезы простые
up Наверх