Sistemas Operativos Unidad 2
Estefania GA
Created on September 6, 2024
More creations to inspire you
ESSENTIAL OILS PRESENTATION
Presentation
VEGETARIANISM
Presentation
EIDIKO JEWELRY
Presentation
ANCIENT EGYPT FOR KIDS PRESENTATION
Presentation
A GLIMPSE INTO CAPE TOWN’S PAST
Presentation
ALTERNATIVE DIETS
Presentation
MUSIC PROJECT
Presentation
Transcript
Empezar
Yariel Alfonso Valdez TrianaAranza Estefanía García AlvaradoMarco Antonio Mauricio Martínez
Administraición de Procesos y del procesador
Un proceso en sí es una instancia de un programa; es la actividad de ejecutarlo, y cada uno tiene sus propios recursos asignados, un estado y un tiempo de procesamiento compartido en el procesador.
¿Qué son los procesos?
Diagrama sobre la ejecución de procesos del sistema operativo.
Dependiendo del entorno de ejecución, puede tener funciones más avanzadas como un recolector de basura, generación dinámica de código, soporte para reflexión y excepciones.
Existen distintos entornos de ejecución, estos pueden proveer al proceso con librerías dinámicas, memoria, acceso a APIs del sistema.
Entornos de Ejecución
Runtimes clasificados
Jerarquía de procesos
Fueron procesos que crearon otros procesos, también conocidos como subprocesos, pueden correr en paralelo al proceso prinicipal, y cada proceso puede tener N hijos, mientras que solo un padre.
procesos Padre
Son procesos creados por otros procesos, pueden ser de apoyo para tareas bloqueantes que puedan ralentizar al proceso principal, y dependiendo del sistema operativo, puede terminarse a sí mismo o solo puede ser terminado por el Sistema Operativo o el proceso padre.
Procesos Hijos
App
SO
Libs
Contenedor 1
App
SO
Libs
Contenedor 2
Anfitrión
Recursos
Libs
Apps
Kernel Compartido
Los contenedores son entornos dedicados a una a aplicación y contienen absolutamente todo para ejecutarla, desde el sistema operativo, hasta las librerías, dependencias y la aplicación en sí.
Procesos en Contenedores
Eventos que pueden crear procesos:
Creación de procesos
Formas de las salidas del programa
Terminación de procesos
El planificador selecciona otro proceso
El planificador selecciona este proceso
La entrada ya está disponible
El proceso se bloquea para recibir entrada
Bloqueado
Listo
En ejecución
Estados y transiciones
En sistemas operativos UNIX, algunos procesos pueden terminar normalmente, pero seguir apareciendo en la Tabla de Procesos, que gestiona los procesos en ejecución. Esto ocurre por la jerarquía de procesos, ya que el proceso padre es responsable de eliminar a sus procesos hijos de la tabla.
Procesos Zombie y Huérfanos
Procesos Zombie y Huérfanos
Los procesos Zombie han terminado, pero siguen en la tabla porque el proceso padre no los ha eliminado aún.
procesos zombie
Son procesos que no tienen padre ya que este acabó o fue detenido pero no terminó el proceso hijo.
Procesos huérfanos
Un hilo (thread) es la unidad básica de procesamiento que puede ser gestionada por un sistema operativoLos hilos permiten que un programa lleve a cabo múltiples tareas simultáneamente dentro del mismo proceso, mejorando así el rendimiento, especialmente en sistemas multiprocesador.
Hilos
Hilos y procesos
Un hilo es un flujo de ejecución dentro de un proceso. Todos los hilos de un mismo proceso comparten el mismo espacio de direcciones y recursos.
Hilos
Es una instancia de un programa en ejecución. Cada proceso tiene su propio espacio de memoria (aislado) y sus propios recursos.
Procesos
Monitores
Semáforos
Mutex
Permiten que los hilos se bloqueen automáticamente al entrar en una sección crítica y se desbloqueen cuando salen de ella..
Son variables utilizadas para gestionar el acceso de múltiples hilos a un recurso compartido. .
Permite que solo un hilo acceda a una sección crítica de código a la vez.
Sincronización de HIlos
Hilos a nivel de usuario y a nivel de Kernel
La concurrencia se refiere a la ejecución simultánea o en paralelo de múltiples tareas o procesos dentro de un sistema.
Concurrencia
Se refiere a la ejecución de tareas o instrucciones una tras otra, en un orden estricto. En la programación secuencial, cada tarea debe completarse antes de que comience la siguiente. Esto es común en sistemas simples o programas donde las tareas dependen unas de otras.
Secuencialidad
Niveles, objetivos y criterios de planificación
Es un conjunto de políticas y mecanismos que gobiernan el orden en que se ejecutan los procesos en un sistema. Su objetivo principal es optimizar el rendimiento y proporcionar un servicio justo y eficiente a todos los procesos.
Planificación en Sistemas Operativos
Bajo Nivel (Planificación de CPU o Despacho)
Nivel Intermedio
Alto Nivel (Planificación de trabajos)
Niveles de Planificación
Predecibilidad
Máximo número de usuarios interactivos
Máxima capacidad de ejecución
Justicia
Objetivos de la Planificación
+ info
+ info
+ info
+ info
Evitar la postergación indefinida
Seguridad de las prioridades
Equilibrio en el uso de recursos
Minimización de la sobrecarga
Objetivos de la Planificación
+ info
+ info
+ info
+ info
Equidad
La planificación debe distribuir los recursos de manera justa entre todos los procesos.
Se busca que los recursos se utilicen de la manera más eficiente posible, minimizando el tiempo de inactividad.
Eficacia
En sistemas interactivos, se espera que el sistema responda rápidamente a las solicitudes de los usuarios.
Tiempo de respuesta
Es el tiempo que un proceso tarda desde que es admitido hasta que finaliza, lo que incluye el tiempo de espera y ejecución.
Tiempo de regreso
Criterios de Planificación
Ábreme
Ábreme
Algoritmos de Planificación
Planificación Apropiativa
Planificación No Apropiativa
Técnicas de administración del planificador
Planificación por Prioridad al Tiempo Restante más Corto (SRTF)
Planificación por Prioridad al más Corto (SJF, Short Job First)
Primero en Llegar – Primero en Salir (FIFO)
Planificación a Plazo Fijo
Técnicas de administración del planificador
+ info
+ info
+ info
+ info
Planificación Round Robin (RR)
Planificación el Siguiente con Relación de Respuesta Máxima (HRT)
Planificación del Tiempo Restante más Corto Primero (SRT)
Planificación el Siguiente con Relación de Respuesta Máxima (HRN)
Técnicas de administración del planificador
+ info
+ info
+ info
+ info
Colas de Retroalimentación de Niveles Múltiples
Planificación de Dos Niveles
Tamaño del Cuanto o Quantum
Planeación Round Robin
Técnicas de administración del planificador
+ info
+ info
+ info
+ info
Técnicas de administración del planificador
+ info
Planificación por el Comportamiento
Gracias
Se les quiere
Ejemplo
Minimizar el número de cambios de contexto entre procesos en un servidor crítico.Servidor crítico: es un servidor que desempeña funciones esenciales para el funcionamiento de una organización o sistema.
Planificación de Nivel Intermedio
Actúa en situaciones de sobrecarga del sistema. En ciertos casos, resulta ventajoso retirar temporalmente procesos de la memoria principal, reduciendo el número de procesos activos para mejorar el rendimiento. Esto permite disminuir la competencia por el procesador, logrando que los trabajos se completen más rápidamente.
Ejemplo
En un sistema multitarea, la planificación de bajo nivel decide si un proceso que está editando un documento en un procesador de texto puede continuar ejecutándose o si debe ceder la CPU a un navegador que está cargando una página web.
Ejemplo
Decides ayudar primero a quien ha esperado más tiempo, aunque la tarea sea más larga.
Ejemplo
En una oficina, los empleados rotan entre varias tareas, pero pueden ajustar la prioridad de sus actividades según lo que sea más urgente.
Ejemplo
En un sistema de control industrial, la planificación debe garantizar que los sensores y actuadores se activen siempre en un orden previsible.
Ejemplo
En un servidor web, la planificación de alto nivel decide qué solicitudes de clientes se colocan en la cola para ser procesadas, basándose en criterios como la prioridad o la disponibilidad de recursos.
Ejemplo
En un sistema con varios usuarios simultáneos, cuando el sistema se satura, la planificación de nivel intermedio puede suspender procesos de menor prioridad para garantizar que los procesos más críticos se ejecuten sin demoras.
Ejemplo
En un sistema donde muchos procesos compiten por la CPU, un proceso que lleva demasiado tiempo en espera tendrá su prioridad incrementada hasta que finalmente sea atendido.
Ejemplo
En un sistema operativo multitarea, si un proceso de alta prioridad necesita ejecutarse, el sistema puede pausar el proceso actual y asignar la CPU al de mayor prioridad.
Ejemplo
Si tienes tareas de distinta duración, decides primero hacer la más rápida.
Ejemplo
En una partida de videojuegos por turnos, cada jugador tiene 10 minutos para actuar. Si no termina, le toca al siguiente.
Ejemplo
Un sistema de colas en una impresora donde se asegura que los trabajos de impresión se procesen por orden de llegada.
Ejemplo
En un sistema batch, los procesos se ejecutan hasta su finalización sin interrupciones.Sistema batch: es un tipo de sistema de procesamiento en el que las tareas o trabajos se agrupan en lotes y se ejecutan sin interacción del usuario.
Planificación de Alto Nivel
Se encarga de decidir qué trabajos se admiten al sistema, trasladando los procesos del disco a la memoria principal. Es crucial en sistemas donde los recursos son limitados, ya que selecciona qué trabajos pueden competir activamente por esos recursos.
Ejemplo
Entregar una tarea con fecha límite; si no la entregas a tiempo, ya no vale.
Ejemplo
Organizar tus tareas en listas de prioridades, y moverlas de una lista a otra según cuánto tiempo tarden en completarse.
Ejemplo
Un proceso de copia de seguridad de un sistema puede tener una prioridad alta durante las horas nocturnas cuando el uso de recursos es bajo.
Ejemplo
Si tienes una tarea de 1 hora y otra de 10 minutos, haces primero la de 10 minutos aunque ya hayas empezado la de 1 hora.
Ejemplo
Priorizar una tarea que lleva mucho tiempo en espera aunque sea más larga, para evitar que se quede atrás indefinidamente.
Ejemplo
Si estás viendo una película, pero llega un mensaje urgente, pausas la película para responder.
Ejemplo
Una fila en el supermercado: el primer cliente en la fila es el primero en ser atendido.
Ejemplo
Si compartes la computadora con varios usuarios, aseguras que cada persona obtenga el mismo tiempo de uso, ajustando según lo que ya hayan utilizado.
Ejemplo
En un sistema de tiempo compartido, como un servidor Unix, se prioriza la respuesta rápida a cada usuario.Servidor Unix: es una computadora que utiliza un sistema operativo basado en Unix, diseñado para manejar múltiples tareas y usuarios simultáneamente.
Ejemplo
En un servidor de bases de datos, se busca ejecutar tantas consultas como sea posible con el menor tiempo de cambio entre ellas.
Ejemplo
En un centro de datos, balancear el uso de CPU, memoria y discos para evitar cuellos de botella.Cuello de botella: componente que está frenando al resto del sistema.
Ejemplo
Si en una carrera cada competidor tiene 1 minuto para correr, pero si reduces el tiempo a 10 segundos, pasarás más tiempo cambiando de corredor que corriendo.
Planificación de Bajo Nivel
Se encarga de asignar la CPU a los procesos listos para ejecutarse. El despachador del sistema operativo selecciona el siguiente proceso que se ejecutará en la CPU, lo que ocurre muchas veces por segundo.
Ejemplo
Procesas primero los archivos que tienes en tu escritorio antes de abrir los que están guardados en una memoria externa.