Операционные системы_Лабораторные работы_вариант №4

Цена:
600 руб.

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

material.view.file_icon
material.view.file_icon
material.view.file_icon
material.view.file_icon LAB1.EXE
material.view.file_icon LAB1.PAS
material.view.file_icon
material.view.file_icon LAB1-6.EXE
material.view.file_icon LAB1-6.PAS
material.view.file_icon
material.view.file_icon LAB1-7.EXE
material.view.file_icon LAB1-7.PAS
material.view.file_icon Лабораторная работа 1.doc
material.view.file_icon
material.view.file_icon LAB2.EXE
material.view.file_icon LAB2.PAS
material.view.file_icon
material.view.file_icon LAB2-3.EXE
material.view.file_icon LAB2-3.PAS
material.view.file_icon
material.view.file_icon LAB2-5.EXE
material.view.file_icon LAB2-5.PAS
material.view.file_icon Лабораторная работа 2.doc
material.view.file_icon
material.view.file_icon LAB3.EXE
material.view.file_icon LAB3.PAS
material.view.file_icon Лабораторная работа 3.doc
material.view.file_icon
material.view.file_icon LAB4.EXE
material.view.file_icon LAB4.PAS
material.view.file_icon
material.view.file_icon LAB4-2.EXE
material.view.file_icon LAB4-2.PAS
material.view.file_icon
material.view.file_icon LAB4-3.EXE
material.view.file_icon LAB4-3.PAS
material.view.file_icon Лабораторная работа 4.doc
material.view.file_icon
material.view.file_icon LAB5.EXE
material.view.file_icon LAB5.PAS
material.view.file_icon Лабораторная работа 5.doc
Работа представляет собой rar архив с файлами (распаковать онлайн), которые открываются в программах:
  • Microsoft Word

Описание

Лабораторная работа No1: Обработка прерываний клавиатуры

Задание для выполнения лаб. работы No1

Написать программу, которая должна “озвучивать” клавиатуру, т.е. после запуска этой программы нажатие любой клавиши на клавиатуре будет сопровождаться звуковым сигналом. Клавиатура при этом должна оставаться работоспособной, т.е. продолжать выполнять свои основные функции в нормальном темпе.
Программа должна быть резидентной, т.е. оставаться в памяти после своего завершения.
В качестве пробного варианта длительность звукового сигнала и частоту задать константами в программе. Когда будет получена устойчивая работа программы, изменить её таким образом, чтобы длительность звукового сигнала и его частота задавались в качестве параметров при запуске программы.
Необходимо предоставить пользователю возможность “выключать” и “включать” заново звуковое сопровождение работы клавиш. Использовать для “выключения/включения” звука нестандартную комбинацию клавиш: сочетание нажатой клавиши <Shift> с какой-либо ещё, например, <Shift>+<Esc> ...

Контрольные вопросы

1.Как поведёт себя Ваша программа, если в качестве параметров командной строки вместо требуемых по заданию длительности и частоты будут заданы неверные значения, например, символы, строки символов, отрицательные или дробные числа?
2.Как будет работать программа, если задавать величину длительности звукового сигнала очень большой? Почему?
3.Как можно определить скан-коды требуемых клавиш?
4.В каком случае при нажатии и отпускании клавиши может раздаваться “двойной” сигнал?
5.Проверьте, что произойдет, если нажать клавишу и удерживать её в нажатом состоянии? Варианты – раздаётся многократно повторяемый звуковой сигнал, сигнал прозвучал один раз. Что нужно изменить в программе, чтобы она изменила свой вариант поведения на альтернативный?
6.Видоизменить программу для того, чтобы при нажатии любой клавиши раздавался звук, соответствующий заданной в качестве параметра частоте сигнала, а отпускание клавиши сопровождал звук более высокий (выше на 50% от заданной частоты).
7.Для некоторых специальных клавиш установить длительность звукового сигнала большей в 2–3 раза (например, для <Esc>, <Shift> или <Enter>) – сделать в программе соответствующие изменения.

Лабораторная работа No2:
Управление таймером – операции в реальном времени
(программа “будильник”)

Задание для выполнения лаб. работы No2

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

Контрольные вопросы

1.Как будет вести себя Ваша программа, если в качестве параметров командной строки ошибочно ввести символы вместо чисел? Или отрицательное число? Или в случае неверного количества параметров – например, если он будет всего один, или, наоборот, их окажется большее количество, чем нужно?
2.Возможно ли задавать время продолжительности звонка с точностью до полуминуты?
3.Какие изменения потребуется сделать в программе, чтобы сделать “звонок будильника” звучащим многократно, каждый раз снова через такой же интервал времени, который был задан вначале?
4.Каким образом можно изменять длительность звукового сигнала (например, “тиканья”) в обработчике прерываний таймера? Какой параметр программы отвечает за продолжительность сигнала?
5.Добавьте третий параметр для задания продолжительности “звонка” с клавиатуры.

Лабораторная работа No3: Работа с экраном (“часы”)

Задание для выполнения лаб. работы No3

Написать программу “часы”, которая будет однократно перехватывать показания системных часов и от них вести отсчет времени, используя собственный счетчик прерываний таймера (в качестве основы может быть использован обработчик прерываний таймера из предыдущей работы). Показания времени – часы, минуты, секунды – следует выводить в заданном месте экрана. Формат вывода: xx:xx:xx. Обновление показаний времени выполнять дискретно, через заданное количество секунд.
Программа должна работать резидентно. При обновлении показаний времени курсор не должен быть виден, кроме того, вывод показаний времени не должен нарушать нормальной работы пользователя.
Часы должны работать точно! Для обеспечения этого, во-первых, необходимо помнить о том, что количество импульсов (или “тиков”) таймера в секунду – число дробное. Следовательно, на одной секунде может возникать некоторая погрешность, которую возможно устранить на 5 секундах (когда пройдет целое количество импульсов). Во-вторых, необходимо учитывать, что минимальная величина, отраженная в показаниях часов – это секунды. Но программа может быть запущена в начале секунды (прошел 1 импульс) или же в конце (прошло 18 импульсов). Если начинать отсчет “тиков” таймера с нуля, может возникнуть погрешность величиной почти в секунду. Следовательно, при установке начального значения счетчика импульсов таймера необходимо учитывать ещё и доли секунды (один из параметров стандартной процедуры GetTime), переведя их в соответствующее количество импульсов.
Величину дискрета, а также координаты местоположения часов на экране задавать с клавиатуры в качестве параметров командной строки (т.е. программа должна иметь три параметра) при запуске программы.

Контрольные вопросы

1.Как будет вести себя Ваша программа, если в качестве параметров командной строки ошибочно ввести символы вместо чисел? Или отрицательные числа?
2.Каков предельный диапазон изменения координат часов на экране? Как поведёт себя Ваша программа, если задать значение х = 78? y=25?
3.Как ведёт себя курсор при работе данной программы?
4.Правильно ли работают Ваши часы? Для проверки корректности их работы запустите программу несколько раз (2–3 раза), размещая при этом часы в соседних строках экрана:
а) С интервалом между запусками в несколько минут, величину дискрета при этом оставляя постоянной. Совпадают ли показания часов?
б) С различной величиной дискрета. Совпадают ли показания часов (в определенные моменты)?
Если есть погрешности, откорректируйте программу для их устранения.

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

Задание для выполнения лаб. работы No4

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

Контрольные вопросы

1.Как поведет себя программа, если первым будет выбираться на выполнение поток-потребитель?
2.Каким образом можно создать приоритет тому или другому потоку? Используя только датчик случайных чисел? Добавьте возможность задания приоритета в форме параметра командной строки.
3.Возможно ли добавление в ту же программу новых потоков? Измените программу таким образом, чтобы можно было при ее запуске указывать требуемое количество потоков. При этом функции каждого потока определяются случайным образом. Т.е. может получиться несколько потребителей и один производитель, или наоборот... В крайней ситуации – все производители или все потребители. Как поведёт себя программа в подобном случае?

Лабораторная работа No5:
Работа с видеопамятью ("экран")

Задание для выполнения лаб. работы No5

Написать программу, которая будет работать с видеопамятью. Можно выполнить любое из приведенных ниже заданий. Независимо от конкретного задания программа должна работать резидентно. Текст, присутствовавший на экране до запуска программы, не должен портиться никаким образом.
В программе следует использовать два обработчика прерываний – прерываний таймера и прерываний клавиатуры. Прерывания таймера регламентируют скорость перемещения объекта, причем параметр, характеризующий величину скорости, необходимо задавать с клавиатуры при запуске программы. Информация о параметре, задающем скорость движения, должна выводиться на экран при запуске программы без параметров.
В случае смещения строк на экране (нажатие клавиши ENTER) не должно происходить никаких нежелательных эффектов – раздвоения картинки, дублирования строк или их частей...

Контрольные вопросы

1.Какова структура видеопамяти в текстовом режиме?
2.Как удобно организовать обращение к любой точке экрана?
3.Каким образом можно изменить цвет выводимого символа? Цвет фона?
4.Какие действия необходимо предпринять для восстановления прежнего состояния экрана после каких-то его изменений?


Коментарии: Уважаемый слушатель, дистанционного обучения,
Оценена Ваша работа по предмету: Операционные системы
Вид работы: Лабораторная работа
Оценка:Зачет
Дата оценки: 11.03.2016

Бах Ольга Анатольевна

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

Год сдачи 2017. Зачет
Теплотехника КГАУ 2015 Задача 5 Вариант 18
Определить удельный лучистый тепловой поток q между двумя параллельно расположенными плоскими стенками, имеющими температуру t1 и t2 и степени (коэффициенты) черноты ε1 и ε2, если между ними нет экрана. Определить q при наличии экрана со степенью (коэффициентом) черноты εэ (с обеих сторон).
User Z24 : 5 февраля 2026
180 руб.
Теплотехника КГАУ 2015 Задача 5 Вариант 18
Контрольная и Лабораторные работы 1-2 по дисциплине: Элементная база телекоммуникационных систе. Вариант №33
Лабораторная работа 1 РАЗРАБОТКА ИНТЕГРАЛЬНОГО ЦИФРОВОГО УСТРОЙСТВА Цель работы Научиться составлять электрические схемы цифровых устройств на основе базовых цифровых интегральных микросхем (ЦИМС). Задание 2.1. На основе анализа исходных уравнений задания произвести их упрощение (если это возможно) и преобразование. Цель преобразования – привести уравнения к виду, удобному для реализации. 2.2. Составить формальную электрическую схему устройства и привести список необходимых базовых элементов.
User IT-STUDHELP : 9 мая 2023
1200 руб.
Контрольная и Лабораторные работы 1-2 по дисциплине: Элементная база телекоммуникационных систе. Вариант №33 promo
Анализ финансовых результатов и совершенствование деятельности предприятия (на примере ОАО "Нефтекамскшина")
Содержание Введение 1. Теоретические основы оценки финансовых результатов деятельности предприятия 1.1 Экономическая сущность финансовых результатов 1.2 Прибыль как результат хозяйственной деятельности 1.3 Методика анализа финансовых результатов предприятия 2. Анализ финансовых результатов хозяйственной деятельности ОАО «Нефтекамскшина» 2.1 Краткая характеристика деятельности предприятия 2.2 Оценка динамики и структуры прибыли предприятия 2.3 Факторный анализ прибыли предприятия 2.4 Оценка показ
User GnobYTEL : 25 ноября 2012
Теплотехника Часть 1 Теплопередача Задача 29 Вариант 6
В рекуперативном теплообменнике жидкость нагревается насыщенным паром (при p=const) от начальной температуры t′ж до конечной t″ж. Во сколько раз изменится тепловая мощность теплообменника, если разность температур жидкости и пара на входе в теплообменник (Δtб=t′ж-tн) уменьшиться в n раз?
User Z24 : 14 октября 2025
150 руб.
Теплотехника Часть 1 Теплопередача Задача 29 Вариант 6
up Наверх