Страницу Назад
Поискать другие аналоги этой работы
600 Курсовая работа по дисциплине: Операционные системы. Вариант №7ID: 134469Дата закачки: 28 Января 2014 Продавец: Jack (Напишите, если есть вопросы) Посмотреть другие работы этого продавца Тип работы: Работа Курсовая Форматы файлов: Исполняемые фалы (EXE), Microsoft Word, Pascal Сдано в учебном заведении: СибГУТИ Описание: Задание Необходимо написать программу, реализующую параллельную работу нескольких процессов. Каждый процесс может состоять из одного или нескольких потоков. Любой из потоков, работающих в составе этих процессов, может быть приостановлен и вновь запущен некоторой определенной клавишей (можно использовать буквенные или цифровые клавиши). Нажатия клавиш обрабатывать с помощью прерывания от клавиатуры (по материалам лаб. работы №1). Окончание работы программы должно происходить при приостановке всех потоков их ключевыми клавишами либо при нажатии клавиши ESC. При окончании работы необ-ходимо выполнить корректное завершение, т.е. “дочитать” всю информацию из буфера каждого процесса (при его наличии), закрыть все открытые файлы и т.п. – по мате-риалам лаб. работы №4. Те потоки, которые выводят информацию на экран, должны использовать для этого каждый свое отдельное окно, обрамленное рамкой – экран визуально делится на не-сколько окон, в каждом из которых отображается один процесс. Дополнительное информационное окно должно содержать описание управляющих клавиш и краткое сообщение о тех действиях, которые выполняются в программе: но-мер потока, его статус в текущий момент времени (активен, приостановлен, ожидает), другую информацию (указание величины выделенного потоку кванта времени, процент заполненности буфера и т.п.) в зависимости от конкретного потока. Программа должна работать устойчиво, без “зависаний” и непредвиденных зрительных эффектов. В случае необходимости указания параметров при запуске программы необходимо предусмотреть и обработать все возможные ошибки (с выводом диагно-стики на экран). Задачи 1, 3, 6 предполагают наличие управляющего блока, который, используя преры-вания таймера, случайным образом определяет очередной активный поток и выделяет ему кванты времени (возможно, в рамках большего кванта, выделенного всему про-цессу). Кванты времени – как для процесса в целом, так и для его потоков – изначально задавать некоторой фиксированной величины, но предусмотреть возможность её изменения во время работы путем нажатия некоторых ключевых клавиш (для каждого из потоков предусмотреть свою клавишу) – т.е. можно, например, увеличить или уменьшить квант только потока-пpоизводителя. При этом допустимы разные варианты реализации – “общий” квант может либо меняться, либо оставаться постоянным (тогда при ускорении одного потока другой автоматически замедлится, т.к. величина его кванта уменьшится). Потоки этого класса задач могут иметь три статуса: “активен”, “ожидает” или “приос-тановлен”. В процессе работы может возникнуть, например, следующая ситуация. По-ток-потребитель приостановлен своей ключевой клавишей, следовательно, буфер не освобождается. Поток-производитель активен, он заполнит буфер информацией и пе-рейдёт в состояние ожидания. Из этого состояния он сможет выйти только после того, как будет возобновлена (нажатием клавиши) работа потока-потребителя, который ос-вободит место в буфере для помещения новой информации. В случае приостановки производителя возникнет аналогичная ситуация, только с пустым буфером. Приоста-новка/возобновление потока возможны в любом его состоянии – как в активном, так и в состоянии ожидания. Задачи 2, 4, 5, 7 должны выполняться равномерно, независимо от степени загрузки системы. Для этого каждой из них необходимо получать управление через фиксиро-ванное количество “тиков” системного таймера, во время которого они выполнят ка-кое-то свое элементарное действие (“бегущая строка” или “летающий объект” сме-стится на одну позицию, сменится нота в музыке…). При такой реализации скорость каждого потока будет определяться количеством “тиков” таймера между его запуска-ми. Для уменьшения скорости такого потока достаточно после нажатия ключевой кла-виши предоставлять ему управление реже, через большее число “тиков”, соответст-венно для ускорения такого потока – опять же после нажатия ключевой клавиши – ему предоставляется управление чаще, в пределе – на каждом “тике”. Так, “бегущая стро-ка” должна двигаться равномерно с постоянной скоростью (если она не приостановле-на ключевой клавишей) независимо от количества активных процессов в системе, му-зыка – тоже играть равномерно… Потоки этого класса задач могут иметь два статуса: “активен” и “приостановлен”. Задания: 1. Два потока: первый читает информацию из файла (например, стихи или текст про-граммы) в буфер, второй эту информацию из буфера выдаёт на экран. При заполнении окна вывода до конца его содержимое не должно обновляться полностью – вывод но-вой информации должен осуществляться в последнюю строку, а все остальные строки смещаться вверх (по материалам лаб. работы №4). Имя читаемого файла задавать как параметр командной строки. После окончания файла он начинает считываться заново. 3. Два потока: один выполняет поиск всех последовательных простых чисел и заносит их в буфер, второй осуществляет их вывод из буфера на экран (по материалам лаб. ра-боты №4). 4. Вывод заголовка работы (фамилия и имя автора и название работы) постоянно ме-няющегося цвета. Место вывода (верхняя или нижняя строка экрана) задавать в каче-стве параметра командной строки. 7. Движущийся объект (в простейшем случае, например, летающий и отражающийся от границ окна шарик). Движение может осуществляться свободно или при управлении с клавиатуры (по материалам лаб. работы №5). Параметры командной строки Описание основных алгоритмов, используемых в программе Описание основных переменных, констант и типов Описание подпрограмм Копия экрана программы (при запуске “kurs.exe b text.txt”) Исходный текст программы Комментарии: Оценка - отлично! В архиве отчет + программа. Преподаватель: Бах О.А. ПОВТиАС Размер файла: 61,5 Кбайт Фаил: (.rar) ------------------- Обратите внимание, что преподаватели часто переставляют варианты и меняют исходные данные! Если вы хотите, чтобы работа точно соответствовала, смотрите исходные данные. Если их нет, обратитесь к продавцу или к нам в тех. поддержку. Имейте ввиду, что согласно гарантии возврата средств, мы не возвращаем деньги если вариант окажется не тот. -------------------
Скачано: 12 Сейчас качают: 1 Коментариев: 0 |
||||
Есть вопросы? Посмотри часто задаваемые вопросы и ответы на них. Опять не то? Мы можем помочь сделать! Некоторые похожие работы:СИНЕРГИЯ Управление человеческими ресурсами - Тест 100 баллов 2023 годКурсовая работа по дисциплине: Операционные системы. Вариант №2 (Задания 1, 2, 5, 7) Курсовая работа по дисциплине: Операционные системы. Вариант №8 (Задания 1, 4, 6, 7) СИНЕРГИЯ Командная работа и лидерство Тест 100 баллов 2023 год Курсовая работа по дисциплине: Операционные системы. Вариант №11 (Задания 1, 5, 7, 8) Курсовая работа по дисциплине: «Операционные системы». Вариант № 1 Ещё искать по базе с такими же ключевыми словами. |
||||
Не можешь найти то что нужно? Мы можем помочь сделать! От 350 руб. за реферат, низкие цены. Спеши, предложение ограничено ! |
Вход в аккаунт:
Страницу Назад
Cодержание / Операционные системы / Курсовая работа по дисциплине: Операционные системы. Вариант №7
Вход в аккаунт: