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

400

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

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

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

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


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

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

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


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

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

   Скачать

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


        Коментариев: 0


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

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

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



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

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

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

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

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

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


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


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

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

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


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