Написать кроссплатформенное приложение на C++ (сначала на Linux) с иcпользованием графического API OpenGL, которое выводит на экран графики загруженности CPU (общий и по ядрам).
Как пример интерфейса можно использовать стандартный Task Manager Windows 10.
Дополнительные требования:
- На графике используются разные цвета в зависимости от степени нагрузки (например, диапазон пиковой загрузки - красный);
- Для хранения данных графика используется самостоятельно написанный контейнер (т.е. не использовать std, boost и другие библиотеки), который использует шаблон для определения типа хранимых в нем данных;
- Память для данных графиков выделяется один раз при запуске приложения;
- Каждый отдельный график обновляется в отдельном потоке (в том числе и общий). Потоки так же должны быть созданы один раз при запуске приложения. Потоки создаются средствами операционной системы (через WinAPI/Linux Kernel);
- Класс который обновляет конкретный график, наследуется от базового интерфейса Worker (по факту их выходит 2, один для ядер и один для общего);
- Приветствуется использование новых стандартов C++, но не стоит ими злоупотреблять;
- Минимизировать системные вызовы.