«Операционные системы». Вариант №11
Состав работы
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Работа представляет собой zip архив с файлами (распаковать онлайн), которые открываются в программах:
- Программа для просмотра текстовых файлов
- Microsoft Word
Описание
1. Задание на курсовую работу
Необходимо написать программу, реализующую параллельную работу нескольких процессов. Каждый процесс может состоять из одного или нескольких потоков. Любой из потоков, работающих в составе этих процессов, может быть приостановлен и вновь запущен некоторой определенной клавишей (можно использовать буквенные или цифровые клавиши). Нажатия клавиш обрабатывать с помощью прерывания от клавиатуры (по материалам лаб. работы №1).
Окончание работы программы должно происходить при приостановке всех потоков их ключевыми клавишами либо при нажатии клавиши ESC. При окончании работы необходимо выполнить корректное завершение, т.е. «дочитать» всю информацию из буфера каждого процесса (при его наличии), закрыть все открытые файлы и т.п. – по материалам лаб. работы №3.
Те потоки, которые выводят информацию на экран, должны использовать для этого каждый свое отдельное окно, обрамленное рамкой – экран визуально делится на несколько окон, в каждом из которых отображается один процесс.
Дополнительное информационное окно должно содержать описание управляющих клавиш и краткое сообщение о тех действиях, которые выполняются в программе: номер потока, его статус в текущий момент времени (активен, приостановлен, ожидает), другую информацию (указание величины выделенного потоку кванта времени, процент заполненности буфера и т.п.) в зависимости от конкретного потока.
Программа должна работать устойчиво, без «зависаний» и непредвиденных зрительных эффектов. В случае необходимости указания параметров при запуске программы необходимо предусмотреть и обработать все возможные ошибки (с выводом диагностики на экран).
Задачи 1, 3, 6 предполагают наличие управляющего блока, который, используя прерывания таймера, случайным образом определяет очередной активный поток и выделяет ему кванты времени (возможно, в рамках большего кванта, выделенного всему процессу). Кванты времени – как для процесса в целом, так и для его потоков – изначально задавать некоторой фиксированной величины, но предусмотреть возможность её изменения во время работы путем нажатия некоторых ключевых клавиш (для каждого из потоков предусмотреть свою клавишу) – т.е. можно, например, увеличить или уменьшить квант только потока-пpоизводителя. При этом допустимы разные варианты реализации – «общий» квант может либо меняться, либо оставаться постоянным (тогда при ускорении одного потока другой автоматически замедлится, т.к. величина его кванта уменьшится).
Потоки этого класса задач могут иметь три статуса: «активен», «ожидает» или «приостановлен». В процессе работы может возникнуть, например, следующая ситуация. Поток-потребитель приостановлен своей ключевой клавишей, следовательно, буфер не освобождается. Поток-производитель активен, он заполнит буфер информацией и перейдёт в состояние ожидания. Из этого состояния он сможет выйти только после того, как будет возобновлена (нажатием клавиши) работа потока-потребителя, который освободит место в буфере для помещения новой информации. В случае приостановки производителя возникнет аналогичная ситуация, только с пустым буфером. Приостановка/возобновление потока возможны в любом его состоянии – как в активном, так и в состоянии ожидания.
Задачи 2, 4, 5, 7 должны выполняться равномерно, независимо от степени загрузки системы. Для этого каждой из них необходимо получать управление через фиксированное количество «тиков» системного таймера, во время которого они выполнят какое-то свое элементарное действие («бегущая строка» или «летающий объект» сместится на одну позицию, сменится нота в музыке…). При такой реализации скорость каждого потока будет определяться количеством «тиков» таймера между его запусками. Для уменьшения скорости такого потока достаточно после нажатия ключевой клавиши предоставлять ему управление реже, через большее число «тиков», соответственно для ускорения такого потока – опять же после нажатия ключевой клавиши – ему предоставляется управление чаще, в пределе – на каждом «тике». Так, «бегущая строка» должна двигаться равномерно с постоянной скоростью (если она не приостановлена ключевой клавишей) независимо от количества активных процессов в системе, музыка – тоже играть равномерно… Потоки этого класса задач могут иметь два статуса: «активен» и «приостановлен».
Задачи:
номер
варианта номера
задач
11 1, 5, 7, 8
1. Два потока: первый читает информацию из файла (например, стихи или текст программы) в буфер, второй эту информацию из буфера выдаёт на экран. При заполнении окна вывода до конца его содержимое не должно обновляться полностью – вывод новой информации должен осуществляться в последнюю строку, а все остальные строки смещаться вверх (по материалам лаб. работы №3).
5. Вывод заголовка работы (фамилия и имя автора и название работы) в виде «бегущей строки». Место вывода (верхняя или нижняя строка экрана) задавать параметром командной строки.
7. Движущийся объект (в простейшем случае, например, летающий и отражающийся от границ окна шарик). Движение может осуществляться свободно или при управлении с клавиатуры.
8. В углу экрана с заданными в качестве параметров координатами поместить часы, показания которых должны соответствовать системному времени. Обновлять показания часов каждую секунду (по материалам лаб. работы №2).
Содержание отчета
1. Задание на курсовую работу 3
2. Запуск программы с параметрами 6
3. Описание основных алгоритмов, использованных в программе 8
4. Описание основных переменных, констант и типов 10
5. Описание основных блоков (подпрограмм) программы 18
6. Текст программы 22
7. Результаты работы программы 79
Список использованной литературы 83
Объем отчета составляет 83 страницы формата А4.
К отчету прилагается исходный текст программы на языке TurboPascal. Создание исполняемых файлов из исходных текстов программ необходимо выполнить самостоятельно.
Список использованной литературы содержит 7 источников
Некоторые данные из отчета приведены на мини скиншотах.
Необходимо написать программу, реализующую параллельную работу нескольких процессов. Каждый процесс может состоять из одного или нескольких потоков. Любой из потоков, работающих в составе этих процессов, может быть приостановлен и вновь запущен некоторой определенной клавишей (можно использовать буквенные или цифровые клавиши). Нажатия клавиш обрабатывать с помощью прерывания от клавиатуры (по материалам лаб. работы №1).
Окончание работы программы должно происходить при приостановке всех потоков их ключевыми клавишами либо при нажатии клавиши ESC. При окончании работы необходимо выполнить корректное завершение, т.е. «дочитать» всю информацию из буфера каждого процесса (при его наличии), закрыть все открытые файлы и т.п. – по материалам лаб. работы №3.
Те потоки, которые выводят информацию на экран, должны использовать для этого каждый свое отдельное окно, обрамленное рамкой – экран визуально делится на несколько окон, в каждом из которых отображается один процесс.
Дополнительное информационное окно должно содержать описание управляющих клавиш и краткое сообщение о тех действиях, которые выполняются в программе: номер потока, его статус в текущий момент времени (активен, приостановлен, ожидает), другую информацию (указание величины выделенного потоку кванта времени, процент заполненности буфера и т.п.) в зависимости от конкретного потока.
Программа должна работать устойчиво, без «зависаний» и непредвиденных зрительных эффектов. В случае необходимости указания параметров при запуске программы необходимо предусмотреть и обработать все возможные ошибки (с выводом диагностики на экран).
Задачи 1, 3, 6 предполагают наличие управляющего блока, который, используя прерывания таймера, случайным образом определяет очередной активный поток и выделяет ему кванты времени (возможно, в рамках большего кванта, выделенного всему процессу). Кванты времени – как для процесса в целом, так и для его потоков – изначально задавать некоторой фиксированной величины, но предусмотреть возможность её изменения во время работы путем нажатия некоторых ключевых клавиш (для каждого из потоков предусмотреть свою клавишу) – т.е. можно, например, увеличить или уменьшить квант только потока-пpоизводителя. При этом допустимы разные варианты реализации – «общий» квант может либо меняться, либо оставаться постоянным (тогда при ускорении одного потока другой автоматически замедлится, т.к. величина его кванта уменьшится).
Потоки этого класса задач могут иметь три статуса: «активен», «ожидает» или «приостановлен». В процессе работы может возникнуть, например, следующая ситуация. Поток-потребитель приостановлен своей ключевой клавишей, следовательно, буфер не освобождается. Поток-производитель активен, он заполнит буфер информацией и перейдёт в состояние ожидания. Из этого состояния он сможет выйти только после того, как будет возобновлена (нажатием клавиши) работа потока-потребителя, который освободит место в буфере для помещения новой информации. В случае приостановки производителя возникнет аналогичная ситуация, только с пустым буфером. Приостановка/возобновление потока возможны в любом его состоянии – как в активном, так и в состоянии ожидания.
Задачи 2, 4, 5, 7 должны выполняться равномерно, независимо от степени загрузки системы. Для этого каждой из них необходимо получать управление через фиксированное количество «тиков» системного таймера, во время которого они выполнят какое-то свое элементарное действие («бегущая строка» или «летающий объект» сместится на одну позицию, сменится нота в музыке…). При такой реализации скорость каждого потока будет определяться количеством «тиков» таймера между его запусками. Для уменьшения скорости такого потока достаточно после нажатия ключевой клавиши предоставлять ему управление реже, через большее число «тиков», соответственно для ускорения такого потока – опять же после нажатия ключевой клавиши – ему предоставляется управление чаще, в пределе – на каждом «тике». Так, «бегущая строка» должна двигаться равномерно с постоянной скоростью (если она не приостановлена ключевой клавишей) независимо от количества активных процессов в системе, музыка – тоже играть равномерно… Потоки этого класса задач могут иметь два статуса: «активен» и «приостановлен».
Задачи:
номер
варианта номера
задач
11 1, 5, 7, 8
1. Два потока: первый читает информацию из файла (например, стихи или текст программы) в буфер, второй эту информацию из буфера выдаёт на экран. При заполнении окна вывода до конца его содержимое не должно обновляться полностью – вывод новой информации должен осуществляться в последнюю строку, а все остальные строки смещаться вверх (по материалам лаб. работы №3).
5. Вывод заголовка работы (фамилия и имя автора и название работы) в виде «бегущей строки». Место вывода (верхняя или нижняя строка экрана) задавать параметром командной строки.
7. Движущийся объект (в простейшем случае, например, летающий и отражающийся от границ окна шарик). Движение может осуществляться свободно или при управлении с клавиатуры.
8. В углу экрана с заданными в качестве параметров координатами поместить часы, показания которых должны соответствовать системному времени. Обновлять показания часов каждую секунду (по материалам лаб. работы №2).
Содержание отчета
1. Задание на курсовую работу 3
2. Запуск программы с параметрами 6
3. Описание основных алгоритмов, использованных в программе 8
4. Описание основных переменных, констант и типов 10
5. Описание основных блоков (подпрограмм) программы 18
6. Текст программы 22
7. Результаты работы программы 79
Список использованной литературы 83
Объем отчета составляет 83 страницы формата А4.
К отчету прилагается исходный текст программы на языке TurboPascal. Создание исполняемых файлов из исходных текстов программ необходимо выполнить самостоятельно.
Список использованной литературы содержит 7 источников
Некоторые данные из отчета приведены на мини скиншотах.
Дополнительная информация
Год сдачи: 2020
Преподаватель: Бах О.А.
Работа зачтена с оценкой отлично.
Рекомендую использовать представленные материалы в качестве методической помощи для выполнения своих работ.
Преподаватель: Бах О.А.
Работа зачтена с оценкой отлично.
Рекомендую использовать представленные материалы в качестве методической помощи для выполнения своих работ.
Похожие материалы
«Операционные системы». Вариант №11
nmaksim91
: 3 ноября 2015
Задание.
Необходимо написать программу, реализующую параллельную работу нескольких процессов. Каждый процесс может состоять из одного или нескольких потоков. Любой из потоков, работающих в составе этих процессов, может быть приостановлен и вновь запущен некоторой определенной клавишей (можно использовать буквенные или цифровые клавиши). Нажатия клавиш обрабатывать с помощью прерывания от клавиатуры (по материалам лаб. работы №1).
Окончание работы программы должно происходить при приостановке вс
370 руб.
Операционные системы LINUX. Вариант №11
IT-STUDHELP
: 30 декабря 2021
Взаимодействие процессов через канал FIFO
Целью работы является изучение межпроцессного взаимодействия через канал FIFO в операционной системе LINUX
Задание
Написать две программы, реализующие механизм взаимодействия типа клиент-сервер, используя канал FIFO.
Программы должны выполнять следующие действия.
1) Программа-Клиент предлагает пользователю ввести любое слово, которое потом будет отправлено серверу. Далее клиент ожидает ответа от сервера. Работа клиента прекращается закрытием канала п
800 руб.
Контрольная по дисциплине: Операционные системы. Вариант 11
xtrail
: 1 августа 2024
Вариант 11
Теоретический вопрос:
1. Процессы в Unix: свойства, атрибуты, состояния процессов.
Задание:
1. Создать файл, содержащий список процессов системы, имеющих ненулевой приоритет.
2. Вычислить среднее арифметическое чисел, заданных в параметрах скрипта.
3. Укажите параметры команд route и iptables для:
a. настройки таблицы маршрутизации 172.20.20.0, подсеть на 16 адресов;
b. запрета входящих соединений для сервиса pop с хостов сети, к которой настроена маршрутизация.
600 руб.
Операционные системы. Вариант 11. Контрольная работа.
Gennady
: 3 апреля 2023
Задание
Написать две программы, реализующие механизм взаимодействия типа клиент-сервер, используя канал FIFO.
Программы должны выполнять следующие действия.
1) Программа-Клиент предлагает пользователю ввести любое слово, которое потом будет отправлено серверу. Далее клиент ожидает ответа от сервера. Работа клиента прекращается закрытием канала после получения ответа.
2) Программа-Сервер получает строку от клиента и отвечает на неё следующим образом: меняет в нем все буквы «о» на «А», если
1500 руб.
Курсовая работа по дисциплине: Операционные системы. Вариант №11
IT-STUDHELP
: 10 ноября 2023
Вариант №11
Задание.
Необходимо написать программу, реализующую параллельную работу нескольких процессов. Каждый процесс может состоять из одного или нескольких потоков. Любой из потоков, работающих в составе этих процессов, может быть приостановлен и вновь запущен некоторой определенной клавишей (можно использовать буквенные или цифровые клавиши). Нажатия клавиш обрабатывать с помощью прерывания от клавиатуры (по материалам лаб. работы №1).
Окончание работы программы должно происходить при пр
600 руб.
Курсовая работа по дисциплине: Операционные системы. Вариант №11
IT-STUDHELP
: 2 июня 2023
Курсовая работа
Вариант: 11
Задания:
1. Два потока: первый читает информацию из файла (например, стихи или текст программы) в буфер, второй эту информацию из буфера выдаёт на экран. При заполнении окна вывода до конца его содержимое не должно обновляться полностью – вывод новой информации должен осуществляться в последнюю строку, а все остальные строки смещаться вверх (по материалам лаб. работы №3). Имя читаемого файла задавать как параметр командной строки. После окончания файла он начинает сч
600 руб.
Курсовая работа по дисциплине «Операционные системы» Вариант 11
Aronitue9
: 5 марта 2012
1. Два потока: первый читает информацию из файла (например, стихи или текст программы) в буфер, второй эту информацию из буфера выдаёт на экран. При заполнении окна вывода до конца его содержимое не должно обновляться полностью – вывод новой информации должен осуществляться в последнюю строку, а все остальные строки смещаться вверх (по материалам лаб. работы №4). Имя читаемого файла задавать как параметр командной строки. После окончания файла он начинает считываться заново.
5. Вывод заголовка р
50 руб.
Операционные системы. Курсовая работа. Вариант №11 ( Задания №№1.5.7.8)
zexor
: 16 апреля 2013
Необходимо написать программу, реализующую параллельную работу нескольких процессов. Каждый процесс может состоять из одного или нескольких потоков. Любой из потоков, работающих в составе этих процессов, может быть приостановлен и вновь запущен некоторой определенной клавишей (можно использовать буквенные или цифровые клавиши). Нажатия клавиш обрабатывать с помощью прерывания от клавиатуры (по материалам лаб. работы №1).
1. Два потока: первый читает информацию из файла (например, стихи или текс
100 руб.
Другие работы
Прокурорский надзор в Российской Федерации
alfFRED
: 6 июля 2013
Прокурорский надзор как самостоятельная правовая дисциплина включает в себя прежде всего знания об основополагающих принципах организации и деятельности российской прокуратуры, выработанных и получивших дальнейшее развитие в Конституции РФ и других законодательных актов по вопросам укрепления законности и правопорядка, обеспечения принципов социальной справедливости, охраны прав и законных интересов граждан, усиления прокурорского надзора в РФ. Прокурорский надзор рассматривается как одна из
5 руб.
Инвестиции
karaleva
: 21 августа 2019
Рассчитать показатели NPV и PI для каждого проекта:
Занести рассчитанные показатели NPV и PI для каждого проекта в таблицу.
Сформируем портфель реальных инвестиций при условии, что проекты поддаются дроблению.
Сформируем портфель реальных инвестиций при условии, что проекты не поддаются дроблению
150 руб.
Теория языков программирования и методы трансляции. Билет №9
IT-STUDHELP
: 30 декабря 2021
Билет No 9
Факультет ИВТ (ДО) Курс 4 Семестр 7
Дисциплина Теория языков программирования и методы трансляции
1) Регулярные множества и регулярные выражения (РВ). Определение, свойства РВ. Проиллюстрировать на примерах (примеры должны быть свои).
2) Алгоритм восходящего анализа языков без возвратов, основанный на грамматиках операторного предшествования. Проиллюстрировать на примере (пример должен быть свой).
3) Построить и изобразить графически детерминированный конечный автомат, распозн
500 руб.
Анализ линейной электрической цепи при гармоническом воздействии.
evelin
: 24 ноября 2012
«Радиосвязь, радиовещание и телевидение», 2 курс, 3 семестр. Дисциплина: Основы теории цепей.
Содержание заданий:
1. Произвести разметку зажимов индуктивно связанных катушек. Составить для рассматриваемой цепи систему уравнений по законам Кирхгофа в дифференциальной форме для мгновенных значений и в алгебраической для комплексных амплитуд.
2. Рассчитать токи в ветвях символическим методом. Записать мгновенные значения токов.
3. Составить баланс мощностей и определить показания ваттметров для ис
5 руб.