Modelos de estado

jueves, 5 de septiembre de 2013
Posted by Unknown

Hilos en Sistemas Operativos

jueves, 22 de agosto de 2013
Posted by Unknown

Un hilo de ejecución, en Sistemas Operativos, es similar a un proceso en que ambos representan una secuencia simple de instrucciones ejecutada en paralelo con otras secuencias. Los hilos permiten dividir un programa en dos o más tareas que corren simultáneamente, por medio de la multiprogramación. En realidad, este método permite incrementar el rendimiento de un procesador de manera considerable. En todos los sistemas de hoy en día los hilos son utilizados para simplificar la estructura de un programa que lleva a cabo diferentes funciones.

Todos los hilos de un proceso comparten los recursos del proceso. Residen en el mismo espacio de direcciones y tienen acceso a los mismos datos. Cuando un hilo modifica un dato en la memoria, los otros hilos utilizan el resultado cuando acceden al dato. Cada hilo tiene su propio estado, su propio contador, su propia pila y su propia copia de los registros de la CPU. Los valores comunes se guardan en el bloque de control de proceso (BCP), y los valores propios en el bloque de control de hilo (TCB). Muchos lenguajes de programación (como Java), y otros entornos de desarrollo soportan los llamados hilos o hebras (en inglés, threads).

Un ejemplo de la utilización de hilos es tener un hilo atento a la interfaz gráfica (iconos, botones, ventanas), mientras otro hilo hace una larga operación internamente. De esta manera el programa responde más ágilmente a la interacción con el usuario.

daministracion de proceos

Permiten la simulación de que el sistema y sus recursos son todos para cada usuario. El usuario hace una petición a la computadora, está la procesa tan pronto como le es posible, y la respuesta aparecerá en la terminal del usuario.

Los principales recursos del sistema, el procesador, la memoria, dispositivos de E/S, son continuamente utilizados entre los diversos usuarios, dando a cada usuario la ilusión de que tiene el sistema dedicado. Esto trae como consecuencia una gran carga de trabajo al Sistema Operativo, principalmente en la administración de memoria principal y secundaria.

Ejemplos de Sistemas Operativos de tiempo compartido son Multics, OS/360 y DEC-10.

Características de los Sistemas Operativos de tiempo compartido:

  • Populares representantes de sistemas multiprogramados multiusuario, Ej.: sistemas de diseño asistido por computador,procesamiento de texto,
  • Dan la ilusión de que cada usuario tiene una máquina para sí.
  • Mayoría utilizan algoritmo de reparto circular.
  • Programas se ejecutan con prioridad rotatoria que se incrementa con la espera y disminuye después de concedido el servicio.
  • Evitan monopolización del sistema asignando tiempos de procesador
  • Gestión de memoria proporciona protección a programas residentes.
  • Gestión de archivo  debe proporcionar protección y control de acceso debido a que  pueden existir múltiples usuarios accesando un mismo archivo.

Tiempo de Latencia

Posted by Unknown

Esta métrica mide el intervalo de tiempo entre el instante en que el sistema recibe una interrupción hasta que se activa la tarea que va a responder a este estímulo. Las componentes más importantes de este tiempo son el tiempo de latencia de interrupciones y el tiempo de cambio de contexto, pero hay otras componentes de esta medida:

-Tiempo de respuesta a la interrupción
  • o Tiempo de retardo hardware en atender la interrupción
  • o Finalización de la instrucción actual
  • o Tiempo de latencia de la interrupción
-Rutina de tratamiento de la interrupción
  • o Pre-procesado
  • o Rutina de servicio de interrupción
  • o Post-procesado
-Decisión de cambio de contexto
-Cambio de contexto
Tiempo de latencia

O también llamados de multitarea, se distinguen por la posibilidad de realizar dos o más procesos, los cuales  se están ejecutando en un mismo intervalo de tiempo, de esta manera poder aprovechar al máximo la UCP(Unidad Central de Procesos) con la que contamos.

Los sistemas de multitarea evitan que la UCP tenga que esperar, sin realizar ningún proceso, alguna interacción de un dispositivo de entrada o salida, ya que mientras se está en la espera se ejecuta otro proceso hasta que la operación siga su marcha teniendo de esta manera constantemente ocupada UCP.

Algunas de las ventajas que nos ofrece la multitarea son:

  • Aprovecha los tiempos de espera
  • Permite el acceso simultaneo de varios usuarios
  • Optimiza la utilización de recursos

En general, los sistemas de multiprogramación se caracterizan por tener múltiples programas activos compitiendo por los recursos del sistema: procesador, memoria, dispositivos periféricos.

Obra de K. Haring

LINEA DEL TIEMPO HISTORIA DE LOS SISTEMAS OPERATIVOS

sábado, 17 de agosto de 2013
Posted by Unknown

Arquitectura de von Neumann

jueves, 15 de agosto de 2013
Posted by Unknown

La arquitectura de von Neumann es una familia de arquitecturas de computadoras que utilizan el mismo dispositivo de almacenamiento tanto para las instrucciones como para los datos (a diferencia de la arquitectura Harvard).

La mayoría de computadoras modernas están basadas en esta arquitectura, aunque pueden incluir otros dispositivos adicionales (por ejemplo, para gestionar las interrupciones de dispositivos externos como ratón, teclado, etc).

El nacimiento u origen de la arquitectura Von Neumann surge a raíz de una colaboración en el proyecto ENIAC del matemático de origen húngaro, John Von Neumann. Éste trabajaba en 1945 en el Laboratorio Nacional Los Álamos cuando se encontró con uno de los constructores de la ENIAC. Compañero de Albert Einstein, Kurt Gödel y Alan Turing en Princeton, Von Neumann se interesó por el problema de la necesidad de reconfigurar la máquina para cada nueva tarea.

En 1949 había encontrado y desarrollado la solución a este problema, consistente en poner la información sobre las operaciones a realizar en la misma memoria utilizada para los datos, escribiéndola de la misma forma, es decir en código binario. Su "EDVAC" fue el modelo de las computadoras de este tipo construidas a continuación. Se habla desde entonces de la arquitectura de Von Neumann, aunque también diseñó otras formas de construcción. El primer computador comercial construido en esta forma fue el UNIVAC I, fabricado en 1951 por la Sperry-Rand Corporation y comprado por la Oficina del Censo de Estados Unidos.

Obra de K. Haring

Los ordenadores con esta arquitectura constan de cinco partes: La unidad aritmético-lógica o ALU, la unidad de control, la memoria, un dispositivo de entrada/salida y el bus de datos que proporciona un medio de transporte de los datos entre las distintas partes.

Un ordenador con esta arquitectura realiza o emula los siguientes pasos secuencialmente:
  1. Enciende el ordenador y obtiene la siguiente instrucción desde la memoria en la dirección indicada por el contador de programa y la guarda en el registro de instrucción.
  2. Aumenta el contador de programa en la longitud de la instrucción para apuntar a la siguiente.
  3. Decodifica la instrucción mediante la unidad de control. Ésta se encarga de coordinar el resto de componentes del ordenador para realizar una función determinada.
  4. Se ejecuta la instrucción. Ésta puede cambiar el valor del contador del programa, permitiendo así operaciones repetitivas. El contador puede cambiar también cuando se cumpla una cierta condición aritmética, haciendo que el ordenador pueda 'tomar decisiones', que pueden alcanzar cualquier grado de complejidad, mediante la aritmética y lógica anteriores.
Memoria principal:
se trata de un espacio de almacenamiento temporal de instrucciones y datos, ordenada de manera reticular para localizar de manera sencilla mediante direcciones, dividida en dos partes una para trabajo y otra permanente. En términos modernos, es la memoria RAM que actualmente utilizamos en nuestros equipos.
Unidad aritmético lógica
Se encarga de realizar las operaciones aritméticas (sumas, restas, multiplicaciones, etc..) y lógicas (AND, OR, rotaciones, desplazamientos, etc...) con los datos. Normalmente los datos con los que opera, así como los resultados de la operación se encuentran en registros de la CPU. Las operaciones que es capaz de realizar están definidas por el juego de instrucciones de la CPU. Es posible encontrar ALUs con capacidades orientadas hacia la operación con valores enteros, coma flotante o números imaginarios (por ejemplo en las DSP.)
Unidad de control:

Se encarga de leer las instrucciones máquina almacenadas en la memoria principal y de generar las señales de control necesarias para controlar y coordinar el resto de las unidades funcionales de un ordenador, con el fin de ejecutar las instrucciones leídas.

Partes fundamentales:

  1. Contador de programa: Registro que apunta a la dirección de memoria de la próxima instrucción a ejecutar. Se incrementa automáticamente después de ejecutar cada instrucción.
  2. Registro de instrucción: Guarda la instrucción que se está ejecutando.
  3. Decodificador: Interpreta la instrucción a ejecutar
  4. Reloj: Genera una señal de sincronía.
  5. Secuenciador: Activa en el orden adecuado las diferentes unidades funcionales para ejecutar la instrucción.
Unidad de E/S:

(En la medida en la que el sistema informático precisa comunicarse con el mundo exterior (utilizando diferentes periféricos), es necesario un elemento que controle el flujo de información que entra y/o sale del sistema informático.

Los periféricos del sistema informático se pueden clasificar en:

  1. Periféricos de entrada: Si sirven para introducir información en el sistema informático (ej. teclado, ratón...)
  2. Periféricos de salida: Si representan información que sale del sistema informático (ej. monitor, impresora...)

Arquitectura Harvard

Posted by Unknown

Originalmente, el término Arquitectura Harvard hacía referencia a las arquitecturas de computadoras que utilizaban dispositivos de almacenamiento físicamente separados para las instrucciones y para los datos (en oposición a la Arquitectura de von Neumann). El término proviene de la computadora Harvard Mark I, que almacenaba las instrucciones en cintas perforadas y los datos en interruptores.

Todas las computadoras constan principalmente de dos partes, la CPU que procesa los datos, y la memoria que guarda los datos. Cuando hablamos de memoria manejamos dos parámetros, los datos en sí, y el lugar donde se encuentran almacenados (o dirección). Los dos son importantes para la CPU, pues muchas instrucciones frecuentes se traducen a algo así como "coge los datos de ésta dirección y añádelos a los datos de ésta otra dirección", sin saber en realidad qué es lo que contienen los datos.

Arquitectura Harvard

Procesador

Posted by Unknown

El microprocesador (o simplemente procesador) es el circuito integrado central y más complejo de un sistema informático; a modo de ilustración, se le suele llamar por analogía el «cerebro» de un computador. Es un circuito integrado conformado por millones de componentes electrónicos. Constituye la unidad central de procesamiento (CPU) de un PC catalogado como microcomputador. Es el encargado de ejecutar los programas, desde el sistema operativo hasta las aplicaciones de usuario; sólo ejecuta instrucciones programadas en lenguaje de bajo nivel, realizando operaciones aritméticas y lógicas simples, tales como sumar, restar, multiplicar, dividir, las lógicas binarias y accesos a memoria.

Esta unidad central de procesamiento está constituida, esencialmente, por registros, una unidad de control, una unidad aritmético lógica (ALU) y una unidad de cálculo en coma flotante(conocida antiguamente como «co-procesador matemático»).

El 15 de noviembre de 1971 Intel anunció un invento que desencadenaría la revolución digital: el microprocesador microprocesador i7

Welcome to My Blog

TIMELINE

- Copyright © INTRODUCCION A LOS SISTEMAS OPERATIVOS -Robotic Notes- Powered by Blogger - Designed by Johanes Djogan -