Windows y sus mayores errores de diseño

Tras varios meses usando intensivamente Windows XP, he decidido reinstalarlo porque iba más lento de lo normal y me daba muchísimos errores y problemas. Tras la instalación del sistema operativo y de los programas que suelo usar, el sistema ha mejorado sobremanera: se inicia en prácticamente la mitad de tiempo, no aparece ningún error, el consumo de memoria nada más iniciarse se ha reducido, los programas se inician más rápido, etc. Esto es debido a lo que yo considero los dos mayores errores de diseño del sistema operativo de Microsoft.

El primero de los fallos de los que adolece Microsoft Windows es que almacena toda la configuración del sistema, de las aplicaciones y de los usuarios en un lugar centralizado: el registro. El problema de esto es que cuando se instalan muchas aplicaciones/drivers, el registro se empieza a inflar de información que insertan estos. De forma que leerlo de disco es cada vez más costoso y consume más memoria tenerlo cargado. Peor aún, mucha de esta información no se elimina al desinstalar las aplicaciones.

Por otro lado están las DLL, que tienen muchas ventajas pero también tienen un gran inconveniente. Cada programa instala las versiones de las DLLs que necesita, pero muchas veces estas DLLs también son usadas por otros programas instalados previamente, que también esperan tener la versión para la que se desarrollaron, de forma que en el caso peor, si encuentran una versión diferente el programa no funciona correctamente (lo que es comúnmente llamado entre los desarrolladores como DLL hell o infierno de las DLL).

Con las aplicaciones desarrolladas en .NET este problema se ha medio solucionado gracias a un mayor control de las versiones o a la posibilidad de que cada programa mantenga sus DLLs en el mismo directorio donde tiene su ejecutable, pero todavía hay pocos programas que estén desarrollados exclusivamente en .NET (muchas veces usan alguna DLL o control no desarrollado en .NET).

Debido a estos dos errores de diseño, el rendimiento del sistema se va degradando conforme instalamos y usamos más aplicaciones, de forma que los usuarios que usamos intensivamente Windows acabamos tomando la triste costumbre de reinstalar Windows cada pocos meses.

Aunque no he trabajado seriamente con Mac OS o con Linux tengo entendido que en estos sistemas operativos no existen estos problemas. En Linux todas las configuraciones se guardan en diferentes archivos de texto. En Mac OS los programas se instalan con simplemente arrastrar un único archivo que contiene todo lo necesario; no requiere DLLs, ni instalables, ni nada parecido. Ningún sistema operativo es perfecto y seguramente los usuarios habituales de Mac OS y de Linux tengan otros problemas diferentes, pero considero que, en los aspectos que he comentado en este artículo, Microsoft debería aprender de sus competidores.

Comentarios

Totalmente de acuerdo

Totalmente de acuerdo contigo.
Sobretodo que el registro se siga usando incluso hoy día para guardar datos de usuario, o de programas, en vez del sistema, es imperdonable.

La mayoría de mis amigos y

La mayoría de mis amigos y compañeros de trabajo que programan o han programado aplicaciones Windows opinan exactamente igual que yo.

Imagino que Microsoft también conoce estos puntos flacos, pero no se atreven a dar el paso de reestructurarlo todo para que funcione mejor. Imagino que lo hacen para mantener compatibilidad hacia atrás, pero este es otro problema, ya que Windows tendrá mucho código que se mantiene solo por la compatibilidad, lo que redunda en un rendimiento peor.

Teóricamente las

Teóricamente las aplicaciones Windows no usan llamadas directas, se basan en la propia API, por lo que se podrían modificar las susodichas funciones para que por ejemplo mapearan el contenido accedido a un archivo en la carpeta donde está ese proceso.

Sería como volver a los archivos INI, seguramente ahora serían XML, pero imagino que les cuesta reconocer que es dar un paso hacia atrás.

Windows es el resultado de

Windows es el resultado de dos programadores borrachos intentando programar algo que cambiaria el mundo!

Windows puede tener muchos

Windows puede tener muchos defectos, pero gracias a las ideas de esos programadores la informática está mucho más cerca de casi todo el público, y no solo de los gurús de la informática.

Publicar nuevo comentario

El contenido de este campo permanecerá oculto para el resto de los visitantes.
  • Las nuevas líneas y los párrafos generan saltos de línea automáticamente.
  • Las páginas web y direcciones de correo electrónico son convertidas automáticamente a enlaces.

Obtener más información sobre las opciones de formato

CAPTCHA
Esta pregunta es para verificar que eres una persona y así evitar métodos automatizados de spam
Image CAPTCHA
Copia los caracteres (respetando mayúsculas/minúsculas) que aparecen en la imagen.