lunes, 4 de octubre de 2010

GNU Hurd y GNU Mach

GNU Hurd es un conjunto de programas servidores que simulan un núcleo Unix que establece la base del sistema operativo GNU. El Proyecto GNU lo ha estado desarrollando desde 1990 como software libre, distribuyéndolo bajo la licencia GPL.

Hurd intenta superar los núcleos tipo Unix en cuanto a funcionalidad, seguridad y estabilidad, aun manteniéndose compatible con ellos. Esto se logra gracias a que Hurd implementa la especificación POSIX (entre otras), pero eliminando las restricciones arbitrarias a los usuarios.

GNU Mach es el micronúcleo oficial del Proyecto GNU. Como cualquier otro micronúcleo, su función principal es realizar labores mínimas de administración sobre el hardware para que el grueso del sistema operativo sea operado desde el espacio del usuario.

En la actualidad el GNU Mach sólo funciona en máquinas de arquitectura intel de 32 bits (IA32) y su uso más popular es servir de soporte a Hurd, el proyecto que pretende reemplazar a los núcleo tipo Unix en el sistema operativo libre GNU. Sin embargo, desde el año 2002 los esfuerzos de la Fundación del Software Libre se encaminaron hacia la adopción del OSKit Mach como micronúcleo oficial. Actualmente se denomina GNU Mach 1.x al antiguo GNU Mach y GNU Mach 2.x a OSKit Mach

Linux es llamado GNU/LINUX

Es uno de los términos empleados para referirse a la combinacion del núcleo o kernel libre similar a Unix denominado Linux, que es usado con herramientasGNU. Su desarrollo es uno de los ejemplos mas prominentes de software libre: todo su codigo fuente puede ser utilizado, modificadoy redistribuido libremente por cualquiera bajo los términos GPL.

¿Cuál es la diferencia entre software libre, software gratuito y software de dominio publico?

software libre es la denominación del software que respeta la libertad de los usuarios sobre su producto adquirido y, por tanto, una vez obtenido puede ser usado, copiado, estudiado, cambiado y redistribuido libremente. Según la Free Software Foundation, el software libre se refiere a la libertad de los usuarios para ejecutar, copiar, distribuir, estudiar, modificar el software y distribuirlo modificado.


Software gratuito: El término freeware define un tipo de software privativo que se distribuye sin costo, disponible para su uso y por tiempo ilimitado, siendo una variante gratuita del shareware, en el que la meta es lograr que un usuario pruebe el producto durante un tiempo ("trial") limitado, y si le satisface, pague por él, habilitando toda su funcionalidad. A veces se incluye el codigo fuente pero no es lo usual.

Freeware suele incluir una licencia de uso que permite su redistribución pero con algunas restricciones, como no modificar la aplicacion en sí, ni venderla, y dar cuenta de su autor. También puede desautorizar el uso en una compañía con fines comerciales o en una entidad gubernamental, o bien, requerir pagos si se le va a dar uso comercial. Todo esto depende del tipo de licencia en concreto a la que se acoge el software.


Software de dominio publico:

Por dominio público se entiende la situación en que quedan las obras literarias, artísticas o científicas (lo que incluye programas informáticos) al expirar el plazo de protección de los derechos patrimoniales exclusivos que las leyes de derecho de autor reconocen en favor del derecho habiente y que implica que pueden ser explotadas por cualquier persona o corporación, pero siempre respetando los derechos morales (básicamente la paternidad).

Cual es la vulnerabilidad de núcleo de Windows vista ?

Se acaba de descubrir una nuevavulnerabilidad de seguridad enWindows Vista que afecta a la capa de red. Este problema de seguridad enVista puede corromper la memoria mediante un buffer overflow provocando sendos pantallazos azules.

Además de lo comentado anteriormente, esta vulnerabilidad podría ser usada para ejecutar código (aunque parece improbable ya que se necesitarían permisos de administrador) y lo que puede ser más peligroso aún, activar este bug de forma remota.

De momento Microsoft no tiene previsto lanzar un parche para solucionar esta vulnerabilidad, ya que ha comentado que implementará la solución a este problema de seguridad de Vista en su próximo Service Pack (Vista SP 2).

nomenclatura de Kernel en Linux

El núcleo Linux es un sistema operativo libre tipoUnix. Es uno de los principales ejemplos de software libre y código abierto. Linux está licenciado bajo laGPL v2 y está desarrollado por colaboradores de todo el mundo. El desarrollo del día a día tiene lugar en laLinux Kernel Mailing List.

El núcleo Linux fue concebido por el entonces estudiante de ciencias de la computación finés, Linus Torvalds, en 1991. Linux consiguió rápidamente desarrolladores y usuarios que adoptaron código de otros proyectos de software libre para su uso en el nuevo sistema operativo. El núcleo Linux ha recibido contribuciones de miles de programadores.

Normalmente Linux se utiliza junto a un empaquetado de software, llamado distribución Linux.

¿Por que la nueva versión de Windows lo van a llamar Windows 7 ?

Durante la historia de los Sistemas operativos del señor bill gates han existido

· Windows 1.0

· Windows 2.0

· Windows 3.0 con todas sus variantes*

Hasta ahí la cuenta es fácil.
El siguiente gran paso fue

· la versión 4.0, que nosotros conocimos como Windows 95. Desde aquél, hasta Windows ME, todos fueron basados en ese código, y por lo tanto cuentan como “4”.

· La versión 5 llegó con Windows 2000, y en la misma está basado también el XP.

· La versión 6 no es otro que el “infame”, Windows Vista.

Y así llegamos al 7, número de la suerte según dicen, pero eso está por verse.

núcleo de Windows 7 (WinMin)

Minwin, un desarrollo de Microsoft que surge desde el comienzo de la planificación de Longhorn( era el código que describía el 95% del código de Longhorn), posteriormente este concepto se redujo a un nucleo operativo básico que, en principio debería haber sido tomado como base para de desarrollo de Windows Vista, en cualquier caso, era mas bien un concepto vago y ambiguo mas que una realidad de base de desarrollo, y el resultado de vista es el que todos conocemos, un sistema con mas de 5.000 ficheros dependientes de un núcleo, con mas de 600 hilos funcionando de forma continua desde el arranque del mismo.

Arquitectura de Windows y Linux

Windows

Un Sistema Operativo serio, capaz de competir en el mercado con otros como Unix que ya tienen una posición privilegiada, en cuanto a resultados, debetener una serie de características que le permitan ganarse ese lugar. Algunas de estas son:

  • Que corra sobre múltiples arquitecturas de hardware y plataformas.
  • Que sea compatible con aplicaciones hechas en plataformas anteriores, es decir que corrieran la mayoría de las aplicaciones existentes hechas sobre versiones anteriores a la actual, nos referimos en este caso particular a las de 16-bit de MS-DOS y Microsoft Windows 3.1.
  • Reúna los requisitos gubernamentales para POSIX (Portable Operating System Interface for Unix).
  • Reúna los requisitos de la industria y del gobierno para la seguridad del Sistema Operativo.
  • Sea fácilmente adaptable al mercado global soportando código Unicode.
  • Sea un sistema que corra y balancee los procesos de forma paralela en varios procesadores a la vez.

Linux

    Actualmente Linux es un núcleo monolítico híbrido. Los controladores de dispositivos y las extensiones del núcleo normalmente se ejecutan en un espacio privilegiado conocido como anillo 0(ring 0), 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 núcleo se pueden cargar y descargar fácilmente como módulos, mientras el sistema continúa funcionando sin interrupciones. También, a diferencia de los núcleos monolíticos tradicionales, los controladores pueden ser prevolcados (detenidos momentáneamente por actividades más importantes) bajo ciertas condiciones.

Funciones del Nucleo o Kernel

  • Facilita el acceso al hardware
  • Se encarga de decidir que programa puede hacer uso de un dispositivo y durante cuanto tiempo.
  • Garantiza la carga y la ejecución de los procesos, las entradas/salidas y propone una interfaz entre el espacio núcleo y los programas del espacio del usuario.
  • Asigna recursos para el proceso que lo necesite.
  • El núcleo reside siempre en la memoria principal.
  • Administración de la memoria para todos los programas y procesos en ejecución.
  • Administración del tiempo de procesador que los programas y procesos en ejecución utilizan.

Tipos de sistemas operativos

Por número de usuarios
  • Sistema operativo monousuario: Son aquellos que soportan a un usuario a la vez, sin importar el número de procesadores que tenga el computador o el número de de procesos o tareas que el usuario pueda ejecutar en un mismo instante de tiempo.
  • Sistema operativo multiusuario: Son capaces de dar servicio a la vez, ya sea por medio de varias terminales conectadas al computador o por medio de sesiones remotas en una red de comunicaciones.
Por número de tareas

  • Sistema operativo monotarea: Son aquellos que solo permiten una tarea a la vez por usuario.
  • Sistema operativo multitarea: Es aquel que le permite al usuario estar realizando varias labores al mismo tiempo.
Por número de procesadores

  • Sistema operativo de uniproceso: Es aquel que es capaz de manejar solamente un procesador del computador.
  • Sistema operativo multiproceso: Se refiere al número de procesadores del sistema, que es mas de uno y este es capaz de usarlos todos para distribuir su carga de trabajo.

Sistema Operativo

Un sistema operativo es un software complejo y estructurado, capaz de controlar un computador, e incluso hoy en día se han logrado los avances para que cualquier clase de dispositivo electrónico pueda ser manejado por un sistema operativo.

Funciones:
  • Gestión de tareas
  • Interpretación de comandos
  • Control de recursos
  • Manejo de dispositivos de E/S
  • Manejo de errores
  • Secuencia de tareas
  • Protección
  • Multiacceso
  • Contabilidad de recursos
Caracteristicas:
  • Conveniencia
  • Eficiencia
  • Habilidad para evolucionar
  • Encargado de administrar el hardware
  • Relacionar dispositivos
  • Particionar
  • Manejar las comunicaciones en red
  • Manejo de datos
  • Facilitar entradas y salidas