Академический Документы
Профессиональный Документы
Культура Документы
Contenidos
(T4)
Procesos y sistema operativo Estructura de un proceso en UNIX Bloque de control de procesos Hilos (Threads) Estructura de una tarea con n hilos Hilos vs procesos Hilos en espacio de usuario Hilos soportados por el SO Hilos y procesos en Linux Imagen de un proceso sobre i80x86 Diagrama de estados Informacin de la task_struct Hilos y procesos en W2K Imagen de un proceso sobre i80x86
Procesos e hilos
Pila
Procesos e hilos
pc Pila 1 Pila 2 pc
pc Registros mquina sp
Pila n
Procesos e hilos
Procesos e hilos
S.O T1 T2 T3
En espacio de usuario
Inconvenientes:
Si el SO no sabe de la existencia de hilos en una tarea, el bloqueo de un hilo produce el bloqueo del resto de hilos de la misma tarea Dos hilos de una misma tarea no se pueden ejecutar en procesadores diferentes
Procesos e hilos
11
Inconvenientes:
Si el S.O. no sabe de la existencia de hilos en una tarea, el bloqueo de un hilo produce el bloqueo del resto de hilos de la misma tarea Dos hilos de una misma tarea no se pueden ejecutar en procesadores diferentes
Procesos e hilos
12
Inconvenientes:
La conmutacin de un hilo a otro se hace va interrupciones (mayor sobrecarga)
Procesos e hilos
Modo supervisor
Procesos e hilos
14
Zombie
Finalizar Dormir
Ejecucin
Desalojar
Dormir
Espera
Despachar
Detenido
Despertar
Listo
Despertar
Procesos e hilos
16
En Linux el PCB se conoce como task_struct Grado de multiprogram = nmx. task_struct = 512 task_struct (i):
Estado del proceso:
Ejecucin Listo Esperando: por recursos o por eventos Detenido (Stopped): generalmente por una seal (SIGSTOP) Zombie: No se ha liberado su entrada en la task_struct
Informacin de planificacin
Procesos e hilos
17
Informacin de la task_struct
Temporizadores peridicos o single-shot (seales) Tiempo jiffies modo usuario y sistema (planificacin) Enlaces familiares (pstree) Sistema de archivos
Punteros a cada descriptor de archivo Punteros a los VFS Raz del proceso (home directory) Directorio actual (pwd)
El proceso es la unidad poseedora de recursos y su informacin se almacena en el process block El hilo es la entidad con capacidad de ejecucin y su informacin se almacena en el thread block Son tratadas como objetos por el ncleo del SO
Procesos e hilos
19
Cdigo .EXE Variables globales Pilas de cada thread Heap Cdigo .DLL 0x7FFFFFFF 0x80000000 Sistema (2 Gb) Ejecutivo, kernel, HAL, drivers, pilas del ncleo para cada hilo Win32K.sys Tabla de pginas Cache del sistema de archivos Procesos e hilos
20
0xFFFFFFFF
10
Proceso ID de proceso Token de acceso Prioridad base ... Lmites de cuota Contadores de E/S Crear proceso Abrir proceso Consultar informacin del proceso Configurar informacin del proceso Actualizar proceso ... Operaciones con MV
Servicios
Procesos e hilos
21
Thread ID de cliente Contexto del hilo Prioridad dinmica Prioridad base ... Tiempo de ejecucin Crear hilo Abrir hilo Consultar informacin del hilo Actualizar hilo ... Suspender Continuar
Servicios
Procesos e hilos
22
11
Ejecutable
Bloqueo/ Suspensin
Ejecucin Expulsin
Cambio
Standby
Listo
Transicin
Recursos disponibles
Procesos e hilos
23
Transicin: Si est listo para ejecutar y sus recursos no estn disponibles Terminado: Si se retira el hilo del sistema o el ejecutor lo retiene para futuros reinicios
Termina por s mismo, por otro hilo o si su padre termina
Procesos e hilos
24
12