Diferencia clave: programación preventiva frente a no preventiva en el sistema operativo
Un proceso es un programa en ejecución. Una computadora debe realizar muchas tareas al mismo tiempo. Por lo tanto, la CPU debería obtener procesos y ejecutarlos. A veces es necesario ejecutar algunos procesos que otros procesos. En ese momento, el proceso en ejecución se interrumpe y la CPU se asigna al nuevo proceso. Una vez completada la tarea, la CPU se vuelve a asignar al proceso anterior. La programación de acuerdo con este mecanismo se conoce como programación preventiva. Si el proceso en ejecución no se puede interrumpir y es obligatorio ejecutar el proceso en ejecución, entonces se conoce como programación no preventiva. Este artículo analiza la diferencia entre la programación preventiva y no preventiva en un sistema operativo. La programación preventiva es el mecanismo de programación de procesos a través del cual un proceso que puede ser interrumpido por otro proceso en medio de su ejecución. La programación no preventiva es el mecanismo de programación de procesos a través del cual un proceso comienza la ejecución solo después de que termina el proceso anterior. Esa es la diferencia clave entre la programación preventiva y no preventiva en el sistema operativo.
CONTENIDO
1. Descripción general y diferencia clave
2. Qué es la programación preventiva en OS
3. Qué es la programación no preventiva en OS
4. Similitudes entre la programación preventiva y no preventiva en OS
5. Comparación lado a lado - Programación preventiva vs no preventiva en OS en forma tabular
6. Resumen
¿Qué es la programación preventiva en SO?
La programación redonda es un ejemplo de programación preventiva. Cada proceso obtiene una pequeña cantidad de tiempo de CPU. Suele ser de 10 a 100 milisegundos. Esta pequeña unidad de datos también se conoce como cuanto de tiempo. Una vez transcurrido este tiempo, el proceso se adelanta y se agrega al final de la cola lista. Suponga que hay 4 procesos como P1, P2, P3 y P4. Los tiempos de ráfaga de la CPU en milisegundos son los siguientes. El cuanto de tiempo es 20.
Figura 01: Ejemplo de programación Round Robin
El proceso P1 se ejecuta hasta 20. Quedan otros 33ms. Entonces se ejecuta P2. Como el cuanto de tiempo es 20 y el tiempo requerido P2 es 17 ms, P2 se ejecutará durante 17 ms. Entonces, se completa el proceso P2. Entonces se le da la oportunidad a P3. Se ejecutará durante 20 ms. El resto es de 48 ms. Luego, el P4 se ejecutará durante 20 ms. Tiene 4ms para completar el proceso total. Nuevamente, el P1 se ejecutará durante 20 ms. Tiene otros 13ms para completar terminar el proceso. El cambio se da a P3. Se ejecutará durante 20 ms y tiene otros 28 ms para terminar por completo. El P4 se ejecuta. Solo tiene 4ms. Por tanto, P4 completa la ejecución. P2 y P4 ya han terminado. Los procesos restantes son P1 y P3. Se le da la oportunidad a P3. Tenía 13 ms para completar, por lo que se completa. Ahora el único proceso restante es P3. Tiene 28ms para completar. Entonces, P3 funcionará durante 20 ms. El resto es de 8 ms. Todos los demás procesos ya se han completado. Por lo tanto, nuevamente se ejecutará el resto de 8ms de P3. Asimismo, cada proceso tiene la oportunidad de ejecutarse.
¿Qué es la programación no preventiva en SO?
La programación por orden de llegada (FCFS) se puede tomar como un ejemplo de programación no preventiva. El proceso que solicita primero se asigna primero a la CPU. Esta programación se gestiona fácilmente mediante la cola Primero en entrar, primero en salir (FIFO). Si hay procesos en orden como P1, P2 y P3, entonces primero se le da la oportunidad a P1. Una vez completado, se ejecutará P2. Cuando se complete P2, se ejecutará el P3. Suponga que hay 3 procesos como P1, P2 y P3 con tiempos de ráfaga de CPU en milisegundos de la siguiente manera.
Figura 02: Ejemplo de programación FCFS
Según lo anterior, se ejecutará P1. Una vez completado, el proceso P2 se ejecuta durante 3ms. Ahora el proceso restante es P3. Entonces se ejecutará. El tiempo de espera para P1 es cero. El proceso P2 tuvo que esperar 24 ms y el proceso P3 tuvo que esperar 27 ms. Si los procesos llegaron en el orden P2, P3 y P1, P2 se completará primero. El siguiente P3 se completará y, finalmente, P1 se completará.
¿Cuál es la similitud entre la programación preventiva y no preventiva en el sistema operativo?
Tanto la programación preventiva como la no preventiva en el sistema operativo son mecanismos para programar procesos en una computadora
¿Cuál es la diferencia entre la programación preventiva y no preventiva en el sistema operativo?
Diferencia del medio del artículo antes de la mesa
Programación preventiva versus no preventiva en SO |
|
La programación preventiva es el mecanismo de programación de procesos a través del cual un proceso puede ser interrumpido por otro proceso en medio de su ejecución. | La programación no preventiva es el mecanismo de programación de procesos a través del cual un proceso comienza la ejecución solo después de que termina el proceso anterior. |
Interrupción del proceso | |
En la programación preventiva, los procesos pueden interrumpirse. | En la programación no preventiva, los procesos pueden interrumpirse. |
Utilización de CPU | |
En la programación preventiva, la utilización de la CPU es mayor que la programación no preventiva. | En la programación no preventiva, la utilización de la CPU es mínima en comparación con la programación preventiva. |
Flexibilidad | |
La programación preventiva es flexible. | La programación no preventiva no es flexible. |
Resumen: programación preventiva frente a no preventiva en SO
Hay varios procesos que se ejecutan en una computadora. Cuando se ejecuta cada proceso, la CPU se asigna a ese proceso específico. En ocasiones, es necesario detener la ejecución del proceso actual y dar prioridad a otro proceso. Los mecanismos de programación de procesos pueden ser preventivos o no preventivos. La programación preventiva es el mecanismo de programación de procesos a través del cual el proceso puede ser interrumpido por otro proceso en medio de su ejecución. La programación no preventiva es el mecanismo de programación del proceso a través del cual un proceso comienza la ejecución solo después de que termina el proceso anterior. Esta es la diferencia entre la programación preventiva y no preventiva en el sistema operativo.
Descargue el PDF de la programación preventiva vs no preventiva en el sistema operativo
Puede descargar la versión PDF de este artículo y usarla para fines sin conexión según la nota de cita. Descargue la versión PDF aquí: Diferencia entre la programación preventiva y no preventiva en el sistema operativo