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

FUNCIONES DEL NÚCLEO O KERNEL...



El kernel o núcleo de Linux se puede definir como el corazón de este sistema operativo. Es el encargado de que el software y el hardware del computador puedan trabajen juntos. Las funciones del Kernel se simplifican en:


Administración de la memoria, para todos los programas en ejecución.
Administración del tiempo de procesador, que estos programas en ejecución utilizan.


Acceder a los periféricos/elementos y hardware de entrada y salida de una forma practica y cómoda.


El usuario de Linux puede adaptar el Kernel a sus necesidades configurando y compilando un nuevo Kernel o simplemente parchando y compilando el Kernel existente.

TIPOS DE SISTEMAS OPERATIVOS...



Existen varios tipos de sistemas operativos, definidos según su capacidad para administrar simultáneamente información de 16 bits, 32 bits, 64 bits o más.


Los sistemas operativos más conocidos son los siguientes:

1) DOS: El famoso DOS, que quiere decir Disk Operating System (sistema operativo de disco), es más conocido por los nombres de PC-DOS y MS-DOS. MS-DOS fue hecho por la compañía de software Microsoft y es en esencia el mismo SO que el PC-DOS.

La razón de su continua popularidad se debe al aplastante volumen de software disponible y a la base instalada de computadoras con procesador Intel.


Cuando Intel liberó el 80286, DOS se hizo tan popular y firme en el mercado que DOS y las aplicaciones DOS representaron la mayoría del mercado de software para PC. En aquel tiempo, la compatibilidad IBM, fue una necesidad para que los productos tuvieran éxito, y la "compatibilidad IBM" significaba computadoras que corrieran DOS tan bien como las computadoras IBM lo hacían.

Aún con los nuevos sistemas operativos que han salido al mercado, todavía el DOS es un sólido contendiente en la guerra de los SO.

2) Windows 3.1: Microsoft tomo una decisión, hacer un sistema operativo que tuviera una interfaz gráfica amigable para el usuario, y como resultado obtuvo Windows. Este sistema muestra íconos en la pantalla que representan diferentes archivos o programas, a los cuales se puede accesar al darles doble click con el puntero del mouse. Todas las aplicaciones elaboradas para Windows se parecen, por lo que es muy fácil aprender a usar nuevo software una vez aprendido las bases.

3) Windows 95: En 1995, Microsoft introdujo una nueva y mejorada versión del Windows 3.1. Las mejoras de este SO incluyen soporte multitareas y arquitectura de 32 bits, permitiendo así correr mejores aplicaciónes para mejorar la eficacia del trabajo.


4) Windows NT: Esta versión de Windows se especializa en las redes y servidores. Con este SO se puede interactuar de forma eficaz entre dos o más computadoras.


5) OS/2: Este SO fue hecho por IBM. Tiene soporte de 32 bits y su interfaz es muy buena. El problema que presenta este sistema operativo es que no se le ha dad el apoyo que se merece en cuanto a aplicaciones se refiere. Es decir, no se han creado muchas aplicaciones que aprovechen las características de el SO, ya que la mayoría del mercado de software ha sido monopolizado por Windows.

6) Mac OS: Las computadoras Macintosh no serían tan populares como lo son si no tuvieran el Mac OS como sistema operativo de planta. Este sistema operativo es tan amigable para el usuario que cualquier persona puede aprender a usarlo en muy poco tiempo. Por otro lado, es muy bueno para organizar archivos y usarlos de manera eficaz. Este fue creado por Apple Computer, Inc.

7) UNIX: El sistema operativo UNIX fue creado por los laboratorios Bell de AT&T en 1969 y es ahora usado como una de las bases para la supercarretera de la información. Unix es un SO multiusuario y multitarea, que corre en diferentes computadoras, desde supercomputadoras, Mainframes, Minicomputadoras, computadoras personales y estaciones de trabajo. Esto quiere decir que muchos usuarios puede estar usando una misma computadora por medio de terminales o usar muchas de ellas.

CARACTERÍSTICAS DEL SISTEMA OPERATIVO...

· Conveniencia: Un Sistema Operativo hace más conveniente el uso de una computadora.

· Eficiencia:
Un Sistema Operativo permite que los recursos de la computadora se usen de la manera más eficiente posible.

· Habilidad para evolucionar: Un Sistema Operativo deberá construirse de manera que permita el desarrollo, prueba o introducción efectiva de nuevas funciones del sistema sin interferir con el servicio.

· Encargado de administrar el hardware: El Sistema Operativo se encarga de manejar de una mejor manera los recursos de la computadora en cuanto a hardware se refiere, esto es, asignar a cada proceso una parte del procesador para poder compartir los recursos.

· Relacionar dispositivos (gestionar a través del kernel): El Sistema Operativo se debe encargar de comunicar a los dispositivos periféricos, cuando el usuario así lo requiera.

· Organizar datos para acceso rápido y seguro.

· Manejar las comunicaciones en red: El Sistema Operativo permite al usuario manejar con alta facilidad todo lo referente a la instalación y uso de las redes de computadoras.

· Procesamiento por bytes de flujo a través del bus de datos.

· Facilitar las entradas y salidas: Un Sistema Operativo debe hacerle fácil al usuario el acceso y manejo de los dispositivos de Entrada/Salida de la computadora.

FUNCIONES DE UN SISTEMA OPERATIVO...

FUNCIONES DEL SISTEMA OPERATIVO





El sistema operativo cumple varias funciones:

Administración del procesador: el sistema operativo administra la distribución del procesador entre los distintos programas por medio de un algoritmo de programación. El tipo de programador depende completamente del sistema operativo, según el objetivo deseado.

Gestión de la memoria de acceso aleatorio: el sistema operativo se encarga de gestionar el espacio de memoria asignado para cada aplicación y para cada usuario, si resulta pertinente. Cuando la memoria física es insuficiente, el sistema operativo puede crear una zona de memoria en el disco duro, denominada "memoria virtual". La memoria virtual permite ejecutar aplicaciones que requieren una memoria superior a la memoria RAM disponible en el sistema. Sin embargo, esta memoria es mucho más lenta.

Gestión de entradas/salidas: el sistema operativo permite unificar y controlar el acceso de los programas a los recursos materiales a través de los drivers (también conocidos como administradores periféricos o de entrada/salida).

Gestión de ejecución de aplicaciones: el sistema operativo se encarga de que las aplicaciones se ejecuten sin problemas asignándoles los recursos que éstas necesitan para funcionar. Esto significa que si una aplicación no responde correctamente puede "sucumbir".

Administración de autorizaciones: el sistema operativo se encarga de la seguridad en relación con la ejecución de programas garantizando que los recursos sean utilizados sólo por programas y usuarios que posean las autorizaciones correspondientes.
Gestión de archivos: el sistema operativo gestiona la lectura y escritura en el sistema de archivos, y las autorizaciones de acceso a archivos de aplicaciones y usuarios.
Gestión de la información: el sistema operativo proporciona cierta cantidad de indicadores que pueden utilizarse para diagnosticar el funcionamiento correcto del equipo.

SISTEMA OPERATIVO...

SISTEMA OPERATIVO







Es el Software básico que controla una computadora. Es una capa intermedia entre el ordenador y el usuario. Se podría considerar como un programa (normalmente de gran tamaño) que toma el control del ordenador y que nos proporciona las utilidades básicas.