La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Alejandro Ledezma Milanez Sonia Lizbeth Hernández Martinez Zaira Samara Chavez Hernandez Gilberto Saduj Castañeda Garcia.

Presentaciones similares


Presentación del tema: "Alejandro Ledezma Milanez Sonia Lizbeth Hernández Martinez Zaira Samara Chavez Hernandez Gilberto Saduj Castañeda Garcia."— Transcripción de la presentación:

1 Alejandro Ledezma Milanez Sonia Lizbeth Hernández Martinez Zaira Samara Chavez Hernandez Gilberto Saduj Castañeda Garcia

2 Todas las computadoras modernas pueden hacer varias cosas al mismo tiempo. En un sistema de multiprogramación, la CPU también cambia de un programa a otro, ejecutando cada uno durante decenas o centenas de milisegundos.

3 Para las personas es difícil dar seguimiento a varias actividades en paralelo Los diseñadores de s.o. han desarrollado un modelo conceptual (procesos secuenciales) que facilita tratar con el paralelismo. Este modelo, sus usos y algunas de sus consecuencias se exploraran en esta sección

4 Todo el software ejecutable de la computadora, a veces incluye el s.o., se organiza en varios procesos secuenciales, o simplemente procesos Un proceso es un programa en ejecución, e incluye los valores que tienen el contador de programa, los registros y las variables.

5 En lo conceptual, cada proceso tiene su propia CPU virtual. En la realidad, la verdadera CPU cambia en forma continua de un proceso a otro.

6 La rápida conmutación se denomina multiprogramación. Figure 1: Multiprogramación de cuatro programas

7 Varios procesos pueden compartir un solo procesador, y se usa algún algoritmo de calendarización para determinar cuándo hay que dejar de trabajar en un proceso y atender otro.

8 Hay cuatro sucesos principales que causan la creación de procesos: 1. Inicialización del sistema 2. Ejecución de una llamada al sistema para crear procesos por parte de un proceso en ejecución. 3. Solicitud de un usuario para crear un proceso 4. Inicio de un trabajo por lotes

9 Cuando se arranca un s.o., por lo regular se crean varios procesos. Algunos son de primer plano; es decir, procesos que interactúan con usuarios y trabajan para ellos. Otros son procesos de segundo plano que no están asociados con un usuario en particular, sino que tienen una función específica Los procesos de segundo plano se llaman demonios (daemons) Por ejemplo: podría diseñarse un proceso de segundo plano que acepte el correo electrónico entrante, este proceso quedaría inactivo casi todo el día pero entraría en acción repentinamente si llega algún mensaje

10 Es común que un proceso en ejecución emita llamadas al sistema para crear uno o más procesos que le ayuden a su labor. La creación de procesos tiene gran utilidad cuando el trabajo a realizarse puede formularse con facilidad a partir de varios procesos relacionados. En un multiprocesador el trabajo también se realizará más rápido si permite que cada proceso se ejecute en una CPU distinta.

11 1. Terminación normal (voluntaria). 2. Terminación por error (voluntaria). 3. Error fatal (involuntaria). 4. Terminado por otro proceso (involuntaria). 5. La mayoría de los procesos termina porque ya realizó su trabajo.

12 Es común que un proceso tenga que interactuar con otros procesos (aún cuandoo tiene su propio contador de programas y estado interno). Los tres estados en que puede estar un proceso son los siguientes: En ejecución (en realidad, usando la CPU en ese instante). Listo (puede ejecutarse, detenido de forma temporal para permitir que se ejecute otro proceso). Bloqueado (no puede ejecutarse mientras no ocurra cierto suceso externo).

13

14 En los s.o. tradicionales cada proceso tiene un espacio de direcciones y un solo subproceso de control Sin embargo, hay situaciones en las que es deseable tener varios subprocesos de control en el mismo espacio de direcciones, operando de forma pseudoparalela, como si fueran procesos individuales (salvo por el espacio de direcciones compartido).

15 El modelo de proceso descrito hasta ahora se basa en dos conceptos independientes: agrupamiento de recursos y ejecución. A veces es útil separarlos, y es aquí donde entran los subprocesos. Un proceso se puede considerar como una forma de agrupar recursos relacionados.

16 Un proceso tiene un espacio de direcciones que contiene lo datos y el texto del programa, así como otros recursos, que podrían incluir archivos abiertos, procesos hijos, alarmas pendientes, etc. Al juntar todas estas cosas en forma de un proceso se les puede administrar con más facilidad.

17 Éste tiene un contador de programa que indica cuál instrucción se ejecutará a continuación, tiene registros, que contienen sus variables de trabajo actuales, y tiene una pila, que contiene el historial de ejecución. Los procesos sirven para agrupar recursos; los subprocesos son las entidades que se calendarizan para ejecutarse en la CPU.

18 los subprocesos comparten un espacio de direcciones, archivos abiertos y otros recursos El termino múltiples procesos se emplea para describir la situación en la que se permite varios subprocesos en el mismo proceso.

19 Cuando un proceso con múltiples subprocesos se ejecuta en un sistema con una sola CPU, los subprocesos se turnan para ejecutarse Además de compartir el mismo espacio de direcciones, todos los subprocesos comparten el mismo conjunto de archivos abiertos, procesos hijos, alarmas, señales, etc.

20 Un subproceso puede estar en uno de varios estados: en ejecución, bloqueado, listo o terminado.

21 ¿Por qué son útiles los subprocesos? El motivo principal es que en diversas aplicaciones, se estén realizando varias actividades al mismo tiempo, por lo que algunas de ellas podrían bloquearse de vez en cuando. Al descomponer tal aplicación en múltiples subprocesos secuenciales que se ejecuten casi en paralelo, se simplifica el modelo de programación.

22 Un segundo argumento es que, al no estar enlazados con recursos, son más fáciles de crear y destruir que los procesos. Y mejora el desempeño del CPU Por último son útiles en sistemas con múltiples CPUs, en los que es posible un verdadero paralelismo

23 Si el proceso padre tiene múltiples subprocesos, ¿ el hijo también deberá tenerlos? De lo contrario es posible que no funcione de forma correcta.


Descargar ppt "Alejandro Ledezma Milanez Sonia Lizbeth Hernández Martinez Zaira Samara Chavez Hernandez Gilberto Saduj Castañeda Garcia."

Presentaciones similares


Anuncios Google