Subsistema de Planificación de Procesos en GNU/Linux.

Slides:



Advertisements
Presentaciones similares
Planificación de CPU. Ráfagas de CPU Ciclo de ráfagas de CPU–E/S – La ejecución de procesos consiste en un ciclo de ejecución de CPU y esperas de E/S.
Advertisements

Técnicas de Estimación. La estimación de lo que costara el desarrollo del software es una actividad importante, ya que una característica que debe tener.
COMPUTACION PARALELA GLORIA PATRICIA FLOREZ ANGIE PAOLA ANCHICO.
Una estrategia para evitar la sucesiones repetidas de instrucciones convertir la secuencia en un procedimiento e invocarlo cada vez que se necesite.
Linux como Firewall. Agenda ● Historia. ● Netfilter. ● Características. ● Filtrado. ● NAT. ● Network Stack. ● Estructura Netfilter.
ITESCO – Arquitectura Computadoras L. S. C. A. Raúl Monforte Chulin - MORCH Systems 1.1. Arquitectura básica y sus operaciones. Objetivo: El estudiante.
Capítulo 5 Silberschatz Galvin
REPUBLICA BOLIVARIANA DE VENEZUELA MINISTERIO DEL PODER POPULAR PARA LA EDUCACION UNIVERSIDAD VALLE DEL MOMBOY FACULTAD DE INGENIERIA INTERRUPCIONES Autores:
Seguimiento y Avance.
Procesos Concurrentes
TEORÍA DE SISTEMAS Universidad Mesoamérica
SISTEMAS OPERATIVOS PARALELOS Y MULTIPROCESADORES RICHARD GIOVANI MEDINA ESTEBA.
Parcial # 1 La Computadora.
Sistemas Distribuidos
Introducción a los protocolos de enrutamiento dinámico
Planificación de Procesos
MEMORIAS DE UN COMPUTADOR
Los sistemas de información
ANALISIS DEL RIESGO DEL PROYECTO
HILOS EN SISTEMAS DISTRIBUIDOS
Introducción a la Programación
Planificación de uso del procesador
Salud Pública y Gestión
Software de aplicación de escritorio y web
Multitarea y Monotarea
TÍTULO DEL PROYECTO Plataformas Computacionales de Entrenamiento, Experimentación, Gestión y Mitigación de Ataques a la Ciberseguridad.
Computadora La computadora es una máquina capaz de realizar y controlar a gran velocidad cálculos y procesos complicado que requieren una toma rápida de.
Presentamos.
Tema 6. Conceptos básicos de programación Clase 1
Hardware, software, y periféricos
Virus informático.
Nombre: Adrián de la Torre López
MODELO DE GESTIÓN DE INVENTARIO
L.I. Gerardo Ortiz Rivera
Tendencias en los sistemas operativos
Ayudantía 3: Procesos y threads
Santana Mejía Andrea Michell Villarruel Miranda Alejandro Ernesto
Diseñar y elaborar algoritmos
Almacenamiento El computador tiene 2 aspectos
Un sistema distribuido debe permitir el apropiado uso de los recursos, debe encargarse de un buen desempeño y de la consistencia de los datos, además de.
PROGRAMACIÓN 1 INTRODUCCIÓN
Conceptos básicos.
SISTEMAS OPERATIVOS APRENDICES Diana Carolina Chacón
Java – programación orientada a objetos programación ii – iee
Los Sistemas Operativos.
L.I. Gerardo Ortiz Rivera
CURSO PROGRAMACIÓN BÁSICA SEMANA 2
L.I. Gerardo Ortiz Rivera
L.I. Gerardo Ortiz Rivera
Estadística Conceptos Básicos.
Procesamiento de consultas
Sistemas Operativos Componentes Ejecutivo de Tiempo Real.
Guía de Implementación
Resolución interactiva del Simplex
Lingüística computacional
CLASIFICACIÓN DE S.O.
Capítulo5: Planificación de CPU
PLANIFICACIÓN INTEGRADA DE TAREAS
Crucigrama: Gestión de procesos HORIZONTALES VERTICALES
Diseño de los casos de prueba
Diagrama de componentes
Núcleo Lic. Gonzalo Pastor.
Procesos Lic. Gonzalo Pastor.
¿Qué es Internet?.
Estructura de los Sistemas Operativos
Estructura de los Sistemas Operativos
2da.
Hilos de Procesamiento. Hilos Concepto Beneficios Hilos a nivel kérnel y a nivel usuario Modelos multihilos Hilos de Solaris 2 Hilos de Java.
UNIDAD 3 PLANIFICACION 1er. momento: Planificación estratégica: momentos. Ciclo de un proyecto 2do. momento: Ejercicio práctico de Diagnóstico participativo,
Transcripción de la presentación:

Subsistema de Planificación de Procesos en GNU/Linux

Agenda Planificación. Políticas. Algoritmo de Planificación.

Planificación Recursos del Sistema: Son finitos. Recurso a utilizar: Tiempo de Procesamiento. Objetivo – Dividir el tiempo de procesamiento entre los procesos que se encuentran en ejecución. – Aplicar la política del mejor uso para asignar el acceso a este recurso.

Planificación Función: Determinar que proceso deberá correr próximamente (runquee). El óptimo uso del planificador hace ver a GNU/Linux como un sistema Multitarea.

Planificación Un Sistema Multitarea es aquel que es capaz de simultáneamente intercambiar el tiempo de ejecución entre más de un proceso. – Máquinas Monoprocesador. Da la ilusión de múltiples procesos corriendo concurrentemente. – Máquinas Multiprocesador. Permite a los procesos ejecutarse concurrentemente (paralelo), entre los distintos procesadores.

Planificación Sistema Operativos Multitarea Multitarea Cooperativa. Los procesos voluntariamente deciden detener su ejecución. Este acto es llamado “yielding”. El planificador no puede realizar decisiones globales. Los procesos pueden monopolizar el acceso al procesador.

Planificación Sistema Operativos Multitarea Multitarea Interrumpible (Preemptive). El planificador decide cuando un proceso deja de ejecutarse y uno nuevo acceso al recurso. Los procesos involutariamente suspenden su ejecución. Este acto es llamado “preemption”. Cada proceso tiene un tiempo de ejecución asociado, “timeslice”. El planificador puede realizar decisiones globales. Los procesos no monopolizan el acceso al procesador.

Políticas Ayudan al planificador a optimizar la utilización del tiempo de procesamiento. Clasificación de procesos. – Process-bound. – I/O-bound.

Políticas Processor-bound. Intenso en procesamiento. Pasan mucho tiempo ejecutando código. Larga duración. Se ejecutan hasta que son interrumpidos. High throughput. I/O-bound. Intenso en I/O. Pasan sometidos a la espera de peticiones I/0. Corta duración. Low latency.

Políticas Prioridad de Procesos Los algoritmos de planificación son basados en prioridad (priority-based). Idea: Rankear los procesos de acuerdo a su valor y las necesidades de tiempo de procesador. GNU/Linux posee un planificador dinámico basado en prioridad (dynamic priority-based).

Políticas Dynamic Priority-Based Base inicial de prioridad. Planificador incrementa o decremanta el valor inicial dinámicamente. Rangos de prioridad. Prioridad nice value. – Valor por defecto es 0. – [-20, 19] Prioridad real-time. – Valor por defecto es – [0,99]

Políticas Timeslice (quantum) Valor numérico que representa el tiempo de procesamiento asociado a un proceso.

Políticas Timeslice (quantum) Un proceso no tiene que usar por obligación su timeslice de una sola vez. Una vez que termina su timeslice el proceso se considerado expirado.

Políticas Interrupción de Procesos Un proceso X ingresa al estado TASK_RUNNING. Proceso X pasa a runquee. Kernel chequea la prioridad de X. Compara la prioridad de X con la prioridad del actual proceso Y en ejecución. Si X >Y, Kernel invoca la interrupción de Y. Proceso Y pasa a runquee. Kernel ejecuta el proceso X.

Algoritmo de planificación Características Definido en kernel/sched.c Reescrito en la serie de desarrollo 2.5 Código enteramente nuevo. Totalmente distinto al planificador de los kernels anteriores.

Algoritmo de planificación Objetivos Implementado totalmente bajo 0(1). Implementa escalabilidad perfecta SMP. Implementación mejorada de SMP. Provee excelente rendimiento interactivo. Provee equidad de procesos.

Algoritmo de planificación Runqueues Estructura de datos básica que utiliza el planificador. Definido en kernel/sched.c, como struct runqueue. Existe un runqueue por procesador. Cada proceso en estado de ejecución se encuentra en un solo runqueue. Contiene información de planificación.

Algoritmo de planificación Macros Runqueues Obtienen información de la asociación entre el runqueue-procesador & runqueue-proceso. – cpu_rq(processor) – this_rq() – task_rq(task) – task_rq_lock() – task_rq_unlock()

Algoritmo de planificación Arreglos de prioridad Cada runqueue posee dos arreglos. – Activo. – Expirado. Definidos en kernel/sched.c, como struct prio_array. Poseen una cola de los procesos en ejecución por orden de prioridad.

Algoritmo de planificación Recalculo de Timeslice

Algoritmo de planificación Calculando la prioridad y timeslice Se calcula cuando el timeslice alcanza el valor 0.

Algoritmo de planificación Bloqueando y despertando procesos

Algoritmo de planificación Balanceo de Carga

Preguntas y Respuestas