If you set aside all the bundled applications and focus on the OS itself, I think you will get more credit for insight. Most users today don't see the difference.
An OS provides an environment for applications (processes) to run. The UI (shell) and the apps that might come bundled with the OS, are just that - applications. Seeing that distinction should get you some cred.
Some critical features in providing a good environment for applications to run:
Hardware abstraction layer - a way to deal with files, memory, displays, and devices without each process needing to know details of the hardware.
Process Scheduling and isolation - Let processes share and utilize the hardware in an efficient manner, without being able to interfere with each other. for example: Windows 7 finally has IO prioritization. this means that a low priority task like virus scanning your entire disk should not be able to drag your whole system down when high-priority tasks like your database service or your Crysis game no longer have to wait in-line for the disk behind the hundreds of requests made by your virus scan. Instead those processes skip right to the head of the line when they need something from the disk. If done properly, there is no reason a high priority task should be in any way impeded by a lower priority task.
security - this is a big topic, but focusing on the core job of an "environment to run applications" the OS is responsible to enforce security between processes, other process and system resources. The OS can access features of the processor that enforce in hardware what memory a process can access, and what privileged instructions it can execute. see Wikipedia : "protected mode". Windows only uses ring 0 and ring 3, which means that bad drivers can still stomp on the OS, but user mode process simply cannot. Also things like USB DMA could be better. USB and Firewire devices can access DMA so a malicious device can read or write to any memory they want to This is partly a hardware issue but in my view something that the OS should have control over be able to protect you from. ASLR and other technologies mitigate this but don't eliminate the risk.
There is a lot of shocking security failures in most modern OSs. In the 70's the DOD commissioned a requirements analysis for what a secure OS would like like. They came up with a bunch of things we still don't have today for example simply turning the stack upside down so buffer overflows can't overwrite the return pointer. For extra credit dive in here.
Plenty of things to compare. Don't get sidetracked by the Apps (the GNU part of GNU/Linux) if the assignment is the OS. Also to get more then a "C" I would guess you need to at least mention tradeoffs between monolithic vs microkernel architectures.