Please enable JavaScript.
Coggle requires JavaScript to display documents.
Sistemas Operativos 1.- Procesos, Alumno: Julio cesar Garcia Valdovinos -…
Sistemas Operativos 1.- Procesos
Concepto de procesos
Es un programa en ejecución, junto con todos los recursos asociados necesarios para su ejecución. Estos recursos pueden incluir memoria, archivos abiertos, dispositivos de E/S, asignaciones de CPU, entre otros.
Estados y transiciones de los procesos
Estados de los Procesos
Ejecución (Running)
El proceso está siendo ejecutado actualmente por la CPU.
Bloqueado (Blocked)
El proceso está esperando la ocurrencia de un evento, como una operación de E/S, y no puede continuar su ejecución hasta que este evento ocurra.
Listo (Ready)
El proceso está listo para ejecutarse, pero espera su turno para obtener tiempo de CPU.
Terminado (Terminated)
El proceso ha completado su ejecución y ha sido eliminado del sistema.
Transiciones entre Estados:
Ejecución a Bloqueado
Si el proceso necesita realizar una operación de E/S u otro evento que requiera bloqueo, cambia del estado de ejecución al estado bloqueado
Bloqueado a Listo
Una vez que el evento para el que el proceso estaba esperando ocurre, el proceso pasa del estado bloqueado al estado listo.
Listo a Ejecución
Cuando el proceso es seleccionado para ejecución por el planificador de la CPU, pasa del estado de listo al estado de ejecución
Ejecución a Terminado
Cuando el proceso completa su ejecución, pasa del estado de ejecución al estado terminado.
Creación (Creation)
El proceso se crea inicialmente y pasa al estado de listo o de ejecución, dependiendo del planificador del sistema operativo
Procesos ligeros: Hilos o hebras
Concepto
Un hilo es una secuencia de ejecución dentro de un proceso, los hilos comparten estos recursos dentro del mismo proceso. Esto significa que varios hilos pueden ejecutar simultáneamente
Tipos de Hilos
Hilos de usuario
Son implementados a nivel de usuario utilizando una biblioteca de hilos proporcionada por el lenguaje de programación o la plataforma. La gestión de estos hilos se realiza completamente en el espacio de usuario
Hilos del kernel
Estos hilos son más eficientes en términos de conmutación y planificación, pero su creación y gestión pueden ser más costosas en comparación con los hilos de usuario
Características
Concurrencia
Los hilos permiten la ejecución concurrente dentro de un proceso, lo que puede mejorar la eficiencia y la capacidad de respuesta
Compartición de recursos
Los hilos comparten el mismo espacio de direcciones y otros recursos del proceso padre, lo que facilita la comunicación y la cooperación entre ellos
Ligereza
Los hilos son más ligeros en términos de recursos que los procesos tradicionales, ya que comparten la misma memoria y otros recursos del proceso padre.
Escalabilidad
Debido a su ligereza, los hilos son más escalables que los procesos tradicionales, lo que significa que es más fácil crear y gestionar múltiples hilos dentro de una aplicación
Concurrencia y secuencialidad
Concurrencia
concepto
La concurrencia se refiere a la capacidad del sistema para ejecutar múltiples tareas simultáneamente. Estas tareas pueden ser procesos o hilos que se ejecutan de forma independiente y concurrente entre sí
Características
Comunicación y sincronización
Es necesario gestionar la comunicación y la sincronización entre las tareas para evitar conflictos
Mejora del rendimiento
La concurrencia puede mejorar el rendimiento del sistema al permitir que varias tareas se ejecuten simultáneamente
Ejecución simultánea
Múltiples tareas se ejecutan al mismo tiempo en el sistema
Secuencialidad
Concepto
La secuencialidad se refiere a la ejecución de tareas en un orden determinado, una después de la otra, sin simultaneidad.
Características
No hay simultaneidad
Solo una tarea se ejecuta en un momento dado, las demás esperan su turno
Menor complejidad
La secuencialidad puede ser más sencilla de gestionar en términos de sincronización y control de flujo.
Ejecución ordenada
Las tareas se ejecutan una después de la otra, siguiendo un orden determinado
Niveles, objetivos y criterios de
planificación
Objetivos
Equidad
Eficiencia
Maximización del rendimiento
Previsibilidad
Criterios de planificación
Utilización de la CPU
Porcentaje de tiempo durante el cual la CPU se utiliza para la ejecución de procesos
Tiempo de retorno
El tiempo transcurrido desde que un proceso es cargado en el sistema hasta que termina su ejecución.
Tiempo de respuesta
El tiempo transcurrido entre la presentación de una solicitud por parte del usuario
Prioridad del proceso
Determinada por factores como la importancia del proceso, el nivel de servicio que proporciona, etc
Tiempo de espera
El tiempo que un proceso pasa en la cola de espera antes de ser seleccionado para ejecución.
Niveles
Planificación a medio plazo
Se encarga de decidir cuáles procesos en ejecución serán enviados al estado de espera (suspended) o a la memoria secundaria, liberando así recursos de memoria principal
Planificación a corto plazo
Se encarga de decidir cuál proceso en la cola de procesos ejecutables será seleccionado para ejecución por la CPU en el siguiente ciclo.
Planificación a largo plazo
Se encarga de decidir cuáles procesos en la cola de procesos listos serán admitidos en la cola de procesos ejecutables (ready queue).
Técnicas de administración del
planificador
Administración de E/S
Planificación de E/S
Determina el orden en que se atienden las solicitudes de entrada/salida de los dispositivos periféricos para optimizar la utilización de los recursos de E/S.
Buffers y Colas de E/S
Se utilizan para almacenar temporalmente datos de entrada o salida mientras se espera el acceso al dispositivo periférico.
Administración de Hilos:
Creación y Destrucción de Hilos
Define cómo se crean, gestionan y eliminan los hilos en un sistema operativo.
Asignación de Recursos
Decide cómo se asignan los recursos compartidos, como la memoria y los archivos, entre los hilos de un proceso.
Administración de Memoria
Administración de Memoria Virtual
Permite que se ejecuten más procesos de los que cabrían en la memoria física al mover datos entre la RAM
Paginación y Segmentación
Técnicas que dividen la memoria en páginas o segmentos para administrar de manera eficiente la asignación y liberación de memoria
Administración de Procesos
Planificación de Procesos
Selecciona qué proceso se ejecutará a continuación en la CPU, considerando la prioridad, el tiempo de espera y otros factores.
Creación y Terminación de Procesos
Define cómo se crean y eliminan los procesos en el sistema operativo.
Algoritmos de Planificación de CPU
Planificación por Prioridad
Asigna la CPU al proceso con la prioridad más alta. Puede ser no predecible si hay procesos de alta prioridad
Planificación Round Robin
Es una variante de la planificación por turnos donde cada proceso obtiene un quantum de tiempo para su ejecución
Planificación por Turnos
Los procesos se ejecutan por un período de tiempo fijo (quantum) y luego se cambian a otro proceso en la cola de listos.
Administración de Usuarios y Seguridad
Autenticación y Control de Acceso
Gestiona la autenticación de usuarios y define qué recursos pueden acceder los usuarios autorizados.
Alumno: Julio cesar Garcia Valdovinos