miércoles, 21 de agosto de 2013

Sistemas operativos según su licencia

Los diferentes tipos de software según su licencia pueden agruparse de varias formas, por ejemplo, por la disponibilidad de los archivos fuentes o por el costo que representa para el usuario. También es posible agrupar el software según los fines que persigue, aunque en este caso el resultado no ayuda mucho porque lo que interesa es diferenciar el software propietario del software libre.

Si bien cada programa viene acompañado de una licencia de uso particular, existen diversos aspectos en común entre las licencias que hacen posible su clasificación. De acuerdo a ello, es común encontrar términos tales como software shareware, freeware, de dominio público, o de demostración. A estos nombres hay que agregar software libre y software propietario, términos un tanto desconocidos pero que se usan en medios informáticos. Incluso, es posible hablar de software semi-libre. 

Sistemas Operativos según su interfaz

*Interfaz de Línea de Comandos: La forma de interfaz entre el sistema operativo y el usuario en la que este escribe los comandos utilizando un lenguaje de comandos especial. Los sistemas con interfaces de líneas de comandos se consideran más difíciles de aprender y utilizar que los de las interfaces gráficas. Sin embargo, los sistemas basados en comandos son por lo general programables, lo que les otorga una flexibilidad que no tienen los sistemas basados en gráficos carentes de una interfaz de programación.

*Interfaz Gráfica del Usuario: Es el tipo de visualización que permite al usuario elegir comandos, iniciar programas y ver listas de archivos y otras opciones utilizando las representaciones visuales (iconos) y las listas de elementos del menú. Las selecciones pueden activarse bien a través del teclado o con el mouse.

          

Sistemas Operativos según el numero de tareas

*Mono tareas: Los sistemas operativos mono tareas son más primitivos y es todo lo contrario al visto anteriormente, es decir, solo pueden manejar un proceso en cada momento o que solo puede ejecutar las tareas de una en una. Por ejemplo cuando la computadora esta imprimiendo un documento, no puede iniciar otro proceso ni responder a nuevas instrucciones hasta que se termine la impresión.

*Multi tareas: Es el modo de funcionamiento disponible en algunos sistemas operativos, mediante el cual una computadora procesa varias tareas al mismo tiempo. Existen varios tipos de multi tareas. La conmutación de contextos (context Switching) es un tipo muy simple de multi tarea en el que dos o más aplicaciones se cargan al mismo tiempo, pero en el que solo se esta procesando la aplicación  que se encuentra en primer plano (la que ve el usuario). Para activar otra tarea que se encuentre en segundo plano, el usuario debe traer al primer plano la ventana o pantalla que contenga esa aplicación. 

Sistemas Operativos según la cantidad de procesos

*Mono proceso: Un sistema operativo mono proceso es aquél que es capaz de manejar solamente un procesador de la computadora, de manera que si la computadora tuviese más de uno le sería inútil. El ejemplo más típico de este tipo de sistemas es el DOS y Mac OS. 

*Multi proceso: Un sistema operativo multiproceso se refiere al número de procesadores del sistema, que es más de uno y éste es capaz de usarlos todos para distribuir su carga de trabajo.
      
      Generalmente estos sistemas trabajan de dos formas: simétrica o asimétricamente.
   
   Cuando se trabaja de manera asimétrica, el sistema operativo selecciona a uno de los procesadores el cual jugará el papel de procesador maestro y servirá como pivote para distribuir la carga a los demás procesadores, que reciben el nombre de esclavos. Cuando se trabaja de manera simétrica, los procesos o partes de ellos (threads) son enviados indistintamente a cualquiera de los procesadores disponibles, teniendo, teóricamente, una mejor distribución y equilibrio en la carga de trabajo bajo este esquema.

    
    Existen aplicaciones que fueron hechas para correr en sistemas mono proceso que no toman ninguna ventaja a menos que el sistema operativo o el compilador detecte secciones de código paralelizable, los cuales son ejecutados al mismo tiempo en procesadores diferentes. Por otro lado, el programador puede modificar sus algoritmos y aprovechar por sí mismo esta facilidad, pero esta última opción las más de las veces es costosa en horas hombre y muy tediosa, obligando al programador a ocupar tanto o más tiempo a la paralelización que a elaborar el algoritmo inicial. 


Sistemas Operativos según el tiempo de ejecución

*Tiempo compartido: En este tipo de sistema, el control lo tiene el usuario registrando su entrada y obteniendo todo el tiempo la CPU hasta que sale del sistema y entra otro usuario, pero para permitir que otro usuario pueda hacer uso también de la CPU, el sistema operativo cada cierto tiempo atenderá a cada usuario que tenga conectado, siendo así de tiempo compartido.

*Tiempo real: Este tipo de sistemas operativos se utilizan principalmente en el control de instalaciones industriales o donde se hace necesario en control en tiempo real de determinadas funciones o circunstancias, un ejemplo claro seria el control de la temperatura del agua de una bañera, la CPU debería controlar en tiempo real la temperatura del agua para determinar si debe o no seguir subiendo la temperatura del agua o si esta demasiado caliente entonces bajar su temperatura, es por ello que debe ser de tiempo real.

Sistemas Operativos según la cantidad de usuarios

*Mono usuario: Son sistemas muy simples que solo aceptan la conexión de un usuario al mismo tiempo, dichos sistemas se pueden basar en técnicas de mono programación  pudiendo ser sistemas que facilitan al usuario la ejecución de varios programas simultáneamente.

*Multi usuario: Se basan siempre en la multiprogramacion, permiten varios usuarios a la vez conectados, normalmente el tiempo es compartido, aunque también se puede dar en un momento dado el tiempo real si las circunstancias lo necesitaran.


Sistemas Operativos según los paradigmas

*Cliente/Servidor: Para que la comunicación entre dos aplicaciones en una red se lleve a cabo, uno de los programas de aplicación debe estar esperando por requerimientos por parte del programa llamador, también llamado cliente.
    En este modelo, un programa espera pasivamente y el otro inicia la comunicación. Se conoce como el paradigma de interacción cliente servidor.
La aplicación que espera pasivamente es llamada SERVIDOR y la que inicia el contacto es llamada CLIENTE.
*De Redes: Son aquellos sistemas que mantienen a dos o más computadoras unidas atravé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 mas ampliamente usados son: Novell Netware, Personal Netware, LAN Manager, Windows NT Server, UNIX, LANtastic.