Publicado el 14 de Agosto del 2019
522 visualizaciones desde el 14 de Agosto del 2019
5,9 MB
61 paginas
Creado hace 8a (03/03/2016)
SISTEMAS OPERATIVOS
PROCESOS
Pedro de Miguel Anasagast
ÍNDICE
© UPM 2014
● Conceptos generales de procesos
● Multitarea
● Servidores y demonios
● Servicios UNIX de gestión de procesos
● Señales y temporizadores
● Servicios UNIX de señales y temporizadores
● Procesos ligeros
● Servicios UNIX de procesos ligeros
2
PROCESOS
CONCEPTOS GENERALES
JERARQUÍA DE PROCESOS
Familia de procesos
● Proceso hijo.
● Proceso padre.
● (Proceso hermano).
● (Proceso abuelo).
Vida de un proceso
● Crea.
● Ejecuta.
● Muere o termina.
Ejecución del proceso
© UPM 2014
Proc. INIT
Inicio
Shell
Editor
Inicio
Inicio
Shell
Proceso A
Inicio
Dem. Impr.
Dem. Com.
Proceso B
Proceso D
Proceso C
Proceso E Proceso F
● No interactivo (Batch y segundo plano)
● Interactivo o primer plano.
Grupo de procesos
● Grupos de procesos dependientes de cada inicio.
4
INFORMACIÓN DEL PROCESO
© UPM 2014
Proceso:
Programa en ejecución
Unidad de procesamiento gestionada por el SO
La información se organiza en tres grupos:
● Estado del procesador
● Imagen (mapa) de memoria
● Tablas del SO
Registros
especiales
Registros
generales
o
d
a
t
s
E
PC
SP
Reg. Estado
Imagen de memoria
del Proceso A
Imagen de memoria
del Proceso B
Imagen de memoria
del Proceso N
Tablas SO
Mapa de
memoria
Tablas del sistema operativo
BCP Proceso A
- Estado
(registros)
- Identificación
- Control
BCP Proceso N
- Estado
(registros)
- Identificación
- Control
Tabla de procesos
BCP Proceso B
- Estado
(registros)
- Identificación
- Control
- Tabla de memoria
- Tabla de E/S
- Tabla de ficheros
5
ESTADO DEL PROCESADOR
© UPM 2014
● Está formado por el contenido de todos los registros del procesador
● Puede residir en:
• Registros del procesador, cuando el proceso está en ejecución
• En el BCP, cuando el proceso no está en ejecución
● Al detener la ejecución de un proceso (por una interrupción), se debe
copiar el estado del procesador en su BCP correspondiente. Realizado por
la rutina de tratamiento de interrupciones
6
INFORMACIÓN DEL BCP I
© UPM 2014
Información de identificación (identifica al usuario y al proceso)
● pid del proceso.
● pid del padre.
● Identificador de usuario real: uid real.
● Identificador de grupo real: gid real.
● Identificador de usuario efectivo: uid efectivo.
● Identificador de grupo efectivo: gid efectivo.
● Identificadores de grupos de procesos (el proceso pertenece a uno o más
grupos de procesos).
Estado del Procesador
● Contiene los valores iniciales del estado del procesador o su valor en el
instante en que fue interrumpido el proceso.
7
INFORMACIÓN DEL BCP II
© UPM 2014
Información de control del proceso I
En esta sección se incluye diversa información que permite gestionar al
proceso. Se destacan los siguientes datos:
● Información de planificación y estado.
• Estado del proceso (bloqueado, listo o en ejecución).
• Evento por el que espera el proceso cuando está bloqueado.
• Información de planificación: prioridad y tiempo en espera.
● Descripción de las regiones de memoria asignadas al proceso.
● Recursos asignados, tales como:
• Ficheros abiertos (tabla de descriptores).
• Puertos asignados.
● Comunicación entre procesos. Espacio para almacenar señales y algún
mensaje enviado al proceso.
8
© UPM 2014
INFORMACIÓN DEL BCP III
Información de control del proceso II
● Señales.
• Señales armadas.
• Máscara de señales.
● Temporizador.
● Información de contabilidad (uso de recursos).
• Tiempo de procesador consumido.
• Operaciones de E/S realizadas.
9
INFORMACIÓN FUERA DEL BCP
© UPM 2014
Justificación de información fuera del BCP.
● Por razones de implementación (eficiencia).
● Para compartirla con otros procesos.
Tabla de páginas: Se pone fuera.
● Describe la imagen de memoria del proceso.
● Tamaño muy variable.
● El BCP contiene el puntero a la tabla de páginas.
● Para compartir memoria se requiere que la tabla sea externa al BCP.
Punteros de posición de los ficheros.
● Si se añaden a la tabla de descriptores (en el BCP) no se pueden
compartir.
● Si se asocian al nodo-i se comparte siempre.
● Se ponen en una estructura común a los procesos (tabla intermedia) y se
asigna un nuevo puntero en cada servicio OPEN.
10
MULTITAREA
CONCEPTO DE MULTITAREA I
Proceso A
Proceso B
Proceso C
Proceso D
SO
Proceso Nulo
Proceso nulo
© UPM 2014
Ejecución
Listo
Bloqueado
Tiempo
12
CONCEPTO DE MULTITAREA II
© UPM 2014
Ventajas de la multiprogramación
● Facilita la programación, dividiendo los programas en
procesos(modularidad).
● Permite el servicio interactivo simultáneo de varios usuarios deforma
eficiente.
● Aprovecha los tiempos que los procesos pasan esperando a que
secompleten sus operaciones de E/S.
● Aumenta el uso de la CPU.
Grado de multiprogramación
● Nº de procesos en memoria (procesos activos).
Necesidades de memoria
● Sistema sin memoria virtual. La memoria principal debe tener capacidad
para almacenar el SO y todos los procesos.
● Sistema con memoria virtual. Los marcos de página disponibles se
reparten entre el SO y los procesos.
13
ESTADOS DEL PROCESO
© UPM 2014
● En ejecución: uno por procesador.
● Bloqueado: en espera de E/S o evento (p.e. pause).
● Listo para ejecutar.
Termina
Ejecución
Nuevo
Listo
Fin E/S
u otro evento
Bloqueado
Planificador: Módulo del SO que decide qué proceso listo se ejecuta.
Un proceso es expulsado porque ha gastado un cierto tiempo de procesador
o porque surge otro proceso más prioritario listo para ejecutar.
14
VIDA DEL PROCESO I
Creación del proceso (listo)
© UPM 2014
● Crear la imagen de memoria
● Seleccionar BCP libre
● Rellenar el BCP
● Cargar segmento de texto y segmento de datos
● Crear la pila inicial, en el segmento de pila, con el entorno del proceso y
los parámetros de invocación
Mapa de
memoria
Tabla de procesos
Objeto
ejecutable
Biblioteca
dinámica
r
o
d
a
g
r
a
C
Imagen
del proceso
BCP
15
VIDA DEL PROCESO II
© UPM 2014
Interrupción del proceso (paso a bloqueado/listo)
● Causas: Interrupción, excepción o solicitud de servicio
● Se salva el estado del procesador
Activación del proceso (paso a ejecución)
● Lo selecciona el planificador
● Se restituye el estado del procesador
• Se termina con el registro de estado seguido del contador de programa
Terminación del proceso
● Tipos de terminación
• Voluntaria: invoca llamada al sistema para tal fin (o fin del programa)
• Involuntaria: Error de ejecución (excepción) o abortado por un usuario
u otro proceso
● En cualquier caso, se recuperan los recursos asignados al proceso
• Si la asignación es exclusiva, se libera el recurso
• Si la asignación es compartida el SO llevará un contador de usuarios.
Cuando el contador llega a 0 se libera el recurso
16
CAMBIO DE CONTEXTO I
Cambio de contexto
© UPM 2014
● Se pasa de ejecutar el proceso A a ejecutar el proceso B.
● Requiere dos cambios de modo: de proceso A al SO y del SO al proceso B.
Interrupción → Cambio de modo: de proceso a SO
● Una interrupción hace que se pase de ejecutar el proceso a ejecutar el SO,
lo que significa un cambio de modo de ejecución.
● Necesidad de salvar el estado. Ejemplo:
LD
LD
¿Qué valor tiene el registro 5 al reiniciar la ejecución del proceso?
→ llega una interrupción y se pasa al SO.
.5,#CANT
.1,[.5]
17
CAMBIO DE CONTEXTO II
© UPM 2014
o
d
a
t
s
E
Registros
especiales
Registros
generales
PC
SP
Estado
Tabla de procesos
BCP Proceso A
BCP Proceso B
BCP Proceso N
Estado
(registros)
Información de
identificación
Información de
Control
Estado
(registros)
Información de
identificación
Información de
Control
Estado
(registros)
Información de
identificación
Información de
Control
Activación → Cambio de modo: de SO a proceso
● Se pasa de ejecutar el SO a ejecutar un proceso.
● Hay que restaurar el estado del proceso que está almacenado en el BCP.
18
PROCESOS ESPECIALES
PROCESO SERVIDOR
Servidor
● Atiende peticiones.
● Realiza el bucle:
• Lectura de orden.
• Ejecución de la orden.
• Contestación al cliente.
PROCESOS
CLIENTES
© UPM 2014
PROCESO
SERVIDOR
RECURSO
Puerto
Cliente
SO
Servidor
ficheros
Servidor
impresión
SO
SO
RED
Servidor
e_mail
SO
20
PROCESO SERVIDOR PARALELO
© UPM 2014
Bucle
● Lectura de orden.
● Asignación de un nuevo puerto y lanza hijo.
● Proceso hijo que atiende al cliente.
● Vuelta al comienzo.
a)
Servidor
Padre
Puerto A
b)
Servidor
Padre
Puerto A
Cliente A
c)
Servidor
Padre
Servidor
Hijo
Puerto A
Puerto B
Cliente A
21
PROCESO DEMONIO
Es un proceso:
© UPM 2014
● Que ejecuta en background (su padre no le espera).
● No asociado a un terminal o proceso login.
● Que espera a que ocurra un evento.
● O que debe realizar una tarea de forma periódica.
Características
● Se arrancan al inicializar el sistema.
● No mueren.
● Están normalmente en espera de evento.
● No hacen el trabajo, lanzan otros procesos o procesos ligeros.
22
EJEMPLOS DE SERVIDORES Y DEMONIOS UNIX
© UPM 2014
● lpd
● inetd
● smbd
● atd
● crond
● nfsd
● httpd
line printer daemon.
arranca servidores de red: ftp, telnet, http, finger,talk, etc.
demonio de samba.
ejecución de tareas a ciertas horas.
ejecución de tareas periódicas.
servidor NFS.
servidor WEB.
23
SERVICIOS UNIX
GESTIÓN DE PROCESOS
SETGID SETUID
© UPM 2014
Proceso
UID y GID
efectivo
UID y GID
real
SETGID
SETUID
Dueña del
ejecutable
Dueño del
proceso
El SO utiliza el UID y GID efectivos para determinar los privilegios del
proceso.
El fichero ejecutable puede tener activos los bits SETGID y SETUID.
● Si SETUID activo se pone como UID efectivo el UID del fichero ejecutable.
● Si SETGID activo se pone como GID efectivo el GID del fichero ejecutable
25
SERVICIOS UNIX DE GESTIÓN DE PROCESOS (Identificación)
©
Comentarios de: Sistemas operativos - Procesos (0)
No hay comentarios