# File lib/facter/operatingsystem/implementation.rb, line 11
    def self.implementation(kernel = Facter.value(:kernel))
      case kernel
      when "Linux", "GNU/kFreeBSD"
        release_info = Facter::Util::Operatingsystem.os_release
        if release_info['NAME'] == "Cumulus Linux"
          Facter::Operatingsystem::CumulusLinux.new
        elsif release_info['NAME'] == "CoreOS"
          Facter::Operatingsystem::OsReleaseLinux.new
        else
          Facter::Operatingsystem::Linux.new
        end
      when "SunOS"
        Facter::Operatingsystem::SunOS.new
      when "VMkernel"
        Facter::Operatingsystem::VMkernel.new
      when "windows"
        Facter::Operatingsystem::Windows.new
      else
        Facter::Operatingsystem::Base.new
      end
    end