Операционные системы. Вариант 3.

Цена:
400 руб.

Состав работы

material.view.file_icon
material.view.file_icon Run.bat
material.view.file_icon SOLUTION.EXE
material.view.file_icon SOLUTION.PAS
material.view.file_icon Отчет.doc
material.view.file_icon file.txt
Работа представляет собой zip архив с файлами (распаковать онлайн), которые открываются в программах:
  • Microsoft Word
  • Программа для просмотра текстовых файлов

Описание

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

Программа написана на Borland Pascal 7.

Оценка за решение - "отлично".

Есть ещё одна работа, тоже 3-й вариант, которую я писал для другого человека, код и интерфейс от этой кардинально отличаются. Ищите у меня в списке работ.

Дополнительная информация

Работа сдавалась в СибГУТИ в 2010 году.
Могу выполнить любые другие задания.
Операционные системы. Курсовая работа, вариант 3.
Задание Необходимо написать программу, реализующую параллельную работу нескольких процессов. Каждый процесс может состоять из одного или нескольких потоков. Любой из потоков, работающих в составе этих процессов, может быть приостановлен и вновь запущен некоторой определенной клавишей (можно использовать буквенные или цифровые клавиши). Нажатия клавиш обрабатывать с помощью прерывания от клавиатуры (по материалам лаб. работы №1). Окончание работы программы должно происходить при приостановке вс
User nik200511 : 28 февраля 2023
43 руб.
Операционные Системы. Вариант 3 (Задания 1,2,5,6)
Задания согласно 3 варианту: 1) Два потока: первый читает информацию из файла (например, стихи или текст программы) в буфер, второй эту информацию из буфера выдаёт на экран. При заполнении окна вывода до конца его содержимое не должно обновляться полностью – вывод новой информации должен осуществляться в последнюю строку, а все остальные строки смещаться вверх (по материалам лаб. работы №4). Имя читаемого файла задавать как параметр командной строки. После окончания файла он начинает считыватьс
User Russianbear : 22 апреля 2018
75 руб.
Операционные системы. Курсовая работа. Вариант №3.
Задание: Необходимо написать программу, реализующую параллельную работу нескольких процессов. Каждый процесс может состоять из одного или нескольких потоков. Любой из потоков, работающих в составе этих процессов, может быть приостановлен и вновь запущен некоторой определенной клавишей (можно использовать буквенные или цифровые клавиши). Нажатия клавиш обрабатывать с помощью прерывания от клавиатуры (по материалам лаб. работы №1). Окончание работы программы должно происходить при приостановке
User SibGUTI2 : 13 июня 2016
100 руб.
Операционные системы, курсовая работа, вариант № 3
ЗАДАЧИ: 1. Два потока: первый читает информацию из файла (например, стихи или текст программы) в буфер, второй эту информацию из буфера выдаёт на экран. При заполнении окна вывода до конца его содержимое не должно обновляться полностью – вывод новой информации должен осуществляться в последнюю строку, а все остальные строки смещаться вверх (по материалам лаб. работы №4). Имя читаемого файла задавать как параметр командной строки. После окончания файла он начинает считываться заново. 2. Музыкал
User alexxxxxxxela : 20 сентября 2014
80 руб.
Операционные системы. Лабораторная работа №3. ВАРИАНТ №3
Управляющие конструкции командной оболочки Обработка параметров командной строки, передаваемых в скрипт Цель работы: Изучить управляющие (условные, циклические) конструкций управления командной оболочкой. Изучить способы взаимодействия командной оболочки и скриптов. ВАРИАНТ-3 задание: Написать скрипт, анализирующий параметры командной строки с помощью специальных переменных и с помощью команды getopts. Скрипт должен выполнять следующую работу: а) используя соответствующую спецпеременную вывес
User DmitryK : 14 мая 2020
100 руб.
Операционные системы, лабораторная работа № 3, вариант 3
Тема: Работа с экраном (“часы”) Задача: Написать программу “часы”, которая будет однократно перехватывать показания системных часов и от них вести отсчет времени, используя собственный счетчик прерываний таймера (в качестве основы может быть использован обработчик прерываний таймера из предыдущей работы). Показания времени – часы, минуты, секунды – следует выводить в заданном месте экрана. Формат вывода: xx:xx:xx. Обновление показаний времени выполнять дискретно, через заданное количество секунд
User alexxxxxxxela : 5 сентября 2014
50 руб.
Контрольная работа по дисциплине: Операционные системы. Вариант №3
Контрольная работа По дисциплине: Операционные системы Задание на контрольную работу по дисциплине «Приложения Unix систем» Вариант 3 Теоретический вопрос: 1. Типы ядер ОС. Основные функции ядра. Состав ядра Unix. Задание: 1. Получите с помощью одной команды файл, содержащий все числовые идентификаторы пользователей, зарегистрированных в системе. Идентификаторы пользователей находятся в файле /etc/passwd: Для вывода столбца номер 4 указываем разделитель «:» и указываем № столбца: 2. Напи
User IT-STUDHELP : 21 декабря 2022
600 руб.
promo
Контрольная работа по дисциплине: Операционные системы. Вариант №3
Контрольная работа По дисциплине: Операционные системы Вариант: 3 Задания: 1.Два потока: первый читает информацию из файла (например, стихи или текст программы) в буфер, второй эту информацию из буфера выдаёт на экран. При заполнении окна вывода до конца его содержимое не должно обновляться полностью – вывод новой информации должен осуществляться в последнюю строку, а все остальные строки смещаться вверх (по материалам лаб. работы №3). Имя читаемого файла задавать как параметр командной строки
User IT-STUDHELP : 19 декабря 2022
600 руб.
promo
Совершенствование ремонта тракторов Т-150К в колхозе «Перенка» Рославльского района с разработкой технологии восстановления вала главного сцепления
СОДЕРЖАНИЕ ВВЕДЕНИЕ 6 1 АНАЛИЗ ХОЗЯЙСТВЕННОЙ ДЕЯТЕЛЬНОСТИ 8 2 ОРГАЗАЦИОННЫЙ РАЗДЕЛ 9 2.1 Расчет годового объема ремонтно-обслуживающий работ по хозяйству и распределение их между различными ремонтными подразделениями и предприятиями 9 2.2 Организация и планирование работы центральной ремонтной мастерской 12 2.2.1 Обоснование режима работы и расчет фондов времени 12 2.2.2 Планирование работы мастерской и построение годового графика ее загрузки 14 2.2.3 Распределение годового объема ремонтно-обслу
User Рики-Тики-Та : 18 декабря 2015
825 руб.
Презентация . Различные теории формирования прав собственности
Континентальная и англосаксонская правовые традиции. Китайская правовая традиция. Право собственности в российском законодательстве.
User Lokard : 5 апреля 2013
5 руб.
Сетевая экономика. Кейс задание.
Кейс задание Дайте письменные ответы на вопросы кейс-заданий, согласно следующей таблице: Первая буква фамилии №№ вопросов в Задание 1 № вопроса в Задание 2 № вопроса в Задание 3 Л – П 3, 8, 13 3 3 Задание 1 Решения America Online и Netscape America Online (www.aol.com), добилась успеха в ряде направлений. Так, например, только одна стратегия, использованная компанией для того, чтобы достичь статуса первой мультибрэндовой медиа-компании в мире, принесла ей оборот $5 млрд. Создав новую концепцию
User studypro2 : 3 апреля 2017
300 руб.
Рынок труда и демография - тест
1. Термин «демография» впервые появился в: в труде Граунта «Политическая арифметика» в 1662 г в книге А. Гийяра «Элементы статистики человека или сравнительная демография» в 1885 в статье Ларусса «Демография» в труде К. Маркса «Капитал» 2. Объектом демографии являются: изменения свойств отдельных людей группы людей, обладающих определенными свойствами все население в целом, без разделения на группы каждый гражданин государства в отдельности 3. Исходное теоретическое понятие при демографическо
User kapusja : 4 июня 2024
250 руб.
up Наверх