Операционные системы. Лабораторная работа №3 (2019). Для всех вариантов.

Цена:
110 руб.

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

material.view.file_icon
material.view.file_icon
material.view.file_icon lab3.bat
material.view.file_icon LAB3.PAS
material.view.file_icon Отчет.doc
material.view.file_icon LAB3.EXE

Необходимые программы

Работа представляет собой rar архив с файлами (распаковать онлайн), которые открываются в программах:
  • Microsoft Word

Описание

Лабораторная работа №3: Эмуляция работы параллельных процессов на примере схемы “производитель–потребитель”

Написать программу, которая будет эмулировать параллельную работу некоторых потоков. Потоки должны работать циклически. В качестве модели использовать схему “производитель – потребитель”. Один поток (производитель) может помещать случайные (или какие-то определенные – например, только четные числа или квадраты целых чисел и т.п.) числа в буфер (массив заданного размера), для наглядности поток-производитель должен эти числа выводить на экран. Другой поток (потребитель) забирает числа из этого буфера. Для контроля также выполнять вывод на экран чисел, взятых потоком-потребителем из буфера. Вывод разными потоками выполнять в разные строки и/или разным цветом; дополнительно выводить на экран индикатор того, какой именно поток работает в настоящий момент, а также содержимое буфера и текущий процент его заполненности.
На экране параллельная работа потоков может быть представлена следующим образом:
Верхняя строка (производитель): ячейка для вывода текущего сгенерированного числа, признак активности потока (слово, символ, цвет), сообщение о переполнении буфера в случае этого события. Возможно, ещё какая-то полезная информация, например, номер заполняемой ячейки.
Нижняя (или вторая) строка (потребитель): ячейка для вывода текущего прочитанного числа, признак активности потока (слово, символ, цвет), сообщение о пустом буфере в случае этого события. Возможно, информация о номере считываемой из буфера ячейки.
В середине экрана: сам буфер, в который числа добавляются потоком-производителем и из которого считываются (удаляются или перекрашиваются, попадая при этом в его ячейку в нижней строке экрана) потоком-потребителем. Считывание чисел можно производить по принципу стека или очереди. При считывании по принципу очереди после завершения работы потребителя какое-то количество чисел из начала буфера исчезнет, следовательно, буфер будет перемещаться по экрану и в какой-то момент его потребуется переписать заново, от начала.
Отдельной строкой или в углу экрана отображать процент заполненности буфера.
Предусмотреть обработку критических ситуаций:
1) Случай, когда потребителю предоставлено управление, а буфер данных пуст – тогда активный поток должен напрямую отдать управление производителю, а сам уйти в режим ожидания. При этом вопрос с квантом времени для производителя может быть решён по-разному. Например, остаток недоработанного потребителем кванта может быть передан производителю, либо ему может быть выделен новый квант времени.
2) Случай, когда управление предоставлено производителю, а буфер полон и записывать результаты некуда – поток-производитель должен заблокироваться до появления свободного места в буфере и запустить поток-потребитель. Вопрос с квантом может решаться аналогично.
Для того чтобы было возможно пронаблюдать работу потоков в замедленном режиме, в каждом из потоков следует поставить дополнительную задержку (стандартный delay), величину которой задавать с клавиатуры при запуске программы, в качестве параметра командной строки. При запуске без параметров выводить сообщение примерного вида: “Программа запущена со стандартной задержкой, величина которой =…” и формат запуска программы для задания желаемой задержки.
Потоки при работе чередуются случайным образом; регламентировать их работу с помощью таймера (выделять каждому кванты времени, величина которых тоже случайна – в некотором диапазоне). При этом может складываться ситуация, что один и тот же поток несколько раз подряд получит управление. Таймер по окончании выделенного потоку кванта времени изменяет статус этого потока с активного на пассивный, в результате чего внутренний цикл этого потока должен завершиться.
Внутри обработчика прерываний таймера не может находиться вызовов процедур – потоков! Вызовы процедур должны происходить в бесконечном цикле в основной программе. В обработчик прерываний таймера вообще нельзя включать никакие действия, требующие длительного выполнения, например, вызовы циклических процедур, или процедур, работающих с графикой или с диском.
Для выхода из программы предусмотреть какую-то специальную клавишу или комбинацию клавиш (выбор по желанию программиста), информация о ней должна быть известна пользователю – помещена на экране. При нажатии этой клавиши происходит окончание работы потока-производителя, а поток-потребитель закончит свою работу, только когда буфер будет исчерпан, т.е. выработанная информация будет полностью использована.

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

Работы сдавались в ноябре 2018, зачтены без замечаний.

Внимание! В программе вместо "Студент ФИО" нужно вставить свои данные.
Операционные системы. Лабораторная работа № 3. Все варианты!
№3: Написать программу «часы», которая будет однократно перехватывать показания системных часов и от них вести отсчет времени, используя собственный счетчик прерываний таймера (в качестве основы может быть использован обработчик прерываний таймера из предыдущей работы). Показания времени – часы, минуты, секунды – следует выводить в заданном месте экрана. Формат вывода: xx:xx:xx. Обновление показаний времени выполнять дискретно, через заданное количество секунд. Программа должна работать резидент
User rt : 2 марта 2015
30 руб.
Операционные системы Лабораторная работа 3
Задание к лабораторной работе №3 Цель занятия: знакомство с сетевыми командами. Изучаемые команды: ifconfig, route, traceroute, ping. 1. Создать файл, содержащий MAC–адрес сетевого интерфейса eth0 и статистику переданных и принятых пакетов для этого интерфейса. 2. Создать файл, содержащий cписок доступных IP–адресов локальной сети. 3. Создать файл, содержащий IP–адрес и сетевое имя шлюза по умолчанию для выхода в Интернет. 4. Создать файл, содержащий перечень имен и IP-адресов узлов, входящих
User ilya22ru : 12 декабря 2024
410 руб.
Операционные системы. Лабораторная работа №3.
1. Создать файл, содержащий MAC–адрес сетевого интерфейса eth0 и статистику переданных и принятых пакетов для этого интерфейса. 2. Создать файл, содержащий список доступных IP–адресов локальной сети. 3. Создать файл, содержащий IP–адрес и сетевое имя шлюза по умолчанию для выхода в Интернет. 4. Создать файл, содержащий перечень имен и IP-адресов узлов, входящих в маршрут до вашего почтового сервера (например, mail.ru, yandex.ru). 5. Определить, какие из этих узлов доступны для связи в данны
User Fockus : 7 июля 2023
200 руб.
Лабораторная работа №3 "Операционные системы"
Лабораторная работа №3. Вариант 8. Эмуляция работы параллельных процессов на примере схемы «производитель–потребитель»
User Daniil2001 : 12 февраля 2023
50 руб.
Операционные системы. Лабораторная работа №3
Управляющие конструкции командной оболочки Обработка параметров командной строки, передаваемых в скрипт Цель работы: Изучить управляющие (условные, циклические) конструкций управления командной оболочкой. Изучить способы взаимодействия командной оболочки и скриптов. Задание. Написать скрипт, анализирующий параметры командной строки с помощью специальных переменных и с помощью команды getopts. Скрипт должен выполнять следующую работу: а) используя соответствующую спецпеременную вывести всю
User 1973830311asd : 26 сентября 2020
650 руб.
Операционные системы. Лабораторная работа № 3
1. Постановка задачи Написать программу «часы», которая будет однократно перехватывать показания системных часов и от них вести отсчет времени, используя собственный счетчик прерываний таймера (в качестве основы может быть использован обработчик прерываний таймера из предыдущей работы). Показания времени – часы, минуты, секунды – следует выводить в заданном месте экрана. Формат вывода: xx:xx:xx. Обновление показаний времени выполнять дискретно, через заданное количество секунд. Программа должна
User gnv1979 : 30 декабря 2016
30 руб.
Операционные системы Лабораторная работа № 3
Написать программу “часы”, которая будет однократно перехватывать показания системных часов и от них вести отсчет времени, используя собственный счетчик прерываний таймера (в качестве основы может быть использован обработчик прерываний таймера из предыдущей работы). Показания времени – часы, минуты, секунды – следует выводить в заданном месте экрана. Формат вывода: xx:xx:xx. Обновление показаний времени выполнять дискретно, через заданное количество секунд. Программа должна работать резидентно.
User jashma28 : 20 декабря 2012
800 руб.
Операционные системы. Лабораторная работа №3. ВАРИАНТ №3
Управляющие конструкции командной оболочки Обработка параметров командной строки, передаваемых в скрипт Цель работы: Изучить управляющие (условные, циклические) конструкций управления командной оболочкой. Изучить способы взаимодействия командной оболочки и скриптов. ВАРИАНТ-3 задание: Написать скрипт, анализирующий параметры командной строки с помощью специальных переменных и с помощью команды getopts. Скрипт должен выполнять следующую работу: а) используя соответствующую спецпеременную вывес
User DmitryK : 14 мая 2020
100 руб.
Кейс. Маркетинг. 30 вопросов.
Магазин и салон-парикмахерская для домашних питомцев. Компания производит весь спектр продукции для небольших собак. Является признанным лидером в производстве люксовой одежды и аксессуаров для маленьких питомцев. В планы компании входит открытие собственного салона с целью оказания следующих услуг: стрижка, тримминг и мытье собак, профилактика заболеваний и оказание консультаций врачей-ветеринаров. Открытие салона планируется в центре Москвы. Число сотрудников -15 человек. Стоимость чистых акти
User studypro2 : 28 июня 2017
500 руб.
Структуры и алгоритмы обработки данных. Лабораторная работа №3
1. Разработать процедуру построения АВЛ-дерева. 2. Вычислить среднюю высоту АВЛ-дерева для n=10, 50, 100, 200, 400 (n -количество вершин в дереве) и заполнить таблицу следующего вида. Проанализировать полученные результаты, сравнить их с теоретическими оценками и результатами из лабораторной работы 1.
User piligrim-24 : 26 октября 2011
50 руб.
Курсовая работа по дисциплине: Линии радиосвязи и методы их защиты. Вариант №8
«Шифрование в сетях 802.11» Содержание Исходные данные 3 Задание 1 3 Задание 2 3 1 Выполнение задания 1 4 1.1 Генерирование последовательности Anonce и Snonce 4 1.2 Вычисление ключа PTK и разделение его на части KEK, KCK и TK 4 1.3 Генерирование группового ключ GTK 8 1.4 Конструирование четырех передаваемых EAPOL-Key кадров 8 2 Выполнение задания 2 14 2.1 Разработка схемы шифрования 14 2.2 Пояснение работы схемы шифрования 15 Список использованных источников 16 Исходные данные: Вариант, XY: 08
User SibGOODy : 31 августа 2018
1100 руб.
promo
Расчет сцепления автомобиля ВАЗ-2101
Задание на курсовой проект Необходимо выполнить проверочный расчет сцепления автомобиля ВАЗ-2101, в который входит расчеты на прочность, долговечность, износостойкость и нагрев, при условии, что крутящий момент двигателя увеличен по сравннию с номинальным в 1,3 раза Содержание Введение …………………………………………………………………………………….4 Назначение сцепления. Требования к сцеплению………………………………….. 5 Классификация сцеплений……………………………………………………………… 6 Основные неисправности сцепления…………………………………………………..12 Эксплуата
User proekt-sto : 18 октября 2013
145 руб.
up Наверх