viernes, 1 de octubre de 2010

POR QUÉ ES LLAMADO GNU/LINUX...

Muchos usuarios de computadoras usan una versión modificada del sistema GNU (18.000 caracteres) a diario, sin darse cuenta. Debido a un particular giro de acontecimientos, la versión de GNU más ampliamente usada hoy es, con frecuencia, más conocida como «Linux», y muchos usuarios no son conscientes del alcance de su conexión con el Proyecto GNU.

Efectivamente hay un Linux, y esta gente lo usa, pero no es el sistema operativo. Linux es el núcleo: el programa del sistema que asigna los recursos de la máquina a los otros programas que usted ejecute. El núcleo es una parte esencial de todo sistema operativo, pero inútil por sí solo; sólo puede funcionar en el contexto de un sistema operativo completo. Linux se usa normalmente en combinación con el sistema operativo GNU: el sistema completo es básicamente GNU, con Linux actuando de núcleo.

Muchos usuarios no son plenamente conscientes de la diferencia entre el núcleo, que es Linux, y el sistema completo, al que también llaman «Linux». El uso ambiguo del nombre no facilita la comprensión. A menudo, estos usuarios piensan que Linus Torvalds desarrolló todo el sistema operativo en 1991, con un poco de ayuda.

Los programadores generalmente saben que Linux es un núcleo. Pero como generalmente han oído llamar también «Linux» a todo el sistema, frecuentemente se imaginan una historia que justifique que todo el sistema se llame como el núcleo. Por ejemplo, muchos creen que una vez que Linus Torvalds terminó de escribir Linux, el núcleo, sus usuarios buscaron más software libre que lo acompañara, y encontraron que (sin ninguna razón en particular) casi todo lo necesario para hacer un sistema de tipo Unix estaba ya disponible.

DIFERENCIAS ENTRE SOFTWARE LIBRE, GRATUITO Y DE DOMINO PUBLICO...

SOFTWARE LIBRE
El software libre es software con autorización para que cualquiera pueda usarlo, copiarlo y distribuirlo, ya sea con o sin modificaciones, gratuitamente o mediante una retribución. En particular, esto significa que el código fuente debe estar disponible. «Si no es fuente, no es software».

SOFTWARE GRATUITO
Mucha gente utiliza la expresión software de «código abierto» para referirse, más o menos, a la misma categoría a la que pertenece el software libre. Sin embargo, no son exactamente el mismo tipo de software: ellos aceptan algunas licencias que nosotros consideramos demasiado restrictivas, y hay licencias de software libre que ellos no han aceptado. Sin embargo, las diferencias entre lo que abarcan ambas categorías son pocas: casi todo el software libre es de código abierto, y casi todo el software de código abierto es libr

e.
Yo prefiero la expresión «software libre» porque se refiere a libertad, algo que la expresión «código abierto» no hace.

SOFTWARE DE DOMINIO PÚBLICO
El software de dominio público es software que no está protegido por derechos de autor. Es un caso especial de software libre no protegido con copyleft, lo que significa que algunas copias o versiones modificadas pueden no ser completamente libres.
En algunos casos, un programa ejecutable puede ser de dominio público sin que su código fuente esté disponible. Este software no es software libre, porque para que lo sea es preciso que el código fuente sea accesible. Por su parte, la mayoría del software libre no es software de dominio público; está protegido por derechos de autor, y los poseedores de estos han dado permiso legal para que cualquiera lo emplee libremente usando una licencia de software libre.

Algunas veces se utiliza el término «dominio público» de una manera imprecisa queriendo decir «libre» o «disponible gratuitamente». Sin embargo, «dominio público» es un término legal y significa de manera precisa «sin derechos de autor». Para ser lo más claro posible, recomendamos el uso de «dominio público» para expresar solamente este significado, y el uso de las otras expresiones para transmitir el suyo correspondiente.

Bajo la convención de Berna, que ha sido firmada por la mayoría de los países, a cualquier escrito nuevo se le aplica automáticamente derechos de autor. Esto incluye a los programas. Por lo tanto, si quiere que un programa que usted haya escrito sea de dominio público, debe cumplir ciertos procedimientos legales para evitar que, de manera automática, le sean añadidos los derechos de autor.

VULNERABILIDAD EN EL NÚCLEO DE WINDOWS VISTA...


Se ha encontrado un fallo de seguridad en el núcleo de Windows Vista relacionada con la creación de redes que puede colgar el sistema, y que no será resuelta hasta el próximo service pack.

El fallo de seguridad podría permitir que los rootkits se ocultasen, además de permitir que se ejecuten ataques de denegación de servicio en equipos que utilizan dicho sistema operativo.

La vulnerabilidad fue descubierta por Thomas Unterleitner de Austria, que forma parte de la empresa de seguridad Phion, según Unterleitner el fallo se encuentra localizado en el subsistema de entrada/salida de la red, donde algunas solicitudes enviadas al API de iphlpapi.dll pueden causar un desbordamiento de búfer que corrompe la memoria kernel de Vista.


Unterleitner también comento:

Este desbordamiento de búfer que podría (también) ser explotada para inyectar código, por lo tanto, comprometer la seguridad del cliente.

Debido a que el fallo radica en el componente de Netio.sys de Vista los rookits se pueden esconder, provocando que se puede apagar el ordenador de una victima de forma remota.

Los sistemas operativos afectados son los Windows Vista de 32 y 64 bits, en cambio Windows XP no se ve afectado.

Microsoft enviará una solución para resolver está vulnerabilidad en el próximo Service Pack de Vista, pero aún se desconoce la fecha.

POR QUÉ WINDOWS 7?....

El kernel o núcleo de Windows 7 es el mismo de siempre, pero el core (el corazón) ha cambiado, se ha reorganizado. Así que MinWin no es un nuevo kernel, sino un kernel reorganizado. ¿Por qué se ha hecho de esta manera? En primer lugar porque es mucho menos costoso reorganizar y optimizar el núcleo de Windows que empezar desde cero. Por el otro se conserva la compatibilidad con el sistema anterior, porque todas las llamadas se realizan de la misma forma y el núcleo funciona de la misma manera.

En resumen, es buena noticia que los ingenieros de Microsoft hayan trabajado en el núcleo de Vista para mejorarlo para Windows 7, sobre todo si el resultado es un sistema escalable que permitirá mejoras futuras y quién sabe si versiones más “ligeras” de Windows. Windows 7 for netbooks ¿lo imagináis?

NUCLEO DE WINDOWS 7 (MINWIN)...

¿qué es MinWin? Podría decirse que consiste en coger el núcleo de Windows e ir quitando cosas y parar sólo justo antes de que deje de funcionar. Su objetivo era consolidar el diseño del núcleo del sistema operativo. Por lo visto los ingenieros de Microsoft descubrieron que los sistemas de bajo nivel del núcleo de Windows realizaban llamadas a procesos de alto nivel.

Para mejorar el diseño “cortaron” estas llamadas de alto nivel para convertir el núcleo de Windows en un sistema escalable. De esta manera se realizó un mapa de dependencias para poder limpiar las llamadas que se realizaban fuera del núcleo. Se re-organizaron estas llamadas y las API. El experimento acabó con un sistema operativo que funcionaba perfectamente sin necesidad de librerías de alto nivel: el MinWin. El sistema ocupa de 25 a 40 Megabytes, frente a los 4 Gigabytes de Vista, y se compone de apenas 100 ficheros, cuando Windows necesita 5.000 para funcionar.

De esta forma se creó un “corazón” de Windows nuevo autocontenido y escalable, pero que contiene el núcleo (el kernel) del Windows de toda la vida, sólo que con las llamadas de alto nivel y las API reorganizadas.

COMPARACIONES ENTRE LINUX Y WINDOWS...

ARQUITECTURA DE WINDOWS Y DE LINUX...


ARQUITECTURA DE WINDOWS

La arquitectura micronúcleo asigna solamente unas pocas funcionesesenciales al núcleo, incluyendo espacios de direcciones, comunicación entre procesos (IPC) y planificación básica. Otros servicios del Sistema Operativo los proporciona procesos, algunas veces llamados servidores, que se ejecutan en modo usuario y que el micronúcleo trata como a cualquier otra aplicación. Este enfoque desconecta el núcleo y el desarrollode servidores. Los servidores pueden estar diseñados para aplicaciones específicas o necesidades del entorno. El enfoque del micronúcleo simplifica la implementación, proporciona flexibilidad y se adapta bien para entornos distribuidos. En esencia, un micronúcleo interactúa de la misma forma con procesos servidores locales y remotos, facilitando la construcción de sistemas distribuidos.

Uno de los pasos más importantes que revolucionó los Sistemas Operativos de la Microsoft fue el diseño y creación de un Sistema Operativo extensible, portable, fiable, adaptable, robusto, seguro y compatible con sus versiones anteriores (Windows NT).

Y para ello crearon la siguiente arquitectura modular:


La cual está compuesta por una serie de componentes separados donde cada cual es responsable de sus funciones y brindan servicios a otros componentes. Esta arquitectura es del tipo cliente – servidor ya que los programas de aplicación son contemplados por el sistema operativo como si fueran clientes a los que hay que servir, y para lo cual viene equipado con distintas entidades servidoras.

Ya creado este diseño las demás versiones que le sucedieron a Windows NTfueron tomando esta arquitectura como base y le fueron adicionando nuevos componentes.

Uno de las características que Windows comparte con el resto de los Sistemas Operativos avanzados es la división de tareas del Sistema Operativo en múltiples categorías, las cuales están asociadas a los modos actuales soportados por los microprocesadores. Estos modos proporcionan a los programas que corren dentro de ellos diferentes niveles de privilegios para acceder al hardware o a otros programas que están corriendo en el sistema. Windows usa un modo privilegiado (Kernel) y un modo no privilegiado (Usuario).

Uno de los objetivos fundamentales del diseño fue el tener un núcleo tan pequeño como fuera posible, en el que estuvieran integrados módulos que dieran respuesta a aquellas llamadas al sistema que necesariamente se tuvieran que ejecutar en modo privilegiado (modo kernel). El resto de las llamadas se expulsarían del núcleo hacia otras entidades que se ejecutarían en modo no privilegiado (modo usuario), y de esta manera el núcleo resultaría una base compacta, robusta y estable.

ARQUITECTURA DE LYNUX
Linux es un núcleo monolítico híbrido, donde sus controladores de dispositivos y las extensiones del núcleo normalmente se ejecutan en un espacio privilegiado conocido como anillo, con acceso irrestricto al hardware, aunque algunos se ejecutan en espacio de usuario.
A diferencia de los núcleos monolíticos tradicionales, los controladores de dispositivos y las extensiones al sistema operativo se pueden cargar y descargar fácilmente como módulos, mientras el sistema continúa funcionando sin interrupciones.
Así mismo, a diferencia de los núcleos monolíticos tradicionales, los controladores pueden detenidos momentáneamente por actividades más importantes bajo ciertas condiciones.
Esta habilidad fue agregada para manejar correctamente interrupciones de hardware, y para mejorar el soporte de multiprocesamiento Simétrico.
A diferencia de los núcleos monolíticos tradicionales, los controladores de dispositivos son fácilmente configurables como Loadable Kernel Modules, y se pueden cargar o descargar mientras se está corriendo el sistema