Страницу Назад
Поискать другие аналоги этой работы
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 |
||||
Есть вопросы? Посмотри часто задаваемые вопросы и ответы на них. Опять не то? Мы можем помочь сделать! Некоторые похожие работы:Контрольная работа по дисциплине: Операционные системы. Вариант №6 (Задания 1, 2, 7)МТИ МосТех МосАП МФПУ Синергия Управление проектами Тест 90 из 100 баллов 2023 год Контрольная работа по дисциплине: Операционные системы. Вариант №3 (Задания 1, 4, 12) Контрольная и Лабораторные работы 1-2 по дисциплине: Элементная база телекоммуникационных систем. Вариант №4 Контрольная и Лабораторная работа №1,2,3 по дисциплине: Алгоритмы и структуры данных. Вариант №05 Контрольная работа по дисциплине: Операционные системы. Вариант №21 Контрольная и Лабораторные работы 1-2 по дисциплине: Элементная база телекоммуникационных систем. Вариант №11 Ещё искать по базе с такими же ключевыми словами. |
||||
Не можешь найти то что нужно? Мы можем помочь сделать! От 350 руб. за реферат, низкие цены. Спеши, предложение ограничено ! |
Вход в аккаунт:
Страницу Назад
Cодержание / Операционные системы / Контрольная работа по дисциплине: Операционные системы. Вариант №7 (Задания 1, 3, 4, 7)
Вход в аккаунт: