Страницу Назад
Поискать другие аналоги этой работы

400

Контрольная работа по дисциплине: Операционные системы. Вариант №6 (Задания 1, 2, 7)

ID: 203847
Дата закачки: 16 Октября 2019
Продавец: IT-STUDHELP (Напишите, если есть вопросы)
    Посмотреть другие работы этого продавца

Тип работы: Работа Контрольная
Форматы файлов: Исполняемые фалы (EXE), Microsoft Word, TurboPascal
Сдано в учебном заведении: СибГУТИ

Описание:
Задание.

Необходимо написать программу, реализующую параллельную работу нескольких процессов. Каждый процесс может состоять из одного или нескольких потоков. В зависимости от задания, какие-то из потоков, работающих в составе этих процессов, могут быть приостановлены и вновь запущены некоторой определенной клавишей (можно использовать буквенные или цифровые клавиши). Скорость работы некоторых потоков (в зависимости от задания) тоже должна меняться нажатием клавиш. Нажатия клавиш обрабатывать с помощью прерывания от клавиатуры (по материалам лаб. работы №1).
Окончание работы программы должно происходить при приостановке всех потоков их ключевыми клавишами либо при нажатии клавиши ESC. При окончании работы необходимо выполнить корректное завершение, т.е. «дочитать» всю информацию из буфера каждого процесса (при его наличии), закрыть все открытые файлы и т.п. – по материалам лаб. работы №3.
Те потоки, которые выводят информацию на экран, должны использовать для этого каждый свое отдельное окно, обрамленное рамкой – экран визуально делится на несколько окон, в каждом из которых отображается один процесс.
Дополнительное информационное окно должно содержать описание управляющих клавиш и краткое сообщение о тех действиях, которые выполняются в программе: номер потока, его статус в текущий момент времени (активен, приостановлен, ожидает), другую информацию (указание величины выделенного потоку кванта времени, процент заполненности буфера и т.п.) в зависимости от конкретного потока.
Задачи 1, 3, 9 предполагают наличие управляющего блока, который, используя прерывания таймера, случайным образом определяет очередной активный поток и выделяет ему кванты времени. Кванты времени для потоков изначально задавать некоторой фиксированной величины, но предусмотреть возможность её изменения во время работы (во всех вариантах) путем нажатия некоторых ключевых клавиш (для каждого из потоков предусмотреть свою клавишу) – т.е. можно, например, увеличить или уменьшить квант только потока-пpоизводителя. Любой из потоков (тоже во всех вариантах) может быть приостановлен или вновь запущен некоторой ключевой клавишей.
Потоки этого класса задач могут иметь три статуса: «активен», «ожидает» или «приостановлен». В процессе работы может возникнуть, например, следующая ситуация. Поток-потребитель приостановлен своей ключевой клавишей, следовательно, буфер не освобождается. Поток-производитель активен, он заполнит буфер информацией и перейдёт в состояние ожидания. Из этого состояния он сможет выйти только после того, как будет возобновлена (нажатием клавиши) работа потока-потребителя, который освободит место в буфере для помещения новой информации. В случае приостановки производителя возникнет аналогичная ситуация, только с пустым буфером. Приостановка/возобновление потока возможны в любом его состоянии – как в активном, так и в состоянии ожидания.
Задачи 2, 4, 5, 6, 7, 8, 10, 11, 12 должны выполняться равномерно, независимо от степени загрузки системы. Для этого каждой из них необходимо получать управление через фиксированное количество «тиков» системного таймера, во время которого они выполнят какое-то свое элементарное действие («бегущая строка» или «летающий объект» сместится на одну позицию, сменится нота в музыке…). При такой реализации скорость каждого потока будет определяться количеством «тиков» таймера между его запусками. При соответствующем задании для уменьшения скорости такого потока достаточно после нажатия ключевой клавиши предоставлять ему управление реже, через большее число «тиков», соответственно для ускорения такого потока – опять же после нажатия ключевой клавиши – ему предоставляется управление чаще, в пределе – на каждом «тике». Так, «бегущая строка» должна двигаться равномерно с постоянной скоростью (если она не приостановлена ключевой клавишей) независимо от количества активных процессов в системе, музыка – тоже играть равномерно… Потоки этого класса задач могут иметь два статуса: «активен» и «приостановлен».
ЗАДАЧИ:
1.Два потока: первый читает информацию из файла (например, стихи или текст программы) в буфер, второй эту информацию из буфера выдаёт на экран. При заполнении окна вывода до конца его содержимое не должно обновляться полностью – вывод новой информации должен осуществляться в последнюю строку, а все остальные строки смещаться вверх (по материалам лаб. работы №3). Имя читаемого файла задавать как параметр командной строки. После окончания файла он начинает считываться заново.
2.Музыкальное сопровождение – как минимум несколько нот различной длительности, образующих мелодию, плавно сменяющих друг друга. Во включённом состоянии мелодия должна играть в фоновом режиме (по материалам лаб. работы №2).
7. Вывод заголовка работы (фамилия и имя автора) в виде «управляемой строки». После нажатия клавиши, задающей направление, строка должна перемещаться с постоянной скоростью по выделенной области экрана в направлении, соответствующем нажатой клавише, до тех пор, пока не будет нажата клавиша другого направления. Направление: вверх, вниз, влево, вправо. При достижении границы заданной области строка останавливается и не движется, пока не будет нажата клавиша другого направления.
дополнительные условия
Звучание музыки останавливать и запускать определенной клавишей.

Параметры командной строки.
Программа принимает один параметр – имя файла с текстом.
Например:
kontr.exe text.txt
Описание основных алгоритмов, используемых в программе.
Потоки программы:
• поток-производитель для чтения символов из файла, формирования из них строк и записи их в буфер. Запись в буфер поток продолжает, пока не истечет время, отведенное на его работу, или пока буфер не будет заполнен.
• поток-потребитель для чтения строк из буфера и вывода на экран. Чтение из буфера поток продолжает, пока не истечет время, отведенное на его работу, или пока буфер не станет пустым.
Работа потока-производителя и потока-потребителя организована по принципу очереди. Числа на экране рядом с названиями потоков – это количество “тиков” таймера, отведенных каждому из этих потоков, и которое можно уменьшить или увеличить, используя ключевые клавиши.
В программе кроме того имеются:
1) Музыкальная мелодия. Построена из частот, задаваемых случайным образом.
2) Управляемая строка. Движется под управлением клавиш со стрелками вверх, вниз, влево, вправо в выделенной области экрана.
Смена нот мелодии и перемещение строки выполняются равномерно, независимо от степени загрузки системы.
Работу любого из потоков можно приостановить и снова запустить, используя ключевые клавиши.


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

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

Помогу с вашим вариантом, другой работой или дисциплиной.
E-mail: sneroy20@gmail.com

Важно! Перед отправкой, редактируйте работу и меняйте ФИО.

Размер файла: 72,2 Кбайт
Фаил: Упакованные файлы (.rar)
-------------------
Обратите внимание, что преподаватели часто переставляют варианты и меняют исходные данные!
Если вы хотите, чтобы работа точно соответствовала, смотрите исходные данные. Если их нет, обратитесь к продавцу или к нам в тех. поддержку.
Имейте ввиду, что согласно гарантии возврата средств, мы не возвращаем деньги если вариант окажется не тот.
-------------------

   Скачать

   Добавить в корзину


    Скачано: 7         Коментариев: 0


Не можешь найти то что нужно? Мы можем помочь сделать! 

От 350 руб. за реферат, низкие цены. Просто заполни форму и всё.

Спеши, предложение ограничено !



Что бы написать комментарий, вам надо войти в аккаунт, либо зарегистрироваться.

Страницу Назад

  Cодержание / Операционные системы / Контрольная работа по дисциплине: Операционные системы. Вариант №6 (Задания 1, 2, 7)
Вход в аккаунт:
Войти

Забыли ваш пароль?

Вы еще не зарегистрированы?

Создать новый Аккаунт


Способы оплаты:
UnionPay СБР Ю-Money qiwi Payeer Крипто-валюты Крипто-валюты


И еще более 50 способов оплаты...
Гарантии возврата денег

Как скачать и покупать?

Как скачивать и покупать в картинках


Сайт помощи студентам, без посредников!