so: administración de procesos
TRANSCRIPT
![Page 1: SO: administración de procesos](https://reader034.vdocuments.co/reader034/viewer/2022042619/58a891161a28ab68208b52a9/html5/thumbnails/1.jpg)
Sistemas Operativos I
Administración de procesos
Angel Vázquez-Patiñ[email protected]
Departamento de Ciencias de la ComputaciónUniversidad de Cuenca
20 de abril de 2016
![Page 2: SO: administración de procesos](https://reader034.vdocuments.co/reader034/viewer/2022042619/58a891161a28ab68208b52a9/html5/thumbnails/2.jpg)
Objetivo
Estudiar los conceptos relacionadoscon procesos, hilos, concurrencia y sincronización
![Page 3: SO: administración de procesos](https://reader034.vdocuments.co/reader034/viewer/2022042619/58a891161a28ab68208b52a9/html5/thumbnails/3.jpg)
Concepto y estados de un procesoProcesos e hilos
ConcurrenciaBloqueos mutuos
![Page 4: SO: administración de procesos](https://reader034.vdocuments.co/reader034/viewer/2022042619/58a891161a28ab68208b52a9/html5/thumbnails/4.jpg)
Concepto y estados de un procesoProcesos e hilos
ConcurrenciaBloqueos mutuos
![Page 5: SO: administración de procesos](https://reader034.vdocuments.co/reader034/viewer/2022042619/58a891161a28ab68208b52a9/html5/thumbnails/5.jpg)
Concepto y estados de un proceso
Definición de proceso
Imagen en memoria de un programa, junto con la información relacionada con el estado de su
ejecución● Programa → entidad pasiva (lista de
instrucciones)● Proceso → entidad activa (define la actuación
que tendrá el sistema)
![Page 6: SO: administración de procesos](https://reader034.vdocuments.co/reader034/viewer/2022042619/58a891161a28ab68208b52a9/html5/thumbnails/6.jpg)
Concepto y estados de un proceso
Sólo se puede estar ejecutando un las instrucciones de un número de procesos igual o menor al número de procesadores que tenga un
sistema
![Page 7: SO: administración de procesos](https://reader034.vdocuments.co/reader034/viewer/2022042619/58a891161a28ab68208b52a9/html5/thumbnails/7.jpg)
Concepto y estados de un proceso
Estados de un procesoInformación asociada a un proceso
![Page 8: SO: administración de procesos](https://reader034.vdocuments.co/reader034/viewer/2022042619/58a891161a28ab68208b52a9/html5/thumbnails/8.jpg)
Concepto y estados de un proceso
Estados de un procesoInformación asociada a un proceso
![Page 9: SO: administración de procesos](https://reader034.vdocuments.co/reader034/viewer/2022042619/58a891161a28ab68208b52a9/html5/thumbnails/9.jpg)
Estados de un procesoSe solicitó al SO la creación de un procesosus recursos están siendo creados
para iniciar o continuar ejecución peroel sistema no le ha asignado un procesador
El proceso está siendo ejecutadoen este momento. Sus instruccionesestán siendo procesadas en algún procesador
En espera de algún evento para podercontinuar su ejecución (aun si hubieraun procesador disponible, no podría avanzar)
El proceso terminó de ejecutarse;sus estructuras están a la esperade ser limpiadas por el sistema operativo
El proceso ha finalizado su ejecución,pero el sistema operativo debe realizarciertas operaciones de limpieza parapoder eliminarlo de la lista
![Page 10: SO: administración de procesos](https://reader034.vdocuments.co/reader034/viewer/2022042619/58a891161a28ab68208b52a9/html5/thumbnails/10.jpg)
Concepto y estados de un proceso
Estados de un procesoInformación asociada a un proceso
![Page 11: SO: administración de procesos](https://reader034.vdocuments.co/reader034/viewer/2022042619/58a891161a28ab68208b52a9/html5/thumbnails/11.jpg)
Información asociada a un proceso
Bloque de control de proceso (PCB)● Estado del proceso● Contador de programa: siguiente instrucción a ser ejecutada por el
proceso● Registros del CPU: i de estado del CPU● Información de planificación (scheduling): prioridad, cola donde está
agendado● Información de administración de memoria: i de mapeo de memoria● Información de contabilidad: utilización de recursos● Estado de E/S: dispositivos y archivos asignados, abiertos en cada
momento
![Page 12: SO: administración de procesos](https://reader034.vdocuments.co/reader034/viewer/2022042619/58a891161a28ab68208b52a9/html5/thumbnails/12.jpg)
Concepto y estados de un procesoProcesos e hilos
ConcurrenciaBloqueos mutuos
![Page 13: SO: administración de procesos](https://reader034.vdocuments.co/reader034/viewer/2022042619/58a891161a28ab68208b52a9/html5/thumbnails/13.jpg)
Procesos e hilos
● Carga de información es alta por parte del SO (desperdicio burocrático de recursos)
● Hilos de ejecución (LWP, Lightweight processes)● Diferencias
– SO se encarga de que cada proceso tenga virtualmente acceso exclusivo del procesador
– Los hilos comparten un sólo espacio de direccionamiento en memoria y los archivos y dispositivos abiertos
– Ejecución secuencial con su propio contador de programa y pila
![Page 14: SO: administración de procesos](https://reader034.vdocuments.co/reader034/viewer/2022042619/58a891161a28ab68208b52a9/html5/thumbnails/14.jpg)
Procesos e hilos
Los hilos y el SOPatrones de trabajo con hilos
![Page 15: SO: administración de procesos](https://reader034.vdocuments.co/reader034/viewer/2022042619/58a891161a28ab68208b52a9/html5/thumbnails/15.jpg)
Procesos e hilos
Los hilos y el SOPatrones de trabajo con hilos
![Page 16: SO: administración de procesos](https://reader034.vdocuments.co/reader034/viewer/2022042619/58a891161a28ab68208b52a9/html5/thumbnails/16.jpg)
Los hilos y el SO
● Se pueden ejecutar sin involucrar al sistema operativo (espacio de usuario)
● User threads (green threads)● Rendimiento
– No reemplaza PCB activo al intercalar entre hilos
– Más por compartir espacio de memoria sin tener que establecerlo explícitamente a través de mecanismos de comunicación entre procesos (IPC, Inter Process Communications)
![Page 17: SO: administración de procesos](https://reader034.vdocuments.co/reader034/viewer/2022042619/58a891161a28ab68208b52a9/html5/thumbnails/17.jpg)
Los hilos y el SO
● Kernel threads● pthreads para POSIX● Win32_Thread para Window● Puede beneficiarse de una ejecución
verdaderamente paralela en sistemas multiprocesador
¿Qué es POSIX y Win 32?
![Page 18: SO: administración de procesos](https://reader034.vdocuments.co/reader034/viewer/2022042619/58a891161a28ab68208b52a9/html5/thumbnails/18.jpg)
Procesos e hilos
Los hilos y el SOPatrones de trabajo con hilos
![Page 19: SO: administración de procesos](https://reader034.vdocuments.co/reader034/viewer/2022042619/58a891161a28ab68208b52a9/html5/thumbnails/19.jpg)
Patrones de trabajo con hilos
1) Jefe - trabajador
Poco trabajoInvoca trabajadores
Quizá notifican al jefeFinalizan
![Page 20: SO: administración de procesos](https://reader034.vdocuments.co/reader034/viewer/2022042619/58a891161a28ab68208b52a9/html5/thumbnails/20.jpg)
Patrones de trabajo con hilos
2) Equipo de trabajo● Hilos idénticos● Mismas tareas● Cálculos matemáticos● Diferencia con jefe-trabajador: división de trabajo a priori
● Datos parte de un mismo cálculo
![Page 21: SO: administración de procesos](https://reader034.vdocuments.co/reader034/viewer/2022042619/58a891161a28ab68208b52a9/html5/thumbnails/21.jpg)
Patrones de trabajo con hilos
2) Equipo de trabajo
![Page 22: SO: administración de procesos](https://reader034.vdocuments.co/reader034/viewer/2022042619/58a891161a28ab68208b52a9/html5/thumbnails/22.jpg)
Patrones de trabajo con hilos
3) Línea de ensamblado● Hilos completamente distintos● Ventaja
● Los hilos trabajan en secuencia pueden ejecutarse en paralelo sobre los bloques de información asignados
![Page 23: SO: administración de procesos](https://reader034.vdocuments.co/reader034/viewer/2022042619/58a891161a28ab68208b52a9/html5/thumbnails/23.jpg)
Concepto y estados de un procesoProcesos e hilosConcurrencia
Bloqueos mutuos
![Page 24: SO: administración de procesos](https://reader034.vdocuments.co/reader034/viewer/2022042619/58a891161a28ab68208b52a9/html5/thumbnails/24.jpg)
Concurrencia
La concurrencia no se refiere a dos o más eventos que ocurren a la vez sino a dos o más
eventos cuyo orden es no determinista: eventos acerca de los cuales no se puede predecir el
orden relativo en que ocurrirán
Ejecución vinculada entre procesos
![Page 25: SO: administración de procesos](https://reader034.vdocuments.co/reader034/viewer/2022042619/58a891161a28ab68208b52a9/html5/thumbnails/25.jpg)
Concurrencia
Downey, A., 2008. The little book of semaphores, 2nd ed. SoHoBooks, USA.
![Page 26: SO: administración de procesos](https://reader034.vdocuments.co/reader034/viewer/2022042619/58a891161a28ab68208b52a9/html5/thumbnails/26.jpg)
Concurrencia
Problema: el jardín ornamentalMecanismos de sincronización
Problema productor-consumidorBloqueos mutuos e inanición
Problema de los lectores y los escritoresLa cena de los filósofos
Los fumadores compulsivosOtros mecanismos
![Page 27: SO: administración de procesos](https://reader034.vdocuments.co/reader034/viewer/2022042619/58a891161a28ab68208b52a9/html5/thumbnails/27.jpg)
Concurrencia
Problema: el jardín ornamentalMecanismos de sincronización
Problema productor-consumidorBloqueos mutuos e inanición
Problema de los lectores y los escritoresLa cena de los filósofos
Los fumadores compulsivosOtros mecanismos
![Page 28: SO: administración de procesos](https://reader034.vdocuments.co/reader034/viewer/2022042619/58a891161a28ab68208b52a9/html5/thumbnails/28.jpg)
Problema: el jardín ornamental
Visitantes¿?
![Page 29: SO: administración de procesos](https://reader034.vdocuments.co/reader034/viewer/2022042619/58a891161a28ab68208b52a9/html5/thumbnails/29.jpg)
Problema: el jardín ornamental
● Simulación: 20 visitantes/torniquete● Contador: 40● Primera solución
![Page 30: SO: administración de procesos](https://reader034.vdocuments.co/reader034/viewer/2022042619/58a891161a28ab68208b52a9/html5/thumbnails/30.jpg)
![Page 31: SO: administración de procesos](https://reader034.vdocuments.co/reader034/viewer/2022042619/58a891161a28ab68208b52a9/html5/thumbnails/31.jpg)
Problema: el jardín ornamental
![Page 32: SO: administración de procesos](https://reader034.vdocuments.co/reader034/viewer/2022042619/58a891161a28ab68208b52a9/html5/thumbnails/32.jpg)
Problema: el jardín ornamental
![Page 33: SO: administración de procesos](https://reader034.vdocuments.co/reader034/viewer/2022042619/58a891161a28ab68208b52a9/html5/thumbnails/33.jpg)
Problema: el jardín ornamental
quantum
Problema de las actualizaciones múltiples
![Page 34: SO: administración de procesos](https://reader034.vdocuments.co/reader034/viewer/2022042619/58a891161a28ab68208b52a9/html5/thumbnails/34.jpg)
Problema: el jardín ornamental
● Esto parece muy específico: reserva de vuelos● ¿Pero no es muy poco probable?: problemas
de concurrencia difíciles de detectar y más aún de corregir
● ¿Vale la pena preocuparse?: Resultados Pascal-FC 25, 29, 31, 20, 21, 26, 27, 18, 31, 35
● Pero tenemos muchos núcleos: lo empeora, coherencia de caché
![Page 35: SO: administración de procesos](https://reader034.vdocuments.co/reader034/viewer/2022042619/58a891161a28ab68208b52a9/html5/thumbnails/35.jpg)
Problema: el jardín ornamental
Algunos conceptos de concurrencia● Operación atómica: efecto de retiro de flujo no influye● Condición de carrera: categoría de errores de
programación, comunicación de estado mutuo● Región crítica: código protegido de accesos
simultáneos, modificación de datos compartidos● Recurso compartido: desde más de un proceso
(cuenta)
![Page 36: SO: administración de procesos](https://reader034.vdocuments.co/reader034/viewer/2022042619/58a891161a28ab68208b52a9/html5/thumbnails/36.jpg)
Problema: el jardín ornamentalHay un recurso compartido que es cuenta, por tanto, el código que modifica cuenta constituye una sección crítica y la operación cuenta = cuenta + 1 debe ser una operación atómica.
La secuencia de eventos mostrada es una condición de carrera: torniquete2 presume un estado (cuenta = 0) que no es el mismo que conoce el torniquete1 (cuenta = 1).
![Page 37: SO: administración de procesos](https://reader034.vdocuments.co/reader034/viewer/2022042619/58a891161a28ab68208b52a9/html5/thumbnails/37.jpg)
Problema: el jardín ornamental
Intento 1: no utilizar multitarea● Sin mucha gente que haga cola● E.g., Reserva de pasajes aéreos
![Page 38: SO: administración de procesos](https://reader034.vdocuments.co/reader034/viewer/2022042619/58a891161a28ab68208b52a9/html5/thumbnails/38.jpg)
Problema: el jardín ornamental
Intento 2: Suspender la multitarea durante la sección crítica
● Inusable– Problema de seguridad (suspender el SO)
– Interrupciones se deshabilitan en un solo núcleo (hacerlo en todos es costoso)
– Mal funcionamiento de algún periférico (demasiado tiempo en sección crítica)
![Page 39: SO: administración de procesos](https://reader034.vdocuments.co/reader034/viewer/2022042619/58a891161a28ab68208b52a9/html5/thumbnails/39.jpg)
Problema: el jardín ornamental
Intento 3: Utilizar una bandera● Se indica si hay un proceso en la región crítica
![Page 40: SO: administración de procesos](https://reader034.vdocuments.co/reader034/viewer/2022042619/58a891161a28ab68208b52a9/html5/thumbnails/40.jpg)
Problema: el jardín ornamental
¡recurso compartido!
![Page 41: SO: administración de procesos](https://reader034.vdocuments.co/reader034/viewer/2022042619/58a891161a28ab68208b52a9/html5/thumbnails/41.jpg)
Problema: el jardín ornamental
● Funcionaría se pudiera garantizar atomicidad
![Page 42: SO: administración de procesos](https://reader034.vdocuments.co/reader034/viewer/2022042619/58a891161a28ab68208b52a9/html5/thumbnails/42.jpg)
Problema: el jardín ornamental
Intento 4: Manejar la bandera con instrucciones atómicas: VAX, test_and_set; I386, INC
atómica
![Page 43: SO: administración de procesos](https://reader034.vdocuments.co/reader034/viewer/2022042619/58a891161a28ab68208b52a9/html5/thumbnails/43.jpg)
Problema: el jardín ornamental
Intento 4: Manejar la bandera con instrucciones atómicas● Dos problemas
– Mucho tiempo repitiendo
¡Espera activa o espera ocupada!
![Page 44: SO: administración de procesos](https://reader034.vdocuments.co/reader034/viewer/2022042619/58a891161a28ab68208b52a9/html5/thumbnails/44.jpg)
Problema: el jardín ornamental
Intento 4: Manejar la bandera con instrucciones atómicas● Dos problemas
– Mucho tiempo repitiendo
– HW: no todas las arquitecturas permiten lectura y actualización de una única dirección de memoria
![Page 45: SO: administración de procesos](https://reader034.vdocuments.co/reader034/viewer/2022042619/58a891161a28ab68208b52a9/html5/thumbnails/45.jpg)
Problema: el jardín ornamental
Intento 5: Utilizar turnos (actualización múltiple)● Variable adicional indicando a qué proceso
corresponde avanzar en todo momento
![Page 46: SO: administración de procesos](https://reader034.vdocuments.co/reader034/viewer/2022042619/58a891161a28ab68208b52a9/html5/thumbnails/46.jpg)
Problema: el jardín ornamental
Intento 5: Utilizar turnos (actualización múltiple)● Variable adicional indicando a qué proceso
corresponde avanzar en todo momento● Restrictivo
– Es como tener un solo torniquete
– Sólo una persona a la vez
![Page 47: SO: administración de procesos](https://reader034.vdocuments.co/reader034/viewer/2022042619/58a891161a28ab68208b52a9/html5/thumbnails/47.jpg)
Problema: el jardín ornamental
Intento 6: Indicar la intención de entrar a la sección crítica● Indicar si el otro proceso también está
queriendo entrar en la sección crítica
![Page 48: SO: administración de procesos](https://reader034.vdocuments.co/reader034/viewer/2022042619/58a891161a28ab68208b52a9/html5/thumbnails/48.jpg)
![Page 49: SO: administración de procesos](https://reader034.vdocuments.co/reader034/viewer/2022042619/58a891161a28ab68208b52a9/html5/thumbnails/49.jpg)
Problema: el jardín ornamental
Intento 6: Indicar la intención de entrar a la sección crítica● Indicar si el otro proceso también está
queriendo entrar en la sección crítica● Problema grave
– Bloqueo mutuo
Si torniquete1 coloca b1 = 1 y luego se cambia el control a torniquete2, el
cual también colocará su b2 = 1
![Page 50: SO: administración de procesos](https://reader034.vdocuments.co/reader034/viewer/2022042619/58a891161a28ab68208b52a9/html5/thumbnails/50.jpg)
1
2
3
4
5
![Page 51: SO: administración de procesos](https://reader034.vdocuments.co/reader034/viewer/2022042619/58a891161a28ab68208b52a9/html5/thumbnails/51.jpg)
Problema: el jardín ornamental
Una solución: algoritmo de Peterson (1981)● Banderas para indicar qué proceso puede
entrar● Además, turno para desempatar cuando ambos
procesos busquen entrar a la vez● Algoritmo amable
– Si un proceso detecta que el otro fue el primero en actualizar el turno, entonces lo deja pasar
![Page 52: SO: administración de procesos](https://reader034.vdocuments.co/reader034/viewer/2022042619/58a891161a28ab68208b52a9/html5/thumbnails/52.jpg)
13
246
5
7
8
![Page 53: SO: administración de procesos](https://reader034.vdocuments.co/reader034/viewer/2022042619/58a891161a28ab68208b52a9/html5/thumbnails/53.jpg)
Problema: el jardín ornamental
Notas acerca del algoritmo de Peterson● Espera activa● Solución para más procesos
– algoritmo de la panadería
● Solución para equipos multiprocesadores– falla en equipos multiprocesador (coherencia de
caché)
– se necesitan más precauciones
![Page 54: SO: administración de procesos](https://reader034.vdocuments.co/reader034/viewer/2022042619/58a891161a28ab68208b52a9/html5/thumbnails/54.jpg)
Concurrencia
Problema: el jardín ornamentalMecanismos de sincronizaciónProblema productor-consumidor
Bloqueos mutuos e inaniciónProblema de los lectores y los escritores
La cena de los filósofosLos fumadores compulsivos
Otros mecanismos
![Page 55: SO: administración de procesos](https://reader034.vdocuments.co/reader034/viewer/2022042619/58a891161a28ab68208b52a9/html5/thumbnails/55.jpg)
Concurrencia
Problema: el jardín ornamentalMecanismos de sincronización
Problema productor-consumidorBloqueos mutuos e inanición
Problema de los lectores y los escritoresLa cena de los filósofos
Los fumadores compulsivosOtros mecanismos
![Page 56: SO: administración de procesos](https://reader034.vdocuments.co/reader034/viewer/2022042619/58a891161a28ab68208b52a9/html5/thumbnails/56.jpg)
Concurrencia
Problema: el jardín ornamentalMecanismos de sincronización
Problema productor-consumidorBloqueos mutuos e inanición
Problema de los lectores y los escritoresLa cena de los filósofos
Los fumadores compulsivosOtros mecanismos
![Page 57: SO: administración de procesos](https://reader034.vdocuments.co/reader034/viewer/2022042619/58a891161a28ab68208b52a9/html5/thumbnails/57.jpg)
Concurrencia
Problema: el jardín ornamentalMecanismos de sincronización
Problema productor-consumidorBloqueos mutuos e inanición
Problema de los lectores y los escritoresLa cena de los filósofos
Los fumadores compulsivosOtros mecanismos
![Page 58: SO: administración de procesos](https://reader034.vdocuments.co/reader034/viewer/2022042619/58a891161a28ab68208b52a9/html5/thumbnails/58.jpg)
Concurrencia
Problema: el jardín ornamentalMecanismos de sincronización
Problema productor-consumidorBloqueos mutuos e inanición
Problema de los lectores y los escritoresLa cena de los filósofos
Los fumadores compulsivosOtros mecanismos
![Page 59: SO: administración de procesos](https://reader034.vdocuments.co/reader034/viewer/2022042619/58a891161a28ab68208b52a9/html5/thumbnails/59.jpg)
Concurrencia
Problema: el jardín ornamentalMecanismos de sincronización
Problema productor-consumidorBloqueos mutuos e inanición
Problema de los lectores y los escritoresLa cena de los filósofos
Los fumadores compulsivosOtros mecanismos
![Page 60: SO: administración de procesos](https://reader034.vdocuments.co/reader034/viewer/2022042619/58a891161a28ab68208b52a9/html5/thumbnails/60.jpg)
Concurrencia
Problema: el jardín ornamentalMecanismos de sincronización
Problema productor-consumidorBloqueos mutuos e inanición
Problema de los lectores y los escritoresLa cena de los filósofos
Los fumadores compulsivosOtros mecanismos
![Page 61: SO: administración de procesos](https://reader034.vdocuments.co/reader034/viewer/2022042619/58a891161a28ab68208b52a9/html5/thumbnails/61.jpg)
Concepto y estados de un procesoProcesos e hilos
ConcurrenciaBloqueos mutuos
![Page 62: SO: administración de procesos](https://reader034.vdocuments.co/reader034/viewer/2022042619/58a891161a28ab68208b52a9/html5/thumbnails/62.jpg)
Términos importantes
● PBC
![Page 63: SO: administración de procesos](https://reader034.vdocuments.co/reader034/viewer/2022042619/58a891161a28ab68208b52a9/html5/thumbnails/63.jpg)
Revisar
● Wolf, G., Ruiz, E., Bergero, F., Meza, E., 2015. Fundamentos de Sistemas Operativos, 1st ed. Universidad Nacional Autónoma de México, México D.F., México. Ejercicios del capítulo 3.
![Page 64: SO: administración de procesos](https://reader034.vdocuments.co/reader034/viewer/2022042619/58a891161a28ab68208b52a9/html5/thumbnails/64.jpg)
Trabajos de investigación
● Escoger un problema (diferente para cada estudiante) de la sección 6 Not-so-classical problems o de la sección 7 Not remotely classical problems del libro de Downey (2008)
● Entender extensamente el problema (y sus soluciones) y explicar los conceptos que se analizan con respecto al manejo de concurrencia
● Se entrega– Documento de máximo tres páginas de texto y, si se desea, una
sección que contenga figuras y/o algoritmos sin límite
– Presentación oral de máximo 20 minutos
50% de la nota del interciclo
![Page 65: SO: administración de procesos](https://reader034.vdocuments.co/reader034/viewer/2022042619/58a891161a28ab68208b52a9/html5/thumbnails/65.jpg)
Fuente
● Wolf, G., Ruiz, E., Bergero, F., Meza, E., 2015. Fundamentos de Sistemas Operativos, 1st ed. Universidad Nacional Autónoma de México, México D.F., México.