Skip to content

Latest commit

 

History

History
17 lines (13 loc) · 2.24 KB

README.md

File metadata and controls

17 lines (13 loc) · 2.24 KB

CPU monitor

Build

Задание

Написать кроссплатформенное приложение на C++ (сначала на Linux) с иcпользованием графического API OpenGL, которое выводит на экран графики загруженности CPU (общий и по ядрам).
Как пример интерфейса можно использовать стандартный Task Manager Windows 10.

Дополнительные требования:

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