-procesos-umh2812.edu.umh.es/wp-content/uploads/sites/510/... · arco 2014-2015 6 procesos...

86
-Procesos- 1.Introducción El Concepto de Proceso Como ejecutar varios procesos simultáneamente 2.Interrupciones 3.Gestión de procesos Tablas 4.Ciclo de vida de los procesos Estados y Transiciones de un Proceso. Tablas de procesos PCB y del SO. 5.Interrupción de procesos. Cambios de contexto

Upload: others

Post on 26-May-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: -Procesos-umh2812.edu.umh.es/wp-content/uploads/sites/510/... · ARCO 2014-2015 6 Procesos Funciones SO • El SO interactúa con el HW y proporciona las funciones necesarias para

-Procesos-

1.IntroducciónEl Concepto de ProcesoComo ejecutar varios procesos simultáneamente

2.Interrupciones3.Gestión de procesos

Tablas4.Ciclo de vida de los procesos

Estados y Transiciones de un Proceso.Tablas de procesos PCB y del SO.

5.Interrupción de procesos. Cambios de contexto

Page 2: -Procesos-umh2812.edu.umh.es/wp-content/uploads/sites/510/... · ARCO 2014-2015 6 Procesos Funciones SO • El SO interactúa con el HW y proporciona las funciones necesarias para

ARCO 2014-2015 2 Procesos

Funciones del SO

✔Gestión de Procesos✔Planificación de procesos✔Coordinar y sincronizar procesos

Page 3: -Procesos-umh2812.edu.umh.es/wp-content/uploads/sites/510/... · ARCO 2014-2015 6 Procesos Funciones SO • El SO interactúa con el HW y proporciona las funciones necesarias para

ARCO 2014-2015 3 Procesos

Puntos de vista de un Computador

Software deAplicación

Softwarede Sistema

Hardware

Page 4: -Procesos-umh2812.edu.umh.es/wp-content/uploads/sites/510/... · ARCO 2014-2015 6 Procesos Funciones SO • El SO interactúa con el HW y proporciona las funciones necesarias para

ARCO 2014-2015 4 Procesos

Software de Sistema

Loader

OSDatabaseManagement

System

WindowSystemLibraries

Compiler

CommandLine

Interpreter

LibrariesLibraries

Software API

Page 5: -Procesos-umh2812.edu.umh.es/wp-content/uploads/sites/510/... · ARCO 2014-2015 6 Procesos Funciones SO • El SO interactúa con el HW y proporciona las funciones necesarias para

ARCO 2014-2015 5 Procesos

Introducción• Para cumplir con las exigencias de un gestor de

recursos, es necesario que exista una “entidad de trabajo” que efectúe las operaciones necesarias en cada momento.

• Esa entidad es el 'proceso'• Para su ejecución un proceso necesita recursos:

CPU, memoria,... El SO le asigna estos recursos• ¿Como se ejecutan los procesos y la E/S?

Page 6: -Procesos-umh2812.edu.umh.es/wp-content/uploads/sites/510/... · ARCO 2014-2015 6 Procesos Funciones SO • El SO interactúa con el HW y proporciona las funciones necesarias para

ARCO 2014-2015 6 Procesos

Funciones SO• El SO interactúa con el HW y proporciona las

funciones necesarias para manejar el HW al resto del sistema.– El usuario final desconoce internamente el hw, por eso el

SO proporciona una abstracción de los componentes hardware, se ahorran al programador los detalles técnicos

El SO permite que varias aplicaciones y usuarios puedan compartir los recursos.– El SO conmuta el uso del HW entre aplicaciones,

gracias a su gran velocidad de computo.– Cuando se ejecuta un programa, el SO le proporciona una máquina – abstracta sobre la que ejecutarse. – De esta manera el SO comparte el hw haciendo parecer a las

aplicaciones que pueden utilizar todos los recursos del computador.

Page 7: -Procesos-umh2812.edu.umh.es/wp-content/uploads/sites/510/... · ARCO 2014-2015 6 Procesos Funciones SO • El SO interactúa con el HW y proporciona las funciones necesarias para

ARCO 2014-2015 7 Procesos

Programa Resultados

Programa Resultados

Programa Resultados

Idea

Idea

Idea

Compartir recursos. Máquinas Abstractas

Page 8: -Procesos-umh2812.edu.umh.es/wp-content/uploads/sites/510/... · ARCO 2014-2015 6 Procesos Funciones SO • El SO interactúa con el HW y proporciona las funciones necesarias para

ARCO 2014-2015 8 Procesos

¿Como se crean las Maq.Ab?

Se emplean dos tipos de compartición:

l La compartición multiplexada en el espacio

Se divide el uso de la ram y el disco entre entre los procesos

l La compartición multiplexada en el tiempo

A cada proceso se le asigna un recurso durante un tiempo. El SO se lo asignará a otro proceso pasado ese tiempo

MULTIPROGRAMACIÓN

Page 9: -Procesos-umh2812.edu.umh.es/wp-content/uploads/sites/510/... · ARCO 2014-2015 6 Procesos Funciones SO • El SO interactúa con el HW y proporciona las funciones necesarias para

ARCO 2014-2015 9 Procesos

Acelerando el lavado

Aspiradointerior Lavado Secado

Aspiradointerior

Lavado Secado

Page 10: -Procesos-umh2812.edu.umh.es/wp-content/uploads/sites/510/... · ARCO 2014-2015 6 Procesos Funciones SO • El SO interactúa con el HW y proporciona las funciones necesarias para

Interrupciones

Page 11: -Procesos-umh2812.edu.umh.es/wp-content/uploads/sites/510/... · ARCO 2014-2015 6 Procesos Funciones SO • El SO interactúa con el HW y proporciona las funciones necesarias para

ARCO 2014-2015 11 Procesos

Interrupciones

Definición de Interrupción• Suceso que altera la secuencia normal en que se ejecutan las

instrucciones• Una interrupción permite parar la ejecución de un programa

ante el acontecimiento de un suceso determinado.

Page 12: -Procesos-umh2812.edu.umh.es/wp-content/uploads/sites/510/... · ARCO 2014-2015 6 Procesos Funciones SO • El SO interactúa con el HW y proporciona las funciones necesarias para

ARCO 2014-2015 12 Procesos

Tipos de Interrupciones

Tipos de Interrupciones

Hardware. Generadas por los dispositivos

Software. Generadas por el propio proceso

Llamadas al sistema. Se producen mediante la invocación de una instrucción que hay en casi todos los procesadores (TRAP al S.O.). Se usan para pedir servicios al S.O. Y se gestionan como si fuesen interrupciones.Excepciones. Se producen cuando el proceso produce un error grave que impide continuar con su ejecución. El SO las resuelve ( Ej: si produce una falta de página) o finaliza el proceso ( Ej. Si se produce un error de división por cero)

Page 13: -Procesos-umh2812.edu.umh.es/wp-content/uploads/sites/510/... · ARCO 2014-2015 6 Procesos Funciones SO • El SO interactúa con el HW y proporciona las funciones necesarias para

ARCO 2014-2015 13 Procesos

Interrupciones

Ciclo de Ejecución Completo de instrucciones

El ciclo de ejecución de instrucciones se modifica de la siguiente forma:

•Busca -> decodifica -> ejecuta -> trata interrupción. Se añade una nueva etapa en la que se determina y trata lainterrupción que se haya podido producir en la etapa de ejecución.

Tratamiento de una interrupción

• El procesador debe registrar el estado exacto de la ejecución del trabajo actual, desviarse a la rutina de tratamiento de la interrupción, procesarla según su naturaleza y, posteriormente, reanudar el mismo u otro trabajo de usuario.

Page 14: -Procesos-umh2812.edu.umh.es/wp-content/uploads/sites/510/... · ARCO 2014-2015 6 Procesos Funciones SO • El SO interactúa con el HW y proporciona las funciones necesarias para

ARCO 2014-2015 14 Procesos

InterrupcionesVector de Interrupciones

• Tabla que asocia cada tipo de interrupción con una dirección en la que está la rutina de tratamiento de la interrupción

Rutina de Tratamiento de la interrupción

– La rutina de tratamiento de la interrupción forma parte del sistema operativo.

• El SO examina la instrucción que provocó la interrupción• Determina el tipo de servicio requerido e información adicional• Ejecuta la solicitud• Devuelve el control a la instrucción siguiente a la Llamada al sistema,

si no es una operación de E/S o a otro proceso si lo es.

Page 15: -Procesos-umh2812.edu.umh.es/wp-content/uploads/sites/510/... · ARCO 2014-2015 6 Procesos Funciones SO • El SO interactúa con el HW y proporciona las funciones necesarias para

Gestión de Procesos

Page 16: -Procesos-umh2812.edu.umh.es/wp-content/uploads/sites/510/... · ARCO 2014-2015 6 Procesos Funciones SO • El SO interactúa con el HW y proporciona las funciones necesarias para

ARCO 2014-2015 16 Procesos

Gestión de Procesos

• El SO debe de controlar

– La ejecución de estos procesos– Cambio de contexto– Comunicación y sincronización de procesos– Creación y destrucción– Manipular PCB– Gestionar su memoria

• Estas funciones las realizan otros procesos que residen en el núcleo

Page 17: -Procesos-umh2812.edu.umh.es/wp-content/uploads/sites/510/... · ARCO 2014-2015 6 Procesos Funciones SO • El SO interactúa con el HW y proporciona las funciones necesarias para

ARCO 2014-2015 17 Procesos

Multiprogramación

Pi Memoria

Pk Memoria

Pj Memoria

Page 18: -Procesos-umh2812.edu.umh.es/wp-content/uploads/sites/510/... · ARCO 2014-2015 6 Procesos Funciones SO • El SO interactúa con el HW y proporciona las funciones necesarias para

ARCO 2014-2015 18 Procesos

Datos

FilesFilesFicheros

OtrosRecursos

Algoritmo

Idea

CodigoFuente Programa

Binario

PilaEstado

Definición Proceso

Page 19: -Procesos-umh2812.edu.umh.es/wp-content/uploads/sites/510/... · ARCO 2014-2015 6 Procesos Funciones SO • El SO interactúa con el HW y proporciona las funciones necesarias para

ARCO 2014-2015 19 Procesos

OS AddressSpace

Abstracción de procesos

ALUPi Address

Space

Pi ExecutableMemory

Pk AddressSpace

Pk ExecutableMemory

Pj AddressSpace

Pj ExecutableMemory

Page 20: -Procesos-umh2812.edu.umh.es/wp-content/uploads/sites/510/... · ARCO 2014-2015 6 Procesos Funciones SO • El SO interactúa con el HW y proporciona las funciones necesarias para

ARCO 2014-2015 20 Procesos

Espacio de memoria

Proceso

Page 21: -Procesos-umh2812.edu.umh.es/wp-content/uploads/sites/510/... · ARCO 2014-2015 6 Procesos Funciones SO • El SO interactúa con el HW y proporciona las funciones necesarias para

ARCO 2014-2015 21 Procesos

Funciones del SO en la gestión de Procesos• Intercalar la ejecución de un conjunto de procesos para maximizar

el uso de la CPU por parte de los procesos, garantizando que los procesos progresan hasta terminar.

• Asigna recursos a los procesos que compiten por ellos siguiendo políticas específicas.

• Da soporte a la creación y destrucción de procesos por parte del usuario y a la comunicación entre ellos.

• Creación →Crea la imagen del proceso (incluyendo el contexto de ejecución del proceso) que vive durante toda la vida del proceso.

• Destrucción →Libera memoria ocupada por la imagen del proceso, incluyendo la memoria ocupada por el contexto de ejecución del proceso.

Page 22: -Procesos-umh2812.edu.umh.es/wp-content/uploads/sites/510/... · ARCO 2014-2015 6 Procesos Funciones SO • El SO interactúa con el HW y proporciona las funciones necesarias para

ARCO 2014-2015 22 Procesos

Que necesita la CPU para ejecutar un proceso?

La imagen del proceso

Page 23: -Procesos-umh2812.edu.umh.es/wp-content/uploads/sites/510/... · ARCO 2014-2015 6 Procesos Funciones SO • El SO interactúa con el HW y proporciona las funciones necesarias para

ARCO 2014-2015 23 Procesos

Identificacióndel procesoInformaciónde estado delprocesadorInformaciónde control delproceso

Pila de usuario

Espacio privado de direcciones de usuario (programas, datos)

Espacio de direcciones compartido

Pila del núcleo

Imagen de un proceso:

Page 24: -Procesos-umh2812.edu.umh.es/wp-content/uploads/sites/510/... · ARCO 2014-2015 6 Procesos Funciones SO • El SO interactúa con el HW y proporciona las funciones necesarias para

ARCO 2014-2015 24 Procesos

Tablas de procesos

• ¿Dónde está ubicado el proceso dentro del SO?

• En la Tabla de Procesos:

– Estructura de datos (tabla o lista), con entradas ocupadas por los PCB.

Page 25: -Procesos-umh2812.edu.umh.es/wp-content/uploads/sites/510/... · ARCO 2014-2015 6 Procesos Funciones SO • El SO interactúa con el HW y proporciona las funciones necesarias para

ARCO 2014-2015 25 Procesos

Tablas dememoria

Imagende proceso

Figura 3.10. Estructura general de las tablas de control del sistema operativo.

Memoria

Dispositivos

Archivos

Procesos

Tablas de E/S

Tablas dearchivo

Proceso 1

Proceso 2

Proceso 3

Proceso1

Proceso n

Proceson

Imagende proceso

Tabla de procesos principal

Page 26: -Procesos-umh2812.edu.umh.es/wp-content/uploads/sites/510/... · ARCO 2014-2015 6 Procesos Funciones SO • El SO interactúa con el HW y proporciona las funciones necesarias para

ARCO 2014-2015 26 Procesos

Mapa deMemoria

Mapa de memoria del Proceso A

Tablas SOPC

SP

Estado

Mapa de memoria del Proceso B

Mapa de memoria del Proceso C

Registrosgenerales

Registrosespeciales

Tablas del sistema operativoTabla de procesos

- Tabla de memoria- Tabla de E/S- Tabla de ficheros

BCP Proceso BBCP Proceso A BCP Proceso C- - Identificación- Control

Estado (registros)- - Identificación- Control

Estado (registros) - - Identificación- Control

Estado (registros)

Registros de la CPU

Page 27: -Procesos-umh2812.edu.umh.es/wp-content/uploads/sites/510/... · ARCO 2014-2015 6 Procesos Funciones SO • El SO interactúa con el HW y proporciona las funciones necesarias para

ARCO 2014-2015 27 Procesos

Identificacióndel procesoInformaciónde estado delprocesadorInformaciónde control delproceso

Identificacióndel procesoInformaciónde estado delprocesadorInformaciónde control delproceso

Informaciónde estado delprocesadorInformaciónde control delproceso

Bloque decontroldelproceso

Pila de usuario Pila de usuario Pila de usuario

Espacio privado de direcciones de usuario (programas, datos)Espacio privado de direcciones de usuario (programas, datos)Espacio privado de direcciones de usuario (programas, datos)

Espacio de direcciones compartidoEspacio de direcciones compartido Espacio de direcciones compartido

Proceso 1 Proceso 2 Proceso n

Figura 3.12. Procesos de usuario en memoria virtual.

Identificacióndel proceso

Page 28: -Procesos-umh2812.edu.umh.es/wp-content/uploads/sites/510/... · ARCO 2014-2015 6 Procesos Funciones SO • El SO interactúa con el HW y proporciona las funciones necesarias para

ARCO 2014-2015 28 Procesos

Control de procesos

• Creación de procesos

• Destrucción de procesos

• Cambio de procesos

Page 29: -Procesos-umh2812.edu.umh.es/wp-content/uploads/sites/510/... · ARCO 2014-2015 6 Procesos Funciones SO • El SO interactúa con el HW y proporciona las funciones necesarias para

ARCO 2014-2015 29 Procesos

Creación de procesos

• Implica crear una imagen incluyendo la memoria principal y las estructuras de datos para representar el proceso:

– Crear registro en PCB.– Inicializar el registro PCB– Cargar el texto y los datos junto con las rutinas de

sistema en memoria principal

Page 30: -Procesos-umh2812.edu.umh.es/wp-content/uploads/sites/510/... · ARCO 2014-2015 6 Procesos Funciones SO • El SO interactúa con el HW y proporciona las funciones necesarias para

ARCO 2014-2015 30 Procesos

Destrucción de procesos

• Instrucción de finalización como última instrucción del código.

• Llamada explícita a un servicio del sistema operativo (exit).

• Debido a errores de ejecución del proceso (excepciones).

• Padre mata hijo

Page 31: -Procesos-umh2812.edu.umh.es/wp-content/uploads/sites/510/... · ARCO 2014-2015 6 Procesos Funciones SO • El SO interactúa con el HW y proporciona las funciones necesarias para

ARCO 2014-2015 31 Procesos

Que son los cambios de contexto

• Un Cambio de contexto es el conjunto de dos operaciones:1)Se salva el estado del procesador en el correspondiente BCP2)Se pasa a ejecutar la rutina de tratamiento de interrupción del SO

• Planificador: Módulo del SO que decide el siguiente proceso a ejecutar.

• Dispatcher, Activador: Módulo del SO encargado de cambiar la ejecución de un proceso a otro.– Copia el estado del BCP a los registros de la CPU– Termina con una instrucción RETI (retorno de interrupción)

• Restituye el registro de estado (bit de nivel de ejecución)• Restituye el contador de programa (para el nuevo proceso).

Page 32: -Procesos-umh2812.edu.umh.es/wp-content/uploads/sites/510/... · ARCO 2014-2015 6 Procesos Funciones SO • El SO interactúa con el HW y proporciona las funciones necesarias para

ARCO 2014-2015 32 Procesos

Cuándo cambiar de contexto

En respuesta a sucesos que alteran el estado del sistema. En este caso, el SO toma el control:

Interrupción de reloj:

● El proceso en ejecución ha consumido la fracción máxima de tiempo permitida.

Interrupción de E/S.

Fallo de memoria:

• La dirección de memoria se encuentra en la memoria virtual, por lo tanto debe ser llevada a la memoria principal.

Page 33: -Procesos-umh2812.edu.umh.es/wp-content/uploads/sites/510/... · ARCO 2014-2015 6 Procesos Funciones SO • El SO interactúa con el HW y proporciona las funciones necesarias para

ARCO 2014-2015 33 Procesos

Cuándo cambiar de contexto

Errores:

● Se ha producido un error.

● Puede hacer que el proceso que se estaba ejecutando pase al estado de Terminado.

Llamada al sistema:

• Como la operación de abrir una archivo.

Page 34: -Procesos-umh2812.edu.umh.es/wp-content/uploads/sites/510/... · ARCO 2014-2015 6 Procesos Funciones SO • El SO interactúa con el HW y proporciona las funciones necesarias para

ARCO 2014-2015 34 Procesos

Operaciones en los Cambios de Contexto

• El SO toma el control y pasa el Despachador a modo kernel.

– Guardar el contexto del procesador, incluyendo el contador de programa y otros registros.

– Guardar el contexto del proceso que abandona la CPU.

– Mover el bloque de control del proceso a la cola apropiada (Listos, bloqueados).

– Restaurar el contexto del proceso que toma la CPU

Page 35: -Procesos-umh2812.edu.umh.es/wp-content/uploads/sites/510/... · ARCO 2014-2015 6 Procesos Funciones SO • El SO interactúa con el HW y proporciona las funciones necesarias para

ARCO 2014-2015 35 Procesos

Page 36: -Procesos-umh2812.edu.umh.es/wp-content/uploads/sites/510/... · ARCO 2014-2015 6 Procesos Funciones SO • El SO interactúa con el HW y proporciona las funciones necesarias para

Ciclo de vida de los Procesos

Page 37: -Procesos-umh2812.edu.umh.es/wp-content/uploads/sites/510/... · ARCO 2014-2015 6 Procesos Funciones SO • El SO interactúa con el HW y proporciona las funciones necesarias para

ARCO 2014-2015 37 Procesos

Ciclo de vida de un proceso

• El ciclo de vida de los procesos, describe el comportamiento que se quiere que exhiban en el sistema

• Existen varios modelos dependiendo de la complejidad que el sistema operativo sea capaz de soportar:

Page 38: -Procesos-umh2812.edu.umh.es/wp-content/uploads/sites/510/... · ARCO 2014-2015 6 Procesos Funciones SO • El SO interactúa con el HW y proporciona las funciones necesarias para

ARCO 2014-2015 38 Procesos

Estados

• Un proceso durante su ejecución, atraviesa varios estados.

• Su ejecución se representa mediante un diagrama de transiciones.

• Estado de un proceso:– Representa la situación actual del proceso respecto a la

utilización de la CPU• Transiciones

– Cambia de estado como consecuencia de un evento

Page 39: -Procesos-umh2812.edu.umh.es/wp-content/uploads/sites/510/... · ARCO 2014-2015 6 Procesos Funciones SO • El SO interactúa con el HW y proporciona las funciones necesarias para

ARCO 2014-2015 39 Procesos

Modelo de proceso con dos estados

Un proceso puede estar en uno de dos estados:– Ejecución.– No Ejecución.

Ejecución

Pausar

Expedir

SalirNoEjecución

(a) Diagrama de transición de estados

Entrar No ejecución

Ejecución

Page 40: -Procesos-umh2812.edu.umh.es/wp-content/uploads/sites/510/... · ARCO 2014-2015 6 Procesos Funciones SO • El SO interactúa con el HW y proporciona las funciones necesarias para

ARCO 2014-2015 40 Procesos

Proceso en estado de No Ejecución en una cola

Entrar Salida

Pausa

ExpedirCola

Proce-sador

(b) Diagrama de colas

El despachador pasa los procesos a ejecución y el planificador controla el orden de la cola

Page 41: -Procesos-umh2812.edu.umh.es/wp-content/uploads/sites/510/... · ARCO 2014-2015 6 Procesos Funciones SO • El SO interactúa con el HW y proporciona las funciones necesarias para

ARCO 2014-2015 41 Procesos

Modelo de 2 estados

• Inconveniente de este modelo:• Procesos que no pueden ejecutarse (por realizar E/S) retienen

la CPU.

• Solución: Modelo de 5 estados

Page 42: -Procesos-umh2812.edu.umh.es/wp-content/uploads/sites/510/... · ARCO 2014-2015 6 Procesos Funciones SO • El SO interactúa con el HW y proporciona las funciones necesarias para

ARCO 2014-2015 42 Procesos

Modelo de 5 estados

• División del estado 'No ejecutando' en dos:• Listos para ejecutarse.• Bloqueado:

• Esperan a que termine una operación de E/S.

• El distribuidor podría no seleccionar exactamente el proceso que está en el extremo más antiguo de la cola porque podría estar bloqueado --> división de la cola de no ejecución en dos: Cola de listos y Cola de bloqueados

• Se crean dos nuevos estados, creado y terminado

Page 43: -Procesos-umh2812.edu.umh.es/wp-content/uploads/sites/510/... · ARCO 2014-2015 6 Procesos Funciones SO • El SO interactúa con el HW y proporciona las funciones necesarias para

ARCO 2014-2015 43 Procesos

Cola de bloqueados

Admitir

Expedir Cola de listos Salir

Proce-sador

Fin de plazo

Ocurresuceso

Cola de bloqueadosEsperar suceso

(a) Una sola cola de bloqueados

Page 44: -Procesos-umh2812.edu.umh.es/wp-content/uploads/sites/510/... · ARCO 2014-2015 6 Procesos Funciones SO • El SO interactúa con el HW y proporciona las funciones necesarias para

ARCO 2014-2015 44 Procesos

Un modelo de cinco estados

• Ejecución.• Listo.• Bloqueado.• Nuevo.• Terminado.

Page 45: -Procesos-umh2812.edu.umh.es/wp-content/uploads/sites/510/... · ARCO 2014-2015 6 Procesos Funciones SO • El SO interactúa con el HW y proporciona las funciones necesarias para

ARCO 2014-2015 45 Procesos

Fin de tiempo

Page 46: -Procesos-umh2812.edu.umh.es/wp-content/uploads/sites/510/... · ARCO 2014-2015 6 Procesos Funciones SO • El SO interactúa con el HW y proporciona las funciones necesarias para

ARCO 2014-2015 46 Procesos

Transicion de estados

Page 47: -Procesos-umh2812.edu.umh.es/wp-content/uploads/sites/510/... · ARCO 2014-2015 6 Procesos Funciones SO • El SO interactúa con el HW y proporciona las funciones necesarias para

ARCO 2014-2015 47 Procesos

Proceso A

Proceso B

Proceso C

Distribuidor

Ejecución Listo Bloqueado

Figura 3.6. Estados de un proceso para una traza cualquiera

Page 48: -Procesos-umh2812.edu.umh.es/wp-content/uploads/sites/510/... · ARCO 2014-2015 6 Procesos Funciones SO • El SO interactúa con el HW y proporciona las funciones necesarias para

ARCO 2014-2015 48 Procesos

Creación

• Razones de la creación– Creado por el SO para dar un servicio– Creado por un proceso y existente

• Consecuencias de la creación– Asignación de algunas estructuras de datos en el

SO para la gestión:• Creación y asignación del PID• Creación de una Entrada en la Tabla de procesos• Creación de Entradas en otras Tablas

Page 49: -Procesos-umh2812.edu.umh.es/wp-content/uploads/sites/510/... · ARCO 2014-2015 6 Procesos Funciones SO • El SO interactúa con el HW y proporciona las funciones necesarias para

ARCO 2014-2015 49 Procesos

Transición Creado - Listo

• Planificación a Medio plazo

– Razones del cambio• El SO está preparado para recibir un proceso mas

– Hay memoria para el– El numero de procesos existentes no es excesivo

– Consecuencias• El proceso sale de la cola de creados• El proceso entra en la cola de listos

Page 50: -Procesos-umh2812.edu.umh.es/wp-content/uploads/sites/510/... · ARCO 2014-2015 6 Procesos Funciones SO • El SO interactúa con el HW y proporciona las funciones necesarias para

ARCO 2014-2015 50 Procesos

Transición Listo - Ejecución

• De listo a ejecución (planif. c. plazo)

– Razones del cambio• El despachador lo elige para ser ejecutado

– Consecuencias del cambio• El proceso sale de la cola de listos• Se produce la ejecución (total o parcial) en procesador

Page 51: -Procesos-umh2812.edu.umh.es/wp-content/uploads/sites/510/... · ARCO 2014-2015 6 Procesos Funciones SO • El SO interactúa con el HW y proporciona las funciones necesarias para

ARCO 2014-2015 51 Procesos

Transición Ejecución – Listo

• Razones del Cambio– El proceso en ejecución ha alcanzado el tiempo máximo

permitido para su ejecución (quantum de t)– Se interrumpe la eje. Porque ha llegado otro proceso

con mayor prioridad– El proceso cede el procesador mediante una llamada al

sistema– Cambio de contexto del proceso

• Consecuencias del cambio– El proceso entra en la cola de Preparados para

ejecutarse

Page 52: -Procesos-umh2812.edu.umh.es/wp-content/uploads/sites/510/... · ARCO 2014-2015 6 Procesos Funciones SO • El SO interactúa con el HW y proporciona las funciones necesarias para

ARCO 2014-2015 52 Procesos

Transición Ejecución – Bloqueado

• Razones del cambio– El proceso solicita al SO (ll.s.) algo por lo que deba de

esperar:– Petición de recurso no disponible (fichero, memoria,..)– Petición de operación de E/S– Espera de un mensaje de otro proceso

• Consecuencias del cambio– El proceso abandona la CPU (cambio de contexto)– El proceso entra en la cola de procesos bloqueados a la

espera de cierto evento

Page 53: -Procesos-umh2812.edu.umh.es/wp-content/uploads/sites/510/... · ARCO 2014-2015 6 Procesos Funciones SO • El SO interactúa con el HW y proporciona las funciones necesarias para

ARCO 2014-2015 53 Procesos

Transición Bloqueado – Listo

• Razones del cambio– Se produce el evento por el que estaba esperando

• Consecuencias del cambio– El proceso sale de la cola de bloqueados– El proceso entra en la cola de preparados

Page 54: -Procesos-umh2812.edu.umh.es/wp-content/uploads/sites/510/... · ARCO 2014-2015 6 Procesos Funciones SO • El SO interactúa con el HW y proporciona las funciones necesarias para

ARCO 2014-2015 54 Procesos

Transición Ejecución - Terminado

• Razones de la terminación– El proceso lo solicita– Se ha producido un error– Otro proceso lo finaliza

• Consecuencias del cambio– El proceso abandona la CPU (descarga del contexto en

las tablas– El sistema libera memoria– Se conserva la información del proceso para

contabilidad

Page 55: -Procesos-umh2812.edu.umh.es/wp-content/uploads/sites/510/... · ARCO 2014-2015 6 Procesos Funciones SO • El SO interactúa con el HW y proporciona las funciones necesarias para

ARCO 2014-2015 55 Procesos

Problemas del Modelo 5 Estados

• Memoria principal limitada• Operaciones E/S mucho mas lentas que ejecución

– -> CPU ociosa• Soluciones:

– Aumento cantidad memoria (poco práctico).– Intercambio

• Envío temporal de procesos a memoria secundaria, para dejar libre memoria principal, preferentemente los de estado bloqueado

– Se necesita un nuevo estado para procesos: SUSPENDIDO

Page 56: -Procesos-umh2812.edu.umh.es/wp-content/uploads/sites/510/... · ARCO 2014-2015 6 Procesos Funciones SO • El SO interactúa con el HW y proporciona las funciones necesarias para

ARCO 2014-2015 56 Procesos

Razones para la suspensión de procesos

Intercambio

Otra razón del SO

Solicitud de un usuario interactivo

Temporización

Solicitud del proceso padre

El sistema operativo necesita liberar suficiente memoriaprincipal para cargar un proceso que está listo para ejecutarse.El sistema operativo puede suspender a un procesosubordinado o de utilidad, o a un proceso que se sospechaque sea el causan te de un problema.Un usuario puede querer suspender la ejecución de unprograma con fines de depuración o en conexión con el usode un recurso.Un proceso puede ejecutarse periódicamente (por ejemplo, unproceso de contabilidad o de supervisión del sistema) y puedeser suspendido mientras espera el siguiente intervalo de tiempo.Un proceso padre puede querer suspender la ejecución de undescendiente para examinar o modificar el proceso suspendidoo para coordinar la actividad de varios descendientes.

Page 57: -Procesos-umh2812.edu.umh.es/wp-content/uploads/sites/510/... · ARCO 2014-2015 6 Procesos Funciones SO • El SO interactúa con el HW y proporciona las funciones necesarias para

ARCO 2014-2015 57 Procesos

Un estado de suspensión

Nuevo Listo Ejecución

Terminado

Admitir

Expedir Salir

Fin de plazo

Ocurre

suceso

SuspenderBloqueadoSuspendido

(a) Con un estado de suspensión

Nuevo Listo Ejecución Terminado

Suspendido Bloqueado

• Ahora un proceso se carga en Memoria principal por dos causas:– SO trae a Memoria principal un proceso Suspendido.– SO atiende petición de creación de un nuevo proceso.

Page 58: -Procesos-umh2812.edu.umh.es/wp-content/uploads/sites/510/... · ARCO 2014-2015 6 Procesos Funciones SO • El SO interactúa con el HW y proporciona las funciones necesarias para

ARCO 2014-2015 58 Procesos

Procesos suspendidos

• ¿Qué pasa cuando se trae a Memoria principal un proceso Suspendido?– Problema: No se sabe si el proceso estaba Listo o

Suspendido (esperando por E/S o no respectivamente).

• Solución: Dividir “Suspendido” en dos estados:– 1. “Suspendido Bloqueado” esperando un suceso

(esperando E/S).– 2. “Suspendido Listo” (no está en E/S).

• Dos nuevos estados:» Bloqueado y suspendido (esperando un suceso (esperando E/S)» Listo y suspendido.

Page 59: -Procesos-umh2812.edu.umh.es/wp-content/uploads/sites/510/... · ARCO 2014-2015 6 Procesos Funciones SO • El SO interactúa con el HW y proporciona las funciones necesarias para

ARCO 2014-2015 59 Procesos

Dos estados de suspensión

Expedir Ejecución

Salir

Fin de plazo

suceso

Ocurre

Suspender

Ocurre

suceso Suspender

Bloqueado

Listo/suspendido Listo Ejecució

n

Bloqueado/suspendido Bloqueado

Nuevo

(b) Con dos estados de suspensión

Nuevo

Page 60: -Procesos-umh2812.edu.umh.es/wp-content/uploads/sites/510/... · ARCO 2014-2015 6 Procesos Funciones SO • El SO interactúa con el HW y proporciona las funciones necesarias para

ARCO 2014-2015 60 Procesos

Modelo de 7 estados

• Implementación del modelo [Stallings, 107-108]• Para implementar la pertenencia de los procesos a determinado

estado, se guardan, asociadas con cada estado, listas de PCB.• Cola de Listos

– Cola inicial donde se colocan los procesos.– PCB de aquellos procesos que no tienen el procesador en este momento

pero están esperando que se lo den para poder ejecutarse.– SO selecciona siguiente a ejecutar de esta cola.

• Cola de Bloqueados– PCB de procesos esperando suceso para poder continuar.– Varias colas de Bloqueados, una para cada suceso.– Cuando ocurra un suceso, el sistema operativo puede pasar a listo la lista

entera de procesos de la cola correspondiente.

Page 61: -Procesos-umh2812.edu.umh.es/wp-content/uploads/sites/510/... · ARCO 2014-2015 6 Procesos Funciones SO • El SO interactúa con el HW y proporciona las funciones necesarias para

ARCO 2014-2015 61 Procesos

Admitir

Cola de listos Expedir Proce-

sador

Salir

Fin de plazo

Esperar suceso 1

Esperar suceso 2

Esperar suceso n

Cola del suceso 1

Cola del suceso 2

Cola del suceso n

Ocurresuceso 1

Ocurresuceso 2

Ocurresuceso n

(b) Varias colas de bloqueados

Page 62: -Procesos-umh2812.edu.umh.es/wp-content/uploads/sites/510/... · ARCO 2014-2015 6 Procesos Funciones SO • El SO interactúa con el HW y proporciona las funciones necesarias para

ARCO 2014-2015 62 Procesos

Modelo 7 estados

Page 63: -Procesos-umh2812.edu.umh.es/wp-content/uploads/sites/510/... · ARCO 2014-2015 6 Procesos Funciones SO • El SO interactúa con el HW y proporciona las funciones necesarias para

LINUX

Page 64: -Procesos-umh2812.edu.umh.es/wp-content/uploads/sites/510/... · ARCO 2014-2015 6 Procesos Funciones SO • El SO interactúa con el HW y proporciona las funciones necesarias para

ARCO 2014-2015 64 Procesos

Ejecución del sistema operativo

• Núcleo fuera de todo proceso:– Ejecuta el núcleo del sistema operativo fuera de cualquier proceso.– El código del sistema operativo se ejecuta como una entidad separada que opera en modo privilegiado.

• Ejecución dentro de los procesos de usuario:– Software del sistema operativo en el contexto de un proceso de usuario.– Un proceso se ejecuta en modo privilegiado cuando se ejecuta el código del sistema operativo.

Page 65: -Procesos-umh2812.edu.umh.es/wp-content/uploads/sites/510/... · ARCO 2014-2015 6 Procesos Funciones SO • El SO interactúa con el HW y proporciona las funciones necesarias para

ARCO 2014-2015 65 Procesos

Ejecución del sistema operativo

• Sistema operativo basado en procesos:– Las funciones más importantes del núcleo se organizan en procesos separados.– Útil en un entorno de multiprocesador o de varios computadores.

Page 66: -Procesos-umh2812.edu.umh.es/wp-content/uploads/sites/510/... · ARCO 2014-2015 6 Procesos Funciones SO • El SO interactúa con el HW y proporciona las funciones necesarias para

ARCO 2014-2015 66 Procesos

Gestión de procesos en Linux

• La mayoría del sistema operativo ejecuta dentro de un proceso de usuario.

P1

Funcio-nes delOS

P1

P2

P1

Pn

Funcio-nes delOS

Funcio-nes delOS

Funciones de cambio de proceso

(b) Las funciones del SO se ejecutan dentro

de los procesos de usuario

Page 67: -Procesos-umh2812.edu.umh.es/wp-content/uploads/sites/510/... · ARCO 2014-2015 6 Procesos Funciones SO • El SO interactúa con el HW y proporciona las funciones necesarias para

ARCO 2014-2015 67 Procesos

Estados de un proceso en UNIX

Ejecución en modo de usuario Ejecutando en modo de usuario.Ejecución en modo del núcleo Ejecutando en modo de núcleo.

Listo para ejecutar y en memoria Listo para ejecutar tan pronto como el núcleo lo planifique.Dormido y en memoria Incapaz de ejecutar hasta que se produzca un suceso; el pro-ceso está en memoria principal.Listo para ejecutar y descargado El proceso está listo para ejecutar, pero se debe cargar el pro-

ceso en memoria principal antes de que el núcleo pueda pla-nificarlo para la ejecución.Dormido y descargado El proceso está esperando un suceso y ha sido expulsado al

almacenamiento secundario.Expulsado El proceso retorna del modo delnúcleo al modo de usuario,pero el núcleo lo expulsa y realiza un cambio de contextopara planificar otro proceso.

Creado El proceso está recién creado y aún no está listo para ejecutar.Zombie El proceso ya no existe, pero deja un registro para que lo re-coja el proceso padre.

Page 68: -Procesos-umh2812.edu.umh.es/wp-content/uploads/sites/510/... · ARCO 2014-2015 6 Procesos Funciones SO • El SO interactúa con el HW y proporciona las funciones necesarias para

ARCO 2014-2015 68 ProcesosFigura Diagrama de transición de estados de los procesos en UNIX.

ExpulsadoCreado

Ejecuciónen modode usuario

Ejecuciónen mododel núcleo

Dormido en memoria

Sin memoriasuficiente (sólo

sistema deintercambio)

Descargar

Cargar

Expulsar

Retornar

Llamada alsistema,interrupción

Volver aplanificar

el proceso

Interrupción,retorno de

interrupciónTerminar

Dormir Despertar

Descargar

Despertar

ExpulsadoCreado

Ejecuciónen modode usuario

Ejecuciónen modo

del núcleo

Listo paraejecutar y

en memoria

Listo paraejecutar ydescargado

Zombie

Dormidoen

memoria

Dormidoy

descargado

Page 69: -Procesos-umh2812.edu.umh.es/wp-content/uploads/sites/510/... · ARCO 2014-2015 6 Procesos Funciones SO • El SO interactúa con el HW y proporciona las funciones necesarias para

ARCO 2014-2015 69 Procesos

Estructuras de control del sistema operativo

• Información sobre el estado actual de cada proceso y de cada recurso.

• El sistema operativo construye tablas de información sobre cada entidad que esté administrando.– Estados del procesador– Tabla de memoria– Tablas de archivos y E/S– Tablas de procesos

Page 70: -Procesos-umh2812.edu.umh.es/wp-content/uploads/sites/510/... · ARCO 2014-2015 6 Procesos Funciones SO • El SO interactúa con el HW y proporciona las funciones necesarias para

ARCO 2014-2015 70 Procesos

Estado del procesador

Está formado por el contenido de todos sus registros:– Registros generales– Contador de programa– Puntero de pila– Registro de estado– Registros especiales

• Cuando un proceso se está ejecutando, su estado reside en los registros del computador.

• Cuando un proceso no se ejecuta, su estado reside en el BCP.

Page 71: -Procesos-umh2812.edu.umh.es/wp-content/uploads/sites/510/... · ARCO 2014-2015 6 Procesos Funciones SO • El SO interactúa con el HW y proporciona las funciones necesarias para

ARCO 2014-2015 71 Procesos

Tablas de memoria

• La asignación de memoria principal a los procesos.

• La asignación de memoria secundaria a los procesos.

• Cualesquiera atributos de protección de bloques de memoria principal o virtual, como qué procesos pueden acceder a ciertas regiones compartidas de memoria.

• Cualquier información necesaria para gestionar la memoria virtual.

Page 72: -Procesos-umh2812.edu.umh.es/wp-content/uploads/sites/510/... · ARCO 2014-2015 6 Procesos Funciones SO • El SO interactúa con el HW y proporciona las funciones necesarias para

ARCO 2014-2015 72 Procesos

Tablas de E/S

• Un dispositivo de E/S puede estar disponible o estar asignado a un proceso en particular.

• Estado de la operación de E/S.• Posición de memoria principal que se

está utilizando como origen o destino de la transferencia de E/S.

Page 73: -Procesos-umh2812.edu.umh.es/wp-content/uploads/sites/510/... · ARCO 2014-2015 6 Procesos Funciones SO • El SO interactúa con el HW y proporciona las funciones necesarias para

ARCO 2014-2015 73 Procesos

Tablas de archivos

• Ofrecen información sobre la existencia de los archivos.

• Su posición en la memoria secundaria.• Su estado actual.• Otros atributos.• A veces esta información es mantenida por

un sistema de gestión de archivos.

Page 74: -Procesos-umh2812.edu.umh.es/wp-content/uploads/sites/510/... · ARCO 2014-2015 6 Procesos Funciones SO • El SO interactúa con el HW y proporciona las funciones necesarias para

ARCO 2014-2015 74 Procesos

Tablas de Procesos•¿Que necesita un proceso para ejecutarse?•Un proceso incluye un programa o un conjunto de programas a ejecutar:

– Conjunto de ubicaciones de datos para las variables locales y globales.

– Constantes definidas.– Pila.

•S.O. mantiene información de ejecución de cada proceso que utiliza para administrar el uso que los procesos hacen de los recursos. Para almacenar esta información, el S.O. construye y mantiene estructuras de control que se denominan Bloque de Control de Procesos o PCB

Page 75: -Procesos-umh2812.edu.umh.es/wp-content/uploads/sites/510/... · ARCO 2014-2015 6 Procesos Funciones SO • El SO interactúa con el HW y proporciona las funciones necesarias para

ARCO 2014-2015 75 Procesos

PCB (Process Control Block)

• Es la manifestación de un proceso en un sistema operativo.

– Estructura de datos con campos para registrar los diferentes aspectos de la ejecución de un proceso y del uso de recursos.

– Identifica al proceso de cara al sistema operativo– Sirve como repositorio para cualquier información que puede variar de proceso en

proceso.– Todas las operaciones que el S.O. realiza sobre procesos las realiza en realidad sobre los

PCB o, al menos, implica el uso de los mismos.

• Contiene información del proceso:• Identificación del Proceso• Información del Estado del procesador• Información de control del proceso

• El SO opera con estos PCB para la creación de las colas y de la tabla de procesos -->

Page 76: -Procesos-umh2812.edu.umh.es/wp-content/uploads/sites/510/... · ARCO 2014-2015 6 Procesos Funciones SO • El SO interactúa con el HW y proporciona las funciones necesarias para

ARCO 2014-2015 76 Procesos

PID

Page 77: -Procesos-umh2812.edu.umh.es/wp-content/uploads/sites/510/... · ARCO 2014-2015 6 Procesos Funciones SO • El SO interactúa con el HW y proporciona las funciones necesarias para

ARCO 2014-2015 77 Procesos

Bloque de control de proceso

• Identificación de proceso– Identifica al proceso a la hora de comunicarse con

otros procesos, conocer su jerarquía, identificar qué proceso utiliza cada recurso, ...

• Identificador numérico único del proceso• Identificador numérico de su padre• Identificador del usuario responsable del trabajo

Page 78: -Procesos-umh2812.edu.umh.es/wp-content/uploads/sites/510/... · ARCO 2014-2015 6 Procesos Funciones SO • El SO interactúa con el HW y proporciona las funciones necesarias para

ARCO 2014-2015 78 Procesos

• Información de estado del procesador– Contenido de los registros del procesador– Mientras el proceso se está ejecutando, esta

información se almacena en los registros físicos– Cuando se interrumpe, toda esta información se

guarda de forma que pueda restaurarse cuando el proceso reanude su ejecución

– RegistroPC– Acumulador,– Puntero de pila– Registros generales

Bloque de control de proceso

Page 79: -Procesos-umh2812.edu.umh.es/wp-content/uploads/sites/510/... · ARCO 2014-2015 6 Procesos Funciones SO • El SO interactúa con el HW y proporciona las funciones necesarias para

ARCO 2014-2015 79 Procesos

• Información de estado del procesador– Registros de control y de estado:

Hay varios registros del procesador que se emplean para controlar su funcionamiento. Entre éstos se incluyen:

• Contador de programa: contiene la dirección de la próxima instrucción a leer.

• Códigos de condición: muestran el resultado de la operación aritmética o lógica más reciente (signo, cero, acarreo, igualdad, desbordamiento).

• Informacion de estado: incluye los indicadores de habilitación o inhabilitación de interrupciones y de modo de ejecución.

Bloque de control de proceso

Page 80: -Procesos-umh2812.edu.umh.es/wp-content/uploads/sites/510/... · ARCO 2014-2015 6 Procesos Funciones SO • El SO interactúa con el HW y proporciona las funciones necesarias para

ARCO 2014-2015 80 Procesos

• Información de estado del procesador– Punteros de pila:

• Cada proceso tiene una o más pilas LIFO del sistema asociadas. Las pilas se utilizan para almacenar los parámetros y las direcciones de retorno de los procedimientos y de las llamadas al sistema. El puntero de pila siempre apunta a la cima de la pila.

Bloque de control de proceso

Page 81: -Procesos-umh2812.edu.umh.es/wp-content/uploads/sites/510/... · ARCO 2014-2015 6 Procesos Funciones SO • El SO interactúa con el HW y proporciona las funciones necesarias para

ARCO 2014-2015 81 Procesos

• Información de control del proceso– Información de planificación y de estado:

Ésta es la información que necesita el sistema operativo para llevar a cabo sus funciones de planificación. Los elementos típicos de esta información son los siguientes:•Estado del proceso: define la disposición del proceso para ser planificado para ejecutar (en ejecución, listo, esperando, detenido).•Prioridad: se puede usar uno o más campos para describir la prioridad de planificación de los procesos. En algunos sistemas se necesitan varios valores (por omisión, actual, la más alta permitida).•Información de planificación: ésta dependerá del algoritmo de planificación utilizado. Como ejemplos se tienen la cantidad de tiempo que el proceso ha estado esperando y la cantidad de tiempo que el proceso ejecutó la última vez.•Suceso: la identidad del suceso que el proceso está esperando antes de poder reanudarse.

Bloque de control de proceso

Page 82: -Procesos-umh2812.edu.umh.es/wp-content/uploads/sites/510/... · ARCO 2014-2015 6 Procesos Funciones SO • El SO interactúa con el HW y proporciona las funciones necesarias para

ARCO 2014-2015 82 Procesos

• Información de control del proceso:– Estructuración de datos:

• Un proceso puede estar enlazado con otros procesos en una cola, un anillo o alguna otra estructura. Por ejemplo, todos los procesos que están en estado de espera de un nivel determinado de prioridad pueden estar enlazados en una cola. Un proceso puede mostrar una relación padre-hijo (creador-creado) con otro proceso. El bloque de control de proceso puede contener punteros a otros procesos para dar soporte a estas estructuras.

Bloque de control de proceso

Page 83: -Procesos-umh2812.edu.umh.es/wp-content/uploads/sites/510/... · ARCO 2014-2015 6 Procesos Funciones SO • El SO interactúa con el HW y proporciona las funciones necesarias para

ARCO 2014-2015 83 Procesos

• Información de control del proceso:– Comunicación entre procesos:

• Puede haber varios indicadores, señales y mensajes asociados con la comunicación entre dos procesos independientes. Una parte de esta información o toda ella se puede guardar en el bloque de control de proceso.

– Privilegios de los procesos:• A los procesos se les otorgan privilegios en términos de la

memoria a la que pueden acceder y el tipo de instrucciones que pueden ejecutar. Además, también se pueden aplicar privilegios al uso de los servicios y utilidades del sistema.

Bloque de control de proceso

Page 84: -Procesos-umh2812.edu.umh.es/wp-content/uploads/sites/510/... · ARCO 2014-2015 6 Procesos Funciones SO • El SO interactúa con el HW y proporciona las funciones necesarias para

ARCO 2014-2015 84 Procesos

• Información de control del proceso:– Gestión de memoria:

• Esta sección puede incluir punteros a las tablas de páginas o segmentos que describen la memoria virtual asignada al proceso.

– Propiedad de los recursos y utilización:• Se pueden indicar los recursos controlados por el proceso,

como los archivos abiertos. También puede incluir un historial de la utilización del procesador o de otros recursos ; esta información puede ser necesaria para el planificador.

Bloque de control de proceso

Page 85: -Procesos-umh2812.edu.umh.es/wp-content/uploads/sites/510/... · ARCO 2014-2015 6 Procesos Funciones SO • El SO interactúa con el HW y proporciona las funciones necesarias para

ARCO 2014-2015 85 Procesos

Como se utiliza el PCB

Page 86: -Procesos-umh2812.edu.umh.es/wp-content/uploads/sites/510/... · ARCO 2014-2015 6 Procesos Funciones SO • El SO interactúa con el HW y proporciona las funciones necesarias para

ARCO 2014-2015 86 Procesos

Módulos básicos del Núcleo

• Manejador de Interrupciones (Interrupt Handler)

• Planificador procesador (CPU Scheduler)

• Establece prioridades y maneja la cola de preparados

• Dispatcher.

• Cede el control del procesador al proceso que está en la cabeza de la cola

• Primitivas de sincronización y comunicación