title: How Java determine operating system name?
body: <p>At the beginning I want to mention that this is not duplicate of <a href="https://stackoverflow.com/questions/228477/how-do-i-programmatically-determine-operating-system-in-java">this topic</a>.</p>
  
  <p>I know that I can check OS I'm running from Java, programmatically via <code>System.getProperty("os.name");</code></p>
  
  <p>My question is: How Java determine my operating system? Other words, when <code>Properties</code> are loaded/set (especially <code>os.name</code>) and what command is run to do so? </p>
  
  <p><strong>UPDATE</strong></p>
  
  <p>Not a duplicate of <a href="https://stackoverflow.com/questions/18396535/where-which-properties-file-does-system-getpropertykey-reads-from">Where (which properties file) does System.getProperty(“key”) reads from?</a> aswell. Im not asking for a place where properties are storaged. Im asking for command that are used to determine OS name. </p>
  
  <p>As @Phylogenesis commented - on Windows it is used a GetVersionEx inside in native c implementation. </p>
  
  <p>What about Unix/Linux?</p>