28 de marzo de 2011

Sistemas Operativos MS Windows

Microsoft Windows es el nombre de una familia de sistemas operativos desarrollados por Microsoft desde 1981, año en que el proyecto se denominaba «Interface Manager». Anunciado en 1983, Microsoft comercializó por primera vez el entorno operativo denominado Windows en noviembre de 1985 como complemento para MS-DOS, en respuesta al creciente interés del mercado en una interfaz gráfica de usuario (GUI).

Microsoft Windows Microsoft Windows llegó a dominar el mercado de ordenadores personales del mundo, superando a Mac OS, el cual había sido introducido previamente a Windows. En octubre de 2009, Windows tenía aproximadamente el 91% de la cuota de mercado de sistemas operativos en equipos cliente que acceden a Internet.

Las versiones más recientes de Windows son Windows 7 para equipos de escritorio, Windows Server 2008 R2 para servidores y Windows Phone 7 para dispositivos móviles.

Versiones de MS Windows

Árbol genealógico de  MS Windows

El término Windows describe colectivamente todas o parte de varias generaciones de productos de sistema operativo de Microsoft. Estos productos generalmente se clasifican como sigue:

Primeras versiones

La historia de Windows se remonta a septiembre del año 1981, con el proyecto denominado “Interface Manager”. Se anunció en noviembre de 1983 (después del Apple Lisa, pero antes de Macintosh) bajo el nombre Windows, pero Windows 1.0 no se publicó hasta el mes de noviembre de 1985.

El shell de Windows 1.0 es un programa conocido como MS-DOS Executive. Otros programas suministrados fueron la Calculadora, Calendario, Cardfile, Visor del portapapeles, Reloj, Panel de control, el Bloc de notas, Paint, Reversi, Terminal y Write. Windows 1.0 no permite la superposición de ventanas, debido a que Apple Computer ya contaba con esta característica. En su lugar fueron mosaico en todas las ventanas. Solo los cuadros de diálogo podrían aparecer en otras ventanas.

Windows 1.0

Windows 2.0 fue lanzado en octubre de 1987 y presentó varias mejoras en la interfaz de usuario y en la gestión de memoria e introdujo nuevos métodos abreviados de teclado. También podría hacer uso de memoria expandida.

Windows 2.1 fue lanzado en dos diferentes versiones: Windows/386 empleando Modo 8086 virtual para realizar varias tareas de varios programas de DOS, y el modelo de memoria paginada para emular la memoria expandida utilizando la memoria extendida disponible. Windows/286 (que, a pesar de su nombre, se ejecutaría en el 8086) todavía se ejecutaba en modo real, pero podría hacer uso de la Área de memoria alta. Apple demandó a Microsoft por lo parecido del software a su sistema MacOS, Microsoft ganó la demanda.

Windows 2.0Las primeras versiones de Windows se suele considerar como interfaz gráfica de usuario simple. Incluso las primeras versiones de Windows de 16 bits ya supone muchas de las funciones típicas de sistema operativo; en particular, tener su propio formato de archivo ejecutable y proporcionar sus propios controladores de dispositivo (temporizador, gráficos, impresora, ratón, teclado y sonido) para aplicaciones.

A diferencia de MS-DOS, Windows permite a los usuarios ejecutar múltiples aplicaciones gráficas al mismo tiempo, a través de la multitarea cooperativa. Windows implementa un esquema de software elaborada, basado en el segmento memoria virtual, lo que le permitió ejecutar aplicaciones más grandes que la memoria disponible: segmentos de código y los recursos se intercambian y se tira cuando escaseaba la memoria, y segmentos de datos en la memoria cuando se trasladó una aplicación dada, había cedido el control del procesador, por lo general la espera de la entrada del usuario.

Windows 3.0 y 3.1

Windows 3.0 (1990) y Windows 3.1 (1992) mejoraron el diseño , principalmente debido a la memoria virtual y los controladores de dispositivo virtual deslastrables (VxD) que permitió compartir dispositivos arbitrarios entre DOS y Windows.

Windows 3x

Además, las aplicaciones de Windows ahora podrían ejecutar en modo protegido (cuando se ejecuta Windows en el modo estándar o 386 mejorado), que les da acceso a varios megabytes de memoria y se elimina la obligación de participar en el esquema de la memoria virtual de software. Corrían todavía dentro del mismo espacio de dirección, donde la memoria segmentada proporciona un grado de protección y multitarea cooperativa.

Para Windows 3.0, Microsoft también reescribió las operaciones críticas de C en ensamblador, haciendo esta versión más rápido y menos consumo de memoria que sus predecesores. Con la introducción de Windows for Workgroups 3.11, Windows fue capaz de eludir DOS para las operaciones de gestión de archivos mediante el acceso a archivos de 32 bits.

Windows 95, 98, y Me

Windows 95 fue lanzado en 1995, con una nueva interfaz de usuario, compatibilidad con nombres de archivo largos de hasta 250 caracteres, y la capacidad de detectar automáticamente y configurar el hardware instalado (plug and play). De forma nativa podrían ejecutar aplicaciones de 32-bits y presentó varias mejoras tecnológicas que aumentaron su estabilidad respecto a Windows 3.1. Hubo varios OEM Service Releases (OSR) de Windows 95, cada una de las cuales fue aproximadamente equivalente a un Service Pack.

Windows 95 es un sistema operativo con interfaz gráfica de usuario híbrido de entre 16 y 32 bits. Fue publicado el 24 de agosto de 1995 por la empresa de software Microsoft con notable éxito de ventas. Durante su desarrollo se conoció como Windows 4 o por el nombre Chicago.

Sustituyó a MS-DOS como sistema operativo y a Windows 3.x como entorno gráfico. Se encuadra dentro de la familia de sistemas operativos de Microsoft denominada Windows 9x. En la versión OSR2 (OEM Service Release 2)2 incorporó el sistema de archivos FAT32, además del primer atisbo del entonces novedoso USB.

Windows 95

Existen versiones tanto en disquetes como en CD-ROM. La versión en 13 disquetes utilizaba un formato no estándar conocido como DMF que les permitía almacenar una capacidad mayor a la normal de 1,44 MB. La versión en CD-ROM ofrecía una selección de accesorios y complementos multimedia mucho mayor, además de algunos controladores de dispositivos, juegos y versiones de demostración de algunos programas.

Durante la instalación se crea un disquete de rescate, con MS-DOS 7.0. Ésta versión de MS-DOS estaba restringida, ya que inhabilitaba ciertas partes que con anteriores versiones estaban disponibles a través de la BIOS del PC, como el acceso al puerto serie, en la que una llamada es simplemente devuelta sin modificación alguna, apuntando a una instrucción RET (lenguaje ensamblador), mientras que con versiones anteriores, aún apuntaban a la rutina existente en la propia BIOS.

Windows 98

El siguiente lanzamiento de Microsoft fue Windows 98 en 1998. Microsoft lanzó una segunda versión de Windows 98 en 1999, llamado Windows 98 Second Edition (a menudo acortado a Windows 98 SE).

Windows 98

Windows Millennium Edition

En el 2000, Microsoft lanza Windows Millennium Edition (comúnmente llamado Windows Me), que actualiza el núcleo de Windows 98 pero que adopta algunos aspectos de Windows 2000 y elimina (más bien, oculta) la opción de «Arrancar en modo DOS». También añade una nueva característica denominada «Restaurar sistema», que permite al usuario guardar y restablecer la configuración del equipo en una fecha anterior.

Windows Millennium Edition

Familia NT

La familia de sistemas Windows NT fue hecha y comercializada por un mayor uso de fiabilidad de negocios. El primer lanzamiento fue de MS Windows NT 3.1 (1993), el número «3.1» para que coincida con la versión para Windows, que fue seguido por NT 3.5 (1994), NT 3.51 (1995), NT 4.0 (1996), y Windows 2000 (2000). 2000 es la última versión de Windows NT, que no incluye la activación de productos de Microsoft. NT 4.0 fue el primero en esta línea para implementar la interfaz de usuario de Windows 95 (y el primero en incluir tiempos de ejecución de 32 bits integrada de Windows 95).

Windows 2000

Microsoft comenzó a combinar sus negocios de consumo y sistemas operativos con Windows XP, que viene tanto en las versiones Home y Professional (y las versiones posteriores de mercado para Tablet PC y centros multimedia), y también se separaron los calendarios de lanzamiento para los sistemas operativos de servidor.

Windows Server 2003 fue lanzado un año y medio después de Windows XP. Después de un proceso largo de desarrollo, Windows Vista fue lanzado hacia el final de 2006, y su homólogo de servidor, Windows Server 2008 fue lanzado a principios de 2008. El 22 de julio de 2009, Windows 7 y Windows Server 2008 R2 se publicaron como RTM (versión de disponibilidad general). Windows 7 fue lanzado el 22 de octubre de 2009.

Windows CE, la oferta de Microsoft en los mercados móviles e integrados, es también un verdadero sistema operativo 32 bits que ofrece diversos servicios para todas las subestaciones de trabajo de explotación.

Windows XP

Sistemas operativos de 64 bits

Windows NT incluye soporte para varias plataformas diferentes antes de x86 - basado en ordenador personal se convirtió en dominante en el mundo profesional. Versiones de NT desde 3.1 a 4.0 diversamente compatibles PowerPC, DEC Alpha y MIPS R4000, algunos de los cuales contaban con procesadores de 64 bits, aunque el sistema operativo los trató como procesadores de 32 bits.

Con la introducción de la arquitectura Intel Itanium, que se conoce como IA-64, Microsoft lanzó nuevas versiones de Windows para apoyarlo. Las versiones Itanium de Windows XP y Windows Server 2003 fueron liberadas al mismo tiempo que con sus principales contrapartes x86 (32-bit).

El 25 de Abril de 2005, Microsoft lanzó Windows XP Professional x64 Edition y x64 versión de Windows Server 2003 para el apoyo de x86-64 (o x64 en la terminología de Microsoft). Microsoft eliminó el soporte para la versión de Itanium de Windows XP en 2005.

Windows Vista es la primera versión de usuario final de Windows que Microsoft ha publicado simultáneamente en las ediciones de x86 y x64. Windows Vista no es compatible con la arquitectura Itanium.

Windows Vista

La familia de Windows de 64 bits moderna comprende a AMD64/intel64 versiones de Windows Vista y Windows Server 2008 en tanto en Itanium y en ediciones x64. Windows Server 2008 R2 cae la versión de 32 bits, y Windows 7 que también está en versiones de 32 bits (para mantener la compatibilidad).

Windows 7
Windows CE

Windows CE (oficialmente conocido como Windows Embedded), es una edición de Windows que se ejecuta en equipos minimalistas, tales como sistemas de navegación por satélite y, excepcionalmente, los teléfonos móviles. Windows Embedded se ejecuta como CE, en lugar de NT, por lo que no debe confundirse con Windows XP Embedded, que es NT. Windows CE que se utilizó en la Dreamcast junto con sistema operativo propietario de Sega para la consola. Windows CE es el núcleo del que deriva Windows Mobile.

 

Historia de los SO Windows

La primera versión de Microsoft Windows, versión 1.0, lanzada en noviembre de 1985, compitió con el sistema operativo de Apple. Carecía de un cierto grado de funcionalidad y logró muy poca popularidad. Windows 1.0 no era un sistema operativo completo; más bien era una extensión gráfica de MS-DOS.

Windows versión 2.0 fue lanzado en noviembre de 1987 y fue un poco más popular que su predecesor. Windows 2.03 (lanzado en enero de 1988) incluyó por primera vez ventanas que podían solaparse unas a otras. El resultado de este cambio llevó a Apple a presentar una demanda contra Microsoft, debido a que infrigían derechos de autor.

Windows versión 3.0, lanzado en 1990, fue la primera versión de Microsoft Windows que consiguió un amplio éxito comercial, vendiendo 2 millones de copias en los primeros seis meses. Presentaba mejoras en la interfaz de usuario y en la multitarea. Recibió un lavado de cara en Windows 3.1, que se hizo disponible para el público en general el 1 de marzo de 1992. El soporte de Windows 3.1 termino el 31 de diciembre de 2001.

En julio de 1993, Microsoft lanzó Windows NT basado en un nuevo kernel. NT era considerado como el sistema operativo profesional y fue la primera versión de Windows para utilizar la multitarea preemptiva. Windows NT más tarde sería reestructurado también para funcionar como un sistema operativo para el hogar, con Windows XP.

El 24 de agosto de 1995, Microsoft lanzó Windows 95, una versión nueva para los consumidores, y grandes fueron los cambios que se realizaron a la interfaz de usuario, y también se utiliza multitarea preemptiva. Windows 95 fue diseñado para sustituir no solo a Windows 3.1, sino también de Windows para Workgroups y MS-DOS. También fue el primer sistema operativo Windows para utilizar las capacidades Plug and Play.

Los cambios que trajo Windows 95 eran revolucionarios, a diferencia de los siguientes, como Windows 98 y Windows Me. El soporte estándar para Windows 95 finalizó el 31 de diciembre de 2000 y el soporte ampliado para Windows 95 finalizó el 31 de diciembre de 2001.

El siguiente en la línea de consumidor fue lanzado el 25 de junio de 1998, Microsoft Windows 98. Sustancialmente fue criticado por su lentitud y por su falta de fiabilidad en comparación con Windows 95, pero muchos de sus problemas básicos fueron posteriormente rectificados con el lanzamiento de Windows 98 Second Edition en 1999. El soporte estándar para Windows 98 terminó el 30 de junio de 2002, y el soporte ampliado para Windows 98 terminó el 11 de julio de 2006.

Como parte de su línea «profesional», Microsoft lanzó Windows 2000 en febrero de 2000. La versión de consumidor tras Windows 98 fue Windows Me (Windows Millennium Edition). Lanzado en septiembre de 2000, Windows Me implementaba una serie de nuevas tecnologías para Microsoft: en particular fue el «Universal Plug and Play». Durante el 2004 parte del código fuente de Windows 2000 se filtró en internet, esto era malo para Microsoft porque el mismo núcleo utilizado en Windows 2000 se utilizó en Windows XP.

En octubre de 2001, Microsoft lanzó Windows XP, una versión que se construyó en el kernel de Windows NT que también conserva la usabilidad orientada al consumidor de Windows 95 y sus sucesores. En dos ediciones distintas, «Home» y «Professional», el primero carece por mucho de la seguridad y características de red de la edición Professional.

Además, la primera edición «Media Center» fue lanzada en 2002, con énfasis en el apoyo a la funcionalidad de DVD y TV, incluyendo grabación de TV y un control remoto. El soporte estándar para Windows XP terminó el 14 de abril de 2009. El soporte extendido continuará hasta el 8 de abril de 2014.

En abril de 2003, Windows Server 2003 se introdujo, reemplazando a la línea de productos de servidor de Windows 2000 con un número de nuevas características y un fuerte enfoque en la seguridad; lo cual fue seguido en diciembre de 2005 por Windows Server 2003 R2.

El 30 de enero de 2007, Microsoft lanzó Windows Vista. Contiene una serie de características nuevas, desde un shell rediseñado y la interfaz de usuario da importantes cambios técnicos, con especial atención a las características de seguridad. Está disponible en varias ediciones diferentes y ha sido objeto de muy severas críticas debido a su patente inestabilidad, sobredemanda de recursos de hardware, alto costo, y muy alta incompatibilidad con sus predecesores, hecho que no ocurría con éstos.

El 22 de octubre de 2009, Microsoft lanzó Windows 7. A diferencia de su predecesor, Windows Vista, que introdujo a un gran número de nuevas características, Windows 7 pretendía ser una actualización incremental, enfocada a la línea de Windows, con el objetivo de ser compatible con aplicaciones y hardware que Windows Vista no era compatible.

Windows 7 tiene soporte multi-touch, un shell de Windows rediseñado con una nueva barra de tareas, conocido como Superbar, un sistema red llamado Home Group (Grupo Hogar), y mejoras en el rendimiento sobre todo en velocidad y en menor consumo de recursos, aunque sorprendentemente continúa siendo muy propenso a ataque por virus informáticos.

Historial de lanzamientos de MS Windows

Versiones y cuotas de uso

Fuente Net Market Share W3
Counter
Global Stats StatOwl W3Schools Promedio
Dato Marzo 2011 Marzo 2011 Marzo 2011 Marzo 2011 Marzo 2011 Marzo 2011
Todas las versiones 89,58% 82,76% 91,58% 86,75% 86% 87,33%
Windows XP 54,39% 40,46% 47,32% 40,14% 42,9% 45,04%
Windows 7 24,17% 29,13% 30,6% 28,08% 34,1% 29,21%
Windows Vista 10,56% 12,83% 13,66% 17,12% 7,9% 12,41%
Windows Server 2003 0,18% 1,19% 0,9% 0,75%
Windows 2000 0,25% 0,16% 0,22% 0,2% 0,20%
Windows NT 4.0 0,16% 0,16%
Windows 98 0,03% 0,03%
Windows CE 0,02% 0,02%

 

Aplicaciones de Windows

Internet Explorer

Internet Explorer Windows Internet Explorer (también conocido como IE) es un navegador web de Internet producido por Microsoft para su plataforma Windows. También existieron versiones para Solaris y Apple Macintosh aunque fueron descontinuadas en el 2002 y 2006 respectivamente.

Fue creado en 1995 tras la adquisición por parte de Microsoft del código fuente de Mosaic, un navegador desarrollado por Spyglass, siendo rebautizado entonces como Internet Explorer.

Las primeras versiones, basadas en Mosaic, no supusieron ninguna amenaza para el entonces dominante Netscape Navigator, ya que eran bastante simples y no eran compatibles con algunas de las extensiones más populares de Netscape que dominaban la web de la época (como los marcos o JavaScript).

IE es el navegador de Internet con mayor cuota de mercado, ya que se incluye integrado por defecto con Windows, hecho que le ha costado a Microsoft demandas por monopolio en Europa.12

Reproductor de Windows Media

Reproductor de Windows Media Windows Media Player, Reproductor de Windows Media (abreviado WMP) es un reproductor multimedia creado por Microsoft. Se han lanzado varias versiones del reproductor, siendo la versión 12 la última existente, que se incluye con Windows 7.

Permite la reproducción de varios formatos como Audio CD, DVD-Video, DVD-Audio, WMA (Windows Media Audio), WMV (Windows Media Video), MP3, MPG, AVI, entre otros, siempre y cuando se dispongan de los códecs correspondientes. Incluye acceso a vídeo en formato digital en servidores de pago.

También da la posibilidad de pasar canciones de un CD al disco duro de la computadora, y al contrario, de la computadora a un CD de música o de datos.

Además busca por Internet los nombres de las canciones y álbumes, y muestra la carátula del disco del cual provienen dichas canciones.

Windows Defender

Windows Defender Windows Defender es un programa de seguridad cuyo propósito es prevenir, quitar y poner en cuarentena software espía en Microsoft Windows. Es incluido y activado por defecto en Windows Vista y Windows 7 y está disponible como descarga gratuita para Windows XP y Windows Server 2003.

Windows Media Center

Windows Media Center es una aplicación con una interfaz de usuario, diseñado para servir como equipo personal de cine en casa.

Windows Media CenterEstá incluido en Windows XP Media Center Edition como parte de dicha versión especial del sistema operativo, ya que la aplicación no puede ser añadida a una instalación existente de XP.

También se incluye en las ediciones superiores de Windows Vista (Vista Home Premium y Vista Ultimate) y Windows 7 (todas las ediciones exceptuando Starter y Home Basic).

WordPadWordPad

WordPad es un procesador de textos básico que se incluye con casi todas las versiones de Microsoft Windows desde Windows 95 hacia arriba. Es más avanzado que el Bloc de notas pero más sencillo que el procesador de textos de Microsoft Works y Microsoft Word.

Paint

Paint Microsoft Paint (cuyo nombre original era Paintbrush) fue desarrollado en el año 1982 por la recién creada Microsoft, a cargo del programador de computadoras Bill Gates.

Paint ha acompañado al sistema operativo Microsoft Windows desde la versión 1.0. Siendo un programa básico, es incluido en las nuevas versiones de este sistema.

-----------------------------------------------------------

Sistema de archivos de Windows

El sistema de archivos utilizado por estos sistemas operativos comenzó siendo FAT16 o simplemente FAT. La primera versión de Windows en incorporar soporte nativo para FAT32 fue Windows 95 OSR2. Por otro lado, los sistemas operativos basados en NT emplean los sistemas de archivos NTFS desde el origen y a partir de Windows 2000 se otorgó también soporte para FAT32.

-----------------------------------------------------------

MS Windows: Críticas y polémicas

Windows, ya desde sus inicios, ha estado envuelto en la polémica. Al principio se decía que “Windows era una copia del sistema operativo de Apple”; más adelante se hablaba de si existía competencia desleal con algunos programas que se incluían dentro del sistema. Con la aparición del software libre las polémicas se orientan a la política de código cerrado de Microsoft.

Las mayores críticas que recibió Windows hasta la versión Windows XP Service Pack 2 era la estabilidad del sistema, el sistema operativo presentaba varios fallos de distinta índole y gravedad, los cuales fueron disminuyendo con el correr de las versiones. Desde Microsoft siempre expresaron que estos fallos se debían a aplicaciones externas a Windows, pero algunos fallos se producían apenas instalado el sistema, sin siquiera haber agregado programa alguno.

Otra crítica que se le hace al sistema, específicamente a Windows Vista, es la gran cantidad de recursos que el sistema que consume, estando «sobrecargado» de objetos, los cuales hacen que los computadores poco potentes no soporten adecuadamente el sistema y no ofrezcan al usuario una experiencia fluida de uso.

Debido al fracaso comercial de Windows Vista, Microsoft lanzó un parche para hacer «downgrade» hacia Windows XP en las versiones Business, Entreprise y Ultimate.

Microsoft lanzó una campaña, llamada «Get the facts», en la que muestra cientos de empresas conocidas que migraron de GNU/Linux a Windows Server y aumentaron su productividad.

Los defensores de GNU/Linux desarrollaron su propio estudio argumentando que, en contra de uno de los reclamos de Microsoft, GNU/Linux tiene menores costos administrativos que servidores basados en Windows. Otro estudio realizado por el Yankee Group afirma que la actualización desde una versión de Windows Server a otra plataforma tiene un coste inferior al de cambiar de GNU/Linux a Windows Server.

Seguridad en MS Windows

Una de las principales críticas que con frecuencia reciben los sistemas operativos Windows es la debilidad del sistema en lo que a seguridad se refiere, y el alto índice de vulnerabilidades críticas. El propio Bill Gates, fundador de Microsoft, ha asegurado en repetidas ocasiones que la seguridad es objetivo primordial para su empresa.

Partiendo de la base de que no existe un sistema completamente libre de errores, las críticas se centran en la lentitud con la que la empresa reacciona ante un problema de seguridad que pueden llegar a meses, o incluso años de diferencia desde que se avisa de la vulnerabilidad, hasta que se publica un parche.

En algunos casos la falta de respuesta por parte de Microsoft ha provocado que se desarrollen parches que arreglan problemas de seguridad hechos por terceros.

Uno de los pilares en que se basa la seguridad de los productos Windows es la seguridad por ocultación, en general, un aspecto característico del software propietario que sin embargo parece ser uno de los responsables de la debilidad de este sistema operativo ya que, la propia seguridad por ocultación, constituye una infracción del principio de Kerckhoff, el cual afirma que “la seguridad de un sistema reside en su diseño, y no en una supuesta ignorancia del diseño por parte del atacante”.

Fuente: Wikipedia

Ver también:

¿Qué es el Sistema Operativo?

Historia de la computación

Seguir leyendo...

16 de marzo de 2011

¿Qué es el Sistema Operativo?

Definición de Sistema Operativo:

“Un sistema operativo (SO) es el programa o conjunto de programas que efectúan la gestión de los procesos básicos de un sistema informático, y permite la normal ejecución del resto de las operaciones”.

Nótese que es un error común muy extendido denominar al conjunto completo de herramientas sistema operativo, es decir, la inclusión en el mismo término de programas como el explorador de ficheros, el navegador y todo tipo de herramientas que permiten la interacción con el sistema operativo, también llamado núcleo o kernel. Uno de los más prominentes ejemplos de esta diferencia, es el núcleo Linux, que es el núcleo del sistema operativo GNU, del cual existen las llamadas distribuciones GNU.

Interacción entre el SO con el resto de las partes Este error de precisión, se debe a la modernización de la informática llevada a cabo a finales de los 80, cuando la filosofía de estructura básica de funcionamiento de los grandes computadores se rediseñó a fin de llevarla a los hogares y facilitar su uso, cambiando el concepto de computador multiusuario, (muchos usuarios al mismo tiempo) por un sistema monousuario (únicamente un usuario al mismo tiempo) más sencillo de gestionar.

Uno de los propósitos del sistema operativo que gestiona el núcleo intermediario consiste en gestionar los recursos de localización y protección de acceso del hardware, hecho que alivia a los programadores de aplicaciones de tener que tratar con estos detalles. La mayoría de aparatos electrónicos que utilizan microprocesadores para funcionar, llevan incorporado un sistema operativo. (teléfonos móviles, reproductores de DVD, computadoras, radios, enrutadores, etc).

 

Historia de los primeros sistemas

Los primeros sistemas (1945-1960) eran grandes máquinas operadas desde la consola maestra por los programadores. Durante la década siguiente (1950-1960) se llevaron a cabo avances en el hardware: lectoras de tarjetas, impresoras, cintas magnéticas, etc. Esto a su vez provocó un avance en el software: compiladores, ensambladores, cargadores, manejadores de dispositivos, etc.

A finales de los años 80, una computadora Commodore Amiga equipada con una aceleradora Video Toaster era capaz de producir efectos comparados a sistemas dedicados que costaban el triple. Un Video Toaster junto a Lightwave ayudó a producir muchos programas de televisión y películas, entre las que se incluyen Babylon 5, Seaquest DSV y Terminator II.

Problemas de explotación y soluciones iniciales

El problema principal de los primeros sistemas era la baja utilización de los mismos, la primera solución fue poner un operador profesional que lo manejase, con lo que se eliminaron las hojas de reserva, se ahorró tiempo y se aumentó la velocidad.

Para ello, los trabajos se agrupaban de forma manual en lotes mediante lo que se conoce como procesamiento por lotes (batch) sin automatizar.

Monitores residentes

Fichas en lenguaje de procesamiento por lotes, con programa y datos, para ejecución secuencial.

Según fue avanzando la complejidad de los programas, fue necesario implementar soluciones que automatizaran la organización de tareas sin necesidad de un operador. Debido a ello se crearon los monitores residentes: programas que residían en memoria y que gestionaban la ejecución de una cola de trabajos.

Un monitor residente estaba compuesto por un cargador, un Intérprete de comandos y un Controlador (drivers) para el manejo de entrada/salida.

Sistemas con almacenamiento temporal de E/S

Los avances en el hardware crearon el soporte de interrupciones y posteriormente se llevó a cabo un intento de solución más avanzado: solapar la E/S de un trabajo con sus propios cálculos, por lo que se creó el sistema de buffers con el siguiente funcionamiento:

  • Un programa escribe su salida en un área de memoria (buffer 1).
  • El monitor residente inicia la salida desde el buffer y el programa de aplicación calcula depositando la salida en el buffer 2.
  • La salida desde el buffer 1 termina y el nuevo cálculo también.
  • Se inicia la salida desde el buffer 2 y otro nuevo cálculo dirige su salida al buffer 1.
  • El proceso se puede repetir de nuevo.

Los problemas surgen si hay muchas más operaciones de cálculo que de E/S (limitado por la CPU) o si por el contrario hay muchas más operaciones de E/S que cálculo (limitado por la E/S).

Spoolers

Hace aparición el disco magnético con lo que surgen nuevas soluciones a los problemas de rendimiento. Se eliminan las cintas magnéticas para el volcado previo de los datos de dispositivos lentos y se sustituyen por discos (un disco puede simular varias cintas).

Debido al solapamiento del cálculo de un trabajo con la E/S de otro trabajo se crean tablas en el disco para diferentes tareas, lo que se conoce como Spool (Simultaneous Peripherial Operation On-Line).

Sistemas operativos multiprogramados

Surge un nuevo avance en el hardware: el hardware con protección de memoria. Lo que ofrece nuevas soluciones a los problemas de rendimiento:

  • Se solapa el cálculo de unos trabajos con la entrada/salida de otros trabajos.
  • Se pueden mantener en memoria varios programas.
  • Se asigna el uso de la CPU a los diferentes programas en memoria.

Debido a los cambios anteriores, se producen cambios en el monitor residente, con lo que éste debe abordar nuevas tareas, naciendo lo que se denomina como Sistemas Operativos multiprogramados, los cuales cumplen con las siguientes funciones:

  • Administrar la memoria.
  • Gestionar el uso de la CPU (planificación).
  • Administrar el uso de los dispositivos de E/S.

Cuando desempeña esas tareas, el monitor residente se transforma en un sistema operativo multiprogramado.

 

Llamadas al sistema operativo

Definición breve: llamadas que ejecutan los programas de aplicación para pedir algún servicio al SO.

Cada SO implementa un conjunto propio de llamadas al sistema. Ese conjunto de llamadas es la interfaz del SO frente a las aplicaciones. Constituyen el lenguaje que deben usar las aplicaciones para comunicarse con el SO. Por ello si cambiamos de SO, y abrimos un programa diseñado para trabajar sobre el anterior, en general el programa no funcionará, a no ser que el nuevo SO tenga la misma interfaz. Para ello:

  • Las llamadas correspondientes deben tener el mismo formato.
  • Cada llamada al nuevo SO tiene que dar los mismos resultados que la correspondiente del anterior.
Modos de ejecución en un CPU

Las aplicaciones no deben poder usar todas las instrucciones de la CPU. No obstante el Sistema Operativo, tiene que poder utilizar todo el juego de instrucciones del CPU. Por ello, una CPU debe tener (al menos) dos modos de operación diferentes:

  • Modo usuario: el CPU podrá ejecutar sólo las instrucciones del juego restringido de las aplicaciones.
  • Modo supervisor: la CPU debe poder ejecutar el juego completo de instrucciones.
Llamadas al sistema

Una aplicación, normalmente no sabe dónde está situada la rutina de servicio de la llamada. Por lo que si ésta se codifica como una llamada de función, cualquier cambio en el S.O. haría que hubiera que reconstruir la aplicación.

Pero lo más importante es que una llamada de función no cambia el modo de ejecución de la CPU. Con lo que hay que conseguir llamar a la rutina de servicio, sin tener que conocer su ubicación, y hacer que se fuerce un cambio de modo de operación de la CPU en la llamada (y la recuperación del modo anterior en el retorno).

Esto se hace utilizando instrucciones máquina diseñadas específicamente para este cometido, distintas de las que se usan para las llamadas de función.

Bibliotecas de interfaz de llamadas al sistema

Las llamadas al sistema no siempre tienen una expresión sencilla en los lenguajes de alto nivel, por ello se crean las bibliotecas de interfaz, que son bibliotecas de funciones que pueden usarse para efectuar llamadas al sistema. Las hay para distintos lenguajes de programación.

La aplicación llama a una función de la biblioteca de interfaz (mediante una llamada normal) y esa función es la que realmente hace la llamada al sistema.

 

Interrupciones y excepciones

El SO ocupa una posición intermedia entre los programas de aplicación y el hardware. No se limita a utilizar el hardware a petición de las aplicaciones ya que hay situaciones en las que es el hardware el que necesita que se ejecute código del SO. En tales situaciones el hardware debe poder llamar al sistema, pudiendo deberse estas llamadas a dos condiciones:

  • Algún dispositivo de E/S necesita atención.
  • Se ha producido una situación de error al intentar ejecutar una instrucción del programa (normalmente de la aplicación).

En ambos casos, la acción realizada no está ordenada por el programa de aplicación, es decir, no figura en el programa.

Según los dos casos anteriores tenemos las interrupciones y la excepciones:

  • Interrupción: señal que envía un dispositivo de E/S a la CPU para indicar que la operación de la que se estaba ocupando, ya ha terminado.
  • Excepción: una situación de error detectada por la CPU mientras ejecutaba una instrucción, que requiere tratamiento por parte del SO.
Tratamiento de las interrupciones

Una interrupción se trata en todo caso, después de terminar la ejecución de la instrucción en curso.

El tratamiento depende de cuál sea el dispositivo de E/S que ha causado la interrupción, ante la cual debe poder identificar el dispositivo que la ha causado.

La ventaja de este procedimiento es que no se tiene que perder tiempo ejecutando continuamente rutinas para consultar el estado del periférico. El inconveniente es que el dispositivo debe tener los circuitos electrónicos necesarios para acceder al sistema de interrupciones del computador.

Importancia de las interrupciones

El mecanismo de tratamiento de las interrupciones permite al SO utilizar la CPU en servicio de una aplicación, mientras otra permanece a la espera de que concluya una operación en un dispositivo de E/S.

El hardware se encarga de avisar al SO cuando el dispositivo de E/S ha terminado y el SO puede intervenir entonces, si es conveniente, para hacer que el programa que estaba esperando por el dispositivo, se continúe ejecutando.

En ciertos intervalos de tiempo puede convenir no aceptar señales de interrupción. Por ello las interrupciones pueden inhibirse por programa (aunque esto no deben poder hacerlo las mismas).

Un ejemplo de sincronismo por interrupción es el almacenamiento de caracteres introducidos mediante el teclado. Cuando se introduce un carácter, se codifica en el registro de datos del dispositivo y además se activa un bit del registro de estado quien crea una interrupción en el hardware. El procesador deja temporalmente la tarea que estaba completando y ejecuta la rutina de atención a la interrupción correspondiente. El teclado almacena el carácter en el vector de memoria intermedia (también llamado buffer) asociada al teclado y despierta el proceso que había en el estado de espera de la operación de entrada/salida.

Excepciones

Cuando la CPU intenta ejecutar una instrucción incorrectamente construida, la unidad de control lanza una excepción para permitir al SO ejecutar el tratamiento adecuado. Al contrario que en una interrupción, la instrucción en curso es abortada. Las excepciones al igual que las interrupciones deben estar identificadas.

Clases de excepciones

Las instrucciones de un programa pueden estar mal construidas por diversas razones:

  • El código de operación puede ser incorrecto.
  • Se intenta realizar alguna operación no definida, como dividir por cero.
  • La instrucción puede no estar permitida en el modo de ejecución actual.
  • La dirección de algún operando puede ser incorrecta o se intenta violar alguno de sus permisos de uso.
Importancia de las excepciones

El mecanismo de tratamiento de las excepciones es esencial para impedir, junto a los modos de ejecución de la CPU y los mecanismos de protección de la memoria, que las aplicaciones realicen operaciones que no les están permitidas. En cualquier caso, el tratamiento específico de una excepción lo realiza el SO.

Como en el caso de las interrupciones, el hardware se limita a dejar el control al SO, y éste es el que trata la situación como convenga.

Es bastante frecuente que el tratamiento de una excepción no retorne al programa que se estaba ejecutando cuando se produjo la excepción, sino que el SO aborte la ejecución de ese programa. Este factor depende de la pericia del programador para controlar la excepción adecuadamente.

 

Componentes de un sistema operativo

Componentes del Sistema Operativo.

Gestión de procesos

Un proceso es simplemente, un programa en ejecución que necesita recursos para realizar su tarea: tiempo de CPU, memoria, archivos y dispositivos de E/S. El SO es el responsable de:

  • Crear y destruir los procesos.
  • Parar y reanudar los procesos.
  • Ofrecer mecanismos para que se comuniquen y sincronicen.

La gestión de procesos podría ser similar al trabajo de oficina. Se puede tener una lista de tareas a realizar y a estas fijarles prioridades alta, media, baja por ejemplo. Debemos comenzar haciendo las tareas de prioridad alta primero y cuando se terminen seguir con las de prioridad media y después las de baja. Una vez realizada la tarea se tacha.

Esto puede traer un problema que las tareas de baja prioridad pueden que nunca lleguen a ejecutarse y permanezcan en la lista para siempre. Para solucionar esto, se puede asignar alta prioridad a las tareas más antiguas.

Gestión de la memoria principal

La Memoria es una gran tabla de palabras o bytes que se referencian cada una mediante una dirección única. Este almacén de datos de rápido accesos es compartido por la CPU y los dispositivos de E/S, es volátil y pierde su contenido en los fallos del sistema. El SO es el responsable de:

  • Conocer qué partes de la memoria están siendo utilizadas y por quién.
  • Decidir qué procesos se cargarán en memoria cuando haya espacio disponible.
  • Asignar y reclamar espacio de memoria cuando sea necesario.
Gestión del almacenamiento secundario

Un sistema de almacenamiento secundario es necesario, ya que la memoria principal (almacenamiento primario) es volátil y además muy pequeña para almacenar todos los programas y datos. También es necesario mantener los datos que no convenga mantener en la memoria principal. El SO se encarga de:

  • Planificar los discos.
  • Gestionar el espacio libre.
  • Asignar el almacenamiento.
  • Verificar que los datos se guarden en orden.
El sistema de E/S

Consiste en un sistema de almacenamiento temporal (caché), una interfaz de manejadores de dispositivos y otra para dispositivos concretos. El sistema operativo debe gestionar el almacenamiento temporal de E/S y servir las interrupciones de los dispositivos de E/S.

Sistema de archivos

Los archivos son colecciones de información relacionada, definidas por sus creadores. Éstos almacenan programas (en código fuente y objeto) y datos tales como imágenes, textos, información de bases de datos, etc. El SO es responsable de:

  • Construir y eliminar archivos y directorios.
  • Ofrecer funciones para manipular archivos y directorios.
  • Establecer la correspondencia entre archivos y unidades de almacenamiento.
  • Realizar copias de seguridad de archivos.

Existen diferentes Sistemas de Archivos, es decir, existen diferentes formas de organizar la información que se almacena en las memorias (normalmente discos) de los ordenadores. Por ejemplo, existen los sistemas de archivos FAT, FAT32, EXT3, NTFS, XFS, etc.

Desde el punto de vista del usuario estas diferencias pueden parecer insignificantes a primera vista, sin embargo, existen diferencias muy importantes. Por ejemplo, los sistemas de ficheros FAT32 y NTFS, que se utilizan fundamentalmente en sistemas operativos de Microsoft, tienen una gran diferencia para un usuario que utilice una base de datos con bastante información ya que el tamaño máximo de un fichero con un sistema de archivos FAT32 está limitado a 4 gigabytes, sin embargo, en un sistema NTFS el tamaño es considerablemente mayor.

Sistemas de protección

Mecanismo que controla el acceso de los programas o los usuarios a los recursos del sistema. El SO se encarga de:

  • Distinguir entre uso autorizado y no autorizado.
  • Especificar los controles de seguridad a realizar.
  • Forzar el uso de estos mecanismos de protección.
Sistema de comunicaciones

Para mantener las comunicaciones con otros sistemas es necesario poder controlar el envío y recepción de información a través de las interfaces de red. También hay que crear y mantener puntos de comunicación que sirvan a las aplicaciones para enviar y recibir información, y crear y mantener conexiones virtuales entre aplicaciones que están ejecutándose localmente y otras que lo hacen remotamente.

Programas de sistema

Son aplicaciones de utilidad que se suministran con el SO pero no forman parte de él. Ofrecen un entorno útil para el desarrollo y ejecución de programas, siendo algunas de las tareas que realizan:

  • Manipulación y modificación de archivos.
  • Información del estado del sistema.
  • Soporte a lenguajes de programación.
  • Comunicaciones.
Gestor de recursos

Como gestor de recursos, el Sistema Operativo administra:

  • La CPU (Unidad Central de Proceso, donde está alojado el microprocesador).
  • Los dispositivos de E/S (entrada y salida)
  • La memoria principal (o de acceso directo).
  • Los discos (o memoria secundaria).
  • Los procesos (o programas en ejecución).
  • y en general todos los recursos del sistema.

 

Clasificación de los Sistemas Operativos según:

1) Administración de tareas
  • Monotarea: Solamente puede ejecutar un proceso (aparte de los procesos del propio S.O) en un momento dado. Una vez que empieza a ejecutar un proceso, continuará haciéndolo hasta su finalización y/o interrupción.
  • Multitarea: Es capaz de ejecutar varios procesos al mismo tiempo. Este tipo de S.O. normalmente asigna los recursos disponibles (CPU, memoria, periféricos) de forma alternada a los procesos que los solicitan, de manera que el usuario percibe que todos funcionan a la vez, de forma concurrente.
2) Administración de usuarios
  • Monousuario: Si sólo permite ejecutar los programas de un usuario al mismo tiempo.
  • Multiusuario: Si permite que varios usuarios ejecuten simultáneamente sus programas, accediendo a la vez a los recursos de la computadora. Normalmente estos sistemas operativos utilizan métodos de protección de datos, de manera que un programa no pueda usar o cambiar los datos de otro usuario.
3) Manejo de recursos
  • Centralizado: Si permite usar los recursos de una sola computadora.
  • Distribuido: Si permite utilizar los recursos (memoria, CPU, disco, periféricos... ) de más de una computadora al mismo tiempo.
Ejemplos de Sistemas Operativos (Equipos de escritorio)
  • Estimación del uso de sistemas operativos según una muestra de computadoras con acceso a Internet en Noviembre de 2009Windows
  • Mac OS
  • Linux
  • AmigaOS
  • Unix
Ejemplos de Sistemas Operativos (Dispositivos Moviles)
  • Symbian
  • Android
  • iOS
  • Windows Mobile
  • BlackBerry OS
  • Palm OS

 

Fuente: Wikipedia

Seguir leyendo...