Escolar Documentos
Profissional Documentos
Cultura Documentos
Proceso
QU ES UN PROCESO?
- Definicin: Un Proceso es una abstraccin de un programa en ejecucin
cdigo + recursos (tiempo de CPU, memoria, accesos a E/S, etc.)
Proceso A
Proceso B
Proceso C
Planificador
de
Procesos
Proceso
A
B
C
D
Proceso D
Tiempo de CPU
Proceso
Es un concepto fundamental en la estructura de SO
Trmino ms general que trabajo (job)
Se define como:
programa en ejecucin
entidad bsica que puede ser asignada a un
procesador y ejecutada en l
Qu hay en un proceso?
Para representar un proceso debemos recoger toda la
informacin que nos de el estado de ejecucin de un programa.
Es decir:
- el cdigo y datos del programa, una pila de ejecucin, el PC
indicando la prxima instruccin, los valores actuales del
conjunto de registros de la CPU, un conjunto de recursos del
sistema (memoria, archivos abiertos, etc.).
11
13
14
Traza ProcB
Traza ProcC
+0
+0
+0
...
...
...
+11
+3
+11
15
+0
+0
...
...
+5
+5
FinPlazo
+0
+0
..
...
+5
+5
FinPlazo
+0
+0
...
...
+3
+5
Solicitud E/S
+6
...etc
17
18
20
..
El ciclo de vida de los procesos describe el comportamiento
que se quiere que exhiban
Existen varios modelos dependiendo de la complejidad que
el sistema operativo sea capaz de soportar
21
Entrar
Expedir
No Ejecucion
Salir
Ejecucion
Interrumpir
22
..
23
..
Cuando SO crea un nuevo proceso , este entra en el sistema en
estado de NO_Ejecucin.
De este modo, el proceso existe, es conocido por el SO y est
esperando la oportunidad de ejecutarse.
..
Incluso en este modelo tan simple, se aprecian elementos de
diseo del So.
..
El comportamiento del distribuidor se puede describir en
termino de un diagrama de colas.
27
..
Si todos los procesos estuvieran siempre listos para ejecutar,
entonces este modelo de 2 estados sera eficaz.
..
Algunos procesos en el estado de NO ejecucin estn listos
para ejecutar, mientras que otros estn bloqueados,
esperando a que termine una operacin de E/S.
31
..
32
..
Veamos ms detalle:
necesarias para
..
Del mismo modo, un proceso sale del sistema en 2 pasos:
1) El proceso termina cuando:
- llega al punto normal de terminacin,
- se abandona debido a un error irrecuperable
- u otro proceso con la debida autoridad hace que el proceso
abandone.
La terminacin pasa el proceso al estado Terminado. En este
punto, el proceso ya no se elige ms para la ejecucin.
2) Sin embargo las tablas y la informacin asociada con el
trabajo son conservadas temporalmente por el SO, para que
programas auxiliares o de soporte extraigan informacin
necesaria. Luego el SO borra del sistema toda la inform.
Relativa al proceso.
35
->
Nuevo
- Nuevo
->
Listo
- Listo
->
Ejecucin
- Ejecucin
->
Terminado
- Ejecucin
->
Listo
- Ejecucin
->
Bloqueado
- Bloqueado ->
Listo
36
..
Algunos motivos por los que un proceso puede pasar de NULO
a NUEVO,
NUEVO ser creado son los siguientes:
Un nuevo usuario se conecta al sistema.
El sistema operativo crea un proceso para que realice un
determinado servicio.
Un proceso puede crear/generar otros procesos, ej. aprovechar
paralelismo.
Es el siguiente trabajo de un procesamiento por lotes (batch).
37
..
EL SO pasar un proceso del estado NUEVO a LISTO cuando
est preparado para aceptar un proceso ms.
38
..
LISTO a EJECUCION:
Cuando es hora de seleccionar un nuevo proceso para
ejecutar, el SO elige a uno de los procesos del estado Listo.
Hay distintos tipos de planificacin cada uno con sus
respectivos algoritmos
- Planificacin a Largo Plazo
- Planificacin de Mediano Plazo
- Planificacin a Corto Plazo
- Planificacin de E/S
.esto se ver en detalle ms adelante (!!)
39
..
Las causas por las que un proceso para de EJECUCION a
TERMINADO pueden ser las siguientes:
El proceso ejecuta una llamada al sistema indicndole que ha
terminado.
El proceso requiere ms memoria de la que el sistema puede
suministrarle y no hay disponible.
Violacin de lmites, como acceder a una posicin de memoria a
la que no la est permitido acceder.
Se excede un lmite de tiempo de espera
Errores de proteccin, aritmticos, intento de ejecutar
instrucciones no existentes o no permitidas en modo usuario, etc.
El operador del sistema o el usuario decide eliminar el proceso.
Fallo de E/S
Terminacin de proceso padre
40
..
EJECUCION a LISTO:
La razn ms comn de esta transicin es que el proceso que
est en ejecucin ha alcanzado el tiempo mximo permitido de
ejecucin ininterrumpida.
Todos los SO con multiprogramacin imponen este tipo de
norma de tiempo.
Hay otras causas, pero que no estn implementadas en todos
los SO, ejemplo: proceso de mayor prioridad luego de salir de
bloqueado y pasar a Listo, puede reemplazar a otro proceso de
menor prioridad que esta Ejecutandose.
41
..
Los motivos por las que un proceso pasa de EJECUCION a
BLOQUEADO (solicita algo por lo que debe esperar) son:
Llamadas a servicios del sistema (procedimiento que forma
parte del cdigo del SO) que no est preparado/disponible para
llevar a cabo de inmediato.
El sistema operativo lleva el proceso a disco (swapping) para
permitir la ejecucin de otros procesos.
El proceso inicia una accin, como una operacin de E/S , que
debe terminarse antes de que el proceso pueda continuar.
Un proceso se puede ejecutar de forma peridica y debe
esperar hasta que llega el siguiente intervalo.
Un proceso se comunica con otro, pero debe esperar a que el
otro proceso le proporcione una entrada o un mensaje
42
..
Un proceso pasar de BLOQUEADO a LISTO:
Cuando se produzca el suceso que estaba esperando.
43
44
..
Si bien se han construido SO empleando solamente estos 3
estados, se requieren aadir ms estados al modelo de 5
estados.
Cada proceso que va a ejecutarse debe ser cargado por
completo en la memoria principal. Todo esto para rapidez del
procesador y porque las actividades de E/S son mucho ms
lentas que las de clculo, y puede llegar a darse que todos los
procesos estn esperando por E/S.
45
..
1) La memoria podra ampliarse para alojar ms procesos.
Pero esto tiene un soto asociado a la memoria, que crece
cuando hablamos de GigaBytee , TeraBytes y PentaBytes
46
..
48
Estados Posibles
49
..
Pero an con esta lnea de razonamiento se presenta una
dificultad.
Todos los procesos que fueron SUSPENDIDO estaban en el
estado BLOQUEADO en el momento de la suspencin.
Realmente no har ningn bien traer de nuevo a memoria
principal un proceso BLOQUEADO porque NO est todava
listo para ejecutarse.
Un proceso en estado SUSPENDIDO fue bloqueado
originalmente por un suceso concreto; cuando se produzca tal
suceso, el proceso se desbloquear y estar disponible para su
ejecucin.
50
..
51
52
..
53
..
Expliquemos las nuevas transiciones:
- Bloqueado
->
Suspendido Bloqueado
- Suspendido Bloqueado
->
Suspendido Listo
- Suspendido Listo
->
Listo
- Listo
->
Suspendido Listo
- Nuevo
->
Suspendido Listo
- Nuevo
->
Listo
- Suspendido Bloqueado
->
Bloqueado
- Ejecucin
->
Suspendido Listo
54
..
- Bloqueado ->
Suspendido Bloqueado
- Suspendido Bloqueado
->
Suspendido Listo
55
..
- Suspendido Listo
->
Listo
- Listo
->
Suspendido Listo
..
- Nuevo
->
Suspendido Listo
->
Listo
..
- Suspendido Bloqueado
->
Bloqueado
- Ejecucin
->
Suspendido Listo
DESCRIPCIN DE PROCESOS
El SO es el controlador de los sucesos que se producen en un
sistema informtico.
Tablas de Memorias
Se utilizan para seguir la pista de la memoria principal (real) y
secundaria (virtual).
61
..
Las tablas de memoria deben incluir la informacin siguiente:
63
Tablas de E/S
Son utilizadas por el SO para administrar los dispositivos y los
canales de E/S del sistema informtico.
En un momento dado, un dispositivo de E/S puede estar
disponible o estar asignado a un proceso.
Si hay una oper. de E/S en ejecucin, el SO necesita conocer el
estado de la operacin de E/S y la posicin de memoria
principal que se est utilizando como origen o destino de la
transferencia de E/S.
Gestin de Entradas/Salidas
Los SOs suministran una interfaz estndar entre los
programas y los dispositivos, es decir, utilizan las mismas
funciones independientemente del dispositivo.
Un manejador de dispositivo es el mdulo responsable de
gestionar un tipo de dispositivo.
Este encapsula el conocimiento especfico del dispositivo,
p.ej.,inicializacin, interrupciones, lectura/escritura, etc.
Puede haber un proceso por cada dispositivo o incluso por
cada solicitud de E/S, dependiendo del SO particular.
65
Tablas de Archivos
Son utilizadas por el SO para tener informacin sobre la
existencia de los archivos, su posicin en memoria secundaria,
su estado actual y otros atributos.
!! Esto se ver en detalle en GESTION DE ARCHIVO !!
Tablas de Procesos
El SO posee estas tablas para administrar los procesos.
66
Gestin de archivos
Un archivo es una coleccin de informacin con nombre.
Es la entidad bsica de almacenamiento persistente.
El sistema de archivos suministra las siguientes operaciones
sobre archivos:
- crear/borrar archivos y directorios,
- funciones para manipular archivos y directorios: leer,
escribir, renombrar, ...
- correspondencia entre archivos y su almacenamiento
secundario.
- Tambin, suministra servicios generales: backup,
contabilidad y cuotas, etc.
67
Gestin de procesos
Podemos definir proceso como una instancia de un
programa en ejecucin.
El SO es responsable de las siguientes actividades
relacionadas con los procesos:
- crear/destruir procesos,
- suspender/reanudar procesos,
- suministrar los mecanismos para sincronizar y
comunicar procesos.
68
69
70