Although each attribute is not required, it makes no sense to include <os> unless you specify at least one of family, name or arch. If <os> is specified with none of these, the parent element will be ignored in all installation environments.
OS Family to restrict to
"unix" | "windows" | "mac"
Exact OS name to restrict to
Valid OS name defined by the OS vendor, for example "Windows XP" or "Linux"
Exact OS version (see the Java os.version system property)
Valid OS version
System architecture/processor to restrict to (see the Java os.arch system property)
Valid OS architecture