Kernel - Communicates with and "controls" hardware and user interaction. Also important is process management, memory management etc.
File System - Technically not, but nevertheless an important part of an OS.
Other issues are: Monolithic versus modular kernel, Device drivers, shells, task management, user capability, networking and UI.
Look at the differences between different types of OS's. Novell's Netware ran atop another OS (removing much of the hardware interaction). MS usually is single user, *nix is multiuser.
Define a set of parameters, then search for exceptions. E.G. where do you draw the line between being an OS and not. Cell phones nowadays have complex OS's, but does a regular calculator? How about a Texas Instruments scientific calculator?
I hope this helps a little bit,
Good luck,
Dev
---
My Sig:
))
(( ___________________
|||_____________|_____|