| Version del sistema operativo Un problema comun para los programas, es que estos se hacen para un sistema operativo en concreto, y luego, el cliente corre un sistema operativo distinto (o una version distinta del sistema operativo), de manera que es intersante saber cual es el sistema operativo bajo el que corren, o que versión tienen. Bajo Windows Microsoft proporciona una API, que nos ayuda a obtener tanto la versión de windows (Windows 95, 98, etc...), como la revisión (Service Packs) La función es GetVersionEx, y para emplearla, se necesita la estructura OSVERSIONINFO (Ambas se pueden consultar en la web de microsoft). El tipo de variables OSVERSIONINFO es la siguiente estructura: struct _OSVERSIONINFO {
Estas son unas funciones, que usan la función, y la estructura, ilustrando su empleo:
Bajo Linux En el fichero /proc se guarda información de muy diversa indole, sobre los procesos que estan corriendo en el sistema, el que atañe a este articulo en concreto (Se recomienda al lector que eche un ojo a todos, pues traen información muy interesante), es el fichero /proc/version. Este fichero es un fichero de solo lectura, con permisos a todo el mundo (Usuario/grupo: root, tambien con permiso de solo lectura). Su formato es: De modo que en mi maquina, actualmente tengo la siguiente cadena: Luego, una forma valida sería obtener de este fichero la información, sin embargo, existe un medio más estandar de llevar a cabo esta tarea, y es con la función posix uname. La función uname, tiene la siguiente sintaxis: int uname(struct utsname *buf); Como se puede apreciar, utiliza como parámetro un puntero a una estructura utsname: struct utsname {
Pongo un ejemplo de como obtener la version del kernel:
|