Лабораторная работа № 1, 2, 3 по дисциплине "Операционные системы" Вариант № 01
Состав работы
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Работа представляет собой zip архив с файлами (распаковать онлайн), которые открываются в программах:
- Microsoft Word
Описание
Лабораторно-практическая работа No1
по дисциплине: «Операционные системы»
По теме «Обработка прерываний клавиатуры»
Задание
Написать программу, которая должна “озвучивать” клавиатуру, т.е. после запуска этой программы нажатие любой клавиши на клавиатуре будет сопровождаться звуковым сигналом. Клавиатура при этом должна оставаться работоспособной, т.е. продолжать выполнять свои основные функции в нормальном темпе.
Программа должна быть резидентной, т.е. оставаться в памяти после своего завершения.
В качестве пробного варианта длительность звукового сигнала и частоту задать константами в программе. Когда будет получена устойчивая работа программы, изменить её таким образом, чтобы длительность звукового сигнала и его частота задавались в качестве параметров при запуске программы.
Необходимо предоставить пользователю возможность “выключать” и “включать” заново звуковое сопровождение работы клавиш. Использовать для “выключения/включения” звука нестандартную комбинацию клавиш: сочетание нажатой клавиши <Shift> с какой-либо ещё, например, <Shift>+<Esc> ...
Лабораторно-практическая работа No2
по дисциплине: «Операционные системы»
По теме «Управление таймером – операции в реальном времени
(программа «будильник»)»
Задание
Написать резидентную программу, которая будет работать, как “будильник” – через заданный интервал времени издавать короткий звуковой сигнал – “тикать” (например, через 1–2 секунды). По завершении более длительного интервала времени (от нескольких секунд до нескольких минут или часов) должен раздаваться более продолжительный мелодичный звуковой сигнал, имитирующий звонок будильника.
Длительность звукового сигнала – “тиканья” – не должна быть слишком большой. Её следует задавать в программе в пределах от 1/10 до 1⁄2 доли секунды.
По окончании “звонка будильника” “тиканье” должно продолжаться. “Звонок” должен раздаваться только один раз.
В то время, когда звучит “звонок”, не должно быть слышно “тиканья” (звонок может длиться в течение нескольких секунд, и в этот интервал времени теоретически могут попасть звуки “тиканья”).
Для получения эффекта “мелодичного звонка” следует использовать несколько звуковых частот с различной продолжительностью звучания каждой из них.
Временной интервал, через который должно происходить “тиканье” (в секундах – целое число секунд), задавать с клавиатуры в качестве параметра; время, через которое должен прозвонить будильник (в минутах – их число может быть дробным), тоже задавать в качестве параметра. Отсчёт времени для “звонка” вести с момента запуска программы.
Лабораторно-практическая работа No 3
по дисциплине: «Операционные системы»
По теме «Эмуляция работы параллельных процессов на примере
схемы «производитель–потребитель»»
Задание.
Написать программу, которая будет эмулировать параллельную работу некоторых потоков. Потоки должны работать циклически. В качестве модели использовать схему «производитель – потребитель». Один поток (производитель) может помещать случайные (или какие-то определенные – например, только четные числа или квадраты целых чисел и т.п.) числа в буфер (массив заданного размера), для наглядности поток-производитель должен эти числа выводить на экран. Другой поток (потребитель) забирает числа из этого буфера. Для контроля также выполнять вывод на экран чисел, взятых потоком-потребителем из буфера. Вывод разными потоками выполнять в разные строки и/или разным цветом; дополнительно выводить на экран индикатор того, какой именно поток работает в настоящий момент, а также содержимое буфера и текущий процент его заполненности.
На экране параллельная работа потоков может быть представлена следующим образом:
Верхняя строка (производитель): ячейка для вывода текущего сгенерированного числа, признак активности потока (слово, символ, цвет), сообщение о переполнении буфера в случае этого события. Возможно, ещё какая-то полезная информация, например, номер заполняемой ячейки.
Нижняя (или вторая) строка (потребитель): ячейка для вывода текущего прочитанного числа, признак активности потока (слово, символ, цвет), сообщение о пустом буфере в случае этого события. Возможно, информация о номере считываемой из буфера ячейки.
В середине экрана: сам буфер, в который числа добавляются потоком-производителем и из которого считываются (удаляются или перекрашиваются, попадая при этом в его ячейку в нижней строке экрана) потоком-потребителем. Считывание чисел можно производить по принципу стека или очереди. При считывании по принципу очереди после завершения работы потребителя какое-то количество чисел из начала буфера исчезнет, следовательно, буфер будет перемещаться по экрану и в какой-то момент его потребуется переписать заново, от начала.
Отдельной строкой или в углу экрана отображать процент заполненности буфера.
Предусмотреть обработку критических ситуаций:
1) Случай, когда потребителю предоставлено управление, а буфер данных пуст – тогда активный поток должен напрямую отдать управление производителю, а сам уйти в режим ожидания. При этом вопрос с квантом времени для производителя может быть решён по-разному. Например, остаток недоработанного потребителем кванта может быть передан производителю, либо ему может быть выделен новый квант времени.
2) Случай, когда управление предоставлено производителю, а буфер полон и записывать результаты некуда – поток-производитель должен заблокироваться до появления свободного места в буфере и запустить поток-потребитель. Вопрос с квантом может решаться аналогично.
Для того чтобы было возможно пронаблюдать работу потоков в замедленном режиме, в каждом из потоков следует поставить дополнительную задержку (стандартный delay), величину которой задавать с клавиатуры при запуске программы, в качестве параметра командной строки. При запуске без параметров выводить сообщение примерного вида: «Программа запущена со стандартной задержкой, величина которой =...» и формат запуска программы для задания желаемой задержки.
Потоки при работе чередуются случайным образом; регламентировать их работу с помощью таймера (выделять каждому кванты времени, величина которых тоже случайна – в некотором диапазоне). При этом может складываться ситуация, что один и тот же поток несколько раз подряд получит управление. Таймер по окончании выделенного потоку кванта времени изменяет статус этого потока с активного на пассивный, в результате чего внутренний цикл этого потока должен завершиться.
Внутри обработчика прерываний таймера не может находиться вызовов процедур – потоков! Вызовы процедур должны происходить в бесконечном цикле в основной программе. В обработчик прерываний таймера вообще нельзя включать никакие действия, требующие длительного выполнения, например, вызовы циклических процедур, или процедур, работающих с графикой или с диском.
Для выхода из программы предусмотреть какую-то специальную клавишу или комбинацию клавиш (выбор по желанию программиста), информация о ней должна быть известна пользователю – помещена на экране. При нажатии этой клавиши происходит окончание работы потока-производителя, а поток-потребитель закончит свою работу, только когда буфер будет исчерпан, т.е. выработанная информация будет полностью использована.
по дисциплине: «Операционные системы»
По теме «Обработка прерываний клавиатуры»
Задание
Написать программу, которая должна “озвучивать” клавиатуру, т.е. после запуска этой программы нажатие любой клавиши на клавиатуре будет сопровождаться звуковым сигналом. Клавиатура при этом должна оставаться работоспособной, т.е. продолжать выполнять свои основные функции в нормальном темпе.
Программа должна быть резидентной, т.е. оставаться в памяти после своего завершения.
В качестве пробного варианта длительность звукового сигнала и частоту задать константами в программе. Когда будет получена устойчивая работа программы, изменить её таким образом, чтобы длительность звукового сигнала и его частота задавались в качестве параметров при запуске программы.
Необходимо предоставить пользователю возможность “выключать” и “включать” заново звуковое сопровождение работы клавиш. Использовать для “выключения/включения” звука нестандартную комбинацию клавиш: сочетание нажатой клавиши <Shift> с какой-либо ещё, например, <Shift>+<Esc> ...
Лабораторно-практическая работа No2
по дисциплине: «Операционные системы»
По теме «Управление таймером – операции в реальном времени
(программа «будильник»)»
Задание
Написать резидентную программу, которая будет работать, как “будильник” – через заданный интервал времени издавать короткий звуковой сигнал – “тикать” (например, через 1–2 секунды). По завершении более длительного интервала времени (от нескольких секунд до нескольких минут или часов) должен раздаваться более продолжительный мелодичный звуковой сигнал, имитирующий звонок будильника.
Длительность звукового сигнала – “тиканья” – не должна быть слишком большой. Её следует задавать в программе в пределах от 1/10 до 1⁄2 доли секунды.
По окончании “звонка будильника” “тиканье” должно продолжаться. “Звонок” должен раздаваться только один раз.
В то время, когда звучит “звонок”, не должно быть слышно “тиканья” (звонок может длиться в течение нескольких секунд, и в этот интервал времени теоретически могут попасть звуки “тиканья”).
Для получения эффекта “мелодичного звонка” следует использовать несколько звуковых частот с различной продолжительностью звучания каждой из них.
Временной интервал, через который должно происходить “тиканье” (в секундах – целое число секунд), задавать с клавиатуры в качестве параметра; время, через которое должен прозвонить будильник (в минутах – их число может быть дробным), тоже задавать в качестве параметра. Отсчёт времени для “звонка” вести с момента запуска программы.
Лабораторно-практическая работа No 3
по дисциплине: «Операционные системы»
По теме «Эмуляция работы параллельных процессов на примере
схемы «производитель–потребитель»»
Задание.
Написать программу, которая будет эмулировать параллельную работу некоторых потоков. Потоки должны работать циклически. В качестве модели использовать схему «производитель – потребитель». Один поток (производитель) может помещать случайные (или какие-то определенные – например, только четные числа или квадраты целых чисел и т.п.) числа в буфер (массив заданного размера), для наглядности поток-производитель должен эти числа выводить на экран. Другой поток (потребитель) забирает числа из этого буфера. Для контроля также выполнять вывод на экран чисел, взятых потоком-потребителем из буфера. Вывод разными потоками выполнять в разные строки и/или разным цветом; дополнительно выводить на экран индикатор того, какой именно поток работает в настоящий момент, а также содержимое буфера и текущий процент его заполненности.
На экране параллельная работа потоков может быть представлена следующим образом:
Верхняя строка (производитель): ячейка для вывода текущего сгенерированного числа, признак активности потока (слово, символ, цвет), сообщение о переполнении буфера в случае этого события. Возможно, ещё какая-то полезная информация, например, номер заполняемой ячейки.
Нижняя (или вторая) строка (потребитель): ячейка для вывода текущего прочитанного числа, признак активности потока (слово, символ, цвет), сообщение о пустом буфере в случае этого события. Возможно, информация о номере считываемой из буфера ячейки.
В середине экрана: сам буфер, в который числа добавляются потоком-производителем и из которого считываются (удаляются или перекрашиваются, попадая при этом в его ячейку в нижней строке экрана) потоком-потребителем. Считывание чисел можно производить по принципу стека или очереди. При считывании по принципу очереди после завершения работы потребителя какое-то количество чисел из начала буфера исчезнет, следовательно, буфер будет перемещаться по экрану и в какой-то момент его потребуется переписать заново, от начала.
Отдельной строкой или в углу экрана отображать процент заполненности буфера.
Предусмотреть обработку критических ситуаций:
1) Случай, когда потребителю предоставлено управление, а буфер данных пуст – тогда активный поток должен напрямую отдать управление производителю, а сам уйти в режим ожидания. При этом вопрос с квантом времени для производителя может быть решён по-разному. Например, остаток недоработанного потребителем кванта может быть передан производителю, либо ему может быть выделен новый квант времени.
2) Случай, когда управление предоставлено производителю, а буфер полон и записывать результаты некуда – поток-производитель должен заблокироваться до появления свободного места в буфере и запустить поток-потребитель. Вопрос с квантом может решаться аналогично.
Для того чтобы было возможно пронаблюдать работу потоков в замедленном режиме, в каждом из потоков следует поставить дополнительную задержку (стандартный delay), величину которой задавать с клавиатуры при запуске программы, в качестве параметра командной строки. При запуске без параметров выводить сообщение примерного вида: «Программа запущена со стандартной задержкой, величина которой =...» и формат запуска программы для задания желаемой задержки.
Потоки при работе чередуются случайным образом; регламентировать их работу с помощью таймера (выделять каждому кванты времени, величина которых тоже случайна – в некотором диапазоне). При этом может складываться ситуация, что один и тот же поток несколько раз подряд получит управление. Таймер по окончании выделенного потоку кванта времени изменяет статус этого потока с активного на пассивный, в результате чего внутренний цикл этого потока должен завершиться.
Внутри обработчика прерываний таймера не может находиться вызовов процедур – потоков! Вызовы процедур должны происходить в бесконечном цикле в основной программе. В обработчик прерываний таймера вообще нельзя включать никакие действия, требующие длительного выполнения, например, вызовы циклических процедур, или процедур, работающих с графикой или с диском.
Для выхода из программы предусмотреть какую-то специальную клавишу или комбинацию клавиш (выбор по желанию программиста), информация о ней должна быть известна пользователю – помещена на экране. При нажатии этой клавиши происходит окончание работы потока-производителя, а поток-потребитель закончит свою работу, только когда буфер будет исчерпан, т.е. выработанная информация будет полностью использована.
Дополнительная информация
Работа сдана в 2023 году, оценка преподавателя: зачтено.
Похожие материалы
Лабораторная работа №1
ITNerd
: 23 октября 2025
Лабораторная работа №1 по дисциплине "Моделирование систем". ИССЛЕДОВАНИЕ ЦЕПЕЙ НА ПОСТОЯННОМ ТОКЕ.
Задание №1
Собрать схему (рис.1)
Нажимая на клавишу Space (пробел) убедитесь, что поочередно будут загораться лампочки. Измерить ток, протекающий по лампочкам. Установить напряжение источника больше, чем максимально допустимое для лампочки. Убедитесь, что лампочки перегорят. Обратите внимание, что измерители тока следует настроить на режим переменного тока (АС). Для этого можно щелкнуть по пр
450 руб.
Лабораторная работа №1
ITNerd
: 22 октября 2025
Лабораторная работа №1 по дисциплине "Измерение параметров и оценка качества мультимедиа продукции". ИЗМЕРЕНИЕ ПАРАМЕТРОВ И СНЯТИЕ ХАРАКТЕРИСТИК УСИЛИТЕЛЯ
- открыть программную среду MULTISIM и составить схему рис.1;
- подключить приборы, необходимые для определения параметров и характеристик усилителя (вольтметры на входе и выходе и измеритель нелинейных искажений на выходе усилителя, ПЛОТТЕР БОДЕ) (рис.2);
– снять и построить амплитудную характеристику, изменяя Uвх от 0 до 10 мВ через 1
370 руб.
Лабораторная работа №1
ITNerd
: 22 октября 2025
Лабораторно-практическая работа №1 по предмету "Теория цвета и цветовоспроизведения в медиатехнологиях".
Задания
Задание 1. Создать 6-ступенчатый колориметрический круг.
Задание 2. Создать 24-ступенчатый колориметрический круг Освальда.
Задание 3. Создать 12-ступенчатый колориметрический круг Иттона самостоятельно.
Письменно ответить на контрольные вопросы:
1. Дать определение понятию цветовой круг.
2. Привести примеры двух любых цветовых кругов, не рассмотренных выше.
610 руб.
Лабораторная работа № 1
NAndreeva
: 13 сентября 2023
Составить таблицу начисления заработной платы
работникам МП "Воронья слободка" в EXCEL
ВАРИАНТ № 7
Лабораторная работа №1
John111
: 16 июня 2023
Сформируйте структуру таблицы (рис. 1) и заполните ее постоянными значениями (подпись экзаменатора ставить не надо).
Подготовьте для группы ведомость (рис.2) назначения студентов на стипендию по результатам экзаменационной сессии.
50 руб.
Лабораторная работа №1
John111
: 15 июня 2023
1-я часть задания
Название университета оформить как заголовок, а все остальное - как текст, расположенный слева или справа на экране. Обратить внимание на использование жирного шрифта.
Отрывок из стихотворения расположить со сдвигом вправо, шрифт - курсив, а подпись - справа и меньшим размером шрифта, причем инициалы отделить от фамилии неразрывным пробелом.
2-я часть задания - текст следующего вида, где каждая строка имеет начертание, соответствующее тому, что написано. Между собой строки раз
50 руб.
Лабораторная работы №1
elina56
: 24 октября 2017
Цель работы:
1.1. Изучить классификацию и состав сигналов систем сигнализаций, применяемых на телефонной сети общего пользования.
1.2. Изучить сигнальные коды:
одночастотный;
по двум выделенным сигнальным каналам системы ИКМ.
1.3. Приобрести навыки по составлению алгоритмов установления соединения, используя заданный сигнальный код.
80 руб.
Лабораторная работа №1
nell
: 6 октября 2017
Задание: вычисление энтропии Шеннона (теория+программа)
1. Изучить теоретический материал гл. 2.
2. Реализовать процедуру вычисления энтропии для текстового файла на английском языке. В процедуре необходимо подсчитывать частоты появления символов (прописные и заглавные буквы не отличаются, знаки препинания рассматриваются как один символ, пробел является самостоятельным символом), которые можно использовать как оценки вероятностей появления символов. Затем вычислить величину энтропии Шеннона. Т
150 руб.
Другие работы
Хлопушка с механизмом управления резервуара вертикального стального РВС-Чертеж-Оборудование транспорта и хранения нефти и газа-Курсовая работа-Дипломная работа
as.nakonechnyy.92@mail.ru
: 21 июня 2016
Хлопушка с механизмом управления резервуара вертикального стального РВС-(Формат Компас-CDW, Autocad-DWG, Adobe-PDF, Picture-Jpeg)-Чертеж-Оборудование транспорта нефти и газа-Курсовая работа-Дипломная работа
387 руб.
Насос шестеренный 36.000
bublegum
: 9 апреля 2020
Насос шестеренный 36.000 сборочный чертеж
Насос шестеренный 36.000 спецификация
Корпус 36.001
Валик ведущий 36.002
Колесо зубчатое 36.004
Крышка 36.005
Заглушка 36.006
Пружина 36.007
Клапан 36.010
Шестеренные насосы применяют для подачи жидкости под давлением до 0,03 Па. Их используют для подачи жидкости, смазочных материалов и горючего. Шестеренные насосы высокого давления (0,06—0,07 Па) имеют ограниченное применение и изготовляются особо тщательно. Шестеренные насосы просты по конструкции, им
350 руб.
Чертеж колено-рычажный пресс СМ-1085 (вид2)-Чертеж-Машины и аппараты нефтехимических производств-Курсовая работа-Дипломная работа
leha.nakonechnyy.92@mail.ru
: 24 сентября 2018
Чертеж колено-рычажный пресс СМ-1085 (вид2)-(Формат Компас-CDW, Autocad-DWG, Adobe-PDF, Picture-Jpeg)-Чертеж-Машины и аппараты нефтехимических производств-Курсовая работа-Дипломная работа
369 руб.
Устройство запорное 15.000 solidworks
bublegum
: 27 августа 2021
Устройство запорное 15.000 3d модель
Устройство запорное 15.000 solidworks
Устройство запорное 15.000 сборка
Устройство запорное 15.000 скачать солид воркс
Концевое запорное устройство предназначено для соединения концов рукавов при перепуске сжатого воздуха из одной емкости в другую. При соединении концов рукавов накидной гайкой 7 шарики 10 отжимаются от седла клапана и корпуса, тем самым открывая проход воздуху. При разъеме "концов рукавов шарики под действием пружины 6 и давления воздуха пло
350 руб.