Grupo1

25
Grupo1 Integrantes: Karina A. Ojeda H. Jennifer B. Samaniego F. Silvana P. Vélez M. Tema: Concepto de Proceso Planificación de procesos

Transcript of Grupo1

Page 1: Grupo1

Grupo1

Integrantes:

Karina A. Ojeda H.

Jennifer B. Samaniego F.

Silvana P. Vélez M.

Tema: Concepto de Proceso Planificación de procesos

Page 2: Grupo1

Contenido

3.1 Concepto de Proceso 3.1.1 El Proceso 3.1.2 Estado del proceso 3.1.3 Bloqueo de control de proceso 3.1.4 Hebras• 3.2 Planificación de procesos 3.2.1 Colas de planificación 3.2.2 Planificadores 3.2.3 Cambio de contexto

Page 3: Grupo1

Objetivos

Presentar el concepto de proceso. Describir el mecanismo de planificación

de un Proceso.

Page 4: Grupo1

Introducción Tomando en cuenta la evolución que se ha

tenido desde los primeros sistemas informáticos que permitían la ejecución de un solo programa a la vez, y los actuales que permiten que se carguen y ejecuten en memoria múltiples programas a la vez, tenemos el resultado de un proceso como un programa en ejecución

Por lo tanto un sistema esta formado por una colección de procesos.

Page 5: Grupo1

3.1 Concepto de Proceso• ¿Cómo llamar a las diversas Actividades del CPU?Para dar repuesta a esta interrogante podemos decir

que:Los sistemas de procesos por lotes ejecutan trabajos,

mientras que un sistema de tiempo compartido tiene programas de usuario o tareas.

Incluso los sistemas mono usuario como Microsoft Windows en el cual el usuario puede ejecutar uno o varios programas a la vez, el SO puede tener que dar soporte a sus propias actividades internas programadas

Todas estas actividades pueden ser denominadas procesos.

Page 6: Grupo1

3.1.1 El Proceso • Proceso: Programa en ejecución, mas que el

código de un programa (sección de texto)• Incluye la actividad actual que queda

representada por el valor del contador de programa, y por contenidos de registro del procesador

• Un proceso incluye: Pila del proceso: contiene datos temporales. Sección de datos: contiene las variables

globales.

Page 7: Grupo1

Cúmulo de Memoria: memoria que se asigna al proceso en tiempo de ejecución.

Page 8: Grupo1

• Programa: no es un proceso, es una Entidad pasiva con lista de acciones almacenadas en un disco (Archivo ejecutable).

• Proceso: entidad activa con un contador de programas, que especifica la siguiente acción, ejecuta un conjunto de recursos asociados.

• Un programa se convierte en proceso cuando se carga en memoria un archivo ejecutable.

• Técnicas para cargar archivos ejecutables:Doble clic sobre un icono que represente un archivo

ejecutable e introducir el nombre del archivo ejecutable en la línea de comandos.

Puede haber dos procesos asociados con el mismo programa los mismos que se consideran dos secuencias de ejecución separadas

• Un proceso crea varios procesos a medida que se ejecuta.

Page 9: Grupo1

3.1.2 Estado del proceso

El proceso cambia de estado a menudo que se va ejecutando .

Pueden estar en cualquiera de los siguientes estados

Page 10: Grupo1

• Nuevo: el proceso se esta creando.• En ejecución: se ejecutan las instrucciones.• En espera: esta a la espera que se produzca un

suceso (operación E/S, recepción de una señal).

• Preparando: esta a la espera de que asignen a un procesador.

• Terminado: se ha terminado la ejecución del proceso.

• Solo puede haber un proceso ejecutándose en cualquier procesador en cada instante concreto, pero si pueden haber muchos procesos preparándose y en espera.

Page 11: Grupo1

3.1.3 Bloque de control de proceso Cada proceso es representado mediante un

Bloque de control de proceso o también Bloque de control de tarea.

Elementos de información asociados con un proceso especifico:

Estado del proceso: puede ser nuevo, preparado, en ejecución en espera, detenido. Contador de programa: indica la dirección de la siguiente instrucción que va a ejecutar dicho proceso.Registro de la CPU: varían en cuanto a número y tipo. Dependiendo de la arquitectura de la computadora, incluyen los acumuladores, registro de índice ,punteros de pila y registros de propósito general

Page 12: Grupo1

Esta información debe guardarse junto al contador de programa cuando se produce una interrupción, para que luego pueda continuar ejecutándose correctamente. Información de planificación de la CPU: Esta información incluye la prioridad del proceso, los punteros a las colas de planificación y cualesquiera otros parámetros de planificación que se requieren. Informe de gestión de memoria: Incluye información acerca del valor de los registros base y límite, las tablas de paginas o las tablas de segmento, dependiendo del mecanismo de gestión de memoria utilizado por el sistemas operativo.Información contable: Esta información incluye la cantidad de CPU y de tiempo real empleados, los limites de tiempo asignados, los números de cuenta, el numero de trabajo o de proceso.Información del Estado E/s:Esta información incluye la lista de los dispositivos de E/S asignados al proceso, una lista de los archivos abiertos.El PCB sirve simplemente como repositorio de cualquier información que pueda variar de un proceso a otro .

Page 13: Grupo1

3.1.4 HebrasEl modelo de proceso hasta ahora visto implica un proceso es un programa que tiene una sola hebra de ejecución.

Page 14: Grupo1

Ejemplo: Cuando un proceso está ejecutando un procesador de texto se ejecuta una sola hebra de instrucciones, esta única hebra de control permite al proceso realizar sólo una tarea cada vez .Por ejemplo el usuario no puede escribir simultáneamente caracteres y pasar el corrector ortográfico dentro del mismo proceso, muchos sistemas operativos modernos han ampliado el concepto de proceso para permitir que un programa tenga múltiples hebras de ejecución por lo tanto puede a llevar a cabo más de una tarea al mismo tiempo.

3.2 Planificación de procesosEl objetivo de la multiprogramación es tener en ejecución varios procesos al mismo tiempo con el fin de maximizar la utilización de la CPU. El objetivo de los sistemas de tiempo compartido es conmutar la CPU entre los distintos procesos con tanta frecuencia que los usuarios puedan interactuar con cada programa mientras este se ejecuta.El planificador de procesos selecciona un proceso disponible.En los sistemas de un solo procesador nunca habrá mas de un proceso en ejecución , si hay mas tendrá que esperar hasta que la CPU este libre y pueda asignar otro proceso .

Page 15: Grupo1
Page 16: Grupo1

3.2.1 Colas de planificación Los procesos que entran en el sistema se colocan en una cola de trabajos.

Los procesos que residen en la memoria principal y están preparados y en espera de ejecutarse se mantienen en una lista denominada cola de procesos preparados se almacena en forma de listas enlazadas El sistema también incluye otras colas. Cuando se asigna la CPU a un proceso, éste se ejecuta durante un rato y finalmente termina, es interrumpido o espera a que se produzca un determinado suceso, como la terminación de una solicitud de E/S. Suponga que el proceso hace una solicitud de E/S a un dispositivo compartido, como por ejemplo un disco. Dado que hay muchos procesos en el sistema, el disco puede estar ocupado con la solicitud de E/S de algún otro proceso. Por tanto, nuestro proceso puede tener que esperar para poder acceder al disco. La lista de procesos en espera de un determinado dispositivo de E/S se denomina cola del dispositivo. Dispositivo tiene su propia cola (Figura 3.6).

Page 17: Grupo1
Page 18: Grupo1

Una representación que habitualmente se emplea para explicar la planificación de procesos el diagrama de colas, como el mostrado en la Figura 3.7, donde cada rectángulo representa una cola. Hay dos tipos de colas: la cola de procesos preparados y un conjunto de colas de dispositivos. Los círculos representan los recursos que dan servicio a las colas y las flechas indican el flujo de procesos en el sistema.

Page 19: Grupo1

Cada proceso nuevo se coloca inicialmente en la cola de procesos preparados, donde espera hasta que es seleccionado para ejecución, es decir, hasta que es despachado. Una vez que se asig na la CPU al proceso y éste comienza a ejecutarse, se puede producir uno de los sucesos siguientes: El proceso podría ejecutar una solicitud de E/S y ser colocado, como consecuencia, en una cola de E/S. El proceso podría crear un nuevo subproceso y esperar a que éste termine. El proceso podría ser desalojado de la CPU como resultado de una interrupción y puesto de nuevo en la cola de procesos preparados.En los dos primeros casos, el proceso terminará, antes o después, por cambiar del estado de espera al estado preparado y será colocado de nuevo en la cola de procesos preparados. Los pro cesos siguen este ciclo hasta que termina su ejecución, momento en el que se elimina el proceso de todas las colas y se desasignan su PCB y sus recursos. 

Page 20: Grupo1

PLANIFICADORES El sistema operativo, como parte de la tarea de

planificación, debe de seleccionar de alguna de estas manera los procesos que se encuentran en estas colas. El proceso de selección se realiza mediante un planificador apropiado.

-Planificador a largo Plazo o planificador de trabajos.-Planificador a corto Plazo o planificador de la CPU.1. Planificador a largo Plazo o planificador de

trabajos.- Selecciona procesos de esta cola y los carga en memoria para su ejecución.

2. Planificador a corto Plazo o planificador de la CPU.- Selecciona de entre los procesos que ya están preparados para ser ejecutados y asigna la CPU a uno de ellos.

Page 21: Grupo1

PLANIFICADOR A LARGO Y CORTO PLAZO

La principal diferencia entre estos dos planificadores se encuentra en la frecuencia de ejecución.

El planificador a corto plazo se ejecuta cada vez cada 100 milisegundos(debe de ser rápido).

El planificador a largo plazo controla el grado de multiprogramación(el numero de procesos en memoria).

Page 22: Grupo1

En general la mayoría de los procesos pueden describirse como limitados por la E/S o limitados por la CPU. Un proceso limitado por E/S es aquel que interviene la mayor parte del tiempo en operaciones de E/S en lugar de realizar cálculos.Un proceso limitado por la CPU genera solicitudes de E/S de poca frecuencia, usando la mayor parte de su tiempo en realizar cálculos.Es importante que el planificador a largo plazo seleccione una adecuada mezcla de procesos, equilibrando los procesos limitados por E/S y por los procesos limitado por la CPU.

Page 23: Grupo1

CAMBIO DE CONTEXTO Un cambio de contexto consiste en la ejecución de

una rutina perteneciente al núcleo del sistema operativo multitarea de una computadora, cuyo propósito es parar la ejecución de un proceso para dar paso a la ejecución de otro distinto.

Cuando se produce una interrupción el sistema tiene que guardar el contexto actual del proceso que se esta ejecutando en la CPU, de modo que pueda restaurar dicho contexto cuando su procesamiento concluya, suspendiendo el proceso y reanudándola después.

Es decir realizamos un salvaguarda de estado actual de la CPU y una restauración del estado para reanudar las operaciones.

Page 24: Grupo1

Cuando esto ocurre, el sistema operativo ejecuta inmediatamente la rutina de cambio de contexto. Esta rutina realiza las siguientes operaciones en el siguiente orden:

Salvar el estado del programa que se estaba ejecutando. El estado, también denominado contexto, consiste en los valores de todos los registros del microprocesador. Se copian en la memoria principal.

Seleccionar otro programa para ejecutar. Entre todos los programas que estén preparados para ejecutarse, la rutina selecciona uno de ellos siguiendo algún algoritmo equitativo.

Restaurar el estado del programa seleccionado. Para ello, se toma el estado previamente copiado en la memoria principal y se vuelca en los registros del microprocesador.

Ejecutar el programa seleccionado. La rutina termina su ejecución saltando a la instrucción que estaba pendiente de ejecutar en el programa seleccionado.

Este ciclo se repite bien cada vez que ocurre un evento de entrada/salida, bien cuando vence un temporizador programado en el hardware. Dicho temporizador hace saltar una interrupción cada 150 milisegundos aproximadamente (según sistema operativo).

La ejecución concurrente también es aplicable a computadoras multiprocesador. En este caso, se llevan a cabo cambios de contexto en cada microprocesador de manera independiente.

Page 25: Grupo1

En si el cambio de contexto se lo conoce como la conmutación de la CPU proceso requiere una salvaguarda del estado del proceso actual y una restauración del estado de otro proceso diferente.

El tiempo dedicado al cambio de contexto es tiempo desperdiciado, dado que el sistema no realiza ningún trabajo útil durante la conmutación.

La velocidad del cambio de contexto varía de una máquina a otra, dependiendo de la velocidad de memoria, del numero de registros que tengan que copiarse y de la existencia de instrucciones especiales(como por ej. Una instrucción para cargar o almacenar todos los registros). Las velocidades típicas son del orden de unos pocos milisegundos.

Como se conserva el espacio de memoria y que cantidad de trabajo es necesario para conservarlo depende del método de gestión de memoria utilizado por el sistema operativo.