Posted says, "needs to manage memory usage and disk access at a very granular level and a desire to be cross-platform". Stdio/stdlib takes care of that. I don't see any mention of GUI, so if GUI is necessary, then I'd say, ya, just use Qt, because it probably is the best and it does come with a lot of other stuff, so you when in Rome...
Boost. What you'll get from boost is the filesystem stuff. It'll be similar in functionality as System.IO.FileInfo System.IO.Directory in
It's funny, the filesystem api was proposed over 9 years ago for c++.
services.msc is the Microsoft Management Console snap-in for controlling the service control manager. It's really not the thing that's similar to systemd. I think the service control manager (SCM) itself is similar, but it also has an API for control and a couple command line interfaces (dos and powershell). I've actually worked on a project on FreeBSD (closed source) where the concept of an SCM type application always came up. In theory it could have provided a nice consistent interface to our "services" to do things like stop, start, query status, logging, etc. All the boiler plate stuff then looks the same from the outside, instead of being more adhoc. I guess with initd and all the shell scripts, you get a few logging utilities and then shell error codes. Other than that, it's pretty much open season.
Anyone who has written a service for windows knows a few things. First, you always need a way to run it as a normal windows console app or debugging it is a royal pain. Second, you better write it so that it shuts down properly or you'll be getting tons of questions about warnings and errors in the event log. Installing and un-installing can also be painful. I can't be certain how/why, but automating the installation, upgrade, and removal of the service was sometimes problematic if someone logged in and left the SCM control panel running.
Once you have all the kinks ironed out, it's really nice. Admins can start and stop things, install/run your service as different users both domain or local. They can also do things like restrict access to the network, etc. and it's all familiar to them. It does take some cooperation on the developer's part. It is possible to write a service that totally sucks. By sucks, I mean it's buggy and therefore doesn't play nicely with the SCM. Leaves cruft in the registry, and so on.
I had an opportunity to write code on windows (c++ and c#) for about 5-6 years after working exclusively on Linux, FreeBSD, IRIX, HP-UX, and Solaris for about 10 years. I really liked it a lot. I worked on win2k3 and xp, and then win2k8 and win7. I thought win2k8/win7 were both really nice. I was actually blown away about how good the MS IDE and debugger is. The shell still sort of sucks (powershell). I wish someone would write a 'native' shell for windows that was cool. I'd event settle for a dos prompt you can resize like an xterm.
The person who makes no mistakes does not usually make anything.