What defines a systems level programming language is not whether people choose to write operating systems out of them . People have written operating systems in Python and Java and those are by no means systems level programming languages .
I'm not sure that there is a single definition of what a systems level language is, but from what I've seen, a systems level programming language will usually give you direct access into the kernel to give it hints about what you are trying to do. For example, if you are loading a huge file into memory to read in many applications, you can tell the operating system to keep a handle on the memory and allow other processes to read it as well. You can tell the operating system that you're loading this huge file in, but that you won't need it again so it doesn't need to bother with flushing its buffer cache (thereby not causing evictions for other data that other applications actually will need), etc. In addition, systems level programming languages usually present memory directly to the programmer rather than through some protective view.
I need to find a better definition... I feel like what I've presented is a bit wishy-washy .
Yeah I'm not sure that there is an agreed-upon definition. But if we're talking about intimate low-level control then C++ should definitely qualify.