Task #9. Concurrency and Synchronization∗
Description∗
Just spam it, baby!
Guidance∗
Use the following names:
Your.Name
- as a home directory of your projects;task09
- as a directory of the current project;src
- as a sources directory.
Написать модуль ядра, обеспечивающий одновременный вывод заданных сообщений через заданные интервалы времени.
1) Каждое сообщение выводить в отдельном потоке.
2) Стартовать вывод - по нажатию кнопки, подключённой к выводу GPIO (или любая клавиша стандартной клавиатуры).
3) Параметры вывода каждого сообщения задавать через sysfs/procfs
:
- сообщение,
- задержка между каждым выводом сообщения (в ms),
- общее время вывода повторяющегося сообщения (в ms).
Extra∗
Использовать фиксированный пул тредов-исполнителей и очередь заданий (списки).
Сигнализировать начало вывода - зажечь на 500 ms светодиод, подключённый к выводу GPIO.
Project Workflow
- Fork the repo.
- Clone that fork to a local repository.
- Add the repo as remote to your local clone (e.g. as
main
). -
Your main branch is
main/your.name
, you’ll share your solutions as MRs to this branch:- Create a branch and add commits there. Push this branch to remote:
git checkout -b branch_name # add commits here git push -u origin HEAD:branch_name
- Create a merge request in GitLab web interface from
branch_name
in your fork toyour.name
in the repo.
- Create a branch and add commits there. Push this branch to remote: