PDF de programación - Planificación de procesos - Sistemas Operativos: procesos

<<>>
Imágen de pdf Planificación de procesos - Sistemas Operativos: procesos

Planificación de procesos - Sistemas Operativos: procesosgráfica de visualizaciones

Publicado el 5 de Julio del 2019
852 visualizaciones desde el 5 de Julio del 2019
394,1 KB
41 paginas
SISTEMAS OPERATIVOS:
PROCESOS

Planificación de procesos

ADVERTENCIA

2

¨ Este material es un simple guión de la clase: no son

los apuntes de la asignatura.

¨ El conocimiento exclusivo de este material no
garantiza que el alumno pueda alcanzar los
objetivos de la asignatura.

¨ Se recomienda que el alumno utilice los materiales

complementarios propuestos.

Sistemas Operativos – Planificación de procesos

Contenido

3

¨ Creación de procesos.
¨ Terminación de procesos.
¨ Ciclo de vida de un proceso.
¨ Tipos de planificación.
¨ Algoritmos de planificación.

Sistemas Operativos – Planificación de procesos

Creación de procesos

4

¨ Los SO proveen mecanismos para que los procesos puedan

crear otros procesos →Llamada al sistema

¨ El proceso de creación se puede repetir recursívamente
creándose una “estructura familiar” → Arbol de procesos

¨ Asignación de recursos al nuevo proceso:

¤ Los obtiene directamente del SO
¤ El padre debe repartir sus recursos con el proceso hijo o compartir todos

o parte de ellos con él.
n Se evita así que un proceso bloquee el sistema multiplicándose indefinidamente

Sistemas Operativos – Planificación de procesos

Creación de procesos

5

¨ Cuando se crea un proceso:

¤En términos de ejecución

n El padre continua ejecutándose en paralelo con su/s

hijo/s

n El padre espera a que alguno o todos sus hijos hayan

terminado

¤En términos del espacio en memoria

n El proceso hijo es un clon del proceso padre
n El proceso hijo tiene ya un programa cargado en

memoria

Sistemas Operativos – Planificación de procesos

Creación de procesos en UNIX

6

¨ En la familia Unix se distingue entre

crear procesos y ejecutar nuevos
programas.

¨ La llamada al sistema para crear

un nuevo proceso se denomina
fork()

¨ Esta llamada crea una copia casi

idéntica del proceso padre
¤ Ambos procesos, padre e hijo, continúan

ejecutándose en paralelo

¤ El padre obtiene como resultado de la
llamada a fork() el pid del hijo y el hijo
obtiene 0

¤ Algunos recursos no se heredan (p.ej.

señales pendientes)

Sistemas Operativos – Planificación de procesos

Proceso P

Proceso H

pid H

0

fork()

Kernel

Creación de procesos en UNIX

7

¨ El proceso hijo puede invocar
la llamada al sistema exec*()
¤ sustituye su imagen en memoria

por la de un programa diferente

¨ El padre puede dedicarse a
crear más hijos, o esperar a
que termine el hijo
¤ wait() lo saca de la cola de

“listos” hasta que el hijo termina

sh

Proceso H

exec()

Kernel

Vi

Disco

Sistemas Operativos – Planificación de procesos

Jerarquía de procesos (pstree)

8

Sistemas Operativos – Planificación de procesos

9

Creación de procesos:
Copy on Write (COW)
¨ Ineficiencias del modelo fork()

¤ Se copian muchos datos que podrían

compartirse

¤ Si al final se carga otra imagen,
todavía es peor porque todo lo
copiado se deshecha

¨ Muchos UNIX usan COW

¤ Copy-on-Write es una técnica que

retrasa o evita la copia de los datos al
hacer el fork

¤ Los datos se marcan de manera que si
se intentan modificar se realiza una
copia para cada proceso (padre e hijo)

¤ Ahora fork() sólo copia la tabla de

páginas del padre (no las páginas) y
crea un nuevo BCP para el hijo

BCP padre

BCP hijo

Tabla de
páginas del
proceso
padre

Tabla de
páginas del
proceso hijo

Páginas de memoria
del proceso padre

Ejemplo de compartición para evitar duplicar datos

Sistemas Operativos – Planificación de procesos

Creación de procesos en Linux

10

fork:

“Copia al proceso padre

y le da una nueva
identidad al hijo”

Obtener entrada libre en

Tabla de Procesos

Copiar BCP del padre

Duplicar mapa de

M del padre

(incluyendo pilas)

También limpiar
señales, eventos


Estado ß listo

PCB en cola de listos

Sistemas Operativos – Planificación de procesos

Creación de procesos en Linux

11

exec:

“Cambia la imagen de
M de un proceso usando
como “recipiente” uno

previo”

Sistemas Operativos – Planificación de procesos

Liberar imagen de

M del proceso

Leer ejecutable

Crear nueva

imagen M à BCP

Cargar secciones
.texto y .datos

Crear pila inicial U
Crear pila S: dir.
principio programa

Inicio BCP: regs.;
PC ß dir SO: RETI

Contenido

12

¨ Creación de procesos.
¨ Terminación de procesos.
¨ Ciclo de vida de un proceso.
¨ Tipos de planificación.
¨ Algoritmos de planificación.

Sistemas Operativos – Planificación de procesos

Terminación de procesos

13

¨ Cuando un proceso termina todos los recursos

asignados son liberados:
¤ memoria, ficheros abiertos, entradas en tablas,...
¨ y el kernel notifica al proceso padre el evento.

¨ Un proceso puede terminar de 2 formas:

n Voluntariamente: Llamada al sistema exit()
n Involuntariamente:

n Excepciones: división por cero, violación de segmento
n Abortado por el usuario (ctrl-c) u otro proceso (kill), es decir,

señales que no puede manejar o ignorar

Sistemas Operativos – Planificación de procesos

Terminación de procesos

14

¨ Cuando un proceso termina pueden suceder dos

cosas:
¤ Sus hijos no se ven afectados
¤ Todos los hijos acaban también → terminación en cascada

(Ej. VMS)

¨ En Unix,

¤ los hijos del proceso terminado pasan a depender del

proceso init

¤ el proceso finalizado pasa a estado Zombie hasta que el

proceso padre recoge su código de finalización

Sistemas Operativos – Planificación de procesos

¿Cuándo se elimina el BCP?

15

¨ Las terminación de un proceso y la eliminación de su BCP son

tareas diferenciadas
¤ Cuando el padre obtiene la información del hijo, se procede a eliminar

las estructuras de datos

¤ Llamada al sistema wait()

n Bloquea al proceso hasta que termina el/un hijo
n Devuelve el pid del hijo finalizado y

Sistemas Operativos – Planificación de procesos

Contenido

16

¨ Creación de procesos.
¨ Terminación de procesos.
¨ Ciclo de vida de un proceso.
¨ Tipos de planificación.
¨ Algoritmos de planificación.

Sistemas Operativos – Planificación de procesos

Ciclo de vida básico de un proceso

17

Activación

En ejecución

Tantos como
procesadores

Fin

Espera de evento

Listo

Fin

Tiempo

Bloqueado

Nuevos
Procesos

Fin de bloqueo por evento

Sistemas Operativos – Planificación de procesos

Expulsión al disco (swap)

18

¨ Cuando existen muchos procesos en ejecución el

rendimiento puede bajar por excesiva paginación.
¤ Solución: El Sistema Operativo puede expulsar

totalmente procesos al área de intercambio del disco.

¨ Introduce nuevos estados de los procesos.

¤ Bloqueado y suspendido.
¤ Listo y suspendido.

Sistemas Operativos – Planificación de procesos

Ciclo de vida básico de un proceso

19

Nuevos
Procesos

Activación

En ejecución

Tantos como
procesadores

Fin

Espera de evento

Listo

Fin

Tiempo

Fin de bloqueo por evento

Expulsión

Recuperación

Listo y

suspendido

Fin de bloqueo por evento

Bloqueado

Expulsión

Bloqueado y
suspendido

Sistemas Operativos – Planificación de procesos

Contenido

20

¨ Creación de procesos.
¨ Terminación de procesos.
¨ Ciclo de vida de un proceso.
¨ Tipos de planificación.
¨ Algoritmos de planificación.

Sistemas Operativos – Planificación de procesos

Niveles de planificación

21

¨ Planificación a corto plazo

¤ Selecciona el siguiente proceso a ejecutar.

¨ Planificación a medio plazo

¤ Selecciona qué procesos se añaden o se retiran (expulsión a

swap) de memoria principal.

¨ Planificación a largo plazo

¤ Realiza el control de admisión de procesos a ejecutar.
¤ Muy usada en sistemas batch.

Sistemas Operativos – Planificación de procesos

Tipos de planificación

22

¨ No apropiativa.

¤ El proceso en ejecución conserva el uso de la CPU

mientras lo desee.

¨ Apropiativa.

¤ El sistema operativo puede expulsar a un proceso de la

CPU.

Sistemas Operativos – Planificación de procesos

Puntos de decisión de planificación

23

¨ Momentos en los que se puede decidir la planificación

de un proceso:
1. Cuando un proceso se bloquea en espera de un evento

n Realización de una llamada al sistema.

2. Cuando se produce una interrupción.

n Interrupción del reloj.
n Interrupción de fin de E/S.

3.

Fin de proceso.

¨ Planificación no apropiativa: 1 y 3.

¤ Windows95, MacOS anteriores a versión 8.

¨ Planificación apropiativa: 1, 2 y 3.

Sistemas Operativos – Planificación de procesos

Colas de procesos

24

¨ Los procesos listos para ejecutar se mantienen en

una cola.

¨ Alternativas:
¤ Cola única.
¤ Colas por tipos de procesos.
¤ Colas por prioridades.

Sistemas Operativos – Planificación de procesos

Colas de procesos

25

Sistemas Operativos – Planificación de procesos

Colas de procesos: Implementación

26

¨ El SO mantiene diversas colas de procesos.
¨ Se implementa con punteros internos al BCP.
¨ Acceso eficiente.

Sistemas Operativos – Planificación de procesos

Contenido

27

¨ Creación de procesos.
¨ Terminación de procesos.
¨ Ciclo de vida de un proceso.
¨ Tipos de planificación.
¨ Algoritmos de planificación.

Sistemas Operativos – Planificación de procesos

Planificación: Medidas

28

¨ Utilización de CPU:

¤ Porcentaje de tiempo que se usa la CPU.
¤ Objetivo: Maximizar.

¨ Productividad:

¤ Número de trabajos terminados por unidad de tiempo.
¤ Objetivo: Maximizar.
¨ Tiempo de retorno (Tq)

¤ Tiempo que está un proceso en el sistema. Instante final

(Tf) menos instante inicial (Ti).

¤ Objetivo: Minimizar.

Sistemas Operativos – Planificación de procesos

Planificación: Medidas

29

¨ Tiempo de servicio (Ts):

¤ Tiempo dedicado a tareas productivas (cpu,

entrada/salida). Ts = TCPU+ TE/S

¨ Tiempo de espera (Te):

¤ Tiempo que un proceso pasa en colas de espera.

Te = Tq – Ts

¨ Tiempo de retorno normalizado (Tn):

¤ Razón entre tiempo de retorno y tiempo de servicio.

Tn = Tq/Ts

¤ Indica el retardo experimentado.

Sistemas Operativos – Planificación de procesos

Asignación FCFS

30

¨
  • Links de descarga
http://lwp-l.com/pdf16236

Comentarios de: Planificación de procesos - Sistemas Operativos: procesos (1)

Luis miguel
7 de Julio del 2019
estrellaestrellaestrellaestrellaestrella
Como hacer argoritmos
Gracias
Responder

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad