Exposicion sistemas opertivos1

17

Transcript of Exposicion sistemas opertivos1

Page 1: Exposicion sistemas opertivos1
Page 2: Exposicion sistemas opertivos1

Universidad Nacional de Trujillo

Estados de Procesos, Planificación de Procesos y

Procesamiento de Interrupciones

2 Sistemas Operativos

INDICE

ESTADOS DE PROCESOS-----------------------------------------------------------------------------------------3

DIAGRAMA DE ESTADOS----------------------------------------------------------------------------------------4

PROCESAMIENTO DE INTERRUPCIONES--------------------------------------------------------------------6

¿Cuándo ocurre una interrupción en un S.O?-------------------------------------------------------------------7

TIPOS DE INTERRUPCIONES------------------------------------------------------------------------------------8

PALABRAS DE ESTADO DE PROGRAMA---------------------------------------------------------------------10

PLANIFICACION DE PROCESOS--------------------------------------------------------------------------------11

PLANIFICADOR A LARGO PLAZO-----------------------------------------------------------------------------12

PLANIFICADOR A MEDIO PLAZO------------------------------------------------------------------------------13

BLOQUE DE CONTROL DE PROCESOS----------------------------------------------------------------------14

ALGORITMO DE PLANIFICACION-----------------------------------------------------------------------------15

BIBLIOGRAFIA-------------------------------------------------------------------------------------------------------17

Page 3: Exposicion sistemas opertivos1

Universidad Nacional de Trujillo

Estados de Procesos, Planificación de Procesos y

Procesamiento de Interrupciones

3 Sistemas Operativos

ESTADOS DE PROCESOS

Todo proceso en un sistema operativo presenta un estado que indica la situación de la ejecución

en que se encuentra. El número de posibles estados varía de un sistema operativo a otro.

Diagrama de estados simplificados

Consideramos que todo proceso puede estar, como mínimo, en uno de los siguientes tres

estados:

Activo: el proceso está empleando la CPU, por tanto, está ejecutándose. Pueden haber

tantos procesos activos como procesadores haya disponibles. Por tanto, si el sistema dispone

de un único procesador, únicamente puede haber un proceso activo a la vez.

Preparado: el proceso no está ejecutándose pero es candidato a pasar a estado activo. Es el

planificador el que, en base a un criterio de planificación, decide qué proceso selecciona de la

lista de procesos preparados para pasar a estado activo.

Bloqueado: el proceso está pendiente de un evento externo que le ha hecho bloquear, tales

como una operación de lectura/escritura, la espera de finalización de un proceso hijo, una

señal o una operación sobre un semáforo. El dispositivo/hecho externo "avisa" al S.O. cuando

ha terminado la acción que realizaba mediante una INTERRUPCIÓN, dejando el S.O. lo que

está haciendo para atender a esta última. Tras esto, el S.O. comprueba cuales son los

procesos que fueron bloqueados por ese evento externo, cambiándolos al estado de

preparado.

Page 4: Exposicion sistemas opertivos1

Universidad Nacional de Trujillo

Estados de Procesos, Planificación de Procesos y

Procesamiento de Interrupciones

4 Sistemas Operativos

La transición de activo a preparado y viceversa depende de decisiones tomadas por

el planificador del sistema operativo en base a un cierto criterio. La transición de activo a

bloqueado, y de bloqueado a preparado puede inducirlas el programador mediante llamadas al

sistema.

Diagrama de estados ampliado

En espera / Preparación: Estado por el que pasan los procesos antes de pasar a estar

preparados por primera vez. Los procesos, cuando comienzan a existir, no están preparados

para comenzar a ejecutar instrucciones hasta que el sistema no ha llevado a cabo una serie de

actividades. Una vez que el proceso está completamente cargado, ya se puede producir la

primera transición al estado preparado.

Terminado: La transición de activo a este estado ocurre cuando el proceso realiza una

llamada al sistema solicitando su propia terminación. En estas circunstancias, hay estructuras

de datos correspondientes al proceso que no pueden ser liberadas hasta que el proceso padre

del que está terminando recoja el código de terminación del mismo. Hasta que esto ocurra,

estas estructuras se mantendrán y el proceso seguirá existiendo en estado terminado.

Transición: cuando se completa la operación que mantiene a un proceso en estado

bloqueado termina, el proceso puede haber perdido parte de los recursos que necesita para

proseguir su ejecución.

Page 5: Exposicion sistemas opertivos1

Universidad Nacional de Trujillo

Estados de Procesos, Planificación de Procesos y

Procesamiento de Interrupciones

5 Sistemas Operativos

Hay tres posibles situaciones en las que se ejecutará el planificador del sistema operativo:

El proceso que se encuentra en el estado activo hace una llamada al sistema que, por su

naturaleza, resulta en una transición al estado bloqueado. Este es el caso de las llamadas

read(), write(), wait(), pause(), entre muchas otras. Al pasar a estado bloqueado, se invoca al

planificador para que decida que otro proceso se asignará al procesador.

Si el proceso que se encuentra en el estado activo excede el tiempo máximo de asignación, en

caso de que lo hubiere.

Si el proceso que hasta ese momento se encontraba en estado activo termina de ejecutar su

código.

Además, algunos sistemas operativos disponen de un estado terminado en el que los procesos

pasan antes de terminar su ejecución.

Ejemplos:

· De ejecución á Bloqueado: al iniciar una operación de E/S, al realizar una

operación WAIT sobre un semáforo a cero (en el tema de procesos concurrentes se estudiarán

los semáforos).

· De ejecución á Listo: por ejemplo, en un sistema de tiempo compartido, cuando el proceso

que ocupa la CPU lleva demasiado tiempo ejecutándose continuamente (agota su cuanto) el

sistema operativo decide que otro proceso ocupe la CPU, pasando el proceso que ocupaba la

CPU a estado listo.

· De Listo á en ejecución: cuando lo requiere el planificador de la CPU (veremos el

planificador de la CPU en el tema de planificación de procesos).

· De Bloqueado á Listo: se dispone del recurso por el que se había bloqueado el proceso. Por

ejemplo, termina la operación de E/S, o se produce una operación SIGNAL sobre el semáforo en

que se bloqueó el proceso, no habiendo otros procesos bloqueados en el semáforo.

Page 6: Exposicion sistemas opertivos1

Universidad Nacional de Trujillo

Estados de Procesos, Planificación de Procesos y

Procesamiento de Interrupciones

6 Sistemas Operativos

PROCESAMIENTO DE INTERRUPCIONES

Una “interrupción” es un evento que altera la secuencia en que el procesador ejecuta las

instrucciones. Sirve como mecanismo para atender alguna necesidad urgente del computador y

luego continuar su ejecución como si nada hubiera pasado. Es un hecho generado por el hardware

del computador.

Generalmente se aplica para realizar tareas elementales asincrónicas, tales como responder al

teclado, escribir en la pantalla, leer y escribir archivos. Podemos considerar una tarea asincrónica

como aquella que es solicitada sin previo aviso y aleatoriamente desde el punto de vista del

computador.

Cada interrupción tiene asignada un número único. El PC está diseñado de manera que la

interrupción tiene asignada 4 bytes de memoria RAM. La dirección de los cuatro bytes en la

memoria corresponde al número de la interrupción multiplicado por 4.

Fig. 01: Cómo ocurre una interrupción. Las conexiones entre los dispositivos y el controlador de

interrupciones en realidad utilizan líneas de interrupción en el bus, en vez de cables dedicados.

Page 7: Exposicion sistemas opertivos1

Universidad Nacional de Trujillo

Estados de Procesos, Planificación de Procesos y

Procesamiento de Interrupciones

7 Sistemas Operativos

1. ¿Cuándo ocurre una interrupción el S.O?:

o Obtiene el control.

o Salva el estado del proceso interrumpido:

o Generalmente en su bloque de control de procesos.

o Analiza la interrupción. Transfiere el control a la rutina apropiada para la Manipulación de

la interrupción.

2. Una interrupción puede ser iniciada por:

o Un proceso en estado de ejecución.

o Un evento que puede o no estar relacionado con un Proceso en ejecución.

3. Tipos de interrupciones

a) SVC (llamada al supervisor): es una petición generada por el usuario para un servicio

particular del sistema, por ejemplo, realización de Entrada / Salida u obtención de más

memoria.

b) Entrada / Salida: son iniciadas por el hardware de Entrada / Salida, indicando a la cpu

que ha cambiado el estado de un canal o dispositivo, por ejemplo, finalización de Entrada /

Salida u ocurrencia de un error.

c) Externas: son causadas por distintos eventos, por ejemplo, expiración de un cuanto en

un reloj de interrupción o recepción de una señal de otro procesador en un sistema

multiprocesador.

d) De reinicio: ocurren al presionar la “tecla de reinicio” o cuando llega una instrucción de

reinicio de otro procesador en un sistema multiprocesador.

e) De verificación de programa: son causadas por errores producidos durante la

ejecución de procesos, por ejemplo:

a. Un intento de dividir por cero.

b. Un intento de un proceso de usuario de ejecutar una instrucción privilegiada.

c. Un intento de ejecutar un código de operación inválido.

f) De verificación de máquina: son ocasionadas por un mal funcionamiento del hardware.

Page 8: Exposicion sistemas opertivos1

Universidad Nacional de Trujillo

Estados de Procesos, Planificación de Procesos y

Procesamiento de Interrupciones

8 Sistemas Operativos

Fig. 02: Tipos de Interrupción

4. Interrupciones precisas e imprecisas

A) Interrupción precisa

Se conoce como a una interrupción precisa a aquella que deja al equipo en un estado bien

definido (Walker y Cragon, 1995). Dicha interrupción tiene cuatro propiedades:

o El contador del programa (PC) se guarda en un lugar conocido.

o Todas las instrucciones antes de la instrucción a la que apunta el PC se han ejecutado por

completo.

o Ninguna instrucción más allá de la instrucción a la que apunta el PC se ha ejecutado.

o Se conoce el estado de ejecución de la instrucción a la que apunta el PC.

B) Interrupción imprecisa

Es una interrupción donde hay distintas instrucciones cerca del contador del programa en distintos

estados de avance, y las más antiguas no necesariamente están más completas que las más

recientes. Las máquinas con interrupciones imprecisas por lo general vuelcan una gran cantidad de

estado interno en la pila, para dar al sistema operativo la posibilidad de averiguar qué está pasando.

Page 9: Exposicion sistemas opertivos1

Universidad Nacional de Trujillo

Estados de Procesos, Planificación de Procesos y

Procesamiento de Interrupciones

9 Sistemas Operativos

El código necesario para reiniciar la máquina es por lo general muy complicado. Además,

al guardar una cantidad extensa de información para la memoria en cada interrupción se reduce

aún más las velocidades las interrupciones y la recuperación.

5. Manipuladores de Interrupciones (IH):

El Sistema Operativo incluye rutinas para procesar cada tipo diferente de interrupción.

Cuando se produce una interrupción el Sistema Operativo efectúa las siguientes acciones:

o Salva el estado del proceso interrumpido.

o Dirige el control al manipulador de interrupciones adecuado.

o Se aplica la técnica de “Cambio de Contexto”.

6. Palabras de Estado de programa:

Los Sistemas Operativos instrumentan información de control que puede aparecer como

las “Palabras de Estado de Programa (PSW)”, las cuales controlan el orden de ejecución de las

instrucciones y contienen información sobre el estado del proceso.

Existen tres tipos de PSW, que son la “actual”, la “nueva” y la “vieja”.

La “PSW Actual” almacena la dirección de la próxima instrucción que será ejecutada e indica los

tipos de instrucciones actualmente “habilitadas” e inhabilitadas”.

Page 10: Exposicion sistemas opertivos1

Universidad Nacional de Trujillo

Estados de Procesos, Planificación de Procesos y

Procesamiento de Interrupciones

10 Sistemas Operativos

En un sistema uni procesador existe:

o Solo una PSW actual.

o Seis PSW nuevas (una para cada tipo de interrupción).

o Seis PSW viejas (una para cada tipo de interrupción).

o La PSW nueva para un tipo de interrupción dado contiene la dirección en el hardware

donde reside el manipulador de interrupciones para este tipo específico.

o Cuando ocurre una interrupción para la cual el procesador no está inhabilitado, ocurren

las siguientes acciones:

o El hardware cambia las PSW en los casos siguientes:

o Al almacenar la PSW actual en la PSW vieja, para este tipo de interrupción.

o Al almacenar la PSW nueva en la PSW actual, para este tipo de interrupción.

o Luego de este “intercambio de PSW”:

o La PSW actual contiene la dirección del manipulador de interrupción adecuado.

o El manipulador de interrupciones procesa la interrupción.

o Luego de procesar la interrupción, la CPU es enviada al:

Proceso que estaba en ejecución en el momento de la interrupción.

Proceso de listo de más alta prioridad.

o La acción precedente depende de si el proceso de interrupción es:

“Apropiativo”: obtiene la CPU solo si no hay procesos de listos.

“No apropiativo”: obtiene de nuevo la CPU.

Page 11: Exposicion sistemas opertivos1

Universidad Nacional de Trujillo

Estados de Procesos, Planificación de Procesos y

Procesamiento de Interrupciones

11 Sistemas Operativos

PLANIFICACION DE PROCESOS

El sistema operativo es el encargado de decidir qué procesos entran en la CPU cuando ésta

queda libre, y en qué momento sale de la CPU el proceso que está en ejecución. Todo

ello se lleva a cabo a través de una política de planificación de procesos.

Se pueden definir múltiples políticas de planificación de procesos: por orden de llegada, primero la

tarea más breve, por orden de prioridad, etc. En definitiva, lo que una política de planificación

debe conseguir es que los procesos obtengan adecuadamente sus turnos de ejecución por lo

que son tratados de la misma forma, que no se produzca sobrecarga, es decir, el planificador debe

responder rápidamente ante cargas de trabajo ligera y responder de la misma forma ante

cargas de trabajo similares. Y obtener un buen rendimiento, por lo se debe lograr finalizar

el mayor número de procesos y maximizar el tiempo de respuesta.

No existe una política de planificación óptima para todas las computadoras, sino que depende de

las características de los procesos. Así se puede ver cómo una política obtiene unos resultados

excelentes en un sistema, sin embargo en otro sistema el rendimiento es mucho menor. Ello

se debe a las características de los procesos, donde cada uno puede tener una cantidad de

operaciones de E/S enorme cómo es el caso de las bases de datos, otros usan mayormente la

CPU, otros realizan una mayor lectura de datos frente a otros, hay procesos que requieren una

prioridad máxima en los turnos de ejecución, es el caso de los procesos de tiempo real, y hay

procesos que requieren más tiempo de ejecución que otros, por lo que habrá que valorar si

terminar primero los cortos o no.

Page 12: Exposicion sistemas opertivos1

Universidad Nacional de Trujillo

Estados de Procesos, Planificación de Procesos y

Procesamiento de Interrupciones

12 Sistemas Operativos

PLANIFICADOR A LARGO PLAZO (‘PLP’):

En un sistema de procesos por lotes, los procesos recién incorporados permanecen detenidos en

una cola de procesamiento por lotes, en el disco. El planificador a largo plazo creará procesos a

partir de la cola cuando sea posible (carga en memoria los procesos de nueva creación)

DECISIONES QUE TOMA EL PLANIFICADOR A LARGO PLAZO:

CUANDO CREAR UN NUEVO PROCESO: CONTROLA EL GRADO DE

MULTIPROGRAMACIÓN.

CUÁL VA A SER EL SIGUIENTE PROCESO A ADMITIR: ALGORITMO FCFS

(FIRST-COME FIRSTSERVED), PRIORIDADES, TIEMPOS DE EJECUCIÓN ESPERADOS,

EXIGENCIAS E/S.

Es el encargado de controlar el grado de multiprogramación en el sistema, intentando

conseguir una mezcla adecuada de trabajos en CPU y E/S. Es por tanto el encargado de

suministrar los procesos a la cola de planificación a corto plazo.

Se ejecuta con poca frecuencia, ya que pueden transcurrir minutos entre la creación de nuevos

procesos en el sistema.

PROCESOS ORIENTADOS A CPU U ORIENTADOS A E/S

Un proceso orientado a CPU es aquel que invierte la mayor parte de su tiempo en efectuar cálculos

y genera solicitudes de E/S con de su tiempo en efectuar cálculos y genera solicitudes de E/S con

poca frecuencia.

Un proceso orientado a E/S es aquel que emplea más tiempo en realizar E/S que en efectuar cálculos.

El planificador a largo plazo debe seleccionar una mezcla adecuada de procesos

orientados a CPU y orientados a E/S.

Page 13: Exposicion sistemas opertivos1

Universidad Nacional de Trujillo

Estados de Procesos, Planificación de Procesos y

Procesamiento de Interrupciones

13 Sistemas Operativos

PLANIFICADOR A MEDIO PLAZO (‘PLP’):

Es el encargado de suspender y posteriormente restaurar procesos de poco interés, realizando

el intercambio de los mismos entre la memoria principal y el disco o memoria secundaria. El

planificador a medio plazo se encarga de sacar el proceso y volverlo a introducir más tarde. El

proceso continuará su ejecución a partir del punto donde se había quedado.

Dicho proceso es conocido como swapping, y se ejecuta cuando hay escasez de recursos.

Cuando un usuario se conecta al sistema, se genera una solicitud de crear un proceso los

usuarios de tiempo compartido no pueden de crear un proceso, los usuarios de tiempo

compartido no pueden ser puestos en una cola y esperar a que el sistema pueda

aceptarlos (no planificador a largo).

En ocasiones es interesante sacar procesos de memoria para reducir el grado de

multiprogramación o para mejorar la mezcla de procesos (orientados a CPU o E/S).

Se encarga de controlar qué procesos, de entre todos los iniciados deben estar en

memoria (preparados) y qué otros deben estar en el espacio de intercambio.

PLANIFICADOR A CORTO PLAZO (‘PCP’):

Selecciona un proceso de la cola de procesos preparados para ejecución y le asigna la CPU.

Se ejecuta con mucha frecuencia. El proceso seleccionado quizás se ejecute únicamente durante

unos milisegundos antes de iniciar una solicitud de E/S.

Se ejecuta cuando ocurre un evento que conduce a la interrupción del proceso actual, expulsando

el proceso a favor de otro Ejemplos de eventos:

Interrupciones de reloj.

Interrupciones de E/S.

Llamadas al sistema operativo.

Señales.

Page 14: Exposicion sistemas opertivos1

Universidad Nacional de Trujillo

Estados de Procesos, Planificación de Procesos y

Procesamiento de Interrupciones

14 Sistemas Operativos

Bloque de Control del Proceso (PCB, Process

Control Block).

Es un conjunto de registros que almacena información sobre el proceso:

Estado del proceso: Nuevo, Listo, en Ejecución, Bloqueado.

Contador del programa: Dirección siguiente instrucción a ejecutar.

Registros de la CPU: Contenidos al final de la última ejecución (contador de programa,

puntero a pila, registros de datos, etc.).

Información planificación CPU: Prioridad, apuntadores a las colas, algoritmo usado.

Información contable y de identificación: Número de proceso, tiempo real y de CPU

utilizado. Información estado E/S: Solicitudes E/S pendientes, lista archivos abiertos,

etc.

Se utiliza para poder ejecutar procesos concurrentes: hay un cambio de contexto (se produce

una interrupción que debe atender el sistema operativo).

Page 15: Exposicion sistemas opertivos1

Universidad Nacional de Trujillo

Estados de Procesos, Planificación de Procesos y

Procesamiento de Interrupciones

15 Sistemas Operativos

ALGORITMOS DE PLANIFICACIÓN

Decidir a cuál de los procesos que están en la cola de procesos listos se le asignará la CPU.

Clasificación de algoritmos de planificación:

POR ORDEN DE LLEGADA (FCFS).

La CPU es asignada a todos los procesos en el mismo orden que lo solicitan. Es fácil de

implementar.

Sin expulsión: Cuando un proceso tiene asignada la CPU, la conserva hasta que desee liberarla,

bien sea porque finaliza o por solicitud de una E/S.

Inconvenientes:

No optimiza el tiempo de espera: es muy variable en función del orden de llegada de los

procesos y la duración de los intervalos de CPU.

No es adecuado para sistemas interactivos: Por ser sin expulsión un trabajo con una ráfaga

de CPU larga puede provocar una espera larga a otros usuarios.

CIRCULAR (RR, ROUND-ROBÍN)

A cada proceso se le asigna una pequeña cantidad de tiempo de CPU, llamada “quantum” de

tiempo, normalmente 10-100 mseg.

Si el proceso tiene un intervalo de CPU mayor que el “quantum”, entonces es expulsado de la

CPU y añadido a la cola de procesos listos.

Page 16: Exposicion sistemas opertivos1

Universidad Nacional de Trujillo

Estados de Procesos, Planificación de Procesos y

Procesamiento de Interrupciones

16 Sistemas Operativos

Si hay n procesos, cada uno obtiene 1/n del tiempo de la CPU en intervalos de q unidades

como máximo (en un ciclo).

Equitativo.

El tiempo de espera máximo está limitado por (n -1) q, antes de recibir su siguiente cuanto de

tiempo (en un ciclo).

El tiempo de retorno medio varía con el cuanto de tiempo.

En general es peor que el del algoritmo SRTF. Mejora si un porcentaje alto de trabajos acaban

antes de que acabe el cuanto de tiempo (de ahí la regla practica anterior).

POR PRIORIDADES

Sin expulsión (“Non preemptive”)/ Con expulsión (“Preemptive”)

Estáticos: La prioridad se asigna antes de la ejecución y no cambia.

Dinámicos: La prioridad cambia con el tiempo.

COMBINACIÓN DE ALGORITMOS: PRIORIDADES.

El algoritmo de prioridades se selecciona para ejecutar el proceso en estado de listo que tenga la

máxima prioridad. Aunque puede haber versiones no expulsivas de este algoritmo, generalmente,

se usan versiones expulsivas en las que puede haber cambios de contexto involuntarios cuando se

desbloquea un proceso con mayor prioridad que el actual, utilizándose también en este caso el

mecanismo de la interrupción software.

Page 17: Exposicion sistemas opertivos1

Universidad Nacional de Trujillo

Estados de Procesos, Planificación de Procesos y

Procesamiento de Interrupciones

17 Sistemas Operativos

BIBLIOGRAFIA

http://es.slideshare.net/gladysmamani/planificacion-de-proceso-presentation

http://astreo.ii.uam.es/~ortigosa/ssoo/05-planificador-2pp.pdf

http://www.ecured.cu/index.php/Planificaci%C3%B3n_de_procesos_en_Siste

mas_Operativos

http://www.sc.ehu.es/acwlaroa/SO2/Apuntes/Cap3.pdf

http://www.monografias.com/trabajos13/gesme/gesme.shtml

http://www.sc.ehu.es/acwlaroa/SO2/Apuntes/Cap4.pdf

http://lsi.vc.ehu.es/pablogn/docencia/manuales/SO/TemasSOuJaen/ADMINIS

TRACIONDELAMEMORIA/5.3SegmentacionPaginada.htm

Juan A. Pérez-Campanero, Juan M. Morera. Conceptos de Sistemas

Operativos, España, 2002

David A. Patterson, Jhon L. Hennessy. Estructura y Diseño de Computadores,

España, 2000

Sistemas operativos- Expto. David Luis La Red Martinez.

Sistemas operativos 3° Edición-Andrews Tanenbaum