clases de modalidad

clases de modalidad

jueves, 30 de septiembre de 2010

Comparación de Microsoft Windows y Linux

La comparación de Microsoft Windows y Linux es un tema común de discusión entre sus usuarios. Windows es el sistema operativo más importante bajo una licencia propietaria de software, mientras que Linux es el sistema operativo más importante bajo una licencia libre de software. Sin embargo, la mayoría de los sitios de distribuciones de Linux también disponen de componentes propietarios (tales como los controladores compilados de blob binario, que proveen los fabricantes de hardware para su instalación normal)

Los dos sistemas operativos compiten por el usuario básico en el mercado de las computadoras personales así como el mercado de los servidores, y se utilizan en agencias del gobierno, escuelas, oficinas, hogares, servidores de intranet y de internet, supercomputadoras y sistemas integrados.

Windows domina el mercado de las computadoras personales y de escritorio (90%).

En la cuota de renta de servidor del mercado 4 (en el cuarto trimestre de 2007) Windows logró 36,3% y Linux logró 50,9%.

En noviembre de 2007, Linux era el sistema operativo del 85% de las supercomputadoras más poderosas (comparado con el 1,2% de Windows. En febrero de 2008, cinco de las diez empresas más confiables proveedoras de internet usaban Linux, mientras que sólo dos usaban Windows.

Linux y Windows varían en filosofía, costo, facilidad de uso, flexibilidad y estabilidad, aunque ambas buscan mejorar en sus áreas débiles. Las comparaciones de los dos tienden a reflejar los orígenes, la base histórica del usuario y el modelo de distribución de cada una. Típicamente, algunas áreas mayores de debilidades percibidas regularmente citados han incluido el valor práctico "out-of-box" pobre del escritorio de Linux para el mercado popular y la estabilidad pobre de sistema para Windows. Ambos son áreas del desarrollo rápido en ambos campos.

Los defensores de software libre discuten que la fuerza clave de Linux es que respeta lo que ellos consideran para ser las libertades esenciales de usuarios: la libertad de correrlo, estudiarlo y cambiarlo, y para redistribuir copias con o sin cambios.

ARQUITECTURA DE NUCLEO 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. Esta habilidad fue agregada para gestionar correctamente interrupciones de hardware, y para mejorar el soporte de multiprocesamiento simétrico.

El hecho de que Linux no fuera desarrollado siguiendo el diseño de un micronúcleo (diseño que, en aquella época, era considerado el más apropiado para un núcleo por muchos teóricos informáticos) fue asunto de una famosa y acalorada discusión entre Linus Torvalds y Andrew S. Tanenbaum.

ARQUITECTURA DE WINDOWS

Un Sistema Operativo serio, capaz de competir en el mercado con otros como Unixque ya tienen una posición privilegiada, en cuanto a resultados, debe tener 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 MicrosoftWindows 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.

• Sea un Sistema Operativo de memoria virtual.

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.

EL KERNEL O (NUCLEO) DE LINUX



El kernel o nucleo de Linux se puede definir como el corazon de este sistema operativo. Es el encargado de que el sofware y el hardware del computador puedan trabajar juntos. Las funciones del kernel se simplifican en :

1- Administracion de la memoria, para todos los programas en ejecucion.

2- Administracion del tiempo de procesador, que estos programas en ejecucion utilizan.

3- Acceder a los perifericon/elementos y hardware de entrada y salida de una forma practica y comoda.

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.

miércoles, 29 de septiembre de 2010

Explique el núcleo de Windows 7 (MinWin)

Todos ya estan a la epectativa por el lanzamiento de Windows 7, y todo porque en las betas se ha encontrado un poco mas amigable y fluido que su hermano mayor Vista.

Pero ¿que cambia respecto a su predecersor? el Kernel es el mismo, pues la respuesta es que solamente reoraganizaron el Core, si realmente recortaron llamadas de alto nivel para convertir el nucleo de windows en un sistema escalable el resultado Minwin.

Pero ¿que es Minwin?, para resumir es tomar el nucleo de Windows e ir suprimiendo cosas, hasta dejar solamente lo mas esencial y funcional, (de este modo "desenpaquetando la maleta") los ingenieros de Microsoft se pudieron dar cuenta donde estaban las fallas, que tanto estaban afectando al rendimiento.
Y si "loteria" se dieron cuenta con esta "consolidación" del diseño del nucleo del S.O. que los sistemas de bajo nivel del núcleo de Windows realizaban llamadas a procesos de alto nivel.

Acto seguido y despues del recorte de estas llamadas de alto nivel, se realizo un mapa de dependencias para poder limpiar las llamadas que se realizaban fuera del nucleo.

Se reorganizaron estas llamadas y las API, y al final del dia y con todo este experimento se obtuvo como resultado el Minwin, un sistema operativo que funciona perfectamente, y sin necesidad de librerias de alto nivel.

Este Minwin ocupa de 25 a 40 megas en comparación de los 4GB de vista, y esta compuesto por 100 ficheros, mientras que un windows "normal" necesita alrrededor de 5000 para tabajar.

la diferencia entre “Core” y “kernel”. El kernel o núcleo de Windows 7 es el mismo de siempre, pero el core (el corazón) ha cambiado, se ha reorganizado.Asi que Minwin solo es el nucleo de un kernel reorganizado.Asi que quien lo diria Vista lo unico que necesitaba para trabajar bien era "limpiar su cuarto" y ya.

¿Por qué a la nueva versión de Windows lo va a llamar Windows 7?


Con la gran confusión generada por la empresa de Redmond trajo un gran número de inconformidades de muchos clientes, mismos que notarongrandes diferencias entre todas y cada una de las ediciones de Windows Vista, lo que fue uno más de la gran lista de factores que hicieron de este SO un rotundo fracaso -igual al que tuvo en su época Windows ME (Millenium Edition).

Después de que la primera Beta pública de Windows 7 estuvo -y aún se mantiene- disponible para todo aquel usuario que quiera probarla, se ha especulado mucho sobre las ediciones que Microsoft distribuirá de su nuevo Windows. Muchos auguraron que la empresa que ahora dirige Steve Ballmer habría aprendido de sus errores del pasado (haciendo referencia a Windows Vista) y con ello el número de ediciones disponibles de su nuevo sistema operativo sería considerablemente menor.

Sin embargo, Microsoft acaba de “romper las ilusiones” de millones de usuarios en todo el mundo, dado que dio a conocer las ediciones oficiales de Windows 7 que circularán en el mercado, lamentablemente, las mismas que se usaron para Windows Vista:

Windows 7 Starter (tres aplicaciones simultáneas nada mas)
Windows 7 Home Basic (para mercados emergentes)
Windows 7 Home Premium (añade Aero, funciones Touch, Media Center)
Windows 7 Professional (Escritorio Remoto, Mobility Center, Modo Presentación)
Windows 7 Enterprise (licencia por volumen, cargar de unidad virtual, BitLocker)
Windows 7 Ultimate (disponibilidad limitada, incluye todo)

Explique la nomenclatura del kernel en Linux

El kernel de Linux (Linux) está escrito en C y es código abierto licenciado bajo licencia GNU/GPL (excepto el planificador de recursos, el cual pertenece a Linus Torvalds y al resto de programadores que se han ocupado de dicha parte), con lo cual tenemos acceso al código para su estudio y/o modificación.

La nomenclatura del Kernel se divide en 3 campos separados por un punto (.), estos son:

Primer campo: Número de la versión, actualmente a fecha de este documento es la 2.

Segundo campo: Numero de "sub-versión", por llamarlo de algun modo, es la version dentro de la propia versión, si este numero es par, la versión sera estable, si por el contrario es impar, ésta sera inestable.

Tercer campo: Nivel de corrección el en que se encuentra.

¿Cuál es la vulnerabilidad del núcleo de Windows vista?


Se acaba de descubrir una nueva vulnerabilidad de seguridad en Windows Vista que afecta a la capa de red. Este problema de seguridad en Vista 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).


La razón de esta despreocupación es que no hay un exploit público que permita explotar esta vulnerabilidad. ¿No será mejor prevenir que curar? Luego vendrán las prisas.

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


El software libre (en ingles free software, esta denominación también se confunde a veces con gratis por el doble sentido del ingles free en castellano) 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 freesoftware foundation, el software libre se refiere a la libertad de los usuarios para ejecutar, copiar, distribuir, estudiar, modificar el software y distribuirlo modificado.
El software libre suele estar disponible gratuitamente, o al precio de costo de la distribución a través de otros medios; sin embargo no es obligatorio que sea así, por lo tanto no hay que asociar software libre a "software gratuito" (denominado usualmente feeware), ya que, conservando su carácter de libre, puede ser distribuido comercialmente ("software comercial"). Análogamente, el "software gratis" o "gratuito" incluye en ocasiones el codigo fuente; no obstante, este tipo de software no es libre en el mismo sentido que el software libre, a menos que se garanticen los derechos de modificación y redistribución de dichas versiones modificadas del programa.
Tampoco debe confundirse software libre con "software de dominio publico". Éste último es aquel software que no requiere de licencia, pues sus derechos de explotación son para toda la humanidad, porque pertenece a todos por igual. Cualquiera puede hacer uso de él, siempre con fines legales y consignando su autoría original. Este software sería aquel cuyo autor lo dona a la humanidad o cuyos derechos de autor han expirado, tras un plazo contado desde la muerte de este, habitualmente 70 años. Si un autor condiciona su uso bajo una licencia, por muy débil que sea, ya no es del dominio público.

SISTEMA OPERATIVO

Un Sistema operativo (SO) es un software que actua de interfaz entre los dispositivos de hardware y los programas usados por el usuario para utilizar un computador . Es responsable de gestionar , coordinar las actividades y llevar a cabo el intercambio de los recursos y actua como estacion d para las aplicaciones que se ejecutan en la maquina.

FUNCIONES DEL SISTEMA OPERATIVO

Las funciones mas importantes que debe cumplir un sistema operativo son las siguientes :

Aceptar los trabajos y conservarlos hasta su finalizacion

Detectar errores y actuar de modo apropiado en caso de que se produzcan.

Controlar las operaciones de E/S.

Controlar las interrupciones .

Entregar recursos a las tareas .

Proteger la memoria contra el acceso indebido de los programas .

Soportar el multiacceso.

Proporcionar al usuario un sencillo manejo de todo el sistema.

Aprovechar los tiempos muertos del procesador.

Compartir los recursos de la maquina entre varios procesos al mismo tiempo.

Administrar eficientemente el sistema de computo como un todo armonico.

Controlar el acceso a los recursos de un sistema de computadores .


CARACTERISTICAS DEL SISTEMA OPERATIVO :

En general , se pueden decir que un Sistema Opertativo tiene las siguientes caracteristicas:

Conveniencia : Un Sistema Operativo hace mas conveniente el uso de una computadora .

Eficiencia : Un Sistema Operativo permite que los recursos de la computadora se usen de la manera mas eficiente posible .

Habilidad para evolucionar : Un Sistema Operativo debera construir de manera que permita el desarrollo, prueba o introduccion efectiva de nuevas funciones del sistema sin interferir con el servicio.

◘ Encargado de administrar el hardware: El Sistema Operativo se encarga de menajar de una mejor manera los recursos de la compi¡utadora en cuanto a hardware se refiere, estos es , asignar a cada proceso una parte del procesador para poder compartir los recursos.

◘ Relacionar dispositivos (gestionar a traves del kernel): El Sistema Operativo se debe encargar de comunicar a los dispositivos perifericos, cuando el usuario asi lo requiera.

◘ Orgnizar datos para acceso rapido y seguro

◘ Manejar las comunicaciones en red : El Sistema Operativo permite al usuario manejar con alta facilidad todo lo referente a la instalacion y uso de las redes de ordenadores.

◘ Procesamiento por bytes de flujo a traves del bus de datos.

◘ Facilitar las entradas y salidas: Un Sistema Operativo debe hacerle facil al usuario el acceso y manejo de los dispositivos de Entrada/Salidad de la computadora.

SISTEMA OPERATIVO MULTITAREAS :

Es el modo de funcionamiento disponible en algunos sistemas operativos, mediante el cual una computadora procesa varias tareas al mismo tiempo. Existen varios tipos de multitarea. La conmutacion de contextos ( context Switching ) es un tipo muy simple de multitarea en el que dos o mas aplicaciones se cargan al mismo tiempo, pero en el que solo se esta procesando la aplicacion que se encuentra en primer plano ( la que ve el usuario). Para activar otra tarea que se encuentre en segundo plano, el usuario debe traer al primer plano la ventana o pantalla que contenga esa aplicacion. En la multitarea COOPERATIVA , la que se utuliza en el sistema operativo Macintosh, las tareas en segundo plano reciben tiempo de proceso durante los tiempos muertos de la tarea que se encuentra en primer plano (por ejemplo , cuando esta aplicacion esta oprando infoormacion del usuario), y siempre que esta aplicacion lo permita. En los sistemas multitarea de tiempo compartido, como OS/2, cada tarea recibe la atencion del MICROPROCESADOR durante una fraccion de segundo. Para mantener el sistema en orden, cada tarea recibe un nivel de prioridad ose procesa en orden secuencial. Dado que el sistema temporal del usuario es mucho mas lento que la velocidad de procesamieno del ordenador, las operaciones de multitarea en tiempo compartido parecen ser simultaneas.

SISTEMA OPERATIVO MONOTAREAS :

Los sistemas operativos monotareas son mas primitivos y es todo lo contrario al visto anteriormente, es decir, solo pueden manejar un proceso en cada momento o que solo puede ejecutar las tareas de una en una. Por ejemplo cuando la computadora esta imprimiendo un documento, no puede iniciar otro proceso ni responder a nuevas instrucciones hasta que se termine la impresion .

SISTEMA OPERATIVO MONOUSUARIO:

Los sistemas monousuarios son aquellos que nada mas puede atender a un solo usuarion, gracias a las limitaciones creadas por el hardware, programas o el tipo de aplicacion que se este ejecutando.
Estos tipos de sistemas son muy simples, porque todos los dispositivos de entrada, salidad y control dependen de la tarea que se esta utilizando, esto quiere decir, que las instrucciones que se dan, son procesados de inmediato ; ya que existe un solo usuario. Y estan orientandos principalmente por los microcomputadores.

SISTEMA OPERATIVO MULTIUSUARIO:

Es todo lo contrario a monousuario; y en esta categoria se encuentran todos los sistemas que cumplen simultaneamente las necesidades de dos o mas usuarios, que comparten mismos recursos. Este tipo de sistemas se emplean especialmete en redes.
En otras palabras en el funcionamiento del tiempo (timesharing) .

martes, 28 de septiembre de 2010

Explique por que LINUX es llamado GNU/Linux


Cuando uno dice LINUX cualquiera sabe de que esta hablando, en cambio cuando ven por ahi "GNU/Linux" ya es un poco mas confuso. Mi idea en este post es simplemente dar mas difusion a las palabras de Richard stallman quien lleva bastante tiempo pidiendo que rifieran al sistema operativo del pinguino como "GNU/Linux" y no simplemente "Linux" ¿por que? por que si no la gente se olvida, o mejor dicho, nunca se entera, de que exista algo importante llamado el proyecto GNU, que fue lo que realmente dio inicio a eso que hoy conocemos como Linux.


El sistema que hoy usamos no es otra cosa que la union del trabajo de GNU y el nucleo creado (de manera independiente al proyecto) por linus torvals llamado Linux. Sim embargo, por cuentiones de la historia, se fue imponiendo la idea de que Linux es el todo un sistema y esto molesta naturalmente a stallman y con razon.

¿Cuál es la diferencia entre GNU Hurd y GNU Mach?

GNU Hurd:

Es un conjunto de programas servidores que simulan un nucleo unix que establece la base del sistema operativo GNU. El proyecto GNU lo ha estado desarrollando desde 1990 como software libre, distribuyendolo bajo la licencia GPL.


GNU Mach:

Es el micronucleo oficial del proyecto GNU, como cualquier otro nucleo, su funcion principal es realizar labores minimas de administracion sobre el hadware para que el grueso del sistema operativo sea operado desde el espacio del usuario.


GNU/Hurd es el sistema operativo de GNU para reemplazo del nucleo de UNIX y utiliza un microkernel llamado GNU/Mach, el cual, es el microkernel ofical del proyecto GNU.