proceso

14
REPUBLICA BOLIVARIANA DE VENEZUELA UNIVERSIDAD EXPERIMENTA LIBERTADOR INSTITUTO PEDAGÓGICO DE MATURÍN ANTONIO LIRA ALCALÁ PROCESO BLOQUEO Y CONCURRENTES BACHILLER: BILLY AMAYA

Upload: billy-amaya

Post on 13-Apr-2017

22 views

Category:

Devices & Hardware


0 download

TRANSCRIPT

Page 1: Proceso

REPUBLICA BOLIVARIANA DE VENEZUELA

UNIVERSIDAD EXPERIMENTA LIBERTADOR

INSTITUTO PEDAGÓGICO DE MATURÍNANTONIO LIRA ALCALÁ

PROCESO BLOQUEO Y

CONCURRENTES BACHILLER:

BILLY AMAYA

Page 2: Proceso

QUE ES PROCESO Un proceso puede informalmente entenderse como un

programa en ejecución. Formalmente un proceso es "Una unidad de actividad que se caracteriza por la ejecución de una secuencia de instrucciones, un estado actual, y un conjunto de recursos del sistema asociados".

Page 3: Proceso

ESTADOS DE LOS PROCESOS

Los procesadores sólo pueden ejecutar un solo proceso a la vez, turnándolos para el uso de éste. Existen procesos no apropiativos o cooperativos que básicamente ocupan todo el tiempo del procesador hasta que ellos deciden dejarlo.

Los posibles estados que puede tener un proceso son ejecución, bloqueado y listo:

Ejecución, es un proceso que está haciendo uso del procesador.

Bloqueado, No puede ejecutarse hasta que un evento externo sea llevado a cabo.

Listo, ha dejado disponible al procesador para que otro proceso pueda ocuparlo.

Page 4: Proceso

BLOQUEO DEL CONTROL DE LOS PROCESOS

El bloque de control del proceso (BCP) o en inglés PCB (Process Control Block) es un registro especial donde el sistema operativo agrupa toda la información que necesita conocer respecto a un proceso particular. Cada vez que se crea un proceso el sistema operativo crea el BCP correspondiente para que sirva como descripción en tiempo de ejecución durante toda la vida del proceso.

El bloque de control de proceso es una estructura de datos con campos para registrar los diferentes aspectos de la ejecución del proceso y de la utilización de recursos.

Page 5: Proceso

PLANIFICACIÓN DE PROCESOS

Analizaremos todos los aspectos relacionados con el problema de cuándo asignar un procesador (CPU) y a qué proceso. Distinguiremos entre tres niveles o tipos de planificación (a largo, medio y corto plazo).

Page 6: Proceso

Planificación a largo plazo

Este planificador está presente en algunos sistemas que admiten además de procesos interactivos trabajos por lotes. Usualmente , se les asigna una prioridad baja a los trabajos por lotes, utilizándose estos para mantener ocupados a los recursos del sistema durante períodos de baja actividad de los procesos interactivos.

Planificación a Medio Plazo

En los sistemas de multiprogramación y tiempo compartido varios procesos residen en la memoria principal. El tamaño limitado de ésta hace que el número de procesos que residen en ella sea finito. Puede ocurrir que todos los procesos en memoria estén bloqueados, desperdiciándose así la CPU. En algunos sistemas se intercambian procesos enteros (swap) entre memoria principal y memoria secundaria (normalmente discos), con esto se aumenta el número de procesos, y, por tanto, la probabilidad de una mayor utilización de la CPU.

Page 7: Proceso

Planificación a corto plazo El principal objetivo de la planificación a corto plazo es

repartir el tiempo del procesador de forma que se optimicen algunos puntos del comportamiento del sistema. Generalmente se fija un conjunto de criterios con los que evaluar las diversas estrategias de planificación. El criterio más empleado establece dos clasificaciones. En primer lugar, se puede hacer una distinción entre los criterios orientados a los usuarios y los orientados al sistema. Los criterios orientados al usuario se refieren al comportamiento del sistema tal y como lo perciben los usuarios o los procesos. Uno de los parámetros es el tiempo de respuesta. El tiempo de respuesta es el periodo de tiempo transcurrido desde que se emite una solicitud hasta que la respuesta aparece en la salida. Sería conveniente disponer de una política de planificación que ofrezca un buen servicio a diversos usuarios.

Page 8: Proceso

COMUNICACIÓN Y SINCRONIZACIÓN Puede verse la concurrencia de procesos como la ejecución

simultánea de varios procesos. Si tenemos un multiprocesador o un sistema distribuido la concurrencia parece clara, en un momento dado cada procesador ejecuta un proceso. Se puede ampliar el concepto de concurrencia si entendemos por procesado concurrente (o procesado paralelo) la circunstancia en la que de tomar una instantánea del sistema en conjunto, varios procesos se vean en un estado intermedio entre su estado inicial y final. Esta última definición incluye los sistemas multiprogramados de un único procesador que estudiamos en los temas anteriores.

Page 9: Proceso

Los distintos procesos dentro de un ordenador no actúan de forma aislada. Por un lado, algunos procesos cooperan para lograr un objetivo común. Por otro lado, los procesos compiten por el uso de unos recursos limitados, como el procesador, la memoria o los ficheros. Estas dos actividades de cooperación y competición llevan asociada la necesidad de algún tipo de comunicación entre los procesos. Parte de este tema lo dedicaremos a estudiar mecanismos de comunicación entre los procesos.

Page 10: Proceso

PROCESO CONCURRENTE Dos o más procesos decimos que son concurrentes, paralelos, o que

se ejecutan concurrentemente, cuando son procesados al mismo tiempo, es decir, que para ejecutar uno de ellos, no hace falta que se haya ejecutado otro.

En sistemas multiprocesador, esta ejecución simultánea podría conseguirse completamente, puesto que podremos asignarle, por ejemplo, un proceso A al procesador A y un proceso B al procesador B y cada procesador realizaran la ejecución de su proceso.

Cuando tenemos un solo procesador se producirá un intercalado delas instrucciones de ambos procesos, de tal forma que tendremos la sensación de que hay un paralelismo en el sistema (concurrencia, ejecución simultánea de más de un proceso).

Page 11: Proceso

DEFINICIÓN DE INTERRUPCIÓN Una interrupción es un mecanismo que permite ejecutar un

bloque de instrucciones interrumpiendo la ejecución de un programa, y luego restablecer la ejecución del mismo sin afectarlo directamente. De este modo un programa puede ser interrumpido temporalmente para atender alguna necesidad urgente del computador y luego continuar su ejecución como si nada hubiera pasado.

Page 12: Proceso

TIPOS DE INTERRUPCIÓN En este su apartado vamos a hacer una

clasificación de las distintas clases de interrupciones que nos podemos encontrar atendiendo a la fuente que las produce. Por un lado distinguiremos si se producen por causas internas o externas al procesador y remarcaremos que este hecho está íntimamente ligado con que las interrupciones sean síncronas o asíncronas:

Page 13: Proceso

Interrupciones hardware: Estas son asíncronas a la ejecución del procesador, es decir, se pueden producir en cualquier momento independientemente de lo que esté haciendo la CPU en ese momento. Las causas que lo producen son externas al procesador y a menudo suelen estar ligadas con distintos dispositivos de E/S. Traps : Son aquellas que se producen de forma síncrona a la

ejecución del procesador y por tanto podrían predecirse si se analiza con detenimiento la traza del programa que en ese momento estaba siendo ejecutado en la CPU. Normalmente las causas de estas interrupciones suelen ser realizaciones de operaciones no permitidas tales como la división por 0, el desbordamiento, el acceso a una posición de memoria no permitida, etc.

Interrupciones software o excepciones: A menudo se tiende a confundir las interrupciones software y las trampas, ya que su naturaleza es bastante similar. Sin embargo las excepciones se producen al realizar una operación no permitida por lo que de algún modo podemos decir que no es controlada directamente por el programador sino que, por un fallo al programar, se producen. No obstante las trampas sí que son provocadas por el programador.

Page 14: Proceso