Está en la página 1de 26

Sistemas Operativos

Sesión 3: Introducción a los procesos: Estados de un


proceso. Control de Procesos. Implementación de procesos.
Procesos e Hilos. Niveles de ejecución de procesos.
¿Tienen alguna consulta o duda sobre
la clase previa?
Logro de la sesión

Al finalizar la unidad, el estudiante gestiona los procesos de los sistemas


operativos con el uso de la terminología básica.
Procesos
Agenda
• Introducción a los procesos.
• Estados de un proceso.
• Control de Procesos.
• Implementación de procesos.
• Procesos e Hilos.
• Niveles de ejecución de procesos.
Introducción a los procesos
Proceso :
• Es un programa o una tarea en
ejecución en un sistema
operativo.
• Cada proceso tiene su propio
espacio de memoria, código,
datos y recursos del sistema
(CPU, E/S, archivos) pudiendo
tener varios subprocesos( hilos de
ejecución).
• Los SO utilizan procesos para
gestionar los recursos del
sistema, como la CPU, la
memoria y los dispositivos de
entrada/salida.
Introducción a los procesos
Un poco de historia :
• El primer SO que utilizó el concepto de
proceso  CTSS (Compatible Time-Sharing
System). MIT 1961

• MULTICS (Multiplexed Information and


Computing Service)  Multiproceso y
Multiusuario. MIT, General Electric y Bell Labs.
Estados de un proceso
Un proceso del S.O. puede estar en diferentes estados,
Nuevo (New/Created): el proceso ha sido creado
Esperando ó Listo (Waiting):preparado para su
ejecución, esperando por la CPU.
En ejecución (Running): el proceso se está ejecutando
actualmente en la CPU.
Bloqueado(Blocked): el proceso está temporalmente
detenido porque está esperando algún evento o recurso,
como una entrada/salida, que debe completarse antes
de que pueda continuar su ejecución.
Salida (Exit): el proceso ha completado su ejecución y
se ha liberado de todos los recursos que había utilizado.
Estados de un proceso
Los procesos pueden pasar de un estado a otro a medida que su ejecución
progresa.
Estados de un proceso
Observaciones:
• Los procesos pasan la mayor parte de su
vida esperando por una I/O.
• Los procesos en ejecución ocupan
memoria.
• RAM adicional para Carga y descarga de
procesos  Memoria virtual (Disco).
Proceso Suspendido:
• No estará disponible de inmediato para su
ejecución  evento de E/S
• Proceso situado en suspendido por el SO
o por él mismo.
• Un proceso que no puede liberarse del
estado hasta que se le ordene—> CPU
Control de Procesos
Cada proceso se representa en el SO con un PCB-
process control block
Estado del proceso: Puede ser: nuevo, listo, ejecucion
Contador de programa: Indica la dirección de la siguiente
instrucción que se ejecutará para este proceso.
Registros de CPU: Los registros acumuladores, registros
índice, punteros de pila y registros de propósito general.
Información de planificación de CPU: Esta información incluye
una prioridad del proceso, punteros a colas de planificación y
cualquier otro parámetro de planificación que haya.
Información de gestión de memoria: Valor de los registros de
base y límite, las tablas de páginas o de segmentos.
Información contable: Incluye la cantidad de tiempo de CPU y
tiempo real consumida, límites de tiempo, números de cuenta,
números de trabajo o proceso, y demás.
Información de estado de E/S: La información incluye la lista
de dispositivos de E/S asignadas a este proceso, una lista de
archivos abiertos, etcétera
Control de Procesos
Para el control de procesos el SO usa métodos y
estrategias para administrar y dirigir los procesos
que se ejecutan.
Planificación de procesos: El SO utiliza un
planificador de procesos para seleccionar qué
proceso se ejecutará en la CPU y durante cuánto
tiempo, llevando control del estado de cada
proceso.
Gestión de memoria: El SO asigna y administra
la memoria disponible en el sistema para los
procesos. Esto incluye la asignación de memoria
a los procesos, la protección de la memoria de un
proceso de otros procesos y la liberación de la
memoria cuando un proceso finaliza.
Control de Procesos
Gestión de entrada/salida: El
SO coordina y controla el
acceso de los procesos a los
dispositivos de entrada/salida,
como discos duros, impresoras PCB
y teclados.
Gestión de errores: el sistema
operativo detecta y maneja los
errores que pueden ocurrir
durante la ejecución de un
proceso, como errores de
memoria o errores de
entrada/salida.
Implementación de procesos
Es el manejo y administración de los
procesos en un SO.
Creación del proceso:El proceso es creado
por el SO o por una aplicación en el sistema
asignando un identificador único al proceso
para su seguimiento.

• En un batch, el proceso creado en


respuesta a ejecucion de un trabajo
• En un ambiente interactivo, un proceso es
creado cuando un usuario entra al sistema
• Creacion de procesos hijos de procesos
usuarios de procesos existentes (procesos
padre)
Implementación de procesos
Es el manejo y administración de los
procesos en un SO.

Asignación de recursos:El SO asigna


los recursos necesarios al proceso para
su ejecución, como memoria, tiempo de
CPU y acceso a dispositivos de E/S.

Planificación del proceso: el SO


determina el orden como el CPU se
adecua a los procesos, con algoritmo de
planificación para elegir el orden en que
los procesos se ejecutan en el sistema.
Implementación de procesos
Ejecución del proceso: el proceso comienza
a ejecutarse y realiza su tarea asignada.

Terminación del proceso: cuando el proceso


termina su ultima instrucción, pide al SO que
lo elimine; este libera los recursos asignados
al proceso y marca el proceso como
terminado.
• Proceso termina normalmente UNIX exit Win32 ExitProcess

• Limite de Tiempo
• Memoria no disponible UNIX kill Win32 TerminateProcess

• Error de proteccion
• Terminación del proceso padre
Procesos e Hilos
Un hilo es una unidad básica de procesamiento
Procesos e Hilos
Un proceso es un programa en ejecución que tiene
su propio espacio de memoria y recursos
asignados
Los procesos pueden ejecutarse en forma
independiente y tener un flujo de control propio.
Un hilo es una unidad básica de procesamiento
que puede ser ejecutada por un proceso.
Los hilos comparten el mismo espacio de memoria
y recursos del proceso al que pertenecen, pero
pueden tener diferentes flujos de control.
• Los procesos son más seguros en términos de
aislamiento y protección de datos.
• Los hilos son más rápidos y eficientes que los
procesos.
Procesos e Hilos
Procesos e Hilos
Beneficios
Los hilos pueden ejecutarse en paralelo
Niveles de ejecución de procesos.
Los procesos en un SO pueden ejecutarse en
diferentes niveles o modos de ejecución.
Modo usuario: Nivel de ejecución más bajo y
restringido para los procesos, sin acceso al
hardware del sistema y limitados a ejecutar
sólo instrucciones no privilegiadas. Usado por
para la mayoría de los programas de usuario.
Modo kernel: "modo supervisor" o "modo
privilegiado", nivel de ejecución más alto y
privilegiado para los procesos, con acceso
directo al hardware del sistema y ejecutar
instrucciones privilegiadas, como operaciones
de entrada/salida y gestión de interrupciones.
Este modo es utilizado por el SO y los
controladores de dispositivos.
Niveles de ejecución de procesos.
Modo sistema: también conocido como "modo
intermedio" o "modo kernel parcial", este modo de
ejecución se encuentra entre el modo usuario y el
modo kernel, con acceso limitado a los recursos
del sistema y pueden ejecutar algunas
operaciones privilegiadas, como el acceso a la
memoria del kernel y las llamadas al sistema.

Modo hipervisor: Conocido como "modo de


virtualización", este es el nivel de ejecución más
alto y complejo para los procesos. Los procesos
en modo hipervisor tienen el control total del
hardware del sistema  Virtual Machine
¿Tienen alguna consulta o duda?
Actividad
Realizar actividad de Plataforma
Cierre
¿Qué hemos aprendido hoy?
• Introducción a los procesos.
• Estados de un proceso.
• Control de Procesos.
• Implementación de procesos.
• Procesos e Hilos.
• Niveles de ejecución de procesos.

También podría gustarte