«Операционные системы». Вариант №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 руб.
Другие работы
Гидродинамические методы исследования нефтяных скважин
Jon888
: 20 октября 2013
Гидродинамические исследования скважин (ГДИС) – система мероприятий, проводимых на скважинах по специальным программам, т.е. замер с помощью глубинных приборов ряда величин (изменения забойных давлений, дебитов, температур во времени и др.), последующая обработка замеряемых данных, анализ и интерпретация полученной информации о продуктивных характеристиках – параметрах пластов и скважин.
1100 руб.
Учет затрат на основное производство по статьям калькуляции
Lokard
: 30 декабря 2014
Себестоимость продукции – стоимостная оценка используемых в процесысе производства ресурсов, сырья, материалов, топлива, энергии, основных фондов, трудовых ресурсов и других затрат на производство и реализацию продукции.
Все многообразие этих затрат классифицируется по определенным признакам: по видам расходов, местом возникновения, по составу, по степени однородности и т.д.
Классификация затрат по видам расходов.
1- экономические элементы, 2- статьи калькуляции.
1. Экономические элементы
–
10 руб.
Курсовая по дисциплине: Теория связи. Вариант 01
xtrail
: 18 июля 2025
Задача No 1
Вольтамперная характеристика (ВАХ) биполярного транзистора амплитудного модулятора аппроксимирована выражением:
i_k={█(S(u_б-u_о), при u_б≥u_о@ 0, при u_б<u_о )
где iк – ток коллектора транзистора (мА),
S – крутизна характеристики (мА/В),
Uб – напряжение на базе транзистора (В),
Uо – напряжение отсечки (В),
Um – амплитуда входного высокочастотного сигнала (В).
Требуется:
Объяснить назначение модуляции, несущей и описать различные виды модуляции.
Изобразит
1200 руб.
Строение и свойства карбонатных пород среднего карбона района ММДЦ Москва-Сити
evelin
: 5 января 2014
Объектом исследования в моей работе являются среднекаменноугольные карбонатные породы района Московского Международного Делового Центра (ММДЦ) «Москва-Сити», залегающие на глубинах 59-99,8 м. Породы представляют собой известняки и доломиты различного возраста и структуры. Они характеризуют (снизу вверх) смедвинскую подсвиту каширского горизонта, а также васькинскую, улитинскую и щуровскую подсвиты подольского горизонта московского яруса среднего карбона.
В ходе работы был проведен ряд опытов с
15 руб.