sábado, 14 de febrero de 2015

Historia Y Evolución De Los Sistemas Operativos


Sistema Operativo.

Un sistema operativo es un programa o conjunto de programas de computadora destinado a permitir una gestión eficaz de sus recursos. Comienza a trabajar cuando se enciende el computador, y gestiona el hardware de la máquina desde los niveles más básicos, permitiendo también la interacción con el usuario.

Un sistema operativo se puede encontrar normalmente en la mayoría de los aparatos electrónicos que utilicen microprocesadores para funcionar, ya que gracias a estos podemos entender la máquina y que ésta cumpla con sus funciones.

Funciones Básicas.

Los sistemas operativos, en su condición de capa software que posibilita y simplifica el manejo de la computadora, desempeñan una serie de funciones básicas esenciales para la gestión del equipo, podemos reseñar las siguientes:

Proporcionar comodidad en el uso de un computador.

Gestionar de manera eficiente los recursos del equipo, ejecutando servicios para los procesos (programas)

Brindar una interfaz al usuario, ejecutando instrucciones (comando).

Historia y Evolución de los Sistemas Operativos.

Todo empezó en la década de los 40.

A finales de los años 1940, con lo que podríamos llamar la aparición de la primera generación de computadoras, se accedía directamente a la consola de la computadora desde la cual se actuaba sobre una serie de micro-interruptores que permitían introducir directamente el programa en la memoria de la computadora (en realidad al existir tan pocas computadoras todos podrían considerarse prototipos y cada constructor lo hacía sin seguir ningún criterio predeterminado). Por aquel entonces no existían los sistemas operativos, y los programadores debían interactuar con el hardware del computador sin ayuda externa. Esto hacía que el tiempo de preparación para realizar una tarea fuera considerable. Además para poder utilizar la computadora debía hacerse por turnos. Para ello, en muchas instalaciones, se rellenaba un formulario de reserva en el que se indicaba el tiempo que el programador necesitaba para realizar su trabajo, todo se hacía en lenguaje de máquina.

Años 50.

A principios de los años 50 con el objeto de facilitar la interacción entre persona y computador, los sistemas operativos hacen una aparición discreta y bastante simple, con conceptos tales como el monitor residente, el proceso por lotes y el almacenamiento temporal.

Monitor residente




Procesamiento por lotes

Como solución para optimizar el tiempo de montaje surgió la idea de agrupar los trabajos en lotes, en una misma cinta o conjunto de tarjetas, de forma que se ejecutaran uno a continuación de otro sin perder apenas tiempo en la transición.

Almacenamiento temporal

Su objetivo era disminuir el tiempo de carga de los programas, haciendo simultánea la carga del programa o la salida de datos con la ejecución de la siguiente tarea. Para ello se utilizaban dos técnicas, el buffering y el spool.


Años 60.

En los años 1960 se produjeron cambios notorios en varios campos de la informática, con la aparición del circuito cerrado la mayoría orientados a seguir incrementando el potencial de los computadores. Para ello se utilizaban técnicas de lo más diversas:

Multiprogramación

En un sistema multiprogramado la memoria principal alberga a más de un programa de usuario. La CPU ejecuta instrucciones de un programa, cuando el que se encuentra en ejecución realiza una operación de E/S; en lugar de esperar a que termine la operación de E/S, se pasa a ejecutar otro programa. Si éste realiza, a su vez, otra operación de E/S, se mandan las órdenes oportunas al controlador, y pasa a ejecutarse otro. De esta forma es posible, teniendo almacenado un conjunto adecuado de tareas en cada momento, utilizar de manera óptima los recursos disponibles.

Tiempo compartido


Tiempo real


Multiprocesador

Permite trabajar con máquinas que poseen más de un microprocesador. En un multiprocesador los procesadores comparten memoria y reloj.

Sistemas operativos desarrollados

Además del Atlas Supervisor y el OS/360, los sesenta marcaron el inicio de UNIX, a mediados de los 60 aparece Multics, sistema operativo multiusuario–multitarea desarrollado por los laboratorios Bell de AT&T y programado en PL/1 uno de los pocos SO desarrollados en un lenguaje de alto nivel en aquel tiempo, luego del fracaso del proyecto UNIX comienza a desarrollarse a partir de este a finales de la década.

Años 70.

Debido al avance de la electrónica, pudieron empezar a crearse circuitos con miles de transistores en un centímetro cuadrado de silicio, lo que llevaría, pocos años después, a producirse los primeros sistemas integrados. Ésta década se podría definir como la de los sistemas de propósito general y en ella se desarrollan tecnologías que se siguen utilizando en la actualidad. Es en el año 1970 cuando se produce el boom de los miniordenadores y la informática se acerca al nivel de usuario. En lo relativo a lenguajes de programación, es de señalar la aparición de Pascal y C, el último de los cuales se creó específicamente para reescribir por completo el código del sistema operativo Unix, convirtiéndolo en uno de los pocos SO escritos en un lenguaje de alto nivel. En el campo de la programación lógica se dio a luz la primera implementación de Prolog, y en la revolucionaria orientación a objetos, Smalltalk.

Inconvenientes de los sistemas existentes

Se trataba de sistemas grandes y costosos, pues antes no se había construido nada similar y muchos de los proyectos desarrollados terminaron con costos muy por encima del presupuesto y mucho después de lo que se marcaba como fecha de finalización. Además, aunque formaban una capa entre el hardware y el usuario, éste debía conocer un complejo lenguaje de control para realizar sus trabajos. Otro inconveniente es el gran consumo de recursos que ocasionaban, debido a grandes espacios de memoria principal y secundaria ocupados, así como el tiempo de procesador consumido.

Es por esto que se intentó hacer mejorar las técnicas ya existentes de multiprogramación y tiempo compartido.

Características de los nuevos sistemas

Para solventar los problemas antes comentados, se realizó un costosísimo trabajo para interponer una amplia capa de software entre el usuario y la máquina, de forma que el primero no tuviese que conocer ningún detalle de la circuitería.

Sistemas operativos desarrollados

MULTICS (Multiplexed Information and Computing Service): Originalmente era un proyecto cooperativo liderado por Fernando Corbató del MIT, con General Electric y laboratorios Bell, comenzó en los 60, pero los laboratorios Bell abandonaron en 1969 para comenzar a crear el sistema UNIX. Se desarrolló inicialmente para el mainframe GE-645, un sistema de 36 bits; después fue soportado por la serie de máquinas Honeywell 6180.
Fue uno de los primeros sistemas operativos de tiempo compartido, que implementó un solo nivel de almacenamiento para el acceso a los datos, desechando la clara distinción entre los ficheros y los procesos en memoria, y uno de los primeros sistemas multiprocesador.

MVS (Múltiple Virtual Storage): Fue el sistema operativo más usado en los modelos de mainframes ordenadores grandes, potentes y caros usados principalmente por grandes compañías para el procesamiento de grandes cantidades de datos- System/370 y System/390 de IBM, desarrollado también por IBM y lanzado al mercado por primera vez en 1974. Como características destacables, permitía la ejecución de múltiples tareas, además que introdujo el concepto de memoria virtual y finalmente añadió la capacidad de que cada programa tuviera su propio espacio de direccionamiento de memoria.

CP/M (Control Program/Monitor): Desarrollado por Gary Kildall para el microprocesador 8080/85 de Intel y el Zilog Z80, salió al mercado en 1976, distribuyéndose en disquetes de ocho pulgadas. Fue el SO más usado en las computadoras personales de esta década. Su éxito se debió a que era portátil, permitiendo que diferentes programas interactuasen con el hardware de una manera estandarizada, estaba compuesto de dos subsistemas:

CCP (Comand Control Processor): Intérprete de comandos que permitía introducir los mandatos con sus parámetros separados por espacios. Además, los traducía a instrucciones de alto nivel destinadas a BDOS.

BDOS (Basic Disk Operating System): Traductor de las instrucciones en llamadas a la BIOS.  
El hecho de que, años después, IBM eligiera para sus PCs a MS-DOS supuso su mayor fracaso, por lo que acabó desapareciendo.

Años 80.

Con la creación de los circuitos LSI -integración a gran escala, chips que contenían miles de transistores en un centímetro cuadrado de silicio, empezó el auge de los ordenadores personales. En éstos se dejó un poco de lado el rendimiento y se buscó más que el sistema operativo fuera amigable, surgiendo menús, e interfaces gráficas. Esto reducía la rapidez de las aplicaciones, pero se volvían más prácticos y simples para los usuarios. En esta época, siguieron utilizándose lenguajes ya existentes, como Smalltalk o C, y nacieron otros nuevos, de los cuales se podrían destacar: C++ y Eiffel dentro del paradigma de la orientación a objetos, y Haskell y Miranda en el campo de la programación declarativa. Un avance importante que se estableció a mediados de la década de 1980 fue el desarrollo de redes de computadoras personales que corrían sistemas operativos en red y sistemas operativos distribuidos. En esta escena, dos sistemas operativos eran los mayoritarios: MS-DOS, escrito por Microsoft para IBM PC y otras computadoras que utilizaban la CPU Intel 8088 y sus sucesores, y UNIX.

Apple Macintosh

El lanzamiento oficial se produjo en enero de 1984. Muchos usuarios, al ver que estaba completamente diseñado para funcionar a través de una GUI (Graphic User Interface), acostumbrados a la línea de comandos, lo tacharon de juguete. A pesar de todo, el Mac se situó a la cabeza en el mundo de la edición a nivel gráfico.

MS-DOS

En 1981 Microsoft compró un sistema operativo llamado QDOS que, tras realizar unas pocas modificaciones, se convirtió en la primera versión de MS-DOS (MicroSoft Disk Operating System). A partir de aquí se sucedieron una serie de cambios hasta llegar a la versión 7.1, a partir de la cual MS-DOS dejó de existir como tal y se convirtió en una parte integrada del sistema operativo Windows.


Microsoft Windows

Familia de sistemas operativos propietarios desarrollados por la empresa de software Microsoft Corporation, fundada por Bill Gates y Paul Allen. Todos ellos tienen en común el estar basados en una interfaz gráfica de usuario basada en el paradigma de ventanas, de ahí su nombre en inglés. Las versiones de Windows que han aparecido hasta el momento se basan en dos líneas separadas de desarrollo que finalmente convergen en una sola con la llegada de Windows XP. La primera de ellas conformaba la apariencia de un sistema operativo, aunque realmente se ejecutaba sobre MS-DOS.


Años 90.

GNU/Linux

En 1991 aparece la primera versión del núcleo de Linux. Creado por Linus Torvalds y un sinfín de colaboradores a través de Internet. Este sistema se basa en Unix, un sistema que en principio trabajaba en modo comandos, estilo MS-DOS. Hoy en día dispone de Ventanas, gracias a un servidor gráfico y a gestores de ventanas como KDE, GNOME entre muchos. Recientemente GNU/Linux dispone de un aplicativo que convierte las ventanas en un entorno 3D como por ejemplo Beryl. Lo que permite utilizar Linux de una forma muy visual y atractiva.


Años 2000 a la actualidad.

El nuevo milenio produjo grandes cambios en el mercado de los sistemas operativos aumentando en gran medida la competencia entre los diferentes desarrolladores siendo Windows, Unix y Mac OS los más competitivos, siempre buscando la facilidad y mejoramiento de recursos para el usuario. Y haciendo que estos se orienten a desarrollar para plataformas distribuidas y computación móvil e inalámbrica, y que cada vez más utilice el internet para sus diferentes fines.

Un gran cambio se da en los microprocesadores, no solo por el paso de 32 bits a 64 bits, también por el uso de más de un núcleo tanto virtual como físico; lo que conlleva a que los nuevos sistemas operativos puedan dividir tareas en busca de una mayor velocidad y mejor manejo de datos, todo esto con la disminución de los precios en hardware ayuda a crear sistemas operativos impensables antes del 2000, pero claro mucho más robustos. Uno de los sistemas operativos que ha venido cogiendo más fuerza es Linux.

Linux en 2011 presenta a MeeGo su sistema operativo para dispositivos móviles en cooperación con Nokia e Intel, inicialmente para el celular smartphone Nokia N9, ahora también usado en Netbooks, Tablets, Handset y televisores Smart TV, y apoyados por muchas otras compañías. Microsoft sigue a la delantera, aunque ha sufrido varios tropiezos que acercan a sus competidores. Durante estos años ha sacado al público los siguientes sistemas operativos: Windows 2000, Windows ME, Windows XP, Windows Vista, Windows 7 y el más reciente Windows 8. Cada uno con diferentes versiones dirigidas a algún público en particular ya sea para oficina, empresas medianas y grandes, servidores de varias índoles y para el hogar y el estudio. Además también poseen actualizaciones a través de Windows Update ya sea para corregir fallos, mejorar diferentes procesos y mantener la seguridad. Aunque Microsoft cometió un error con Windows Vista, ya que este sistema tenía altos requerimientos de hardware y solo funcionaba mejor que su antecesor (“Windows XP”) en algunas máquinas muy potentes.

Una de las ramas en que Windows más avanzo es la interfaz. Microsoft también posee un sistema operativo móvil llamado Windows Phone para teléfonos inteligentes que busca competir con iOS de Apple y Android de Google. Al primero de estos solo se le permite ser usado en dispositivos Apple y el segundo fue desarrollado por la empresa Android, Inc., comprada por Google y basada en Linux para ser usado principalmente en dispositivos de pantalla táctil como: Smartphone y tabletas.[10]Otros sistemas operativos para dispositivos móviles son: Java ME, Symbian, BlackBerry y Firefox OS.



miércoles, 11 de febrero de 2015

Tipos de Sistemas Operativos para Estaciones De Trabajo.


Algunas actividades requieren simplemente ordenadores más potentes, hay profesionales que no se pueden permitir demoras o “cuelgues” cuando están trabajando y precisan muchos recursos de sus ordenadores por el tipo de software que tienen que utilizar para su actividad. Son profesionales que necesitan una estación de trabajo para su trabajo. En este artículo vamos a ver qué es una estación de trabajo y quién las necesita.

Las estaciones de trabajo son como las herramientas de precisión del mundo de los ordenadores. Si los ordenadores personales destacan por su versatilidad, las estaciones de trabajo ofrecen por sus prestaciones y rendimiento un instrumento de precisión extremadamente eficaz para que los profesionales más exigentes puedan realizar con eficacia su trabajo.
 
Se trata de equipos diseñados para ofrecer el mejor rendimiento para aplicaciones técnicas o científicas, por lo que suelen disponer de una gran potencia específicamente para el tratamiento numérico y las aplicaciones gráficas en 2D y 3D. Por esta razón las estaciones de trabajo equipan los componentes más potentes y actualizados en lo que respecta al hardware y sistemas operativos de 64 bits para aprovecharlos al máximo.

Quién necesita una estación de trabajo.

Como hemos apuntado, las estaciones de trabajo son especialmente indicadas para aplicaciones con grandes necesidades de potencia de proceso o de potencia gráfica. Así, este tipo de ordenadores son los elegidos por profesionales de la arquitectura o que utilizan programas de CAD en general, ingenieros que utilicen programas de cálculos de estructuras y otras aplicaciones con cálculos complejos, edición de vídeo, animación en 3D, diseñadores, fotógrafo.
 
El elemento que nos marcará si necesitamos o no una estación de trabajo será la aplicación que utilicemos, por lo que nos fijaremos en los requisitos para decidir si necesitamos una estación de trabajo o no. También es posible que aplicaciones que generalmente pueden ejecutarse en un ordenador personal precisen de una estación de trabajo por el tipo de ficheros con los que trabajamos.

Es el caso de los fotógrafos que necesiten hacer retoques complejos en imágenes de muy alta resolución y de forma muy rápida, por ejemplo porque trabajen para una publicación periódica. También puede ocurrir en el caso de la edición de vídeo, cuando manejamos material de alta definición y los editores necesitan aplicar efectos o filtros en poco tiempo.

En general si realizamos una actividad en la que precisamos una respuesta inmediata de la aplicación con la que trabajamos y un PC normal de sobremesa no cubre nuestras necesidades, es conveniente que nos interesemos por la posibilidad de optar por una estación de trabajo. En ocasiones trabajar más rápido o de manera más eficaz sin cuelgues e interrupciones justifica con creces la inversión en hardware que vamos a realizar.

Elementos importantes de una estación de trabajo.

Hay dos elementos que suelen ser los más importantes a la hora de clasificar un ordenador como estación de trabajo: el procesador y la tarjeta gráfica. Son los responsables principales, aunque como veremos no los únicos, de que las aplicaciones más pesadas funcionen con la soltura y eficacia suficiente y no nos den problemas. Vamos a ver en qué componentes nos tenemos que fijar para adquirir una estación de trabajo adecuada.
 
Al escoger los componentes de nuestra estación de trabajo tengamos en cuenta que se trata de una inversión. Por esta razón es recomendable comprobar que los componentes que la componen están a la última, que son los modelos más recientes de los respectivos fabricantes. De esta forma no se quedarán desfasados y además de trabajar más rápido nos garantizaremos que la estación de trabajo no se queda obsoleta al poco tiempo. Eso no quiere decir que la estación de trabajo tenga que ser más cara. Si elegimos la marca adecuada podemos obtener lo último por un precio razonable.

Procesador: En la actualidad los procesadores más indicados para equipar una estación de trabajo deben ser multinúcleo. Las principales aplicaciones profesionales y los sistemas operativos modernos pueden sacar el máximo partido a este tipo de CPU.

En ocasiones también podemos optar por ordenadores con múltiples procesadores, aunque la potencia de los modelos multinúcleo no lo hacen necesario en la mayoría de los casos. Los clásicos procesadores para una estación de trabajo son los Opteron de AMD o los i7 y Xeon de Intel.
 
Tarjeta gráfica: Otro elemento que apuntábamos como importante, una tarjeta gráfica potente es indispensable para ciertas aplicaciones de CAD o edición de imagen y vídeo. Además las tarjetas de última generación “echan una mano” en tareas propias de la CPU como la codificación y decodificación de vídeo de alta definición e incluso en los cálculos numéricos.
 
Algunos modelos permiten incluso aceleración de aplicación de efectos de vídeo en tiempo real.

Memoria RAM: No solamente es muy importante la cantidad de memoria (hoy en día menos de 6 Gbytes no encontraremos en estaciones de trabajo “serias”) sino también la calidad. Es muy importante que la memoria sea fiable, y en ese caso comprobar que se trata de primeras marcas y con buenas cifras de respuesta. También hay que fijarse en la capacidad de ampliación que permite la placa base. Las placas profesionales permiten hasta 24 Gbytes en 6 bancos de memoria.

Disco duro: Otro elemento que puede influir en las prestaciones de nuestra estación de trabajo, se suelen buscar modelos de al menos 1 Tbyte. En ocasiones se incluyen dos o más discos duros para asegurar mayores prestaciones y una mayor seguridad en los datos.

Caja y Ensamblaje: Así como los componentes tales como procesadores, tarjetas gráficas y placas base son importantes, también es fundamental que las estaciones de trabajo hayan sido ensambladas correctamente, que dispongan de cajas robustas, de un buen sistema de ventilación para evitar problemas de calentamiento (un aspecto sensible por la potencia de sus componentes), que no emitan demasiado ruido (para poder trabajar en condiciones óptimas) y en general que dispongan de una buena calidad de ensamblaje.

Incluso la buena disposición interna de los cables puede ser fundamental para que los componentes no lleguen a quemarse. Igualmente una buena fuente de alimentación es importantísima, por un lado para garantizar suficiente potencia eléctrica para el funcionamiento de todos los componentes de la estación de trabajo (que al ser potentes consumen especialmente), sino también que tenga una buena refrigeración y sea poco ruidosa, como hemos visto para la caja.


Software y Sistema Operativo: Es un elemento importante para sacar el máximo partido al equipo. En este caso es indispensable optar por sistemas de 64 bits para poder sacar partido a las grandes cantidades de memoria del sistema y para una mejor gestión de los recursos. Por otro lado la elección del software es muy importante, porque disponer de una estación de trabajo potente y un mal software es una mala combinación.


Hola, bienvenidos a este Blog sobre el Taller de Sistemas Operativos, donde veremos todo lo habido y por haber sobre sistemas operativos para estar actualizados sobre las nuevas aplicaciones y tecnologias que nos pueden ayudar a mejorar.