One can classify operating systems into two broad groups, early and modern, based on an analysis of three key features:
Ability to share CPU resources between multiple programs.
Methods employed to control access to system storage.
Methods employed to protect system and application memory from corruption.