Mi opinion, y la de muchisimos programadores, es que los mejores compiladores de C/C++ para Windows son los de Microsoft e Intel.
Aca te dejo el link para bajar el compilador de Microsoft VC++ (es el mismo que viene con el Visual Studio .NET 2003):
http://msdn.microsoft.com/visualc/vctoolkit2003/
PD. Lo que queres hacer (ejecutar tu codigo antes del S.O.) es algo MUY complicado, si recien estas empezando en C te recomiendo que vayas probando cosas mas sencillas hasta conocer mejor el lenguaje.