Разработать программное обеспечение встроенной СРВ(на базе многопоточной операционной системы реального времени QNX6), работающей по следующему алгоритму.
На клавиатуре вводится текст состоящий из латинских букв и арабских цифр. Программа (главный поток) создает и запускает на выполнение три потока, где первый поток ("writer") запоминает введенный текст в буферной области памяти, а второй и третий потоки ("readers") считывают из этой области памяти, причем второй поток считывает только буквы, а третий- только цифры, а другие символы удаляются. После этого каждый поток-читатель печатает соответствующие символы на экране и освобождает от них буферную область памяти. Через 10 минут после начала работы поток-"писатель" завершает свою работу и сообщает об этом главный поток программы. После этого главный поток программы дает приказ потокам-"читателям" также завершить свое исполнение и после их завершения завершается сам.
Доп. указания:
- потоки программы должны быть синхронизированы для распределения общего ресурса (буферной области памяти) методом блокировки "читатель-писатель"(reader-writer lock);
- работа потоков-"читателей" должна быть организована по методу FIFO-диспетчеризации с использованием функции sched_yield()
Гарантия на работу | 1 год |
Средний балл | 4.96 |
Стоимость | Назначаете сами |
Эксперт | Выбираете сами |
Уникальность работы | от 70% |