Informática

Solo disponible en BuenasTareas
  • Páginas : 23 (5556 palabras )
  • Descarga(s) : 0
  • Publicado : 28 de diciembre de 2010
Leer documento completo
Vista previa del texto
MULTIPROGRAMACION, MULTITAREA Y SISTEMAS OPERATIVOS EN TIEMPO REAL Multiprogramación Multiprogramación es un término que significa que muchos programas que no están relacionados unos con otros pueden residir en la memoria de una computadora y tomar turnos usando la unidad central de procesamiento, cualquiera que haya usado Windows ®, Unix o Linux ha experimentado un entorno de multiprogramaciónporque estos sistemas pueden ejecutar un largo numero de programas de usuario aparentemente de manera simultanea en una sola unidad central de procesamiento. La sección que permite la multiprogramación en un sistema operativo se denomina Kernel, éste software consiste en un numero de procedimientos que llevan a cabo funciones como crear tareas, decidir cual tarea correrá en un momento dado,proveyendo un mecanismo para cambiar al procesador de una tarea a otra y provee formas primitivas de acceso controlado a recursos compartidos. Un programa lo constituye una secuencia de instrucciones que cuando se ejecutan realizan alguna actividad. Las tareas a su vez la constituyen una serie de instrucciones (ejemplo, por ejecución de un programa o programas). Esta acción puede proporcionar una funciónde sistema o una función de aplicación, que un sistema operativo pueda correr concurrentemente. A primera vista pareciera que tarea y programa son lo mismo. Sin embargo una tarea es un conjunto de un programa. Esto es mejor demostrado con un ejemplo. Considere un programa que implemente una cola FIFO. Este programa podría ser compartido por otras tareas en donde parte de sus acciones requierautilizar una cola FIFO. Esto hace que una tarea aparezca como un modulo de programa el cual usa otro modulo de programa, sin embargo hay que recordar que las activaciones de módulos de programas en un entorno que no sea de sistema operativo no se podrán ejecutar concurrentemente. Por lo tanto el concepto de tarea está íntimamente atado a un entorno de sistema operativo. De hecho cuando una tarea escreada el sistema operativo crea un entorno de ejecución el cual

está separado de los entornos de ejecución de otras tareas (por ejemplo, áreas de datos separadas, pila separada para llamada de procedimientos). Muchas tareas pueden compartir el mismo código pero el código es ejecutado en un entorno de ejecución diferente, mientras cada tarea sepa que se está ejecutando en su propio procesador.La diferencia entre una tarea y un programa puede ser vista en el siguiente ejemplo. Considere en un sistema de computadora que permita editar archivos ASCII. Generalmente en sistemas de computadora que permiten esto el código del editor está diseñado para ser re-entrante – eso es que múltiples hilos de ejecución puedan ejecutar el código al mismo tiempo. Código re-entrante a menudo tiene la mismaestructura del código recursivo. El código recursivo permite a los procedimientos escritos en lenguajes tales como Pascal o C llamarse a sí mismos, esto implica que cada reencarnación del procedimiento tenga su propio juego de variables locales (cualquier variable global será manipulada por cada reencarnación. Esta propiedad es requerida por el código el cual está siendo usado por múltiplestareas, de no ser así una tarea corromperá la data que esté siendo manipulada por otra tarea. De vuelta al ejemplo planteado. En el caso del editor, cada usuario correrá una copia del editor. La tarea o la acción requerida por el usuario es la edición del archivo. Por lo tanto cada usuario está corriendo una tarea. Sin embargo cada tarea está ejecutando actualmente las mismas instrucciones, de hechoestá ejecutando físicamente las mismas instrucciones (o programa). Ejemplo: existe físicamente una copia del editor en memoria. Sin embargo la data manejada por estas instrucciones es diferente para cada tarea, y las instrucciones en efecto están siendo ejecutadas en diferentes procesadores.

Multiprogramación y sistemas embebidos La multiprogramación no se aplica solamente en sistemas de...
tracking img