Операционные системы. Лабораторная работа № 1-5. Все варианты!
Состав работы
|
|
|
|
|
|
|
|
|
|
|
|
Описание
Лабораторные работы No1-5.
No1:Тема: Написать программу, которая должна “озвучивать” клавиатуру, т.е. после запуска этой программы нажатие любой клавиши на клавиатуре будет сопровождаться звуковым сигналом. Клавиатура при этом должна оставаться работоспособной, т.е. продолжать выполнять свои основные функции в нормальном темпе. Программа должна быть резидентной, т.е. оставаться в памяти после своего завершения.
В качестве пробного варианта длительность звукового сигнала и частоту задать константами в программе. Когда будет получена устойчивая работа программы, изменить её таким образом, чтобы длительность звукового сигнала и его частота задавались в качестве параметров при запуске программы.
Необходимо предоставить пользователю возможность “выключать” и “включать” заново звуковое сопровождение работы клавиш. Использовать для “выключения/включения” звука нестандартную комбинацию клавиш: сочетание нажатой клавиши <Shift> с какой-либо ещё, например, <Shift>+<Esc> ...
No2:Написать резидентную программу, которая будет работать, как “будильник” – через заданный интервал времени издавать короткий звуковой сигнал – “тикать” (например, через 1–2 секунды). По завершении более длительного интервала времени (от нескольких секунд до нескольких минут или часов) должен раздаваться более продолжительный мелодичный звуковой сигнал, имитирующий звонок будильника.
Длительность звукового сигнала – “тиканья” – не должна быть слишком большой. Её следует задавать в программе в пределах от 1/10 до 1⁄2 доли секунды.
По окончании “звонка будильника” “тиканье” должно продолжаться. “Звонок” должен раздаваться только один раз.
В то время, когда звучит “звонок”, не должно быть слышно “тиканья” (звонок может длиться в течение нескольких секунд, и в этот интервал времени теоретически могут попасть звуки “тиканья”).
Для получения эффекта “мелодичного звонка” следует использовать несколько звуковых частот с различной продолжительностью звучания каждой из них.
Временной интервал, через который должно происходить “тиканье” (в секундах – целое число секунд), задавать с клавиатуры в качестве параметра; время, через которое должен прозвонить будильник (в минутах – их число может быть дробным), тоже задавать в качестве параметра. Отсчёт времени для “звонка” вести с момента запуска программы.
No3: Написать программу «часы», которая будет однократно перехватывать показания системных часов и от них вести отсчет времени, используя собственный счетчик прерываний таймера (в качестве основы может быть использован обработчик прерываний таймера из предыдущей работы). Показания времени – часы, минуты, секунды – следует выводить в заданном месте экрана. Формат вывода: xx:xx:xx. Обновление показаний времени выполнять дискретно, через заданное количество секунд.
Программа должна работать резидентно. При обновлении показаний времени курсор не должен быть виден, кроме того, вывод показаний времени не должен нарушать нормальной работы пользователя.
Часы должны работать точно! Для обеспечения этого, во-первых, необходимо помнить о том, что количество импульсов (или «тиков») таймера в секунду – число дробное. Следовательно, на одной секунде может возникать некоторая погрешность, которую возможно устранить на 5 секундах (когда пройдет целое количество импульсов). Во-вторых, необходимо учитывать, что минимальная величина, отраженная в показаниях часов – это секунды. Но программа может быть запущена в начале секунды (прошел 1 импульс) или же в конце (прошло 18 импульсов). Если начинать отсчет «тиков» таймера с нуля, может возникнуть погрешность величиной почти в секунду. Следовательно, при установке начального значения счетчика импульсов таймера необходимо учитывать ещё и доли секунды (один из параметров стандартной процедуры GetTime), переведя их в соответствующее количество импульсов.
Величину дискрета, а также координаты местоположения часов на экране задавать с клавиатуры в качестве параметров командной строки (т.е. программа должна иметь три параметра) при запуске программы.
No4: Написать программу, которая будет эмулировать параллельную работу некоторых потоков. Потоки должны работать циклически. В качестве модели использовать схему “производитель – потребитель”. Один поток (производитель) может помещать случайные (или какие-то определенные – например, только четные числа или квадраты целых чисел и т.п.) числа в буфер (массив заданного размера), для наглядности поток-производитель должен эти числа выводить на экран. Другой поток (потребитель) забирает числа из этого буфера. Для контроля также выполнять вывод на экран чисел, взятых потоком-потребителем из буфера. Вывод разными потоками выполнять в разные строки и/или разным цветом; дополнительно выводить на экран индикатор того, какой именно поток работает в настоящий момент, а также содержимое буфера и текущий процент его наполненности.
На экране параллельная работа потоков может быть представлена следующим образом:
Верхняя строка (производитель): ячейка для вывода текущего сгенерированного числа, признак активности потока (слово, символ, цвет), сообщение о переполнении буфера в случае этого события. Возможно, ещё какая-то полезная информация, например, номер заполняемой ячейки.
Нижняя (или вторая) строка (потребитель): ячейка для вывода текущего прочитанного числа, признак активности потока (слово, символ, цвет), сообщение о пустом буфере в случае этого события. Возможно, информация о номере считываемой из буфера ячейки.
В середине экрана: сам буфер, в который числа добавляются потоком-производителем и из которого считываются (удаляются или перекрашиваются, попадая при этом в его ячейку в нижней строке экрана) потоком-потребителем. Считывание чисел можно производить по принципу стека или очереди. При считывании по принципу очереди после завершения работы потребителя какое-то количество чисел из начала буфера исчезнет, следовательно, буфер будет перемещаться по экрану и в какой-то момент его потребуется переписать заново, от начала.
Отдельной строкой или в углу экрана отображать процент заполненности буфера.
No5: Написать программу, которая будет работать с видеопамятью. Можно выполнить любое из приведенных ниже заданий. Независимо от конкретного задания программа должна работать резидентно. Текст, присутствовавший на экране до запуска программы, не должен портиться никаким образом.
В программе следует использовать два обработчика прерываний – прерываний таймера и прерываний клавиатуры. Прерывания таймера регламентируют скорость перемещения объекта, причем параметр, характеризующий величину скорости, необходимо задавать с клавиатуры при запуске программы. Информация о параметре, задающем скорость движения, должна выводиться на экран при запуске программы без параметров.
В случае смещения строк на экране (нажатие клавиши ENTER) не должно происходить никаких нежелательных эффектов – раздвоения картинки, дублирования строк или их частей...
No1:Тема: Написать программу, которая должна “озвучивать” клавиатуру, т.е. после запуска этой программы нажатие любой клавиши на клавиатуре будет сопровождаться звуковым сигналом. Клавиатура при этом должна оставаться работоспособной, т.е. продолжать выполнять свои основные функции в нормальном темпе. Программа должна быть резидентной, т.е. оставаться в памяти после своего завершения.
В качестве пробного варианта длительность звукового сигнала и частоту задать константами в программе. Когда будет получена устойчивая работа программы, изменить её таким образом, чтобы длительность звукового сигнала и его частота задавались в качестве параметров при запуске программы.
Необходимо предоставить пользователю возможность “выключать” и “включать” заново звуковое сопровождение работы клавиш. Использовать для “выключения/включения” звука нестандартную комбинацию клавиш: сочетание нажатой клавиши <Shift> с какой-либо ещё, например, <Shift>+<Esc> ...
No2:Написать резидентную программу, которая будет работать, как “будильник” – через заданный интервал времени издавать короткий звуковой сигнал – “тикать” (например, через 1–2 секунды). По завершении более длительного интервала времени (от нескольких секунд до нескольких минут или часов) должен раздаваться более продолжительный мелодичный звуковой сигнал, имитирующий звонок будильника.
Длительность звукового сигнала – “тиканья” – не должна быть слишком большой. Её следует задавать в программе в пределах от 1/10 до 1⁄2 доли секунды.
По окончании “звонка будильника” “тиканье” должно продолжаться. “Звонок” должен раздаваться только один раз.
В то время, когда звучит “звонок”, не должно быть слышно “тиканья” (звонок может длиться в течение нескольких секунд, и в этот интервал времени теоретически могут попасть звуки “тиканья”).
Для получения эффекта “мелодичного звонка” следует использовать несколько звуковых частот с различной продолжительностью звучания каждой из них.
Временной интервал, через который должно происходить “тиканье” (в секундах – целое число секунд), задавать с клавиатуры в качестве параметра; время, через которое должен прозвонить будильник (в минутах – их число может быть дробным), тоже задавать в качестве параметра. Отсчёт времени для “звонка” вести с момента запуска программы.
No3: Написать программу «часы», которая будет однократно перехватывать показания системных часов и от них вести отсчет времени, используя собственный счетчик прерываний таймера (в качестве основы может быть использован обработчик прерываний таймера из предыдущей работы). Показания времени – часы, минуты, секунды – следует выводить в заданном месте экрана. Формат вывода: xx:xx:xx. Обновление показаний времени выполнять дискретно, через заданное количество секунд.
Программа должна работать резидентно. При обновлении показаний времени курсор не должен быть виден, кроме того, вывод показаний времени не должен нарушать нормальной работы пользователя.
Часы должны работать точно! Для обеспечения этого, во-первых, необходимо помнить о том, что количество импульсов (или «тиков») таймера в секунду – число дробное. Следовательно, на одной секунде может возникать некоторая погрешность, которую возможно устранить на 5 секундах (когда пройдет целое количество импульсов). Во-вторых, необходимо учитывать, что минимальная величина, отраженная в показаниях часов – это секунды. Но программа может быть запущена в начале секунды (прошел 1 импульс) или же в конце (прошло 18 импульсов). Если начинать отсчет «тиков» таймера с нуля, может возникнуть погрешность величиной почти в секунду. Следовательно, при установке начального значения счетчика импульсов таймера необходимо учитывать ещё и доли секунды (один из параметров стандартной процедуры GetTime), переведя их в соответствующее количество импульсов.
Величину дискрета, а также координаты местоположения часов на экране задавать с клавиатуры в качестве параметров командной строки (т.е. программа должна иметь три параметра) при запуске программы.
No4: Написать программу, которая будет эмулировать параллельную работу некоторых потоков. Потоки должны работать циклически. В качестве модели использовать схему “производитель – потребитель”. Один поток (производитель) может помещать случайные (или какие-то определенные – например, только четные числа или квадраты целых чисел и т.п.) числа в буфер (массив заданного размера), для наглядности поток-производитель должен эти числа выводить на экран. Другой поток (потребитель) забирает числа из этого буфера. Для контроля также выполнять вывод на экран чисел, взятых потоком-потребителем из буфера. Вывод разными потоками выполнять в разные строки и/или разным цветом; дополнительно выводить на экран индикатор того, какой именно поток работает в настоящий момент, а также содержимое буфера и текущий процент его наполненности.
На экране параллельная работа потоков может быть представлена следующим образом:
Верхняя строка (производитель): ячейка для вывода текущего сгенерированного числа, признак активности потока (слово, символ, цвет), сообщение о переполнении буфера в случае этого события. Возможно, ещё какая-то полезная информация, например, номер заполняемой ячейки.
Нижняя (или вторая) строка (потребитель): ячейка для вывода текущего прочитанного числа, признак активности потока (слово, символ, цвет), сообщение о пустом буфере в случае этого события. Возможно, информация о номере считываемой из буфера ячейки.
В середине экрана: сам буфер, в который числа добавляются потоком-производителем и из которого считываются (удаляются или перекрашиваются, попадая при этом в его ячейку в нижней строке экрана) потоком-потребителем. Считывание чисел можно производить по принципу стека или очереди. При считывании по принципу очереди после завершения работы потребителя какое-то количество чисел из начала буфера исчезнет, следовательно, буфер будет перемещаться по экрану и в какой-то момент его потребуется переписать заново, от начала.
Отдельной строкой или в углу экрана отображать процент заполненности буфера.
No5: Написать программу, которая будет работать с видеопамятью. Можно выполнить любое из приведенных ниже заданий. Независимо от конкретного задания программа должна работать резидентно. Текст, присутствовавший на экране до запуска программы, не должен портиться никаким образом.
В программе следует использовать два обработчика прерываний – прерываний таймера и прерываний клавиатуры. Прерывания таймера регламентируют скорость перемещения объекта, причем параметр, характеризующий величину скорости, необходимо задавать с клавиатуры при запуске программы. Информация о параметре, задающем скорость движения, должна выводиться на экран при запуске программы без параметров.
В случае смещения строк на экране (нажатие клавиши ENTER) не должно происходить никаких нежелательных эффектов – раздвоения картинки, дублирования строк или их частей...
Дополнительная информация
-Состояние: Зачет
-Преподаватель: Бах О. А.
- СибГУТИ
- 2015 г
-Преподаватель: Бах О. А.
- СибГУТИ
- 2015 г
Похожие материалы
Операционные системы. Лабораторная работа № 1. Все варианты!
rt
: 2 марта 2015
Тема: Обработка прерываний клавиатуры
1. Постановка задачи
Написать программу, которая должна «озвучивать» клавиатуру, т.е. после запуска этой программы нажатие любой клавиши на клавиатуре будет сопровождаться звуковым сигналом. Клавиатура при этом должна оставаться работоспособной, т.е. продолжать выполнять свои основные функции в нормальном темпе.
Программа должна быть резидентной, т.е. оставаться в памяти после своего завершения.
В качестве пробного варианта длительность звукового сигнала и
25 руб.
Операционные системы Лабораторная работа 1
ilya22ru
: 12 декабря 2024
Задание к лабораторной работе No1
Выполнить указанные действия. Создать отчет, в котором отразить выполняемое
задание, команды, с помощью которых выполняются указанные действия и результат,
полученный после выполнения команды (в виде скриншотов).
1. Создать файл a1 с помощью команды cat; ввести в файл текст из 6-ти строк вида
(строка начинается с цифры порядкового номера строки):
1. my name is ...
2. my surname is ...
3. login is ...
4. <текст произвольного содержания (не менее 2-х слов)>
5. <
200 руб.
Операционные системы Лабораторная работа №1
svladislav987
: 23 августа 2023
Задание для выполнения лаб. работы №1
Написать программу, которая должна “озвучивать” клавиатуру, т.е. после запуска этой программы нажатие любой клавиши на клавиатуре будет сопровождаться звуковым сигналом. Клавиатура при этом должна оставаться работоспособной, т.е. продолжать выполнять свои основные функции в нормальном темпе.
Программа должна быть резидентной, т.е. оставаться в памяти после своего завершения.
В качестве пробного варианта длительность звукового сигнала и частоту задать конс
300 руб.
Операционные системы. Лабораторная работа №1.
Fockus
: 7 июля 2023
1. Создать файл a1 с помощью команды cat; ввести в файл текст из 6-ти строк вида (строка начинается с цифры порядкового номера строки):
1. my name is …
2. my surname is …
3. login is …
4. <текст произвольного содержания (не менее 2-х слов)>
5. <текст произвольного содержания (не менее 2-х слов)>
6. <текст произвольного содержания (не менее 2-х слов)>
2. Создать файл a2 с помощью команды touch; в редакторе vi ввести в файл текст из 6-ти строк аналогичного с содержимым файла a1 вида.
3. Убедить
200 руб.
Лабораторная работа №1. "Операционные системы"
Daniil2001
: 23 января 2023
Не забудьте добавить свои результаты (скриншоты) работы программы)
75 руб.
Операционные системы. Лабораторная работа № 1
Юрий14
: 23 ноября 2021
Создать файл a1 с помощью команды touch; в редакторе vi ввести в файл текст
из 6-ти строк вида (строка начинается с цифры порядкового номера строки):
1. my name is …
2. my surname is …
3. login is …
4. <текст произвольного содержания (не менее 2-х слов)>
5. <текст произвольного содержания (не менее 2-х слов)>
6. <текст произвольного содержания (не менее 2-х слов)>
2. Убедиться, что файлы созданы (команда ls -l); просмотреть их содержимое
(команда cat). Результат вывода команды ls –l занести в
200 руб.
Операционные системы. Лабораторная работа №1
1973830311asd
: 14 сентября 2020
Задание для лабораторной работы
Учимся создавать новый каталог.
Убедитесь, что Вы находитесь в своем домашнем каталоге.
Создать в своем домашнем каталоге подкаталог STUDENT следующей Работа с файловой системой LINUX.
Цель работы: Изучить команды управления каталогами и файлами.
Порядок выполнения работы.
1. Если вы еще не установили операционную систему LINUX, установите.
2. Включить компьютер и войти в систему LINUX , если система требует пройдите процедуру идентификации.
3. Ознакоми
650 руб.
Операционные системы. Лабораторная работа №1
SNF
: 30 декабря 2016
1. Постановка задачи
Написать программу, которая должна «озвучивать» клавиатуру, т.е. после запуска этой программы нажатие любой клавиши на клавиатуре будет сопровождаться звуковым сигналом. Клавиатура при этом должна оставаться работоспособной, т.е. продолжать выполнять свои основные функции в нормальном темпе.
Программа должна быть резидентной, т.е. оставаться в памяти после своего завершения.
В качестве пробного варианта длительность звукового сигнала и частоту задать константами в программе
30 руб.
Другие работы
Биология фазана
Targelion
: 18 ноября 2009
СОДЕРЖАНИЕ
ВВЕДЕНИЕ
СИСТЕМАТИКА
БИОЛОГИЯ ФАЗАНА
БОЛЕЗНИ ФАЗАНОВ
ОХОТА НА ФАЗАНОВ
РАЗВЕДЕНИЕ ФАЗАНОВ
ЗАКЛЮЧЕНИЕ
ЛИТЕРАТУРА
Фазан - птица, чей облик известен многим людям. Его внешний вид напоминает домашнего петуха, который является его близким родственником. Банкивский петух, входящий в семейство фазановые, дал начало домашним породам кур. Также родственниками фазанов являются перепела, кеклики, куропатки и др. Фазан является ценным объектом охоты. В настоящее время фазан одомашнен и выращивае
Прикладная механика жидкости и газа ТОГУ Задача Б4
Z24
: 22 октября 2025
Определить абсолютное давление воды в трубопроводе, если U-образный ртутный манометр показал перепад Δh=0,5 м. Атмосферное давление ратм=100 кПа, высота водяного столба hст=1,36 м (рис.1). Плотность ртути ρрт=13550 кг/м³.
120 руб.
Учебная практика. часть 1-я / часть 2-я
Иван77717
: 19 апреля 2017
Написать на языке С++ функцию для записи на диск файла, содержащего абонентскую базу, приведённую в таблице 2. Записать файл.
Написать на языке С++ функции, реализующие следующие операции:
1. Считать записанный файл.
2. Отобрать из таблицы 2 сведения об абонентах в соответствии с вариантом (таблица 1).
3. Вычислить стоимость расходов за сутки для абонентов из п.2 (сведения в таблице 3).
4. Вывести результаты выполнения пп.2-3 на экран.
5. Вывести результаты выполнения пп.2-3 в новый файл.
6. Офо
299 руб.
Бюджетирование как координация всех сторон деятельности компании
Aronitue9
: 5 ноября 2013
Содержание
Введение 3
ГЛАВА 1. тЕОРЕТИЧЕСКИЕ АСПЕКТЫ бюджетирования 5
1.1. Цель, задачи бюджетирования и роль бюджетов в принятии управленческих решений 5
1.2. Виды, содержание бюджетов и технология их разработки 8
1.3. Контроль исполнения бюджетов 11
ГЛАВА 2. Постановка бюджетирования, порядок составления и виды бюджетов в ООО «Флокс» 15
2.1. Общая характеристика хозяйствующего субъекта и его основных экономических показателей 15
2.2. Бюджеты ООО "Флокс" 16
2.3 Обобщение результатов со
15 руб.