1. www.miceminfo.net marfonline@gmail.com Lic. Marvin Romero
PROCESOS E
HILOS
LIC. MARVIN ROMERO
UGB, SAN MIGUEL
Comunidad, Blog, Foros y Más UGB, San Miguel Búscanos en Facebook como -> :.:CEMINFO:.:
2. www.miceminfo.net marfonline@gmail.com Lic. Marvin Romero
Programas y Procesos
Programas:
o Colección de instrucciones que el procesador interpreta y
ejecuta.
o Para ser ejecutados deben residir en MP.
o Se almacenan en sistemas no volátiles y se cargan y se
ejecutan posteriormente en MP.
o En sistemas empotrados suelen residir permanentemente
en memoria no volátil.
o Se considera un ente estático.
Procesos:
o Programa en ejecución.
o El SO les asigna recursos.
Comunidad, Blog, Foros y Más UGB, San Miguel Búscanos en Facebook como -> :.:CEMINFO:.:
3. www.miceminfo.net marfonline@gmail.com Lic. Marvin Romero
Entidades de Ejecución (1/4)
Procesos
o Se consideran entes dinámicos.
o En un sistema multiprogramado cada uno de los
procesos existentes son entidades separadas
o con sus propios derechos y responsabilidades.
o Hacen uso de diferentes recursos del sistema.
o El SO debe tener constancia en todo momento
de las acciones llevadas a cabo por cada uno
de los procesos y de los recursos en uso.
o La ejecución de un proceso evoluciona de
forma secuencial.
Comunidad, Blog, Foros y Más UGB, San Miguel Búscanos en Facebook como -> :.:CEMINFO:.:
4. www.miceminfo.net marfonline@gmail.com Lic. Marvin Romero
Entidades de Ejecución (2/4)
o Aunque pueda haber 2 ó más procesos asociados a
un programa, se consideran secuencias
independientes.
o Un proceso puede derivar de otro proceso.
Hilos
o Hilo o thread <->Proceso especial
o Se consideran entes dinámicos.
o 1 hilo de ejecución Proceso
o Comparten recursos de forma cómoda.
o Planificación a nivel de SO o a nivel de usuario.
o La ejecución de un hilo evoluciona de forma
secuencial.
Comunidad, Blog, Foros y Más UGB, San Miguel Búscanos en Facebook como -> :.:CEMINFO:.:
5. www.miceminfo.net marfonline@gmail.com Lic. Marvin Romero
Entidades de Ejecución (3/4)
Los hilos se componen de:
o Contador de programa (CP)
o Registros
o Área de pila
Cada hilo comparte con los otros hilos
cooperantes:
o Código
o Datos
o Recursos del SO
Los hilos son muy adecuados para sistemas
distribuidos y sistemas multiprocesador.
Comunidad, Blog, Foros y Más UGB, San Miguel Búscanos en Facebook como -> :.:CEMINFO:.:
6. www.miceminfo.net marfonline@gmail.com Lic. Marvin Romero
Entidades de Ejecución (4/4)
• El SO es el encargado de lanzar un programa y
convertirlo en un proceso
Comunidad, Blog, Foros y Más UGB, San Miguel Búscanos en Facebook como -> :.:CEMINFO:.:
7. www.miceminfo.net marfonline@gmail.com Lic. Marvin Romero
Concepto de Tarea (1/2)
• Una tarea es una entidad que no tiene
capacidad de ejecución y solamente
posee recursos.
• Lo correcto es decir que un proceso está
compuesto de un tarea que tiene un hilo de
ejecución.
• Una tarea puede tener varios hilos.
• Hilos cooperantes: Aquellos que pertenecen
a la misma tarea.
Comunidad, Blog, Foros y Más UGB, San Miguel Búscanos en Facebook como -> :.:CEMINFO:.:
8. www.miceminfo.net marfonline@gmail.com Lic. Marvin Romero
Concepto de tarea (2/2)
• La conmutación de un hilo a otro
dentro de la misma tarea requiere un
coste mínimo:
o Salvar registros y conmutar la pila.
o No es necesario ningún manejo de memoria.
o Parte de la memoria ocupada por la tarea es
compartida por todos los hilos de la misma.
Comunidad, Blog, Foros y Más UGB, San Miguel Búscanos en Facebook como -> :.:CEMINFO:.:
9. www.miceminfo.net marfonline@gmail.com Lic. Marvin Romero
Tabla de Control de Procesos
• Es la manifestación de que existe un
proceso.
• Almacena:
o Estado actual del proceso
o Identificación unívoca del proceso
o Prioridad del proceso
o Puntero a la zona de memoria asignada
o Punteros a los recursos asociados
o Área de salvaguarda de registros
o Un puntero al siguiente PCB
Comunidad, Blog, Foros y Más UGB, San Miguel Búscanos en Facebook como -> :.:CEMINFO:.:
10. www.miceminfo.net marfonline@gmail.com Lic. Marvin Romero
Servicios POSIX
• POSIX es el acrónimo de Portable Operating System
Interface; la X viene de UNIX como seña de
identidad de la API.
• El término fue sugerido por Richard Stallman en
respuesta a la demanda de la IEEE, que buscaba
un nombre fácil de recordar. Una traducción
aproximada del acrónimo podría ser "Interfaz de
sistema operativo portable" o "Interfaz portable de
sistema operativo".
Comunidad, Blog, Foros y Más UGB, San Miguel Búscanos en Facebook como -> :.:CEMINFO:.:
11. www.miceminfo.net marfonline@gmail.com Lic. Marvin Romero
Servicios POSIX
• Son una familia de estándares de llamadas
al sistema operativo definidos por el IEEE y
especificados formalmente en el IEEE 1003.
Persiguen generalizar las interfaces de los sistemas
operativos para que una misma aplicación pueda
ejecutarse en distintas plataformas. Estos
estándares surgieron de un proyecto de
normalización de las API y describen un conjunto
de interfaces de aplicación adaptables a una gran
variedad de implementaciones de sistemas
operativos.
Comunidad, Blog, Foros y Más UGB, San Miguel Búscanos en Facebook como -> :.:CEMINFO:.:
12. www.miceminfo.net marfonline@gmail.com Lic. Marvin Romero
PARTES
Comunidad, Blog, Foros y Más UGB, San Miguel Búscanos en Facebook como -> :.:CEMINFO:.:
13. www.miceminfo.net marfonline@gmail.com Lic. Marvin Romero
POSIX 1
Core Services (implementa las llamadas del ANSI C estándar)
o Creación y control de procesos.
o Señales.
o Excepciones de punto flotante.
o Excepciones por violación de segmento.
o Excepciones por instrucción ilegal.
o Errores del bus.
o Temporizadores.
o Operaciones de ficheros y directorios (sobre cualquier fs
montado).
o Tuberías (Pipes).
o Biblioteca C (Standard C).
o Instrucciones de entrada/salida y de control de dispositivo
(ioctl).
Comunidad, Blog, Foros y Más UGB, San Miguel Búscanos en Facebook como -> :.:CEMINFO:.:
14. www.miceminfo.net marfonline@gmail.com Lic. Marvin Romero
POSIX 1b
Extensiones para tiempo real
o Planificación (scheduling) con prioridad.
o Señales de tiempo real.
o Temporizadores.
o Semáforos.
o Intercambio de mensajes (message passing).
o Memoria compartida.
o Entrada/salida síncrona y asíncrona.
o Bloqueos de memoria.
Comunidad, Blog, Foros y Más UGB, San Miguel Búscanos en Facebook como -> :.:CEMINFO:.:
15. www.miceminfo.net marfonline@gmail.com Lic. Marvin Romero
POSIX 1c
Extensiones para hilos (threads)
o Creación, control y limpieza de hilos.
o Planificación (scheduling).
o Sincronización.
o Manejo de señales.
Comunidad, Blog, Foros y Más UGB, San Miguel Búscanos en Facebook como -> :.:CEMINFO:.:
16. www.miceminfo.net marfonline@gmail.com Lic. Marvin Romero
POSIX 2
Shell y Utilidades (IEEE Std. 1003.2-1992)
o Intérprete de Comandos
o Programas de Utilidad
Comunidad, Blog, Foros y Más UGB, San Miguel Búscanos en Facebook como -> :.:CEMINFO:.:
17. www.miceminfo.net marfonline@gmail.com Lic. Marvin Romero
Servicios POSIX para Procesos
• Los servicios POSIX para la gestión de
procesos están relacionados con:
o La creación de procesos.
o La ejecución de un programa.
o La finalización de procesos.
o La identificación de procesos.
o El entorno de procesos.
Comunidad, Blog, Foros y Más UGB, San Miguel Búscanos en Facebook como -> :.:CEMINFO:.:
18. www.miceminfo.net marfonline@gmail.com Lic. Marvin Romero
Servicios POSIX para Procesos
• Creación de un proceso (1/4)
Comunidad, Blog, Foros y Más UGB, San Miguel Búscanos en Facebook como -> :.:CEMINFO:.:
19. www.miceminfo.net marfonline@gmail.com Lic. Marvin Romero
Servicios POSIX para Procesos
• Creación de un proceso (2/4)
• Para crear un proceso:
o Prototipo
• pid_t fork ();
• Descripción
o Crea una copia (proceso hijo), del proceso que la invoca
(proceso padre).
• Devuelve
o Si la llamada se ejecuta correctamente:
• Al padre: el pid del proceso hijo
• Al hijo: 0
Comunidad, Blog, Foros y Más UGB, San Miguel Búscanos en Facebook como -> :.:CEMINFO:.:
o En caso contrario: -1 y en errno el código de error
20. www.miceminfo.net marfonline@gmail.com Lic. Marvin Romero
Servicios POSIX para Procesos
• Creación de un proceso (3/4)
• El proceso hijo hereda del padre:
o Estado
o Objetos de memoria
o Semáforos
o Políticas de planificación, etc.
• El proceso hijo se distingue del proceso padre en:
o PID / PPID
o Alarmas y temporizadores
o Operaciones de E/S asíncronas
o Valor de retorno del servicio fork()
Comunidad, Blog, Foros y Más UGB, San Miguel Búscanos en Facebook como -> :.:CEMINFO:.:
21. www.miceminfo.net marfonline@gmail.com Lic. Marvin Romero
Servicios POSIX para Procesos
• Creación de un proceso (4/4)
Comunidad, Blog, Foros y Más UGB, San Miguel Búscanos en Facebook como -> :.:CEMINFO:.:
22. www.miceminfo.net marfonline@gmail.com Lic. Marvin Romero
Comunidad, Blog, Foros y Más UGB, San Miguel Búscanos en Facebook como -> :.:CEMINFO:.: