I'm a beginner in game development and I'll like to know which OS is the best for game development. Windows or Linux ?
It pretty much entirely depends on what tools and technologies you plan to be using. If you use Unity, you are tied to either the Mac or Windows platform (though Unity does provide a Linux exporter (though not currently as well supported as Win or Mac).
If you plan to be using Java or Python then Linux or Windows will make no difference. I find Python development a little bit smoother on Linux because the package manager handles dependencies a bit nicer than Windows.
Mono on Linux is fine but you might want to keep with Windows so you can use Microsoft Visual Studio. It is well known to be a very decent IDE and MonoDevelop and Xamerin Studio are not quite as polished (plus they are still changing quite a lot).
In Windows we can have a lot of design tools as Photoshop, Illutrator or Flash ... But in Linux which are the tools ? And it's the same for game engine ...
Linux alternatives would be Gimp and Inkscape. On Linux there is only the Flash Compiler (flex).
As for engine, you pretty much have the same options as on Windows. If you are sticking with 2D, you probably don't even need an engine. Some solutions might be SDL, SFML, OpenGL or pygame. Java and Mono also provide their own GUI libraries so you might look into the drawing capabilities of those (unless you need hardware acceleration).