KURSOVIK.COM
Список всех
готовых работ
по программированию
сайта KURSOVIK.COM

Лабораторная работа
Эмуляция работы параллельных процессов на примере схемы «производитель–потребитель». Операционные системы. ЛР3. Вариант 8. Написать программу, которая будет эмулировать параллельную работу некоторых потоков. Потоки должны работать циклически
в среде программирования Turbo Pascal 7.0 (DOS) (Паскаль)
Программа

© Данная готовая работа выполнена сотрудником нашего сайта. Если Вы считаете, что эта страница каким-либо образом нарушает Ваши авторские права, то Вам следует обратиться в администрацию нашего сайта по адресу info@kursovik.com либо через форму обратной связи.
Мы можем переписать данную программу на C# в Visual Studio. Если это нужно -> Нажмите сюда для заказа.
Если Вам нужны все файлы проекта данной программы на языке программирования Turbo Pascal 7.0 (DOS), заполните форму заказа, которая доступна по следующей ссылке.

Среда программирования: Turbo Pascal 7.0 (DOS)

Название работы: Эмуляция работы параллельных процессов на примере схемы «производитель–потребитель». Операционные системы. ЛР3. Вариант 8. Написать программу, которая будет эмулировать параллельную работу некоторых потоков. Потоки должны работать циклически

Вид работы: Лабораторная работа

Тематика работы: Прочие

Объем программы: 5 (по десятибалльной шкале)

Уровень сложности: 5 (по десятибалльной шкале)

Разработчик (автор): Программист сайта kursovik.com (письмо автору)
Данная работа написана ЧЕЛОВЕКОМ без использования ИИ

Ключевые слова: Эмуляция работы, параллельные процессы, схема производитель–потребитель, производитель–потребитель, операционные системы, потоки, добавление потоков, количество потоков, несколько потребителей, активность потока, потомок-производитель, принцип очереди, процент заполненности буфера, буфер полон, поток-потребитель, работа потоков

Функции программы:

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

2. Каким образом можно создать приоритет тому или другому потоку? Используя только датчик случайных чисел? Добавьте возможность задания приоритета в форме параметра командной строки.

3. Возможно ли добавление в ту же программу новых потоков? Измените программу таким образом, чтобы можно было при ее запуске указывать требуемое количество потоков. При этом функции каждого потока определяются случайным образом. Т.е. может получиться несколько потребителей и один производитель, или наоборот… В крайней ситуации – все производители или все потребители. Как поведёт себя программа в подобном случае?

Скачать Demo-файл программы

1200 руб RU
+ 0 руб
45.20 Бел.руб BY
+ 0.00 Бел.руб
7780 тенге KZ
+ 0.00 тенге
Купить

Задать вопрос менеджеру по продажам


Описание (отчет): Есть на 9 страниц, посмотреть оглавление

 

Пояснения к компиляции и запуску программы:

Для работы с первой программой по Лабораторной работе 3 нужно запустить файл "LAB3.EXE".
Для работы со второй программой по Лабораторной работе 3 нужно запустить файл "LAB3_1.EXE".
Для работы с третьей программой по Лабораторной работе 3 нужно запустить файл "LAB3_2.EXE".

Пояснения к запуску программы:

Для работы с первой программой по Лабораторной работе 3 нужно запустить файл "LAB3.EXE".
Для работы со второй программой по Лабораторной работе 3 нужно запустить файл "LAB3_1.EXE".
Для работы с третьей программой по Лабораторной работе 3 нужно запустить файл "LAB3_2.EXE".



Статистика отдела программирования на заказ:
На данный момент (17 мая 2026) на выполнении находится 29 заказов.
Количество программистов, занятых выполнением текущих заказов: 10.
В текущем месяце (май 2026) нами уже выполнено 12 заказов.
В текущем году (2026) нами уже выполнено 173 заказа.
В прошлом году (2025) нами было выполнено 581 заказ.
В позапрошлом году (2024) нами было выполнено 762 заказа.
Количество активных программистов на сайте: 56.
Загруженность отдела заказами: 32%.

Результаты работы программы
Эмуляция работы параллельных процессов на примере схемы «производитель–потребитель». Операционные системы. ЛР3. Вариант 8. Написать программу, которая будет эмулировать параллельную работу некоторых потоков. Потоки должны работать циклически

Файлы программы

Файлы программы
Имя
Тип
Размер
Описание
исходники
<DIR>
Каталог
LAB3
EXE
7424
Исполняемый файл
lab3
pas
3928
Исходный код Pascal
LAB3_1
EXE
7728
Исполняемый файл
lab3_1
pas
4355
Исходный код Pascal
LAB3_2
EXE
7792
Исполняемый файл
lab3_2
pas
4346
Исходный код Pascal

Оформление программы
К программе прилагается:

Перед покупкой готовой работы не забудьте проверить её оригинальность. Запросить у администратора проверку текущей оригинальности работы по версии системы Антиплагиат.РУ


ВНИМАНИЕ ! Если данный отчет Вам не подходит, то Вы можете заказать написание нового отчета (согласно Вашему оглавлению) автору данной программы. Чтобы узнать цену, нажмите на эту ссылку.

Отчет (1)
 Отчет к программе. Содержание
Лабораторная работа

Эмуляция работы параллельных процессов на примере схемы «производитель–потребитель». Операционные системы. ЛР3. Вариант 8. Написать программу, которая будет эмулировать параллельную работу некоторых потоков. Потоки должны работать циклически


СОДЕРЖАНИЕ


Описание задания, решения, листинг и скриншот работы программы.

 Предварительный просмотр
Скриншот отчета/описания

Стоимость готовой работы
Скачать Demo-файл программы  (17 Кб
 
Стоимость ИСХОДНОГО ТЕКСТА программы составляет 1200 руб РФ

Продажа каждой работы строго учитывается,
у каждой работы есть своя история продаж.

Заказ готовой работы
ФОРМА ЗАКАЗА
Для заказа готовой работы, заполните данную форму и нажмите кнопку ПРИОБРЕСТИ

Ваше имя:
Ваш E-mail:
(пожалуйста укажите реальный E-mail адрес)
Просим Вас после заполнения данной формы проверить почту и найти наше письмо. Если письма в папке ВХОДЯЩИЕ не будет, пожалуйста проверьте папку СПАМ и, если письмо там найдётся, пометьте его как НЕ СПАМ, тем самым Вы поможете перестроить почтовую систему на правильный лад. Кроме этого, при заполнении данной формы, просим Вас указать больше контактов, например Ваш VK или мессенджер и мы продублируем наш ответ на Вашу заявку сообщением на Ваш дополнительный контакт, так будет надёжнее.
Ваш сотовый: (желательно)
Ваш ВУЗ: (аббревиатура)
Ваш город:
Ваша страна:
   
Вам нужен: Исходный текст программы (исходники) = 1200 руб RU 45.20 Бел.руб BY 7780 тенге KZ
Отчет = + 0 руб RU 0.00 Бел.руб BY 0.00 тенге KZ

Итого: 1200 руб RU 45.20 Бел.руб BY 7780 тенге KZ

ВНИМАНИЕ !!! Данная программа разработана под старую операционную систему MS-DOS и она не запустится под современными 64-разрядными версиями Windows! Есть большая вероятность того, что программа запустится в среде Free Pascal, но перед покупкой это лучше уточнить, отправив запрос программисту. В противном случае для запуска потребуется специальная программа DOSBOX! Программа не совместима с современными компиляторами (ABC Pascal, Delphi и проч.). Если Вы хотите скомпилировать эту программу под Windows, напишите запрос программисту, сможет ли он адаптировать эту программу под требуемый компилятор. Если Вы уверены, что сможете адаптировать программу самостоятельно, либо собираетесь для её запуска использовать DOSBOX, тогда смело можете приобретать исходный текст данной программы...

Введите код с картинки:
код

 Я принимаю Пользовательское соглашение



При проведении оплаты с территории РФ платёж будет произведён через систему Ю.Касса, которая обеспечивает полную защиту онлайн-платежей при покупках в сети Интернет. Оплатить заказ можно как электронными деньгами, так и банковской картой, в том числе и по кредитной карте. Работает оплата через Сбер-Pay - оплата по QR-коду в приложении Сбербанк-Онлайн.
При проведении оплаты с территории РФ, файлы отправляются автоматически 24 часа 7 дней в неделю сразу после оплаты заказа.

При проведении оплаты не с территории РФ платёж будет зачислен в ручном режиме нашим администратором, для этого потребуется некоторое время.
При проведении оплаты не с территории РФ, файлы отправляются администратором с 10:00 МСК до 22:00 МСК 7 дней в неделю.

Приобретаемая Вами готовая работа является справочным материалом и НЕ является программным продуктом, либо товаром. Она продаётся КАК ЕСТЬ, поэтому обмену либо возврату НЕ подлежит. Подробности смотрите по следующей ссылке.

Вы можете связаться с нами по следующим контактам:

MAX: max.ru/u/f9...JfZUts
Telegram: Vitaly_work
ВКонтакте: kursovikcom
WhatsApp: +79033241149
Viber: +79033241149
imo: +79033241149
bip: +79033241149
E-mail: prog@kursovik.com

Если Вам необходимо модифицировать эту программу нажмите сюда
Если Вам необходимо написать работу "с чистого листа" на нужную Вам тему, нажмите сюда

Информация

ВНИМАНИЕ! Данная работа написана ЧЕЛОВЕКОМ без использования ИИ

Вопросы и ответы

Общие вопросы
  • Как можно приобрести данную готовую работу ?
    • Заполните форму, которая расположена чуть Выше данного текста и нажмите кнопку "Приобрести"

  • Каким образом производится оплата ?
    • После заполнения формы Вы получите на свой E-mail автоматическое письмо со всеми подробностями оплаты заказа. Оплата производится через платёжную систему Ю.Касса, которая обеспечивает полную защиту онлайн-платежей при покупках в Интернете. Оплатить заказ можно как электронными деньгами, так и банковской картой, в том числе и кредитной.

  • Как быстро я получу данную работу после ее оплаты ?
    • В течение нескольких минут с момента оплата заказа. Мы работаем 7 дней в неделю.

  • Каким образом будет доставлена мне данная работа после оплаты ?
    • На Ваш E-mail адрес и в личном кабинете нашего сайта sys.kursovik.com.

  • Какие Вы даете гарантии, что данная работа будет выслана мне после оплаты ?
  • Что включает в себя исходный текст программы ? Вы пришлете все файлы проекта ?
    • Да, после оплаты Вы получите все файлы проекта данной работы, при желании сможете редактировать (видоизменять) программу (её описание) самостоятельно.

  • Зачем в форме заказа вы просите ввести мой ВУЗ и город ?
    • Эти данные нам нужны для того, чтобы можно было предотвратить повторную продажу работы в один и тот же ВУЗ. На сайте в таблице продаж публикуется только информация о городах, куда была продана работа. Если клиент видит, что в его город работа уже покупалась, то он может запросить у нас название ВУЗов, куда покупалась эта работа. Данные о ВУЗе клиента хранятся только в нашей базе, в открытом доступе их нет. Если Вы все-таки не хотите оставлять информацию о городе и ВУЗе, то просто введите в соответствующие поля несколько пробелов. Тем не менее, мы Вам рекомендуем всё-таки указать достоверную информацию, тем самым Вы застрахуетесь от того, чтобы кто-то из студентов Вашего ВУЗа вместе с Вами сдавал одинаковую работу одному и тому же преподавателю.

  • На Вашем сайте указано что эта работа не может быть выдана за свою, почему так ?
    • В идеале купленная работа должна быть использована в качестве образца или основы, чтобы студенту было проще написать свою собственную работу. Но если Вы всё-таки решите сдавать купленную у нас работу без изменений, то с нашей стороны по этому поводу никаких претензий не будет.

  • Действительно ли данная работа является уникальной ?
    • Да, мы можем гарантировать уникальность данной работы.
      Она была разработана нашим программистом и выставлена на продажу в 2023 году.

  • Сколько раз была продана данная работа ?
    • Ни разу.

  • Есть ли отчет (описание) к данной работе ?
    • Есть, но если данный отчет Вам не подходит, то Вы можете заказать написание нового отчета (согласно Вашему оглавлению) автору данной программы. Для этого заполните пожалуйста форму, приведенную ниже. В форме укажите требуемое оглавление(план) отчета. Если в Вашем ВУЗе никаких особых требований к отчету не выдвигают, тогда выберите пункт "требований к отчету нет, всё на усмотрение программиста".

      Ваше оглавление для написания отчета к готовой программе «Эмуляция работы параллельных процессов на примере схемы «производитель–потребитель». Операционные системы. ЛР3. Вариант 8. Написать программу, которая будет эмулировать параллельную работу некоторых потоков. Потоки должны работать циклически / Turbo Pascal 7.0 (DOS)»

      Ваше имя:
      Ваш город (где учитесь):
      Ваша страна:
      Ваша E-mail:


      Если никаких особых требований к отчету в Вашем ВУЗе не выдвигают, тогда выберите пункт:

      Требований к отчету нет, всё на усмотрение программиста

      Если у Вас есть методичка в электронном виде по выполнению данной работы, требования к отчету или любая другая информация, необходимая для написания отчета к программе, пожалуйста приложите ее к форме в виде архива ZIP или RAR, рисунка GIF или JPG, документа PDF. Приложить файл:

      Введите код с картинки:
      код

       Я принимаю Пользовательское соглашение

      Чтобы отправить форму нажмите кнопку:

Рекомендуем Вам также посмотреть нашу рубрику "вопросы и ответы".

Задать вопрос по данной готовой работе

Если у Вас возник какой-либо вопрос по данной работе, пожалуйста заполните форму, приведенную ниже.
Ответ будет дан автором данной работы в обязательном порядке. Время отклика - 2-24 часа с момента заполнения формы. Если Ваш вопрос окажется полезным, мы разместим его на этой странице.

Ваше имя: *
Ваш город (где учитесь): *
Ваша страна: *
Ваш E-mail: *
Ваш сотовый: (если нужно продублировать ответ SMS-кой)

Ваш вопрос автору готовой работы «Эмуляция работы параллельных процессов на примере схемы «производитель–потребитель». Операционные системы. ЛР3. Вариант 8. Написать программу, которая будет эмулировать параллельную работу некоторых потоков. Потоки должны работать циклически / Turbo Pascal 7.0 (DOS)»



Введите код с картинки:
код

 Я принимаю Пользовательское соглашение


Телеграм-БОТ - помощь в поиске готовых работ по программированию


ВНИМАНИЕ! НОВИНКА!
Попробуйте наш Телеграм-БОТ для поиска готовых работ по программированию...

Программирование на заказ

Программирование на заказ
*Имя:
*E-Mail:
Моб.телефон:
ВКонтакте:
Telegram:
Viber:
WhatsApp:
FaceBook:
Instagram:
 
 
ВУЗ:
Специальность:
Город ВУЗа:
Страна:
 
*Введите код с картинки:
код
(сменить)

 Я принимаю Пользовательское соглашение

Список всех готовых работ
Выборка готовой работы из рубрикатора

| Программирование | Менеджмент, Экономика, Бух.учёт | Юриспруденция |
| Психология | История | Электроника, Радиотехника, Механика |