My professor made a comment today – “…They’ve been having trouble with filesystem performance, and since they’re more graphics guys, they asked us systems guys to help out…”.
What exactly is “computer systems”? What does it mean to be a “systems guy”? And, what is a “systems guy” passionate about? For contrast, what is not computer systems? What would possibly bore a “systems guy”?
1
He means a specialist in Operating Systems. Typically covering things like file systems, device I/O, memory management, concurrency control, and security.
File systems would be things like “Do I have a system where the file structure can be accessed quickly and efficiently?”.
Device I/O would be along the lines of “Is there a way to more efficiently support some particular type of network controller so that I can send messages with fewer errors?”
Memory management would cover “How can I context switch more rapidly?” This means fully changing from one application to another for instance. It’s an expensive operation to do because it involves total copies of memory.
Concurrency Control covers topics like “How do I ensure that all of my CPUs (if I have more than one) are being evenly utilized?”
Security is a whole sub-field of Computer Science and Engineering but is very relevant to operating systems. An example might be “How can I comprehensively protect mobile devices from viruses without draining the battery too much or at all?”
Graphics would be more abstractly mathematical and while potentially as low-level in terms of distance from the machine code, tends to be somewhat less so. He could also be using “Graphics” in terms of people who are more design or human factors oriented.
A system is a lot more than a CPU running code. How all the boxes are connected, reliably powered, cooled, fault-monitored, fail-over provisioned, who feeds the card-punches and moves the tape-reels (just kidding), etc. can be affected by software that a systems guy might be involved with.