I would like to know the range of icon sizes allowed in different OSes (such as Ubuntu, OSX) and the default format they use.
For example, windows allows icon sizes from 16x16 to 256x256 and uses a .ico file.
First of all, both Windows and Mac OS X encapsulates their icons in a container format, meaning that instead of multiple images with different sizes, the file carries images of different resolutions, and the operating system decides on when to use which.
Windows uses the .ico format. Pre-Vista, the icons should range from 16x16 to at most 48x48 big and are stored internally as bitmap files. With Vista, sizes up to 256x256 are allowed, and the underlying file format is changed to png.
Mac OS X uses .icns files, with sizes from 16x16 up to 512x512. It can also carry multiple states in the same file.
Linux is distro dependent, but generally supports a wide range of formats. For compatibility though, you would want to use multiple PNG files for the different resolutions, or a single vector SVG file. Resolutions also differs, but generally speaking 16x16 up to 512x512 should suffice.
Mac OS X use the .icns icon file extension, and supports 16x16 up to 512x512 resolution.