lunes, 29 de octubre de 2012

El Sistema Operativo

       

   Sistema Operativo

Un Sistema Operativo es el software encargado de ejercer el control y coordinar el uso del hardware entre diferentes programas de aplicación y los diferentes usuarios. Es un administrador de los recursos de hardware del sistema. 
En una definición informal es un sistema que consiste en ofrecer una distribución ordenada y controlada de los procesadores, memorias y dispositivos de E/S entre los diversos programas que compiten por ellos.
A pesar de que todos nosotros usamos sistemas operativos casi a diario, es difícil definir qué es un sistema operativo. En parte, esto se debe a que los sistemas operativos realizan dos funciones diferentes. 
Proveer una máquina virtual, es decir, un ambiente en el cual el usuario pueda ejecutar programas de manera conveniente, protegiéndolo de los detalles y complejidades del hardware. Administrar eficientemente los recursos del computador. 


Clasificación de los Sistemas Operativos.

 •Sistemas  operativos  monotarea:  Sólo   pueden  manejar  un proceso,  es  decir ,  las tareas deben ejecutarse una tras otra..Por ejemplo, el sistema DOS es monotarea, al no poder ejecutar varias aplicaciones simultaneamente , aunque existen varios intentos de añadirles esta capacidad.
Sistemas  operativos  multitarea:La  computadora  puede  procesar  varias  tareas  al  mismo tiempo. Podemos distinguir: 1- Conmutación de contextos.  2- Multitarea cooperativa   3- Multitarea de tiempo compartido 
Sistemas operativos monousuario: Sólo  pueden  atender  a  un único usuario, que es el
que haya iniciado sesión en el sistema. Esto ocurreen el sistema operativo DOS e incluso  en  el
actual Windows XP y sus predecesores.  
Sistemas operativos multiusuario:
Pueden  atender  simultáneamente  las  peticiones de dos o  más usuarios,  que  comparten  los
recursos  del  sistema  informático  al  que  se  conectan.
Este  tipo  de  sistemas  se  emplean  especialmente  en  redes,  ya que  cada  usuario  necesita
de  un terminal  independiente  para  conectarse  con  el  equipo que  tiene  instalado  el  sistema.
Esto ocurre con Linux o la familia Windows 2003 y predecesores.




Tipos de Sistemas Operativos


1) DOS: El famoso DOS, que quiere decir Disk Operating System (sistema operativo de disco), es más conocido por los nombres de PC-DOS y MS-DOS. MS-DOS fue hecho por la compañía de software Microsoft y es en esencia el mismo SO que el PC-DOS.
La razón de su continua popularidad se debe al aplastante volumen de software disponible y a la base instalada de computadoras con procesador Intel.
Cuando Intel liberó el 80286, DOS se hizo tan popular y firme en el mercado que DOS y las aplicaciones DOS representaron la mayoría del mercado de software para PC. En aquel tiempo, la compatibilidad IBM, fue una necesidad para que los productos tuvieran éxito, y la "compatibilidad IBM" significaba computadoras que corrieran DOS tan bien como las computadoras IBM lo hacían.
Aún con los nuevos sistemas operativos que han salido al mercado, todavía el DOS es un sólido contendiente en la guerra de los SO.

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

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

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

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

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

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



Historia:

Desde su creación, las computadoras digitales han utilizado un sistema de codificación de instrucciones en sistema de numeración binaria, es decir con los 0S. Esto se debe a que los circuitos integrados funcionan con este principio, es decir, hay corriente o no hay corriente.
En el origen de la historia de las computadoras ( hace unos cuarenta años), los sistemas operativos no existían y la introducción de un programa para ser ejecutado se convertía en un increíble esfuerzo que solo podía ser llevado a cabo por muy pocos expertos. Esto hacia que las computadoras fueran muy complicadas de usar y que se requiriera tener altos conocimientos técnicos para operarlas. Era tan complejo su manejo, que en algunos casos el resultado llegaba a ser desastroso.
Además, el tiempo requerido para introducir un programa en aquellas grandes máquinas de lento proceso superaba por mucho el de ejecución y resultaba poco provechosa la utilización de computadoras para resolución de problemas prácticos.
Se buscaron medios más elaborados para manipular la computadora, pero que a su vez simplificaran la labor del operador o el usuario. Es entonces cuando surge la idea de crear un medio para que el usuario pueda operar la computadora con un entorno, lenguaje y operación bien definido para hacer un verdadero uso y explotación de esta. Surgen los sistemas operativos.
Un sistema operativo es el encargado de brindar al usuario una forma amigable y sencilla de operar, interpretar, codificar y emitir las ordenes al procesador central para que este realice las tareas necesarias y especificas para completar una orden.
El sistema operativo, es el instrumento indispensable para hacer de la computadora un objeto útil. Bajo este nombre se agrupan todos aquellos programas que permiten a los usuarios la utilización de este enredo de cables y circuitos, que de otra manera serian difíciles de controlar. Un sistema operativo se define como un conjunto de procedimientos manuales y automáticos, que permiten a un grupo de usuarios compartir una instalación de computadora eficazmente.



Generaciones:

Primera Generación (1945-1955):
La lógica o software de los ordenadores se ha complicado conforme han evolucionado éstos. Los primeros ordenadores, a partir de 1944 en que Aiken construyó el Mark-I, sólo podían programarse en lenguaje máquina, y puede decirse que el Sistema Operativo aún no existía.
J. V. Neumann fue quien dio el primer paso en la informática y en las relaciones hombre-máquina con el concepto de programa almacenado, que consiste en archivar en el ordenador un conjunto de instrucciones máquina para posteriormente ejecutarlas. La aparición del Assembler, lenguaje nemotécnico-simbólico, constituyó un gran avance sobre la primitiva programación en código máquina. La forma de explotar los sistemas ha ido evolucionando con el tiempo; los más sencillos funcionaban con monoprogramación. Monoprogramación o monoejecución es el sistema de explotación en el que se ejecuta solamente un programa cada vez y no comienza la ejecución de otro hasta terminar con el anterior.
En 1948, con Noam Chomsky, surge la teoría de las gramáticas generativas transformacionales, que es la base de los traductores de lenguajes. En 1955 comenzó el desarrollo de los lenguajes de alto nivel, y al mismo tiempo se empezó a dividir el trabajo entre personas: operadores y programadores. Las funciones del operador tenían más directamente que ver con la administración y control de los recursos del Sistema Operativo y la carga de trabajos, y las de los programadores con la codificación de los programas.
El monitor es el programa antepasado del Sistema Operativo. Abarca funciones muy elementales, como visualizar y modificar los contenidos de la memoria principal, el lanzamiento automático para la ejecución de un programa, la introducción de puntos de ruptura en los programas para puesta a punto, etc. Gracias al monitor apareció el concepto de secuencia automática de trabajos.
Actualmente, al estar superado el concepto de monoprogramación, es frecuente que tengamos que familiarizarnos con los conceptos de multiprogramación, tiempo compartido, multiproceso y tiempo real.
Segunda Generación (1955-1965):
Multiprocesamiento : Durante la segunda generación , al menos un proveedor ofrecía un sistema de multiprocesamiento, que era un sistema de computo que tenía más de una unidad central de proceso. En realidad el sistema consistía en dos computadoras completas; las computadora más pequeña tenía un sistema operativo y controlaba ambas máquinas. La computadora más grande era esclava de la más pequeña. La computadora pequeña procesaba la entrada de información y ordenaba e imprimía toda la salida utilizando todos los discos como entrada de almacenamiento temporal. Un sistema operativo ubicado en la computadora más grande indicaba a la máquina de control que necesitaba servicio.
Sistemas en línea :Los primeros sistemas en líneas presentaban programas de sistema operativo diseñados especialmente para controlar los recursos de la computadora. Los programas de aplicación de un sistema en linea expresan la lógica de aplicación y los llamados mediante programas de sistemas.
El supervisor de un sistema en línea establece una serie de colas y programa el servicio. Primero se arma un mensaje de entrada en un buffer de comunicaciones; puede cambiarse el código de este mensaje y trasladarse a una cola de entrada en la memoria mediante un programa de aplicación. El sistema operativo registra este mensaje en la cola de mensajes a procesarse.
Cuando la unidad central de proceso esta disponible el supervisor le ordena que atienda una cola, por ejemplo la que contiene un mensaje de entrada. Un programa de aplicación llamado mediante el sistema operativo puede verificar la corrección del mensaje, después de lo cual el mensaje se coloca en una cola de trabajo.
El nacimiento del tiempo compartido : Los primeros sistemas de negocios también estaban utilizando sistemas operativos para sus equipos de segunda generación. Cuando fue anunciada la tercera generación de computadoras los fabricantes claramente habían abrazado la idea de un sistema operativo. La línea 360 de la IBM no podía funcionar sin la ayuda de tal sistema operativo maneja toda la entrada/salida por medio de interrupciones. De hecho existen interrupciones especiales que la computadora solo puede ejecutar cuando está en estado supervisor, bajo el control de los sistemas operativos.
Esta generación se caracteriza por la utilización de la tecnología que incluye transistores. Estos proporcionan mejores características que los tubos al vacío: son más pequeños, disipan menos calor y son más rápidos.
En esta época, ya no hay un solo grupo que se dedica a diseñar, construir, operar y mantener el sistema computacional, sino que la mantención la realizan otras personas. La programación, en este período se ve apoyada por la creación delenguajes ensambladores y lenguajes de alto nivel; como Fortran y Cobol .
Para optimizar el tiempo de utilización del sistema computacional, se adoptó el Procesamiento por Lotes. Este procedimiento se puede resumir en los siguientes pasos:
  • Varios trabajos son leídos desde tarjetas perforadas y almacenados en cinta
  • El computador ejecuta programas que lee de una cinta y escribe los resultados en otra cinta.
  • Los resultados escritos en la cinta son desplegados a través de la impresora.
Como consecuencia de la utilización de tecnología de mejores características, el procesamiento por lotes, la utilización de un operador de sistema y un sistema operativo primitivo se logró minimizar el tiempo ocioso de los computadores.
Tercera Generación (1965-1980):
Multisistemas : El estudio del hardware se menciona el desarrollo de los canales de datos para absorber algo de carga de E/S de la CPU. Sin embargo, todavía existía un equilibrio entre la UCP y la E/S aún con la ayuda de los canales en la mayor parte de los sistemas comerciales que tienen mucha actividad de E/S se puede tener la UCP ociosa más del 50% del tiempo principalmente debido a la espera de la terminación de operaciones de entrada/salida.
Los sistemas operativos en batch de la tercera generación introdujeron el concepto de multiprogramación, proceso muy similar a las técnicas de sacar y meter programas desarrollados para el tiempo compartido. En la multiprogramación hay más de un programa semiactivo en la memoria a la vez. La multiprogramación intenta ocultar retrasos de E/S cambiando a UCP a otro programa cuando no puede procesar por más tiempo el que estaba procesando, debido a un solicitud de E/S.
La multiprogramación ha ayudado a incrementar la productividad, o sea el número de trabajos por unidad de tiempo. Sin embargo, puede tomar más tiempo correr un solo trabajo bajo multiprogramación que bajo un procesador unitario, a causa de las interrupciones.
No debe confundirse la multiprogramación con el multiprocesamiento. En un sistema de multiprogramación, la unidad central de procesamiento ejecuta solamente un programa a la vez. Varios programas están presentes en la memoria en un estado semiactivo; su ejecución ha sido suspendida temporalmente. Algunos sistemas de la tercera generación también presentan el multiprocesamiento, o sea la presencia de más de una unidad central de proceso. Estos procesadores están controlados por el sistema operativo y, por supuesto, son multiprogramados ya que por lo menos existe el potencial para ejecutar un programa en cada procesador al mismo tiempo. Estos sistemas multiprocesadores con atractivos en un ambiente de fuerte actividad computacional o como respaldo. Varios sistemas de tiempo compartido, por ejemplo, utilizan el multiprocesamiento.
Sistemas en línea : Durante la tercera generación, los sistemas operativos vinieron con más módulos para facilitar el desarrollo de los sistemas en línea, especialmente para respaldar el procesamiento de terminales y telecomunicaciones. Los sistemas estaban diseñados para apoyar una mezcla de procesamiento batch y consultas en línea.
Tiempo compartido: Durante la tercera generación, el proyecto MAC del MIT desarrolló también un nuevo sistema de tiempo compartido llamado MULTICS. Este sistema presenta una importante innovación que influyó en los sistemas de cómputo posteriores. Un objetivo del MULTICS era proporcionar al programador la apariencia de una memoria real. La memoria virtual puede producirse combinando la segmentación y la paginación enfoque que también facilita el desarrollo de los procedimientos re-entrantes. Básicamente, un programa y sus datos se dividen en páginas. Solamente se cargan en un momento dado, las páginas necesarias en el almacenamiento primario; las otras páginas se mantienen en dispositivos de almacenamiento secundario.
La tecnología utilizada en este período corresponde a la de circuitos integrados, lo cual permitió construir máquinas más baratas y con mejor rendimiento. La empresa IBM fue la primera en utilizar esta tecnología.
Una de las principales características de los sistemas operativos de hoy, que aparecen en esta generación es laMultiprogramación. Esta técnica consiste en particionar la memoria de manera de contener simultáneamente muchos trabajos, lo que permite independencia en las acciones de la máquina. Por ejemplo, si un trabajo está esperando por Entrada/Salida, otro trabajo puede estar utilizando la CPU. Con la utilización de la multiprogramación, se mejora el tiempo de utilización de la CPU, pero se crean problemas de protección y seguridad, debido al particionamiento de la memoria.
Otra característica importante de los sistemas operativos de esta generación es la aparición de la técnica de Spooling(Operación simultánea y en línea de periféricos ). Esta consiste en la capacidad de leer los trabajos de cinta al disco,  haciendo posible que a medida que hubiera espacio en memoria se podía pasar al siguiente trabajo. De esta manera las operaciones de periféricos se realizan en paralelo con la utilización de la CPU.
Durante esta generación aparecen los primeros sistemas de Tiempo compartido, esto consiste en que se le asigna a cada trabajo un tiempo fijo de utilización de CPU, este período de tiempo (denominado time slot) es pequeño, pues el uso de tiempo compartido tiene como objetivo manejar a distintos usuarios mediante terminales que tengan la ilusión de estar ocupando la máquina como si fueran únicos. El primer sistema operativo importante de tiempo compartido es el (CTSS) y fue desarrollado en MIT (Massachusetts Institute of Technology).
Otros de los sistemas que surgió en este periodo es MULTICS, el que sirvió de base para el desarrollo del sistema UNIX.
Cuarta Generación (1980-1990):
Esta generación se caracteriza por la utilización de los microprocesadores para la construcción de computadores de menor tamaño, haciendo posible que una sola persona tuviera su propio computador personal. Los computadores personales con mayores capacidades y que se empezaron a utilizar en la empresa y en las universidades recibieron el nombre de estaciones de trabajo.
Durante esta generación aparecen los sistemas operativos que proporcionan una interfaz más amigable al usuario, esto se traduce en mejores herramientas de interacción con el computador, tales como capacidades gráficas, íconos, sistemas de menús, etc.
Los sistemas operativos que cobran gran popularidad en este período son MS-DOS de Microsoft y UNIX. Este último tuvo sus primeros desarrollos en Berkeley y posteriormente en AT&T.
DOS (sistema operativo en disco)
VERSIONES:
PC-DOS (IBM)

DR-DOS (Digital Research)
MS-DOS 1.0 Abril 1981
1.1
2.0
3.0
3.1
3.2
MS-DOS (Microsoft) ! 3.3
! 4.0
5.0
! 6.0
6.2
7.0 Agosto 1995
Se trata del 1º sistema operativo creado para ordenadores personales en la década de los 80 dado que los sistemas anteriores fueron creados para maquinas grandes en entornos de empresa. A lo largo del tiempo pugnaron tres fabricantes por la hegemonía del mercado hasta que en la década de los 90 con la aparición de las 1as plataformas de Windows 3.0 3.1 y 3.11 Microsoft se queda sola por la retirada de los demás aunque ya IBM lo había dejado mucho tiempo antes.
Se trata de un sistema operativo grabado sobre disco de modo que se ha de encontrar permanentemente activo y residente para poder trabajar con esa maquina.
Esto ahora parece intrascendente ya que todos los sistemas operativos (Windows, Windows9.x, unix, linux, etc..) Están ocupando algunos de los discos duros del ordenador pero al principio los ordenadores no tenían disco duro ya que aun no se habían inventado y por tanto se encontraba en un diskette que debía estar permanentemente introducido con el agravante de que solo había una disquetera.
Entre todas las versiones que salieron al mercado y omitiendo las primeras muy dependientes de la rudimentaria tecnología de entonces son las versiones 3.3,4.0 y 6.2 las que tuvieron un mayor éxito comercial. En la actualidad la versión 7.0 aun siendo la más reciente no es la mas difundida ya que esta muy arraigada la 6.22. Por otro lado estas versiones han dejado paso a aquellas otras que dependen de Windows como sistema mayoritariamente extendido pasando a adoptar la numeración de la versión de Windows.