Программа запускается на принт-сервере и пишет в базу информацию о всех печатаемых на принтерах документах.
Для каждого принтера создает по 1 потоку, которые асинхронно (с помощью FindXXXPrinterChangeNotification) получают данные от драйверов принтеров.
Раз в сутки стартует поток для удаления старых данных (> 180 дней).
Также поднимает HTTP-сервер для просмотра отчета ч/з Web.
Данные пишутся в базу FireBird.
Есть 4 вида отчетов (онлайн, в формате HTML):
- общий по пользователям,
- детальный по пользователю,
- по принтеру,
- за текущий день.
Технологии: multithreading, WinAPI, HTTP, HTML
Средство разработки: C++ Builder 5.0
База даннных: FireBird 1.5 Embedded Системное программирование
Весьма вероятно,так как это свойственно людям. Грань между системным и прикладным программированием не очень четкая. Я же при классификации ориентировался на степень взаимодействия с пользователем, которая ограничивается лишь просмотром отчетов. Основное же время программа обменивается данными с ОС.
Системное программирование это разработка программ работающих в режиме ядра, а не в пользовательском пространстве. Ваши программы из портфолио это элементарное прикладное ПО.