По договоренности
• Задача: реализовать менеджер процессов (диспетчер задач) программу, аналогичную диспетчеру задач в Windows или программе htop в Linux (но с более примитивным функционалом, подробности см. ниже).
• Назначение программы: предоставить интерфейс для навигации по дереву процессов ОС и управлению процессами.
• Язык программирования: С или С++.
• Функциональность:
1) программа должна создавать окно в терминале, отображать и периодически обновлять в нём список процессов и основных индикаторов работы процесса (состояние, затраченное время, используемая память);
2) программа должна позволять снять с выполнения любой процесс;
3) реализовать одно из следующих заданий:
а) сортировка списка процессов по нескольким критериям,
б) приостановка/продолжение выполнения процесса и просмотр расширенной информации о состоянии процесса (нити в процессе, карта памяти процесса, открытых файловых дескрипторов процесса),
в) просмотр таблицы открытых файлов процесса (с подробной информацией о сокетах) и таблицы отображения виртуального адресного пространства процесса.
• Инструментарий:
1) язык программирования C или C++;
2) система сборки make;
3) библиотека терминального ввода-вывода (ncurses);
4*) (возможно) работа с файловой системой procfs.