Procesos e hilos Flashcards
(6 cards)
Programa vs Proceso
Programa: Código máquina estático (archivo ejecutable).
Proceso: Programa en ejecución (activo/dinámico).
Tiene PCB, memoria asignada (text/data/stack/heap), y estados (ready/running/blocked).
secciones de memoria de un proceso y su naturaleza (estático/dinámico)
Text (estático): Código del programa.
Data (estático): Variables globales.
Heap (dinámico): Memoria dinámica (malloc/free).
Stack (dinámico): Variables locales, retornos de función.
¿Qué información contiene el PCB?
Identificadores: PID, PPID, UID.
Contexto: PC (Program Counter), PSW (registros de estado).
Estado: Ready/Running/Blocked.
Recursos: Punteros a memoria, dispositivos asignados.
Contabilidad: Tiempo CPU, prioridad.
Estados de un proceso y transiciones clave.
New: Creación. (Se inicializa el PCB y se queda a la espera de que el SO lo admita como proceso ejecutable)
Ready: Esperando CPU. Ya esta cargado en la memoria principal
Running: Ejecutando en CPU.
Blocked: Esperando evento (ej: I/O).
Terminated: Finalizado.
Suspendido: Proceso en disco (Ready-Suspended/Blocked-Suspended).
Compara cambio de contexto y cambio de modo.
Cambio de contexto: Guardar/restaurar estado de un proceso (PCB). Ocurre en interrupciones/syscalls.
Cambio de modo: Usuario ↔ Kernel (ej: durante syscalls).
Todo cambio de modo implica cambio de contexto, pero no viceversa.
Reducir la cantidad de las syscalls implica reducir la cantidad de cambios de contexto, por lo que se puede aumentar la velocidad en un programa (reduce el overhead).