sábado, 13 de junio de 2015



PROCESO
  Un proceso puede informalmente entenderse como un programa en ejecución. Formalmente un proceso es "Una unidad de actividad que se caracteriza por la ejecución de una secuencia de instrucciones, un estado actual, y un conjunto de recursos del sistema asociados".
  Los procesos son gestionados por el sistema operativo y están formados por:
  • Las instrucciones de un programa destinadas a ser ejecutadas por el microprocesador.
  • Su estado de ejecución en un momento dado, esto es, los valores de los registros de la unidad central de procesamientopara dicho programa.
  • Su memoria de trabajo (memoria crítica), es decir, la memoria que ha reservado y sus contenidos.
  • Otra información que permite al sistema operativo su planificación.

PROCESADOR

  El procesador es el cerebro del sistema, encargado de procesar toda la información. Básicamente, es el "cerebro" de la computadora. Prácticamente, todo pasa por él, ya que es el responsable de ejecutar todas las instrucciones existentes. Mientras más rápido vaya el procesador, más rápido serán ejecutadas las instrucciones.



   





   Sus funciones principales incluyen el manejo del sistema operativo, la ejecución de las aplicaciones y la coordinación de los diferentes dispositivos que componen el equipo.
  Una computadora puede tener más de una CPU; esto se llama multiprocesamiento. Todas las CPU modernas son microprocesadores, lo que significa que contienen un solo circuito integrado (chip). Algunos circuitos integrados pueden contener varias CPU en un solo chip; estos son denominados procesadores multinúcleo. Un circuito integrado que contiene una CPU también puede contener los dispositivos periféricos, y otros componentes de un sistema informático; a esto se llama un sistema en un chip (SoC).




HILOS
   Los hilos son un concepto relativamente nuevo de los SO. En este contexto, un proceso recibe el nombre de proceso pesado, mientras que un hilo recibe el nombre de proceso ligero. El término hilo se refiere sintáctica y semánticamente a hilos de ejecución.

Un hilo (proceso ligero) es una unidad básica de utilización de la CPU, y consiste en un contador de programa, un juego de registros y un espacio de pila.

   El término multihilo hace referencia a la capacidad de un SO para mantener varios hilos de ejecución dentro del mismo proceso.






MODELOS DE SISTEMAS

   Todo el mundo emplea instintivamente modelos cuando toma decisiones sobre determinados aspectos de la realidad. En el proceso de toma de decisión se elige una entre varias acciones posibles, teniendo en cuenta el efecto que cada acción vaya a producir. Esla relación que liga las posibles acciones con sus efectos es el modelo del sistema. Por lo tanto, en el proceso de toma de decisiones se está empleando un modelo del sistema.


La relación que liga las acciones Ui (entradas) con los efectos Yj (salidas), según Y = R(U), constituye la representación formal de un modelo.


   En un sistema distribuido, con varios procesadores, un aspecto fundamental del diseño es cómo se utiliza.

Los procesadores distribuidos se pueden organizar de varias formas:

   Modelo de estación de trabajo: El sistema consta de estaciones de trabajo (PC) dispersas conectadas entre sí mediante una red de área local (LAN).

Pueden contar o no con disco rígido en cada una de ellas.




 
Los usuarios tienen:

  • Una cantidad fija de poder de cómputo exclusiva. 
  • Un alto grado de autonomía para asignar los recursos de su estación de trabajo. 
Uso de los discos en las estaciones de trabajo: 

Sin disco: 
  • Bajo costo, fácil mantenimiento del hardware y del software, simetría y flexibilidad. 
  • Gran uso de la red, los servidores de archivos se pueden convertir en cuellos de botella. 
Disco para paginación y archivos de tipo borrador:

  • Reduce la carga de la red respecto del caso anterior. 
  • Alto costo debido al gran número de discos necesarios. 
Disco para paginación, archivos de tipo borrador y archivos binarios (ejecutables):
  • Reduce aún más la carga sobre la red. 
  • Alto costo y complejidad adicional para actualizar los binarios. 
Disco para paginación, borrador, binarios y ocultamiento de archivos:
  • Reduce aún más la carga de red y de los servidores de archivos. 
  • Alto costo. 
  • Problemas de consistencia del caché. 
Sistema local de archivos completo:
  • Escasa carga en la red. 
  • Elimina la necesidad de los servidores de archivos. 
  • Pérdida de transparencia. 
Modelo de la pila de procesadores: Se dispone de un conjunto de cpu que se pueden asignar dinámicamente a los usuarios según la demanda.




  • Los usuarios no disponen de estaciones de trabajo sino de terminales gráficas de alto rendimiento.
  • No existe el concepto de propiedad de los procesadores, los que pertenecen a todos y se utilizan compartidamente.
  • El principal argumento para la centralización del poder de cómputo como una pila de procesadores proviene de la teoría de colas:
  • Llamamos “l” a la tasa de entradas totales de solicitudes por segundo de todos los usuarios combinados.
  • Llamamos “m” a la tasa de procesamiento de solicitudes por parte del servidor.

  Para una operación estable debe darse que “m > l”:

  • Se pueden permitir pequeños lapsos de tiempo en los que la tasa de entrada exceda a la de servicio.
  • Llamamos “T” al promedio de tiempo entre la emisión de una solicitud y la obtención de una respuesta completa:

   T = 1 / ( m - l ).

   Cuando “ l ” tiende a “0”, “T” no tiende a “0”.

   Supongamos que tenemos “n” multiprocesadores personales, cada uno con cierto número de cpu y con su propio sistema de colas con tasas “ l ” y “ m ” y tiempo “T”:

   Si reunimos todas las cpu y formamos una sola pila de procesadores tendremos un solo sistema de colas en vez de “n” colas ejecutándose en paralelo.

   La tasa de entrada será “n l”, la tasa de servicio será “n m” y el tiempo promedio de respuesta será:

T1 = 1 / (n m - n l) = 1 / n ( m - l) = T / n.



   Modelo híbrido: Consta de estaciones de trabajo y una pila de procesadores. El sistema operativo permtemas de un hilo por proceso. El soporte de lenguaje de programacion utiliza un hilo del nucleo para implementar un grupo de hilos de usuario. Proporciona flexibilidad y un maximo rendimiento potencial al programador de la aplicacion.