miércoles, 10 de marzo de 2010

que es windows 7

Windows 7

es la versión más reciente de Microsoft Windows, un sistema operativo producido por Microsoft para uso en PC, incluyendo equipos de escritorio en hogares y oficinas, equipos portátiles, "tablet PC", "netbooks" y equipos "media center". El desarrollo de Windows 7 se completó el 22 de julio de 2009, siendo entonces confirmada su fecha de venta oficial para el 22 de octubre de 2009 junto a su equivalente para servidores Windows Server 2008 R2
A diferencia del gran salto arquitectónico y de características que sufrió su antecesor Windows Vista con respecto a Windows XP, Windows 7 fue concebido como una actualización incremental y focalizada de Vista y su núcleo NT 6.0, lo que permitió el mantener cierto grado de compatibilidad con aplicaciones y hardware en los que éste ya era compatible. Sin embargo, entre las metas de desarrollo para Windows 7 se dio importancia en mejorar su interfaz para volverla más accesible al usuario e incluir nuevas características que permitieran hacer tareas de una manera más fácil y rápida, al mismo tiempo en que se realizarían esfuerzos para lograr un sistema más ligero, estable y rápido.
Diversas presentaciones dadas por la compañía en el 2008 se enfocaron en demostrar capacidades multitáctiles, una interfaz rediseñada junto con una nueva barra de tareas y un sistema de redes domésticas fácil de usar denominado Grupo en el Hogar,además de grandes mejoras en el rendimiento general del equipo.

Desarrollo

Artículo principal: Desarrollo de Windows 7
El desarrollo de este sistema operativo comenzó inmediatamente después del lanzamiento de Windows Vista. El 20 de julio de 2007, se reveló que ese sistema operativo era llamado internamente por Microsoft como la versión "7". Hasta ese momento, la compañía había declarado que Windows 7 tendría soporte para plataformas de 32 bits y 64 bits,[7] aunque la versión para servidores que comparte su mismo núcleo (Windows Server 2008 R2, que sucedería a Windows Server 2008) sería exclusivamente de 64 bits.[8]
El 13 de octubre de 2008 fue anunciado que "Windows 7" además de haber sido uno de los tantos nombres código, sería el nombre oficial de este nuevo sistema operativo. Mike Nash dijo que esto se debía a que con Windows 7 se "apunta a la simplicidad, y el nombre debía reflejarlo".
Ya para el 7 de enero de 2009, la versión beta se publicó para suscriptores de Technet y MSDN. El 9 de enero, se habilitó brevemente al público general mediante descarga directa en la página oficial, pero hubo problemas con los servidores que obligaron a retirar la posibilidad de descarga hasta horas más tarde después de solventar el problema añadiendo más servidores. Por esos percances, Microsoft cambió el límite de descargas inicial de 2,5 millones de personas como disculpa por el problema del retraso, y creó un nuevo límite que no sería numérico sino por fecha, hasta el 10 de febrero del 2009.
El 5 de mayo se liberó la versión Release Candidate en 5 idiomas, entre ellos el español. Estuvo disponible para descarga hasta el 20 de agosto de 2009.
El 2 de junio Microsoft anunció que la salida mundial de Windows 7 tendría lugar el 22 de octubre.[9]
El 24 de julio, los directivos de Microsoft, Steve Ballmer y Steven Sinofsky anunciaron la finalización del proceso de desarrollo con la compilación de la versión RTM, destinada a la distribución de Windows.[10]
Otro asunto presente en el desarrollo de este sistema, y gracias a los comentarios de los usuarios, fue el minimizar la intrusión habilitando la personalización del Control de Cuentas de Usuario, ya que éste fue considerado como molesto en Windows Vista debido a sus constantes alertas en simples acciones como las de mantenimiento que invocaban funciones propias del sistema operativo.11
En una carta escrita por el vicepresidente de negocios para Windows de Microsoft Corporation, William Veghte, se mencionan apartes sobre la visión que se tuvo para Windows 7:
Hemos aprendido mucho a través de los comentarios que ustedes han compartido con nosotros acerca de Windows Vista, y esa retroalimentación juega un papel importante en nuestro trabajo para Windows 7. Nos han dicho que desean una programación más estructurada y predecible para la liberación de Windows... ...nuestro enfoque hacia Windows 7 es basarnos en la misma arquitectura de fondo de Windows Vista Service Pack 1, de manera que las inversiones que ustedes y nuestros socios han realizado en Windows Vista continúen redituando con Windows 7. Nuestro objetivo es asegurar que el proceso de migración de Windows Vista a Windows 7 sea transparente.


Windows 7 incluye numerosas actualizaciones, entre las que se encuentran avances en reconocimiento de voz, táctil y escritura, soporte para discos virtuales, mejor desempeño en procesadores multi-núcleo, mejor arranque y mejoras en el núcleo. Al inicio tiene cuatro puntos de los colores de Windows (Rojo, Azul, Verde y Amarillo) giran en el centro de la pantalla para formar el logo de Windows y dice "Iniciando Windows"
Windows Explorer [editar]
Bibliotecas: Las "Bibliotecas" son carpetas virtuales que agregan el contenido de varias carpetas y las muestran en una sola. Por ejemplo, las carpetas agregadas en la librería "Vídeos" por defecto son: "Vídeos Personales" (antes "Mis Vídeos") y "Vídeos Públicos" aunque se pueden agregar más manualmente. Sirven para clasificar los diferentes tipos de archivos (Documentos, Música, Vídeos, Fotos).
Barra de tareas [editar]
La barra de tareas fue rediseñada haciéndola más ancha y los botones de las ventanas ya no traen texto, sino únicamente el icono de la aplicación. Estos cambios se hacen para mejorar el desempeño en sistemas de pantalla táctil. Los íconos se han integrado con el inicio rápido, y ahora las ventanas abiertas se muestran agrupadas en ese único icono con un borde indicando que están abiertas. Los accesos directos sin abrir no tienen un borde.
Aero Peek: Las previsualizaciones incluidas desde Windows Vista se han mejorado pasando a ser más interactivas y útiles. Cuando se posa el mouse sobre una aplicación abierta éste muestra una previsualización de la ventana donde muestra el nombre, la previsualización y la opción de cerrarla, además, si se pone el ratón sobre la previsualización, se obtiene una mirada a pantalla completa y al quitarlo se regresa al punto anterior. Además se incorporó esta misma característica a Windows Flip.
Jump List: Haciendo clic derecho a cualquier aplicación de la barra de tareas aparece una "Jump List" (Lista de saltos) en donde se pueden hacer tareas sencillas de acuerdo a la aplicación, por ejemplo, abrir documentos recientes de Office, abrir pestañas recientes de Internet Explorer, escoger listas de reproducción en el Media Player, cambiar el estado en Windows Live Messenger, etc.
Barra Mostrar Escritorio: Esta nueva barra trae un pequeño rectángulo en la esquina derecha que reemplaza el icono en inicio rápido de versiones anteriores. Este nuevo "rectángulo" permite que al poner el puntero sobre él, haga que las ventanas se pongan 100% transparentes, esto sirve para poder ver el escritorio de manera rápida, ver gadgets u otras cosas, o también simplemente se le puede dar clic y minimizar todas las ventanas.
Multimedia [editar]
Windows 7 incluye consigo Windows Media Center y Windows Media Player 12.
Interfaz [editar]
El equipo de desarrollo de la interfaz Ribbon de Microsoft Office 2007 formó parte activa en el rediseño de algunos programas y características de Windows 7, incluyendo dicha interfaz en las herramientas Paint y Wordpad.
La barra lateral de Windows o más conocida como Windows Sidebar se ha eliminado y ahora los gadgets pueden ubicarse libremente en cualquier lugar del escritorio, ya sea en lado derecho, izquierdo, arriba o abajo.
Aero Shake Cuando se tiene varias ventanas abiertas, al seleccionar una y agitarla, las otras ventanas abiertas se minimizan. Al repetir esta acción, las ventanas vuelven a su ubicación anterior.
Multitáctil [editar]
El 27 de mayo de 2008, Steve Ballmer y Bill Gates en la conferencia "D6: All Things Digital" dieron a conocer la nueva interfaz multitáctil llamándola "sólo una pequeña parte" de lo que vendrá con Windows 7. Más tarde Julie Larson Green, vicepresidente corporativa, mostró posibles usos, como hacer dibujos en Paint, agrandar o reducir fotos y recorrer un mapa en Internet, arrastrar y abrir elementos, simplemente con toques en la pantalla.
"Hoy en día la mayoría de los ordenadores son usados gracias a la interacción mouse-teclado", dijo Bill Gates, presidente de Microsoft. "En los próximos años, el papel de la voz, la visión, la tinta -todos ellos- será enorme", afirmó.
Modo XP [editar]
Véase también: Windows Virtual PC
Windows 7 permite integrarse con la nueva versión Windows Virtual PC, que permite ejecutar un equipo virtual Windows XP en forma transparente para el usuario (la aplicación dentro de la máquina virtualizada se ve como otra opción en el menú de Windows 7 y su ejecución es directa, sin pasar por el menú de inicio del XP virtualizado). Si bien Microsoft ya había liberado MED-V dentro de su paquete MDOP que cumple la misma función en entornos Hyper-V, esta es una solución orientada a usuarios avanzados y pequeñas empresas que no necesitan de herramientas para administración centralizada. La funcionalidad se debe descargar de forma independiente en el sitio web de Microsoft Virtual PC, aunque requiere de una licencia válida de las ediciones Professional, Ultimate y Enterprise de Windows 7. Asimismo, el "modo XP" requiere de procesadores con capacidad de virtualización por hardware, a diferencia del anteriore Virtual PC 2007 o Virtual PC 2008.
Compatibilidad [editar]
Las versiones cliente de Windows 7 serán lanzadas en versiones para arquitectura 32 bits y 64 bits en las ediciones Home Basic, Home Premium, Professional y Ultimate. No obstante, las versiones servidor de este producto serán lanzadas exclusivamente para arquitectura 64 bits.
Esto significa que, las versiones cliente de 32 bits aún soportarán programas Windows 16 bits y MS-DOS. Y las versiones 64 bits (incluyendo todas las versiones de servidor), soportarán tanto programas de 32 como de 64 bits.
Otras características [editar]
Microsoft ha decidido no incluir los programas Windows Mail, Windows Movie Maker y Windows Photo Gallery en Windows 7, poniéndolos a disposición a modo de descarga en el conocido paquete de servicios en red, Windows Live Essentials.[13] Esto se ha decidido para facilitar las actualizaciones de estos programas, aligerar el sistema operativo, dejar escoger al usuario las aplicaciones que quiere tener en su equipo y evitar futuras demandas por monopolio.
Ediciones [editar]
Artículo principal: Ediciones de Windows 7
Existen seis ediciones de Windows 7, construidas una sobre otra de manera incremental, aunque solamente se centrarán en comercializar tres de ellas para el común de los usuarios: las ediciones Home Premium, Professional y Ultimate. A estas tres, se suman las versiones Home Basic y Starter, además de la versión Enterprise, que está destinada a grupos empresariales que cuenten con licenciamiento "Open" o "Select" de Microsoft.
Starter: Es la versión de Windows 7 con menos funcionalidades de todas. Posee una versión incompleta de la interfaz Aero que no incluye los efectos de transparencia Glass, Flip 3D o las vistas previas de las ventanas en la barra de inicio. Está dirigida a PC de hardware limitado —como netbooks—, siendo licenciada únicamente para integradores y fabricantes OEM. Incluye una serie restricciones en opciones de personalización, además de ser la única edición de Windows 7 sin disponibilidad de versión para hardware de 64 bits.
Home Basic: Versión con más funciones de conectividad y personalización, aunque su interfaz seguirá siendo incompleta como en la edición Starter. Sólo estará disponible para integradores y fabricantes OEM en países subdesarrollados y mercados emergentes.
Home Premium: Además de lo anterior, se incluye Windows Media Center, el tema Aero completo y soporte para múltiples códecs de formatos de archivos multimedia. Disponible en canales de venta minoristas como librerías, tiendas y almacenes de cadena.
Professional: Equivalente a Vista "Business", pero ahora incluirá todas las funciones de la versión Home Premium más "Protección de datos" con "Copia de seguridad avanzada", red administrada con soporte para dominios, impresión en red localizada mediante Location Aware Printing y cifrado de archivos. También disponible en canales de venta al público.
Enterprise: Añade sobre la edición Professional de Windows 7, características de seguridad y protección de datos como BitLocker en discos duros externos e internos, Applocker, Direct Access, BranchCache, soporte a imágenes virtualizadas de discos duros (en formato VHD) y el paquete de opción multilenguaje. Únicamente se vende por volumen bajo contrato empresarial Microsoft software Assurance. También es la única que da derecho a la suscripción del paquete de optimización de escritorio MDOP.
Ultimate: Esta edición es igual a la versión Enterprise pero sin las restricciones de licenciamiento por volumen, permitiéndose su compra en canales de venta al público general, aunque Microsoft ha declarado que en lugar de publicitarse en medios comunes, será ofrecida en promociones ocasionales de fabricantes y vendedores.
Requisitos de hardware [editar]
A finales de abril del 2009 Microsoft dio a conocer los requerimientos finales de Windows 7.
Requisitos de hardware mínimos recomendados para Windows 7[14]
Arquitectura
32 bits
64 bits
Procesador
1 GHz
Memoria RAM
1 GB de RAM
2 GB de RAM
Tarjeta gráfica
Dispositivo de gráficos DirectX 9 con soporte de controladores WDDM 1.0 (para Windows Aero)
Disco duro
16 GB de espacio libre
20 GB de espacio libre
Unidad óptica
DVD-R/RW
Opcionalmente, se requiere un monitor táctil para poder acceder a las características "multitáctiles" nuevas en este sistema.
Críticas [editar]
Inicialmente la versión Beta (compilación 7000) tenía un problema que corrompía los ficheros MP3 al ser consultados y editados por Windows Media Player, el Explorador de Windows, Windows Media Center, o cualquier componente del Sistema Operativo que intente modificar la información proveniente de metadatos en el fichero MP3 como el autor, el año, el álbum al que pertenece, etc. Este error del sistema provoca que el fichero afectado pierda de forma irrecuperable los primeros segundos del mismo. Microsoft publicó una actualización que arregla el problema en la Beta (compilación 7000) de Windows 7,[15] además de corregirlo definitivamente en todas las siguientes compilaciones posteriores como la "Release Candidate" (compilación 7100) y la versión final.
Campaña "Windows 7 Sins" [editar]
En agosto de 2009, la organización Free Software Foundation (Fundación para el Software Libre) lanzó una campaña informativa denominada en inglés "Windows 7 Sins" (juego de palabras que en español tendría el doble sentido de "Los 7 pecados de Windows" o "Windows 7 peca") acerca de cómo este nuevo sistema operativo de Microsoft da un posible nuevo paso para el control sobre los derechos de los usuarios,[16] además de enviar cartas por correspondencia con destino a 499 compañías que se encontraban en el 2009 en el listado Fortune 500 a manera de protesta pública.

jueves, 17 de diciembre de 2009

Video sobre redes

Video sobre redes
Enviado por 1. Introducción
La transmisión de vídeo sobre redes de telecomunicaciones está llegando al punto de convertirse en un sistema habitual de comunicación debido al crecimiento masivo que ha supuesto Internet en estos últimos años. Lo estamos utilizando para ver películas o comunicarnos con conocidos, pero también se usa para dar clases remotas, para hacer diagnósticos en medicina, videoconferencia, distribución de TV, vídeo bajo demanda, para distribuir multimedia en Internet... Debido a la necesidad de su uso que se plantea en el presente y futuro, se han proporcionado distintas soluciones y sucesivos formatos para mejorar su transmisión.Pero hoy, ya hemos oído hablar negativamente de los sistemas actuales de distribución de vídeo debido a su dudosa calidad en redes como Internet.Estas aplicaciones normalmente demandan un elevado ancho de banda y a menudo crean cuellos de botella en las redes. Este es el gran problema al que esta sometida la transmisión de vídeo. ¿Por qué es el vídeo tan problemático?
¿Qué es el vídeo?El vídeo no es nada más que la reproducción en forma secuencial de imágenes, que al verse con una determinada velocidad y continuidad dan la sensación al ojo humano de apreciar el movimiento natural. Junto con la imagen, el otro componente es el sonido.
2. Transmisión de vídeo: vídeo digital.
La transmisión digital y la distribución de información audiovisual permite la comunicación multimedia sobre las redes que soportan la comunicación de datos, brindando la posibilidad de enviar imágenes en movimiento a lugares remotos. Pero no es todo tan bonito a la hora de transmitirlo por red, debido a que nos encontramos con sucesos como lentitud entre la reproducción de imágenes, errores de transmisión, o perdidas de datos...Existen dos formas de transmisión de datos, analógico y digital. Una de las características del vídeo es que está compuesto por señales analógicas, con lo que se pueden dar las dos formas de transmisión. En los últimos años la transmisión de datos se ha volcado hacia el mundo digital ya que supone una serie de ventajas frente a la transmisión analógica. Al verse la información reducida a un flujo de bits, se consigue una mayor protección contra posibles fallos ya que se pueden introducir mecanismos de detección de errores, se elimina el problema de las interferencias, podemos disminuir el efecto del ruido en los canales de comunicación, conseguir codificaciones más óptimas y encriptado, mezclar con otros tipos de información a través de un mismo canal, y poder manipular los datos con ordenadores para comprimirlos, por ejemplo.Además si queremos difundir el vídeo por vías digitales tendremos que digitalizarlo, con lo que debe ser capturado en su formato analógico y almacenado digitalmente logrando así que sea menos propenso a degradarse durante la transmisión.Existen dos tipos de redes de comunicación, de conmutación de circuitos y de conmutación de paquetes. En la conmutación de circuitos, donde la comunicación está permanentemente establecida durante toda la sesión, un determinado ancho de banda es asignado para la conexión, y el tiempo de descarga del vídeo puede predecirse, pero tienen la desventaja de que las sesiones son punto a punto y limitan la capacidad de usuarios.En la conmutación de paquetes pueden acomodarse más fácilmente las conferencias multipunto. Aquí el ancho de banda esta compartido pero es variable, lo que supone una importante mejora puesto que, si el bit rate (o número de bits por segundo) es fijo la calidad de la imagen variará dependiendo del contenido de los fotogramas. Debe de cumplirse que el ancho de banda, la resolución, y la compresión de audio sean idénticos para cada cliente que recibe el vídeo, lo que dificulta la configuración del sistema.El vídeo es muy sensible al retardo de la red, ya que puede provocar cortes en las secuencias. La pérdida de alguna información en el vídeo sin comprimir no es muy relevante, ya que al perderse un fotograma, el siguiente fotograma proporciona la suficiente información para poder interpretar la secuencia. En cambio el vídeo comprimido es mucho más sensible a errores de transmisión, ya que las técnicas de compresión que se valen de la redundancia espacial y temporal pueden perder la información de esta redundancia y los efectos de la falta de datos pueden propagarse en los próximos fotogramas. Es por eso que actualmente la comunicación con vídeo vía Internet no prometen una elevada fiabilidad de transmisión.Algunas técnicas de compresión compensan esta sensibilidad a la pérdida de datos enviando la información completa sobre un fotograma cada cierto tiempo, incluso si los datos del fotograma no han cambiado. Esta técnica también es útil para los sistemas de múltiples clientes, para que los usuarios que acaban de conectarse, reciban las imágenes completas.Nos podemos preguntar cuál es la tecnología de red adecuada para las aplicaciones de vídeo, pero siempre dependeremos del entorno en el que trabajemos. Por ejemplo si disponemos de una alto ancho de banda el tipo de red adecuada seria ATM; para un entorno de red de área local podríamos usar Fast Ethernet, y actualmente para que el usuario de Internet, ADSL. Pero la solución para resolver el cuello de botella del ancho de banda del vídeo no está en un solo tipo de red, sino en una infraestructura de red flexible que pueda manejar e integrar diferentes redes y que deje paso también a futuras redes sin cambiar el hardware. También debe ser capaz de negociar las variables de ancho de banda, resolución, número de fotogramas por segundo y algoritmo de compresión de audio. Así que se necesita un nodo que permita la interconectividad entre todas las redes. Es el MCU (unidad de control multipunto). Cada red- RDSI, IP, ASTM- usa protocolos específicos que definen la naturaleza de las ráfagas de vídeo. Las combinaciones de protocolos y estándares son muchas: para vídeo H.261 o H.263, CIF o QCIF, de 7.5 fps a 30 fps; y para audio G.711, G.728, G.722 o G.723. Por ejemplo en una conferencia múltiple el número de posibles combinaciones de estándares y protocolos es muy elevado y puede saturar el MCU. Muchos MCU no son capaces de negociar todas estas variables, forzando a los terminales de los clientes a reducir sus protocolos al más bajo común denominador de todos los participantes, bajando así la calidad del vídeo.

DigitalizaciónLa información a digitalizar será la de las imágenes. Cada cuadro de la imagen es muestreado en unidades de pixeles, con lo que los datos a almacenar serán los correspondientes al color de cada pixel.Tres componentes son necesarias y suficientes para representar el color y para ser interpretado por el ojo humano. El sistema de codificación de color usado es el RGB (Red, Green, Blue). Para digitalizar una señal de vídeo analógico es necesario muestrear todas la líneas de vídeo activo. La información de brillo y color son tratadas de forma diferente por el sistema visual humano, ya que es más sensible al brillo que al color. Con lo que se usa un componente especial para representar la información del brillo, la luminancia, una para el color y la saturación, la crominancia. Cada muestra de color se codifica en señal Y-U-V (Y- luminancia, U y V crominancia) partiendo de los valores del sistema RGB. Con este sistema las diferencias de color pueden ser muestreadas sin resultados visibles, lo que permite que la misma información sea codificada con menos ancho de banda.Un ejemplo de conversión de señal analógica de televisión en color a una señal en vídeo digital sería:Sistema PAL : 576 líneas activas, 25 fotogramas por segundo, para obtener 720 pixels y 8 bit por muestra a 13,5Mhz:
Luminancia(Y): 720x576x25x8 = 82.944.000 bits por segundo
Crominancia(U): 360x576x25x8 = 41.472.000 bits por segundo
Crominancia(V): 360x576x25x8 = 41.472.000 bits por segundo
Número total de bits: 165.888.000 bits por segundo (aprox. 166Mbits/sg). Ninguno de los sistemas comunes de transmisión de vídeo proporcionan transferencias suficientes para este caudal de información Las imágenes de vídeo están compuestas de información en el dominio del espacio y el tiempo. La información en el dominiodel espacio es provista por los pixels, y la información en el dominio del tiempo es provista por imágenes que cambian en el tiempo. Puesto que los cambios entre cuadros colindantes son diminutos, los objetos aparentan moverse suavemente. El valor de luminancia de cada pixel es cuantificado con ocho bits para el caso de imágenes blanco y negro. En el caso de imágenes de color, cada pixel mantiene la información de color asociada; una imagen completa es una composición de tres fotogramas, uno para cada componente de color, así los tres elementos de la información de luminancia designados como rojo, verde y azul, son cuantificados a ocho bits.Pero la transmisión digital de vídeo tiene también alguna desventaja respecto a la analógica, por ejemplo, en una videoconferencia, cuando distintos usuarios envían sonido al mismo tiempo, si el proceso fuera analógico las distintas ondas se sumarían y podríamos escuchar el conjuntos de todas ellas. Al ser digital, los datos llegan en paquetes entremezclados, lo que dificulta la compresión.
Tipos comprimido/descomprimidoComo hemos dicho para cada punto de la imagen se le asigna un determinado número de bits que representarán el color de dicho punto. Si la imagen es en blanco y negro, bastará un bit para representarlo, mientras que para 256 colores serán necesarios 8 bits. De esta forma tendremos la imagen digitalizada, pero almacenar esta información dependerá del número de pixels que utilicemos por imagen. Por ejemplo una imagen de 640 x 480 puntos con 256 colores ocupan 300 Kb, y si tenemos una secuencia de vídeo a 25 fotogramas por segundo significaría que un solo segundo ocuparía 7.500 Kb. Y todo esto sin contar el audio.La información de vídeo compuesta de esta manera posee una cantidad tremenda de información; por lo que, para transmisión o almacenamiento, se requiere de la compresión de la imagen.La compresión del vídeo generalmente implica una pérdida de información y una consecuente disminución de calidad. Pero esto es aceptable porque los algoritmos de codificación están diseñados para descartar la información redundante o que no es perceptible por el ojo humano. Aunque sabemos que la calidad del vídeo es inversamente proporcional al factor de compresión.La compresión es un arma de doble filo, ya que el vídeo comprimido es más sensible a los errores. Un error en vídeo comprimido puede hacer ilegible la imagen, con lo que se añade redundancia para recuperar esa información.El vídeo comprimido en general debe transmitir información por un canal más pequeño del que necesitaría para ser transmitido y poder ser visualizado en tiempo real. Así la información de audio y vídeo deben ser procesadas por los codecs antes de ser transmitidos. Los codecs derivan de las palabras compresor y descompresor, y son los módulos de software que permiten la compresión y descompresión de los ficheros de audio y vídeo para que puedan ser transmitidos por redes de baja velocidad.La digitalización y la compresión pueden darse conjuntamente y en tiempo real para facilitar la comunicación y la interacción.Los codecs más utilizados son los siguientes: Microsoft Video1, Microsoft RLE, Intel Indeo R2, Intel Indeo R3, Intel YUV9, CinePak, Captain Crinch, Creative Compressor.Las señales recibidas deben ser decodificadas antes de poder ser visualizadas por el usuario. Durante este proceso se puede producir:- lo que se llama "vídeo fantasma" o suavización de imagen, que es la forma con la que los codecs compensan los elevados flujos de información. Cuando ocurre esto, el codec comprime la información reduciendo el "frame rate" (número de imágenes por segundo), el cual puede hacer que los movimientos rápidos parezcan borrosos. El codec también modifica la resolución para comprimir la información lo cual puede hacer que la imagen se vea desplazada. Entonces, para reducir estos efectos, se disminuye el flujo de información visual.
También puede darse un retardo de audio.En la red de Internet por ejemplo la mayoría de los usuarios están conectados a velocidades de 56.6 kilobits por segundo (Kbps), 33.6 kbps o 28.8 kbps, y el vídeo descomprimido para ser enviado en calidad broadcast requiere un ancho de banda de red de 160 megabits por segundo (Mbps), en calidad CD requiere aproximadamente 2.8 Mbps, y con los modems actuales sería imposible conseguir las velocidades requeridas para su transmisión. Aquí es donde juegan un papel importante los codecs.Los codecs se optimizan para conseguir la mayor calidad posible en bajos índices de transferencia. Son usados para codificar el vídeo en tiempo real o pregrabado y ser mandado por la red para que el usuario final solamente con una aplicación que lo descomprima podrá al instante visionar en su terminal.
CompresiónLa técnica de compresión de vídeo consiste de tres pasos fundamentalmente, primero el preprocesamiento de la fuente de vídeo de entrada, paso en el cual se realiza el filtrado de la señal de entrada para remover componentes no útiles y el ruido que pudiera haber en esta. El segundo paso es la conversión de la señal a un formato intermedio común (CIF), y por último el paso de la compresión. Las imágenes comprimidas son transmitidas a través de la línea de transmisión digital y se hacen llegar al receptor donde son reconvertidas al formato común CIF y son desplegadas después de haber pasado por la etapa de post-procesamiento.Mediante la compresión de la imagen se elimina información redundante. Se ayuda de la redundancia espacial y temporal. La redundancia temporal es reducida primero usando similitudes entre sucesivas imágenes, usando información de las imágenes ya enviadas. Cuando se usa esta técnica, sólo es necesario enviar la diferencia entre las imágenes, es decir las zonas de la imagen que han variado entre dos fotogramas consecutivos, lo que elimina la necesidad de transmitir la imagen completa. La compresión espacial se vale de las similitudes entre pixeles adyacentes en zonas de la imagen lisas, y de las frecuencias espaciales dominantes en zonas de color muy variado. El método para eliminar las redundancias en el dominio del tiempo pueden ser eliminadas mediante el método de codificación de intercuadros, que también incluye los métodos de compensación/estimación del movimiento, el cual compensa el movimiento a través de la estimación del mismo.En el otro extremo, las redundancias en el dominio espacio es llamado codificación intracuadros, la cual puede ser dividida en codificación por predicción y codificación de la transformada usando la transformada del coseno.La transformada del coseno o DCT es una implementación específica de la transformada de Fourier donde la imagen es transformada de su representación espacial a su frecuencial equivalente. Cada elemento de la imagen se representa por ciertos coeficientes de frecuencia. Las zonas con colores similares se representan con coeficientes de baja frecuencia y las imágenes con mucho detalle con coeficientes de alta frecuencia. La información resultante son 64 coeficientes DCT. El DCT reordena toda la información y la prepara para la cuantización.El proceso de cuantización es la parte del algoritmo que causa pérdidas. La cuantización asigna un número de bits específico a cada coeficiente de frecuencias y entonces comprime los datos asignando unos cuantos bits a los coeficientes de alta frecuencia. sin que lo note el observador. Los parámetros de la cuantización son optimizados, pero el proceso aún deteriora la calidad del vídeo. Generalmente se acepta que un factor de compresión de 2:1 (aproximadamente 10Mb/seg), se pueden apreciar visualmente algunas pérdidas en la integridad del vídeo.
El proceso de decodificación es básicamente el inverso del proceso de codificación. La compresión del audio está descrita por tres parámetros: ratio de muestreo (numero de muestras por segundo), bits por muestra (numero de bits para representar cada valor), y número de canales (mono o estéreo). Los estándares de vídeo digital más conocidos son: MPEG, Quicktime, AVI, MOV, real vídeo, ASF...Y para vídeo analógico: NTSC, PAL, SECAM
3. Formato MPEG
MPEG (Grupode Expertos en Imágenes en movimiento) es un estándar internacional, definido por un comité llamado MPEG formado por la ISO, para la representación codificada y comprimida de imágenes en movimiento y audio asociado, orientado a medios de almacenamiento digitalEl algoritmo que utiliza además de comprimir imágenes estáticas compara los fotogramas presentes con los anteriores y los futuros para almacenar sólo las partes que cambian. La señal incluye sonido en calidad digital. El inconveniente de este sistema es que debido a su alta complejidad necesita apoyarse en hardware específico.MPEG aplica la compresión temporal y la espacial. En primer lugar se aplica una transformada d coseno discreta, seguida de una cuantización para finalmente comprimir mediante un algoritmo RLE. Los bloques de imagen y los de predicción de errores tienen una gran redundancia espacial, que se reduce gracias a la transformación de los bloques desde el dominio del espacio al dominio de frecuencia.MPEG requiere una intensiva computación para su codificación, aunque se consiguen ratios desde 50:1 hasta 200:1Existen diferentes opciones dependiendo del uso: MPEG-1 guarda una imagen, la compara con la siguiente y almacena sólo las diferencias. Se alcanzan así grados de compresión muy elevados. Define tres tipos de fotogramas:
Fotogramas I o Intra-fotogramas, son los fotogramas normales o de imagen fija, proporcionando una compresión moderada, en JPEG.
Fotogramas P o Predichos: son imágenes predichas a partir de la inmediatamente anterior. Se alcanza una tasa de compresión muy superior.
Fotogramas B o bidireccionales: se calculan en base a los fotogramas inmediatamente anterior y posterior. Consigue el mayor grado de compresión a costa de un mayor tiempo de cálculo. Estándar escogido por Vídeo-CD: calidad VHS con sonido digital.
MPEG-2Con una calidad superior al MPEG-1, MPEG-2 fue universalmente aceptado para transmitir vídeo digital comprimido con velocidades mayores de 1Mb/s aproximadamente.Con MPEG-2 pueden conseguirse elevados ratios de hasta 100:1, dependiendo de las características del propio vídeo.MPEG-2 normalmente define dos sistemas de capas, el flujo de programa y el flujo de transporte. Se usa uno u otro pero no los dos a la vez. El flujo de programa funcionalmente es similar al sistema MPEG-1. La técnica de encapsulamiento y multiplexación de la capa de compresión produce paquetes grandes y de varios tamaños. Los paquetes grandes producen errores aislados e incrementan los requerimientos de buffering en el receptor/decodificador para demultiplexar los flujos de bits. En contraposición el flujo de transporte consiste en paquetes fijos de 188 bytes lo que decrementa el nivel de errores ocultos y los requerimientos del buffering receptor.Los estándares MPEG fueron desarrollados para ser independientes de la red específica para proporcionar un punto de interoperabilidad en entornos de red heterogéneos.
MPEG4Es un estándar relativamente nuevo orientado inicialmente a las videoconferencias, y para Internet. El objetivo es crear un contexto audiovisual en el cual existen unas primitivas llamadas AVO (objetos audiovisuales). Se definen métodos para codificar estas primitivas que podrían clasificarse en texto y gráficosLa comunicación con los datos de cada primitiva se realiza mediante uno o varios "elementary streams" o flujos de datos, cuya característica principal es la calidad de servicio requerida para la transmisión.Ha sido especialmente diseñado para distribuir videos con elevados ratios de compresión, sobre redes con bajo ancho de banda manteniendo una excelente calidad para usuarios con buen ancho de banda.Ofrece un ancho rango de velocidades desde usuarios con modems de 10kbps a usuarios con anchos de banda de 10Mbps.Es rápido codificando el vídeo de alta calidad, para contenidos en tiempo real y bajo demanda.
Codificación de vídeo MPEG bajo demandaEn soluciones como vídeo bajo demanda los datos codificados en el formato MPEG tienen que ser transmitidos sobre redes de comunicaciones. Puesto que el ancho de banda del medio de transmisión es limitado, para mantener una constante velocidad de salida, debe hacerse una negociación entre la velocidad y la calidad de la imagen. De esto se encargan los algoritmos de cuantización, los cuales seleccionan diferentes tablas de cuantización para diferentes tipos de imágenes durante la codificación de datos. Una solución simple es codificar los datos originales dinámicamente en el servidor, pero necesita grandes recursos. Una alternativa es almacenar los ficheros codificados en MPEG en el servidor y adaptativamente recodificarlo en base a las velocidades disponibles.El objetivo es recodificar y codificar los ficheros MPEG dinámica y eficientemente en un flujo de bits constante.
MJPEGMotion-JPEG es una versión extendida del algoritmo JPEG que comprime imágenes. Básicamente consiste en tratar al vídeo como una secuencia de imágenes estáticas independientes a las que se aplica el proceso de compresión del algoritmo JPEG una y otra vez para cada imagen de la secuencia de vídeo. Existen cuatro modos de operación para el JPEG: secuencial, progresiva, sin perdida, y jerárquica. Normalmente se utiliza el modo secuencial.La ventaja es que se puede realizar en tiempo real e incluso con poca inversión en hardware. El inconveniente de este sistema es que no se puede considerar como un estándar de vídeo pues ni siquiera incluye la señal de audio. Otro problema es que el índice de compresión no es muy grande.JPEG utiliza una técnica de compresión espacial, la intracuadros o DCT. El sistema JPEG solamente utiliza la compresión espacial al estar diseñado para comprimir imágenes individuales. Motion-JPEG es el metodo elegido para las aplicaciones donde se envia la misma informacióin a todos los usuarios, las broadcast.
Servir el vídeoMuchas aplicaciones actuales como el vídeo requieren que los mismos datos de un servidor sean distribuidos a múltiples clientes. Si varios clientes solicitan los mismos datos y esta información fuera enviado una vez por cada cliente, estaríamos malgastando el ancho de banda ya que estaríamos transmitiendo la misma información varias veces por el mismo tramo de red y el número de clientes estaría limitado por el ancho de banda disponible. La solución es IP multicast. Soporta eficientemente este tipo de transmisión permitiendo al servidor enviar una sola copia de la información a múltiples clientes quienes deseen recibir la información.
4. Soluciones de vídeo
El vídeo puede servirse como un fichero, o en tiempo real. A este última forma de enviar el vídeo se le conoce como streaming.Streaming videoStreaming video, o vídeo en tiempo real, es la tecnología que permite la transmisión y recepción de imágenes y sonidos de manera continua a través de una red. A diferencia de otros formatos de audio y vídeo, en los que es necesario esperar que el archivosea cargado en el equipo para su visualización, esta tecnología permite apreciar el contenido conforme se va teniendo acceso a la información del archivo. EL servidor de streaming permite visionar el vídeo de forma continua porque hace uso de un buffer, donde van cargándose algunos segundos de la secuencia antes de que sean mostrados. Entonces cuando se detecta un periodo de congestión de red, se visualizarán los datos que tenemos ya almacenados en el buffer. De esta forma el cliente obtiene los datos tan rápido como el servidor y la red lo permitan. Hay pocos formatos hoy en dia que soporten este tipo de visualización progresiva, probablemente en el futuro próximo, el estandar para el streaming vídeo será en Advanced streaming format (ASF).El streaming puede decirse que funciona de forma inteligente ya que asegura al usuario que recibirá la más alta calidad posible dependiendo de la velocidad de conexión o de los problemas de conexión de la red. Tradicionalmente la congestión de la red forzaba al usuario a detener la visualización del vídeo almacenando en un buffer la información para posteriormente continuar mostrando la secuencia. Con los nuevos formatos de streaming como el MPEG-4, el cliente y el servidor pueden degradar la calidad de forma inteligente para asegurar una reproducción continua del vídeo.
¿Cómo funciona?Si se dan problemas de congestión de red, primeramente el servidor de vídeo disminuye el número de fotogramas que está enviando para mantener la calidad del audio e ir llenando el búffer mínimamente. Si las condiciones empeoran, el servidor deja de mandar frames de vídeo, pero mantiene la calidad del audio. Finalmente, si la calidad del audio empieza a degradarse, el cliente reconstruye de manera inteligente las secuencias que tiene almacenadas para no perder calidad.
Video en InternetExisten dos métodos para la distribución de contenido con audio y vídeo sobre la Web. El primer método usa un Servidor Web estándar para repartir los datos a un medio visualizador. El segundo método usa un servidor de streaming. ¿Cómo funciona un servidor web para distribución de vídeo? Una vez disponemos del vídeo digitalizado el archivo será codificado o comprimido a un fichero para ser distribuido sobre una red con un específico ancho de banda como un modem de 56.6 kbps. Entonces el fichero se almacena en un servidor web. Ahora sólo hemos de crear una página web en un servidor con un enlace al fichero, el cual cuando sea pulsado por un cliente permitirá la descarga automática.El protocolo usado es el HTTP (Hypertext Tansport Protocol), que opera en la parte alta del TCP el cual maneja la transferencia de datos. Este protocolo no esta optimizado para aplicaciones en tiempo real, con lo que el objetivo es maximizar el ratio de transferencia, para lograrlo usa un algoritmo llamado "comienzo lento", TCP manda primero datos con un bajo ratio, y gradualmente va incrementando el ratio hasta que el destinatario comunica una perdida de paquetes. Entonces el TCP asume que ha llegado al límite del ancho de banda y vuelve a enviar datos a baja velocidad, y a volverá a incrementar la velocidad repitiendo el proceso anterior. TCP se asegura una fiable transmisión de datos con la retransmisión de los paquetes perdidos. Sin embargo lo que no puede asegurar es que todos los paquetes recientes llegarán al cliente para ser visualizados a tiempo, con lo que podremos experimentar pérdida de imágenes en las secuencias de vídeo.
Una solución sobre InternetInternet no puede considerarse un medio adecuado para la transmisión de vídeo en tiempo real. La calidad de los vídeos transmitidos en tiempo real es bastante pobre con lo que debes elegir poca velocidad y mucha calidad o ganar velocidad y perder calidad en imagen. Pese a todo esto existen soluciones desarrolladas que con las mejoras de las técnicas y de la velocidad de los modems han ido evolucionando.Veamos como podríamos montar un servidor de vídeo como podría ser el que hasta ahora ha sido el estándar de transmisión de vídeo sobre Internet, RealVídeo.Para poder distribuir vídeo sobre Internet, y especialmente un sistema de stream vídeo, los componentes que necesitamos son un codificador para digitalizar el vídeo y comprimirlo, un software de servidor web, que puede ser una máquina distinta o la misma que el codificador, y una conexión a la red con suficiente ancho de banda, dependiendo del número de usuarios a los que queremos dar servicio. El usuario final necesitará solamente el programa cliente para descargar y visualizar los flujos de vídeo.
VideoconferenciaComo dijimos, el problema básico del vídeo es el gran ancho de banda que requiere.En videoconferencia suele trabajarse con ventanas de 300x200 pixelesEl vídeo estándar utiliza 30 imágenes (frames) por segundo, por tanto, 30 imágenes de 60 KB dan la friolera de 1,8 millones de bytes por segundo, la mayoría de los fabricantes se orienta hacia la adopción de la RDSI Otra solución al cuello de botella del ancho de banda en videoconferencia es la compresión de las imágenes. Complejos algoritmos basados en la transformada discreta del coseno (DTC) suelen ser los más utilizados. Lo más significativo de la compresión es la ratio que se puede alcanzar. El formato JPEG permite definir la calidad de la imágenes, es decir, cuanta pérdida queremos aceptar en la compresión.Los sistemas de videoconferencia establecen la compresión mediante un dispositivo de hardware y/o software llamado códec (codificador/decodificador), encargado además de muestrear las señales de audio y vídeo así como de transmitirlas.
5. Conclusiones
Hace algunos años podíamos pensar en la comunicación mediante video digital en tiempo real, pero sólo imaginarlo. Hoy en día puede decirse que es una realidad. Pero no está todo logrado. Tenemos la posibilidad de solicitar una película de cine desde casa, y que se nos sea servida inmediatamente via satélite. Pero no sólo queremos eso, queremos poder disfrutar de la comunicación multimedia y a bajo precio. Ahora mismo esto significa que a través de Internet ya que es la red que nos llega a todos hasta la puerta de nuestras casas. Pero no nos vale ver a nuestro amigo en blanco y negro, o estático, o borroso, queremos verlo como si lo tuviéramos delante. Y para esto, todavía tendremos que esperar un poco. Y es que no puede circular un camión por un carril de bicicleta; al menos hasta que no ensanchemos el carril.


domingo, 13 de septiembre de 2009

Sistemas operativos

1. Introducción a los sistemas operativos

Definiciones de los sistemas operativos.
Un sistema operativo es un programa que actúa como intermediario entre el usuario y el hardware de un computador y su propósito es proporcionar un entorno en el cual el usuario pueda ejecutar programas. El objetivo principal de un sistema operativo es lograr que el sistema de computación se use de manera cómoda, y el objetivo secundario es que el hardware del computador se emplee de manera eficiente.
Un sistema Operativo (SO) es en sí mismo un programa de computadora. Sin embargo, es un programa muy especial, quizá el más complejo e importante en una computadora. El SO despierta a la computadora y hace que reconozca a la CPU, la memoria, el teclado, el sistema de vídeo y las unidades de disco. Además, proporciona la facilidad para que los usuarios se comuniquen con la computadora y sirve de plataforma a partir de la cual se corran programas de aplicación.
Cuando enciendes una computadora, lo primero que ésta hace es llevar a cabo un autodiagnóstico llamado auto prueba de encendido (Power On Self Test, POST). Durante la POST, la computadora identifica su memoria, sus discos, su teclado, su sistema de vídeo y cualquier otro dispositivo conectado a ella. Lo siguiente que la computadora hace es buscar un SO para arrancar (boot).
Una vez que la computadora ha puesto en marcha su SO, mantiene al menos parte de éste en su memoria en todo momento. Mientras la computadora esté encendida, el SO tiene 4 tareas principales:

Proporcionar ya sea una interfaz de línea de comando o una interfaz gráfica al usuario, para que este último se pueda comunicar con la computadora. Interfaz de línea de comando: tú introduces palabras y símbolos desde el teclado de la computadora, ejemplo, el MS-DOS. Interfaz gráfica del Usuario (GUI), seleccionas las acciones mediante el uso de un Mouse para pulsar sobre figuras llamadas iconos o seleccionar opciones de los menús.
Administrar los dispositivos de hardware en la computadora. Cuando corren los programas, necesitan utilizar la memoria, el monitor, las unidades de disco, los puertos de Entrada/Salida (impresoras, módems, etc.). El SO sirve de intermediario entre los programas y el hardware.
Administrar y mantener los sistemas de archivo de disco. Los SO agrupan la información dentro de compartimientos lógicos para almacenarlos en el disco. Estos grupos de información son llamados archivos. Los archivos pueden contener instrucciones de programas o información creada por el usuario. El SO mantiene una lista de los archivos en un disco, y nos proporciona las herramientas necesarias para organizar y manipular estos archivos.
Apoyar a otros programas. Otra de las funciones importantes del SO es proporcionar servicios a otros programas. Estos serviciosson similares a aquellos que el SO proporciona directamente a los usuarios. Por ejemplo, listar los archivos, grabarlos a disco, eliminar archivos, revisar espacio disponible, etc. Cuando los programadores escriben programas de computadora, incluyen en sus programas instrucciones que solicitan los servicios del SO. Estas instrucciones son conocidas como "llamadas del sistema"
¿Qué es un sistema operativo?
Un sistema operativo es el programa que oculta la verdad del hardware al programador y presenta una vista simple y agradable de los archivos nominados que pueden leerse y escribirse. El sistema operativo resguarda al programador del hardware del disco y presenta una interfaz simple orientada al archivo, también disimula mucho del trabajo concerniente a interrupciones, relojes o cronómetros, manejo de memoria y otras características de bajo nivel.
La función del sistema operativo es la de presentar al usuario con el equivalente de una máquina ampliada o máquina virtual que sea más fácil de programar que el hardware implícito.
Un sistema operativo es una parte importante de casi cualquier sistema de computación. Un sistema de computación puede dividirse en cuatro componentes: el hardware, el sistema operativo, los programas de aplicación y los usuarios.
El hardware (unidad central de procesamiento (UCP), memoria y dispositivos de entrada y salida (E/S)) proporciona los recursos de computación básicos. Los programas de aplicación (compiladores, sistemas de bases de datos, juegos de video y programas para negocios) definen la forma en que estos recursos se emplean para resolver los problemas de computación de los usuarios. Puede haber distintos usuarios (personas, máquinas, otros computadores) que intentan resolver problemas diferentes; por lo tanto es posible que haya diferentes programas de aplicación. El sistema operativo controla y coordina el uso del hardware entre los diversos programas de aplicación de los distintos usuarios
Podemos ver al sistema operativo como un asignador de recursos. Un sistema de computación tiene muchos recursos (hardware y software) que pueden requerirse para resolver un problema: tiempo de la UCP, espacio de memoria, espacio de almacenamiento de archivos, dispositivos de E/S, etc. El sistema operativo actúa como el administrador de estos recursos y los asigna a usuarios y programas concretos según los necesiten las tareas de los usuarios.
Puesto que pueden surgir conflictos en las solicitudes de recursos, el sistema operativo debe decidir a que solicitudes se les asignaran para que el sistema de computación pueda funcionar de manera eficiente y justa.
En términos generales no hay una definición de sistema operativo completamente adecuada. Los sistemas operativos existen porque son una manera razonable de solucionar el problema de crear un sistema de computación utilizable.


Objetivos para la creación de los sistemas
Operativos.

Transformar el complejo hardware de una computadora a una máquina accesible al usuario.
Lograr el mejor uso posible de los recursos. Hacer eficiente el uso del recurso.
El objetivo fundamental de los sistemas de computación es ejecutar los programas de los usuarios y facilitar la resolución de sus problemas. El hardware se construye con este fin, pero como este no es fácil de utilizar, se desarrollan programas de aplicación que requieren ciertas operaciones comunes, como el control de dispositivos de E/S. las funciones comunes de control y de asignación de recursos se integran para formar un solo fragmento de software: el sistema operativo.

Desarrollo histórico de los sistemas operativos.
En un principio solo existía el hardware del computador. Los primeros computadores eran (físicamente) grandes maquinas que se operaban desde una consola. El programador escribía un programa y luego lo controlaba directamente desde la consola. En primer lugar, el programa se cargaba manualmente en la memoria, desde los interruptores del tablero frontal (una instrucción en cada ocasión), desde una cinta de papel o desde tarjetas perforadas. Luego se pulsaban los botones adecuados para establecer la dirección de inicio y comenzar la ejecución del programa. Mientras este se ejecutaba, el programador-operador lo podía supervisar observando las luces en la consola, si se descubrían errores, el programador podía detener el programa, examinar el contenido de la memoria y los registros y depurar el programa directamente desde la consola. La salida del programa se imprimía, o se perforaba en cintas de papel o tarjetas para su impresión posterior.
Sin embargo, con este procedimientose presentaban ciertos problemas. Supongamos que un usuario se había registrado para usar una hora de tiempodel computador dedicada a ejecutar el programa que estaba desarrollando, pero se topaba con algún error difícil y no podía terminar en esa hora. Si alguien más había reservado el siguiente bloque de tiempo, usted debía detenerse, rescatar lo que pudiera y volver mas tarde para continuar. Por otra parte, si el programa se ejecutaba sin problemas, podría terminar en 35 minutos; pero como pensó que necesitaría la maquina durante más tiempo, se registro para usarla una hora, y permanecería inactiva durante 25 minutos.
Conforme transcurrió el tiempo, se desarrollaron software y hardware adicionales; empezaron a popularizarse los lectores de tarjetas, impresoras de líneas y cintas magnéticas; se diseñaron ensambladores, cargadores y ligadores para facilitar las tareas de programación, y se crearon bibliotecas de funciones comunes, de manera que estas podían copiarse a un nuevo programa sin tener que escribirlas de nuevo.
Las rutinas que efectuaban operaciones de E/S tenían una importancia especial. Cada nuevo dispositivo de E/S poseía sus propias características, lo que requería una cuidadosa programación. Así mismo, para cada uno de ellos se escribía una subrutina especial, la cual se denominaba manejador de dispositivos. Este sabe como deben de usarse los buffers, indicadores, registros, bits de control y bits de estado para cada dispositivo. Cada tipo de dispositivo tenía su propio manejador. Una tarea sencilla, como leer un carácter de un lector de cinta de papel, podía conllevar complicadas secuencias de operaciones específicas para el dispositivo. En lugar de tener que escribir cada vez el código necesario, bastaba usar el manejador de dispositivo de la biblioteca.
Más tarde aparecieron los compiladores de FORTRAN, COBOL y otros lenguajes, lo que facilito la tarea de programación, pero hizo más complejo el funcionamiento del computador. Por ejemplo, al preparar la ejecución de un programa en FORTRAN, el programador primero necesitaba cargar en el computador el compilador de FORTRAN, que generalmente se conservaba en una cinta magnética, por lo que había que montar la cinta adecuada en la unidad correspondiente. El programa se leía a través del lector de tarjetas y se escribía en otra cinta. El compilador de FORTRAN producía una salida en lenguaje ensamblador, que luego tenia que ensamblarse, para esto era necesario montar otra cinta con el ensamblador, y su salida debía enlazarse con las rutinas de apoyo de las bibliotecas. Finalmente, el programa objeto, en código binario, estaba listo para ejecutarse; se cargaba en memoria y se depuraba desde la consola como antes.
Los Sistemas Operativos, al igual que el Hardware de los computadores, han sufrido una serie de cambios revolucionarios llamados generaciones. En el caso del Hardware, las generaciones han sido marcadas por grandes avances en los componentes utilizados, pasando de válvulas (primera generación) a transistores (segunda generación), a circuitos integrados (tercera generación), a circuitos integrados de gran y muy gran escala (cuarta generación). Cada generación Sucesiva de hardware ha ido acompañada de reducciones substanciales en los costos, tamaño, emisión de calor y consumo de energía, y por incrementos notables en velocidad y capacidad.

Generación Cero (década de 1940)
Los primeros sistemas computacionales no poseían sistemas operativos. Los usuarios tenían completo acceso al lenguajede la maquina. Todas las instrucciones eran codificadas a mano.

Primera Generación (década de 1950)
Los sistemas operativos de los años cincuenta fueron diseñados para hacer mas fluida la transición entre trabajos. Antes de que los sistemas fueran diseñados, se perdía un tiempo considerable entre la terminación de un trabajo y el inicio del siguiente. Este fue el comienzo de los sistemas de procesamiento por lotes, donde los trabajos se reunían por grupos o lotes. Cuando el trabajo estaba en ejecución, este tenia control total de la maquina. Al terminar cada trabajo, el control era devuelto al sistema operativo, el cual limpiaba y leía e iniciaba el trabajo siguiente.
Al inicio de los 50's esto había mejorado un poco con la introducción de tarjetas perforadas (las cuales servían para introducir los programas de lenguajes de máquina), puesto que ya no había necesidad de utilizar los tableros enchufables.
Además el laboratorio de investigación General Motors implementó el primer sistema operativo para la IBM 701. Los sistemas de los 50's generalmente ejecutaban una sola tarea, y la transición entre tareas se suavizaba para lograr la máxima utilización del sistema. Esto se conoce como sistemas de procesamiento por lotes de un sólo flujo, ya que los programas y los datos eran sometidos en grupos o lotes.
La introducción del transistor a mediados de los 50's cambió la imagen radicalmente. Se crearon máquinas suficientemente confiables las cuales se instalaban en lugares especialmente acondicionados, aunque sólo las grandes universidades y las grandes corporaciones o bien las oficinas del gobiernose podían dar el lujo de tenerlas.
Para poder correr un trabajo (programa), tenían que escribirlo en papel (en FORTRAN o en lenguaje ensamblador) y después se perforaría en tarjetas. Enseguida se llevaría la pila de tarjetas al cuarto de introducción al sistema y la entregaría a uno de los operadores. Cuando la computadora terminara el trabajo, un operador se dirigiría a la impresora y desprendería la salida y la llevaría al cuarto de salida, para que la recogiera el programador.

Segunda Generación (a mitad de la década de 1960)
La característica de los sistemas operativos fue el desarrollo de los sistemas compartidos con multiprogramación, y los principios del multiprocesamiento. En los sistemas de multiprogramación, varios programas de usuario se encuentran al mismo tiempo en el almacenamiento principal, y el procesador se cambia rápidamente de un trabajo a otro. En los sistemas de multiprocesamiento se utilizan varios procesadores en un solo sistema computacional, con la finalidad de incrementar el poder de procesamiento de la maquina.
La independencia de dispositivos aparece después. Un usuario que desea escribir datos en una cinta en sistemas de la primera generación tenia que hacer referencia especifica a una unidad de cinta particular. En la segunda generación, el programa del usuario especificaba tan solo que un archivo iba a ser escrito en una unidad de cinta con cierto número de pistas y cierta densidad.
Se desarrollo sistemas compartidos, en la que los usuarios podían acoplarse directamente con el computador a través de terminales. Surgieron sistemas de tiempo real, en que los computadores fueron utilizados en el control de procesos industriales. Los sistemas de tiempo real se caracterizan por proveer una respuesta inmediata.

Tercera Generación (mitad de década 1960 a mitad década de 1970)
Se inicia en 1964, con la introducción de la familia de computadores Sistema/360 de IBM. Los computadores de esta generación fueron diseñados como sistemas para usos generales. Casi siempre eran sistemas grandes, voluminosos, con el propósito de serlo todo para toda la gente. Eran sistemas de modos múltiples, algunos de ellos soportaban simultáneamente procesospor lotes, tiempo compartido, procesamiento de tiempo real y multiprocesamiento. Eran grandes y costosos, nunca antes se había construido algo similar, y muchos de los esfuerzos de desarrollo terminaron muy por arriba del presupuestoy mucho después de lo que el planificador marcaba como fecha de terminación.
Estos sistemas introdujeron mayor complejidad a los ambientes computacionales; una complejidad a la cual, en un principio, no estaban acostumbrados los usuarios.

Cuarta Generación (mitad de década de 1970 en adelante)
Los sistemas de la cuarta generación constituyen el estado actual de la tecnología. Muchos diseñadores y usuarios se sienten aun incómodos, después de sus experiencias con los sistemas operativos de la tercera generación.
Con la ampliación del uso de redes de computadores y del procesamiento en línea los usuarios obtienen acceso a computadores alejados geográficamente a través de varios tipos de terminales.
Los sistemas de seguridad se han incrementado mucho ahora que la información pasa a través de varios tipos vulnerables de líneas de comunicación. La clave de cifrado esta recibiendo mucha atención; han sido necesario codificar los datos personales o de gran intimidad para que; aun si los datos son expuestos, no sean de utilidad a nadie mas que a los receptores adecuados.

2. Estructura de un sistema operativo

En esta unidad examinaremos cuatro estructuras distintas que ya han sido probadas, con el fin de tener una idea más extensa de cómo esta estructurado el sistema operativo. Veremos brevemente algunas estructurasde diseños de sistemas operativos.

Estructura modular.
También llamados sistemas monolíticos. Este tipo de organización es con mucho la mas común; bien podría recibir el subtitulo de "el gran embrollo". La estructura consiste en que no existe estructura alguna. El sistema operativo se escribe como una colección de procedimientos, cada uno de los cuales puede llamar a los demás cada vez que así lo requiera. Cuando se usa esta técnica, cada procedimiento del sistema tiene una interfaz bien definida en términos de parámetros y resultados y cada uno de ellos es libre de llamar a cualquier otro, si este ultimo proporciona cierto cálculo útil para el primero. Sin embargo incluso en este tipo de sistemas es posible tener al menos algo de estructura. Los servicios (llamadas al sistema) que proporciona el sistema operativo se solicitan colocando los parámetros en lugares bien definidos, como en los registros o en la pila, para después ejecutar una instrucción especial de trampa de nombre "llamada al núcleo" o "llamada al supervisor".
Esta instrucción cambia la máquina del modo usuario al modo núcleo y transfiere el control al sistema operativo, lo que se muestra en el evento (1) de la figura 1. El sistema operativo examina entonces los parámetros de la llamada, para determinar cual de ellas se desea realizar, como se muestra en el evento (2) de la figura 1. A continuación, el sistema operativo analiza una tabla que contiene en la entrada k un apuntador al procedimiento que realiza la k-esima llamada al sistema. Esta operación que se muestra en (3) de la figura 1, identifica el procedimiento de servicio, al cual se llama. Por ultimo, la llamada al sistema termina y el control regresa al programa del usuario.
Figura 1. La forma en que debe hacerse una llamada al sistema: (1) el programa del usuario es atraído hacia el núcleo. (2) el sistema operativo determina el número del servicio solicitado. (3) el sistema operativo localiza y llama al procedimiento correspondiente al servicio. (4) el control regresa al programa del usuario.

Esta organización sugiere una organización básica del sistema operativo:
1.- un programa principal que llama al procedimiento del servicio solicitado.
2.- un conjunto de procedimientos de servicio que llevan a cabo las llamadas al sistema.
3.- un conjunto de procedimientos utilitarios que ayudan al procedimiento de servicio.

En este modelo, para cada llamada al sistema existe un procedimiento de servicio que se encarga de él. Los procedimientos utilitarios hacen cosas necesarias para varios procedimientos de servicio, por ejemplo buscar los datos de los programas del usuario. La siguiente figura muestra este procedimiento de tres capas:
(Para ver el gráfico faltante haga click en el menú superior "Bajar Trabajo")
Figura 2. Un modelo de estructura simple para un sistema monolítico.
(Para ver el gráfico faltante haga click en el menú superior "Bajar Trabajo")

Estructura por microkernel.
Las funciones centrales de un SO son controladas por el núcleo (kernel) mientras que la interfaz del usuario es controlada por el entorno (shell). Por ejemplo, la parte más importante del DOS es un programa con el nombre "COMMAND.COM" Este programa tiene dos partes. El kernel, que se mantiene en memoria en todo momento, contiene el código máquina de bajo nivel para manejar la administración de hardware para otros programas que necesitan estos servicios, y para la segunda parte del COMMAND.COM el shell, el cual es el interprete de comandos
Las funciones de bajo nivel del SO y las funciones de interpretación de comandos están separadas, de tal forma que puedes mantener el kernel DOS corriendo, pero utilizar una interfaz de usuario diferente. Esto es exactamente lo que sucede cuando cargas Microsoft Windows, el cual toma el lugar del shell, reemplazando la interfaz de línea de comandos con una interfaz gráfica del usuario. Existen muchos "shells" diferentes en el mercado, ejemplo: NDOS (Norton DOS), XTG, PCTOOLS, o inclusive el mismo SO MS-DOS a partir de la versión 5.0 incluyó un Shell llamado DOS SHELL.



Estructura por anillos concéntricos (capas).
El sistema por "capas" consiste en organizar el sistema operativo como una jerarquía de capas, cada una construida sobre la inmediata inferior. El primer sistema construido de esta manera fue el sistema THE (Technische Hogeschool Eindhoven), desarrollado en Holanda por E. W. Dijkstra (1968) y sus estudiantes.
El sistema tenia 6 capas, como se muestra en la figura 3. La capa 0 trabaja con la asignación del procesador y alterna entre los procesos cuando ocurren las interrupciones o expiran los cronómetros. Sobre la capa 0, el sistema consta de procesos secuénciales, cada uno de los cuales se podría programar sin importar que varios procesos estuvieran ejecutándose en el mismo procesador, la capa 0 proporcionaba la multiprogramación básica de la CPU.

La capa 1 realizaba la administración de la memoria. Asignaba el espacio de memoria principal para los procesos y un recipiente de palabras de 512K se utilizaba para almacenar partes de los procesos (páginas) para las que no existía lugar en la memoria principal. Por encima de la capa 1, los procesos no debían preocuparse si estaban en la memoria o en el recipiente; el software de la capa 1 se encargaba de garantizar que las páginas llegaran a la memoria cuando fueran necesarias.
La capa 2 se encargaba de la comunicación entre cada proceso y la consola del operador. Por encima de esta capa, cada proceso tiene su propia consola de operador.
La capa 3 controla los dispositivos de E/S y guarda en almacenes (buffers) los flujos de información entre ellos. Por encima de la capa 3, cada proceso puede trabajar con dispositivos exactos de E/S con propiedades adecuadas, en vez de dispositivos reales con muchas peculiaridades. La capa 4 es donde estaban los programas del usuario, estos no tenían que preocuparse por el proceso, memoria, consola o control de E/S. el proceso operador del sistema se localizaba en la capa 5
Una generalización mas avanzada del concepto de capas se presento en el sistema MULTICS. En lugar de capas, MULTICS estaba organizado como una serie de anillos concéntricos, siendo los anillos interiores los privilegiados. Cuando un procedimiento de un anillo exterior deseaba llamar a un procedimiento de un anillo interior, debió hacer el equivalente a una llamada al sistema
Mientras que el esquema de capas de THE era en realidad un apoyo al diseño, debido a que todas las partes del sistema estaban ligadas entre si en un solo programa objeto, en MULTICS, el mecanismo de anillos estaba mas presente durante el tiempo de ejecución y era reforzado por el hardware. La ventaja del mecanismo de anillos es su facilidad de extensión para estructurar subsistemas del usuario.

5
El operador

4
Programas del usuario

3
Control de entrada/salida

2
Comunicación operador-proceso

1
Administración de la memoria y del disco

0
Asignación del procesador y multiprogramación


Figura 3. Estructura del sistema operativo THE.

Estructura cliente – servidor
Una tendencia de los sistemas operativos modernos es la de explotar la idea de mover el código a capas superiores y eliminar la mayor parte posible del sistema operativo para mantener un núcleo mínimo. El punto de vista usual es el de implantar la mayoría de las funciones del sistema operativo en los procesos del usuario. Para solicitar un servicio, como la lectura de un bloque de cierto archivo, un proceso del usuario (denominado proceso cliente) envía la solicitud a un proceso servidor, que realiza entonces el trabajo y regresa la respuesta. En este modelo, que se muestra en la figura 4, lo único que hace el núcleo es controlar la comunicación entre los clientes y los servidores. Al separar el sistema operativo en partes, cada una de ellas controla una faceta del sistema, como el servicio a archivos, servicios a procesos, servicio a terminales o servicio a la memoria, cada parte es pequeña y controlable. Además como todos los servidores se ejecutan como procesos en modo usuario y no en modo núcleo, no tienen acceso directo al hardware. En consecuencia si hay un error en el servidor de archivos, éste puede fallar, pero esto no afectará en general a toda la máquina.
(Para ver el gráfico faltante haga click en el menú superior "Bajar Trabajo")

Figura 4. El modelo Cliente-servidor.
Otra de las ventajas del modelo cliente-servidor es su capacidad de adaptación para su uso en los sistemas distribuidos (figura 5).
Si un cliente se comunica con un servidor mediante mensajes, el cliente no necesita saber si el mensaje se maneja en forma local, en su máquina, o si se envía por medio de una red a un servidor en una máquina remota. En lo que respecta al cliente, lo mismo ocurre en ambos casos: se envió una solicitud y se recibió una respuesta.
(Para ver el gráfico faltante haga click en el menú superior "Bajar Trabajo")

Figura 5. El modelo cliente-servidor en un sistema distribuido.

3. Funciones y características de los sistemas operativos.

Funciones de los sistemas operativos.
1.- Aceptar todos los trabajos y conservarlos hasta su finalización.
2.- Interpretación de comandos: Interpreta los comandos que permiten al usuario comunicarse con el ordenador.
3.- Control de recursos: Coordina y manipula el hardware de la computadora, como la memoria, las impresoras, las unidades de disco, el teclado o el Mouse.
4.- Manejo de dispositivos de E/S: Organiza los archivos en diversos dispositivos de almacenamiento, como discos flexibles, discos duros, discos compactos o cintas magnéticas.
5.- Manejo de errores: Gestiona los errores de hardware y la pérdida de datos.
6.- Secuencia de tareas: El sistema operativo debe administrar la manera en que se reparten los procesos. Definir el orden. (Quien va primero y quien después).
7.- Protección: Evitar que las acciones de un usuario afecten el trabajo que esta realizando otro usuario.
8.- Multiacceso: Un usuario se puede conectar a otra máquina sin tener que estar cerca de ella.

9.- Contabilidad de recursos: establece el costo que se le cobra a un usuario por utilizar determinados recursos.

Características de los sistemas operativos.
En general, se puede decir que un Sistema Operativo tiene las siguientes características:

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.
4. Modalidades de trabajo de los sistemas operativos.

Sistemas operativos por lotes.
La secuencia por lotes o procesamiento por lotes en microcomputadoras, es la ejecución de una lista de comandos del sistema operativo uno tras otro sin intervención del usuario.
En los ordenadores más grandes el proceso de recogida de programas y de conjuntos de datos de los usuarios, la ejecución de uno o unos pocos cada vez y la entrega de los recursos a los usuarios. Procesamiento por lotes también puede referirse al proceso de almacenar transacciones durante un cierto lapso antes de su envío a un archivo maestro, por lo general una operación separada que se efectúa durante la noche
Los sistemas operativos por lotes (batch), en los que los programas eran tratados por grupos (lote) en ves de individualmente. La función de estos sistemas operativos consistía en cargar en memoria un programa de la cinta y ejecutarlo. Al final este, se realizaba el salto a una dirección de memoria desde donde reasumía el control del sistema operativo que cargaba el siguiente programa y lo ejecutaba. De esta manera el tiempo entre un trabajo y el otro disminuía considerablemente.
(Para ver el gráfico faltante haga click en el menú superior "Bajar Trabajo")

Figura 6 - Sistema de procesamiento por lotes.
Algunas otras características con que cuentan los Sistemas Operativos por lotes son:

Requiere que el programa, datos y órdenes al sistema sean remitidos todos juntos en forma de lote.
Permiten poca o ninguna interacción usuario/programa en ejecución.
Mayor potencial de utilización de recursos que procesamiento serial simple en sistemas multiusuarios.
No conveniente para desarrollo de programas por bajo tiempo de retorno y depuración fuera de línea.
Conveniente para programas de largos tiempos de ejecución (Ej., análisis estadísticos, nóminas de personal, etc.)
Se encuentra en muchos computadores personales combinados con procesamiento serial.
Planificación del procesador sencilla, típicamente procesados en orden de llegada.
Planificación de memoria sencilla, generalmente se divide en dos: parte residente del S.O. y programas transitorios.
No requieren gestión crítica de dispositivos en el tiempo.
Suelen proporcionar gestión sencilla de manejo de archivos: se requiere poca protección y ningún control de concurrencia para el acceso.
Sistemas operativos de tiempo compartido.
El tiempo compartido en ordenadores o computadoras consiste en el uso de un sistema por más de una persona al mismo tiempo. El tiempo compartido ejecuta programas separados de forma concurrente, intercambiando porciones de tiempo asignadas a cada programa (usuario). En este aspecto, es similar a la capacidad de multitareas que es común en la mayoría de los microordenadores o las microcomputadoras. Sin embargo el tiempo compartido se asocia generalmente con el acceso de varios usuarios a computadoras más grandes y a organizaciones de servicios, mientras que la multitarea relacionada con las microcomputadoras implica la realización de múltiples tareas por un solo usuario.
Los principales recursos del sistema, el procesador, la memoria, dispositivos de E/S, son continuamente utilizados entre los diversos usuarios, dando a cada usuario la ilusión de que tiene el sistema dedicado para sí mismo. Esto trae como consecuencia una gran carga de trabajo al Sistema Operativo, principalmente en la administración de memoria principal y secundaria.

Características de los Sistemas Operativos de tiempo compartido:

Populares representantes de sistemas multiprogramados multiusuario, Ej.: sistemas de diseño asistido por computador, procesamiento de texto, etc.
Dan la ilusión de que cada usuario tiene una máquina para sí.
La mayoría utilizan algoritmo de reparto circular.
Los programas se ejecutan con prioridad rotatoria que se incrementa con la espera y disminuye después de concedido el servicio.
Evitan monopolización del sistema asignando tiempos de procesador (time slot).
Gestión de memoria: proporciona protección a programas residentes.
Gestión de archivo: debe proporcionar protección y control de acceso debido a que pueden existir múltiples usuarios accesando un mismo archivo.
Sistemas operativos de tiempo real.
Un sistema operativo en tiempo real procesa las instrucciones recibidas al instante, y una vez que han sido procesadas muestra el resultado. Este tipo tiene relación con los sistemas operativos monousuarios, ya que existe un solo operador y no necesita compartir el procesador entre varias solicitudes.
Su característica principal es dar respuestas rápidas; por ejemplo en un caso de peligro se necesitarían respuestas inmediatas para evitar una catástrofe.
Los Sistemas Operativos de tiempo real, cuentan con las siguientes características:

Se dan en entornos en donde deben ser aceptados y procesados gran cantidad de sucesos, la mayoría externos al sistema computacional, en breve tiempo o dentro de ciertos plazos.
Se utilizan en control industrial, conmutación telefónica, control de vuelo, simulaciones en tiempo real., aplicaciones militares, etc.
Su objetivo es proporcionar rápidos tiempos de respuesta.
Procesa ráfagas de miles de interrupciones por segundo sin perder un solo suceso.
Un proceso se activa tras ocurrencia de suceso, mediante interrupción.
Un proceso de mayor prioridad expropia recursos.
Por tanto generalmente se utiliza planificación expropiativa basada en prioridades.
Gestión de memoria menos exigente que tiempo compartido, usualmente procesos son residentes permanentes en memoria.
Población de procesos estática en gran medida.
Poco movimiento de programas entre almacenamiento secundario y memoria.
La gestión de archivos se orienta más a velocidad de acceso que a utilización eficiente del recurso.
Sistemas operativos de red.
La principal función de un sistema operativo de red es ofrecer un mecanismo para transferir archivos de una máquina a otra. En este entorno, cada instalación mantiene su propio sistema de archivos local y si un usuario de la instalación A quiere acceder a un archivo en la instalación B, hay que copiar explícitamente el archivo de una instalación a otra.
Internet proporciona un mecanismo para estas transferencias, a través del programa protocolo de transferencias de archivos FTP (File Transfer Protocol).
Suponga que un usuario quiere copiar un archivo A1, que reside en la instalación B, a un archivo A2 en la instalación local A. Primero, el usuario debe invocar el programa FTP, el cual solicita al usuario la información siguiente:
a) El nombre de la instalación a partir de la cual se efectuará la transferencia del archivo (es decir la instalación B).
b) La información de acceso, que verifica que el usuario tiene los privilegios de acceso apropiados en la instalación B.
Una vez efectuada esta comprobación, el usuario puede copiar el archivo A1 de B a A2 en A, ejecutando "get A1 to A2"
En este esquema, la ubicación del archivo no es transparente para el usuario; tiene que saber exactamente donde esta cada archivo. Además los archivos no se comparten realmente, porque un usuario solo puede copiar un archivo de una instalación a otra. Por lo tanto pueden existir varias copias del mismo archivo, lo que representa un desperdicio de espacio. Así mismo, si se modifican, estas copias no serán consistentes.
Los Sistemas Operativos de red son aquellos sistemas que mantienen a dos o más computadoras unidas a través de algún medio de comunicación (físico o no), con el objetivo primordial de poder compartir los diferentes recursos y la información del sistema.
El primer Sistema Operativo de red estaba enfocado a equipos con un procesador Motorola 68000, pasando posteriormente a procesadores Intel como Novell Netware.
Los Sistemas Operativos de red más ampliamente usados son: Novell Netware, Personal Netware, LAN Manager, Windows NT Server, UNIX, LANtastic.

Sistemas operativos distribuidos.
En un sistema operativo distribuido los usuarios pueden acceder a recursos remotos de la misma manera en que lo hacen para los recursos locales. La migración de datos y procesos de una instalación a otra queda bajo el control del sistema operativo distribuido.
Permiten distribuir trabajos, tareas o procesos, entre un conjunto de procesadores. Puede ser que este conjunto de procesadores esté en un equipo o en diferentes, en este caso es transparente para el usuario. Existen dos esquemas básicos de éstos. Un sistema fuertemente acoplado es aquel que comparte la memoria y un reloj global, cuyos tiempos de acceso son similares para todos los procesadores. En un sistema débilmente acoplado los procesadores no comparten ni memoria ni reloj, ya que cada uno cuenta con su memoria local.
Los sistemas distribuidos deben de ser muy confiables, ya que si un componente del sistema se descompone otro componente debe de ser capaz de reemplazarlo.
Entre los diferentes Sistemas Operativos distribuidos que existen tenemos los siguientes: Sprite, Solaris-MC, Mach, Chorus, Spring, Amoeba, Taos, etc.

Características de los Sistemas Operativos distribuidos:

Colección de sistemas autónomos capaces de comunicación y cooperación mediante interconexiones hardware y software.
Proporciona abstracción de máquina virtual a los usuarios.
Objetivo clave es la transparencia.
Generalmente proporcionan medios para la compartición global de recursos.
Servicios añadidos: denominación global, sistemas de archivos distribuidos, facilidades para distribución de cálculos (a través de comunicación de procesos internodos, llamadas a procedimientos remotos, etc.).

Figura 7.- Sistema Operativo Distribuido.
Sistemas operativos multiprocesadores.
En los sistemas multiprocesador, los procesadores comparten la memoria y el reloj. Se incrementa la capacidad de procesamiento y la confiabilidad, son económicos.

Multiprocesamiento simétrico: Cada procesador ejecuta una copia del sistema operativo.
Multiprocesamiento asimétrico: Cada procesador tiene asignado una tarea específica, existe un procesador master que asigna tareas a los procesadores esclavos.
Multiproceso: Las computadoras que tienen más de un CPU son llamadas multiproceso. Un sistema operativo multiproceso coordina las operaciones de las computadoras multiprocesadores. Ya que cada CPU en una computadora de multiproceso puede estar ejecutando una instrucción, el otro procesador queda liberado para procesar otras instrucciones simultáneamente.
Al usar una computadora con capacidades de multiproceso incrementamos su velocidad de respuesta y procesos. Casi todas las computadoras que tienen capacidad de multiproceso ofrecen una gran ventaja.
Los primeros Sistemas Operativos Multiproceso realizaban lo que se conoce como Multiproceso asimétrico. Una CPU principal retiene el control global de la computadora, así como el de los otros procesadores. Esto fue un primer paso hacia el multiproceso pero no fue la dirección ideal a seguir ya que la CPU principal podía convertirse en un cuello de botella.
Multiproceso simétrico. En un sistema multiproceso simétrico, no existe una CPU controladora única. La barrera a vencer al implementar el multiproceso simétrico es que los SO tienen que ser rediseñados o diseñados desde el principio para trabajar en un ambiente multiproceso. Las extensiones de UNIX, que soportan multiproceso asimétrico ya están disponibles y las extensiones simétricas se están haciendo disponibles. Windows NT de Microsoft soporta multiproceso simétrico.