1. Project Review
1.1. Summary of Project
1.2. Timeline:
1.3. Budget:
1.4. Resources:
2. ¿Para qué sirven?
2.1. Asignación de CPU decide que proceso y cuanto tiempo.
2.2. Eficiencia minimiza el tiempo de espera y maximiza el uso de recursos.
2.3. Equidad asegura que todos los procesos tengan una porción de tiempo justa.
2.4. Prioridad selecciona los procesos más relevantes o importantes.
2.5. Multitarea permite la ejecución de varios procesos a la vez.
3. ¿Qué tipos existen y diferencias?
3.1. Apropiativo
3.1.1. Selecciona un proceso y lo ejecuta por un tiempo fijo.
3.1.2. Al finalizar el tiempo se suspende el proceso si sigue en ejecución.
3.1.3. Se da interrupción del reloj para controlar los tiempos de ejecución.
3.2. No apropiativo
3.2.1. Selecciona un proceso y lo deja ejecutar hasta que se bloquee o libere.
3.2.2. No se interrumpe aunque dure mucho tiempo.
3.2.3. No hay interrupciones del reloj.
4. ¿Categorias y diferencias?
4.1. Procesamientos por lotes
4.1.1. Tareas periódicas como nóminas, inventarios o cuentas.
4.1.2. No hay usuarios esperando respuesta rápida.
4.1.3. Algoritmo no apropiativo para mejorar el rendimiento.
4.1.4. Ejemplos: Procesamientos de datos y cálculos en bancos.
4.1.5. Algoritmos
4.1.5.1. First-Come, First-Served (FCFS: Los procesos se ejecutan en el orden en que llegan al sistema sin interrupción.
4.1.5.2. Shortest Job Next (SJN) / Shortest Job First (SJF): Elige el proceso que tiene el menor tiempo de ejecución estimado.
4.1.5.3. Multi-level Queue (Cola multinivel): Los procesos se agrupan en distintas colas según sus características, aplicando un algoritmo de planificación específico a cada cola.
4.2. Interactivo
4.2.1. Usuarios esperando respuesta rápida.
4.2.2. Necesidad de apropiación para evitar que un proceso acapare la CPU.
4.2.3. Ejemplos: Servidores, sistema multitarea, aplicaciones en tiempo compartido.
4.2.4. Algoritmos
4.2.4.1. Round Robin (RR): Cada proceso recibe una porción de tiempo o quantum de CPU, después del cual es interrumpido y se pasa al siguiente proceso en la cola.
4.2.4.2. Priority Scheduling (Planificación por prioridad): Los procesos se ejecutan en función de su prioridad. Aquellos con mayor prioridad se ejecutan antes.
4.2.4.3. Multilevel Feedback Queue (Cola de retroalimentación multinivel): Separar los procesos en múltiples colas de listos según sus necesidades de procesador. Dar preferencia a los procesos con ráfagas cortas de CPU. Dar preferencia a los procesos con ráfagas altas de E/S.
4.3. Tiempo real
4.3.1. Procesos con restricciones de tiempo crítico.
4.3.2. En ocaciones no necesitan apropiación, ya que, los procesos se bloquean rápido.
4.3.3. Ejemplos: Sistemas de control industrial y sistemas médicos.
4.3.4. Algoritmos
4.3.4.1. Rate Monotonic Scheduling (RMS): Un algoritmo de prioridad estática donde los procesos con períodos más cortos tienen mayor prioridad.
4.3.4.2. Protocolo de Herencia de Prioridad (PIP): Este protocolo se utiliza para manejar la inversión de prioridades, un problema común en sistemas de tiempo real. Cuando una tarea de alta prioridad está bloqueada por una tarea de baja prioridad, la tarea de baja prioridad “hereda” la prioridad de la tarea de alta prioridad hasta que libere el recurso.
4.3.4.3. Earliest Deadline First (EDF): Prioridad dinámica donde el proceso con tiempo limite mas cercano es el que se ejecuta primero.
4.3.4.4. Least Laxity First (LLF): Asigna prioridad al proceso con menos tiempo libre (laxity) antes de su deadline.