added interface IOperatingSystem for OperatingSystemFactory