Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
ejecución, e incluye
los valores Un proceso es un
actuales del conjunto de threads
contador de
programa, los (hilos) que ejecutan
registros y las el mismo código,
variables. junto con las zonas
de memoria
asociadas a ellos y
los ficheros que
tienen abiertos.
Las instrucciones de un programa destinadas a ser
ejecutadas por el microprocesador.
Su estado de ejecución en un momento dado, esto es,
los valores de los registros de la CPU para dicho
programa.
Su memoria de trabajo, es decir, la memoria que ha
reservado y sus contenidos.
Otra información que permite al sistema operativo su
planificación.
PROCESOS DE UN S.O.
Listo o
• El proceso preparado: • Al proceso le falta
ocupa la CPU algún recurso para
actualmente, poder seguir
es decir, se ejecutándose. El
está proceso necesita que
ejecutando. ocurra algún evento
• El proceso
dispone de que le permita poder
todos los proseguir su ejecución.
recursos para su
En ejecución, sólo le
ejecución: falta la CPU.
Bloqueado:
Por ejemplo operación de E/S.
La sincronización explícita entre procesos es un caso particular del estado "bloqueado". En este caso, el
suceso que permite desbloquear un proceso no es una operación de entrada/salida, sino una señal generada
a propósito por el programador desde otro proceso.
CREACIÓN DE PROCESOS
Básicamente hasta el día de hoy existen sólo 4 formas de crear un proceso:
• Salida normal.
• Salida por error.
• Error fatal.
• Eliminado por otro proceso.
Salida por error, ésta se presenta cuando el proceso tiene que salir debido a
TERMINACIÓN DE PROCESOS
Error fatal, éste sucede por un error en el programa, como las divisiones entre 0
o requerimiento de memoria inaccesible.
Eliminado por otro proceso, éste es sumamente útil cuando un proceso se queda
colgado, es decir, sin terminar, pero tampoco responde. En Unix un ejemplo es
cuando se utiliza el comando kill para terminar procesos abruptamente.
DE EJECUCIÓN Á BLOQUEADO: al iniciar una operación de E/S, al
realizar una operación WAIT sobre un semáforo a cero.
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 quantum (tiempo)) 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
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.
HELD
WAIT SEND
blocked blocked
12
9 11
1
10 6
2
WAIT 16
READY 3
blocked
15
REPLY
blocked
13
5 4
DEAD
14
(zombie) 8 7
RECEIVE
blocked
SIGNAL
blocked
El concepto de proceso engloba dos conceptos separados y potencialmente
independientes: uno relativo a la propiedad de recursos y otro que hace referencia a
la ejecución.
Unidad a la que
Unidad que posee se le asigna el
recursos: procesador:
• Un hilo representa básicamente una acción de un programa, un proceso en si
mismo no hace nada, en su lugar hospeda los recursos consumidos de la
aplicación que se esta ejecutando, tal como el head y la pila de memoria en
otras palabras proporciona los recursos necesario para que un programa
pueda ejecutarse.
CONCEPTO
DE
CONCURRENCIA.
sincronización
comparación y
de la ejecución
competencia por
de varios
los recursos
procesos
Cuando dos o más procesos llegan al mismo tiempo a ejecutarse, se
dice que se ha presentado una concurrencia de procesos. La
concurrencia puede presentarse en tres contextos diferentes:
2.- El sistema operativo debe asignar y quitar los distintos recursos a cada proceso
activo. Entre estos recursos se incluyen:
3.- El sistema operativo debe proteger los datos y los recursos físicos de cada
proceso contra injerencias no intencionadas de otros procesos.
Hacer que
se cumpla
la exclusión
mutua crea
dos Interbloqueo Inanición
problemas
P1 y P2 y dos recursos críticos, P1, P2 y P3 y solo un
de control R1 y R2 recurso R.
adicionales
.
REQUISITOS PARA LA EXCLUSIÓN MUTUA.
Cualquier servicio o capacidad que dé soporte para la exclusión mutua
debe cumplir los requisitos siguientes:
Debe cumplirse la exclusión mutua: Solo un proceso, de entre todos los
que poseen secciones críticas por el mismo recurso u objeto compartido,
debe tener permiso para entrar en ella en un instante dado.
Un proceso que se interrumpe en una sección no crítica debe hacerlo sin
estorbar a los otros procesos.
Un proceso no debe poder solicitar acceso a una sección crítica para
después ser demorado indefinidamente; no puede permitirse el
interbloqueo o la inanición.
Cuando ningún proceso está en su sección crítica, cualquier proceso que
solicite entrar en la suya debe poder hacerlo.
No se pueden hacer suposiciones sobre la velocidad relativa de los
procesos o su número.
Un proceso permanece en su sección crítica solo por un tiempo finito.
SOLUCIONES A LA EXCLUSIÓN MUTUA
Hay varias formas de satisfacer los requisitos de exclusión mutua:
Soluciones por Software. Una manera es dejar la
responsabilidad a los procesos que deseen ejecutar
concurrentemente, de esta manera los procesos deben coordinarse
unos con otros para cumplir la exclusión mutua sin ayuda alguna.
Soluciones por Hardware. Propone el uso de instrucciones de la
máquina a tal efecto, estas tienen la ventaja de reducir la
sobrecarga.
OBJETIVOS DE LA
PLANIFICACIÓN
DOWN
UP
Datos privados: contiene los procedimientos privados, que sólo pueden ser
usados desde dentro del monitor y no son visibles desde fuera
CARACTERISTICAS
Reutilizables
Un recurso reutilizable es aquél que puede ser usado con seguridad por
un proceso y no se agota con el uso.
En forma similar, si
un proceso espera En general un
demasiado tiempo planificador de este
en una cola de baja tipo esta definido
prioridad, lo por los siguientes
moveremos a una parámetros:
cola de mayor
prioridad.
El número de El tipo de algoritmo
colas. de planificación de
cada cola.
Un método de Un método de
determinación de determinación de
cuando mover un cuando mover un
trabajo a una cola trabajo a una cola
de mayor de menor
prioridad. prioridad.