Un proceso es un programa en ejecución. Una computadora debe realizar muchas tareas al mismo tiempo. Por lo tanto, la CPU debe obtener procesos y ejecutarlos. A veces es necesario ejecutar algunos procesos que los otros procesos. En ese punto, el proceso de ejecución se interrumpe y la CPU se asigna al nuevo proceso. Después de completar la tarea, la CPU se asigna al proceso anterior. La programación de acuerdo con este mecanismo se conoce como programación preventiva. Si el proceso de ejecución no se puede interrumpir y es obligatorio ejecutar el proceso de ejecución, entonces se conoce como programación no presentiva. Este artículo discute la diferencia entre la programación preventiva y no prevaleciente 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 el medio de su ejecución. La programación no presentiva es el mecanismo de programación de procesos a través del cual un proceso inicia la ejecución solo después de que el proceso anterior termine. Eso es el diferencia clave entre Programación preventiva y no preventiva en el sistema operativo.
1. Descripción general y diferencia de claves
2. ¿Qué es la programación preventiva en el sistema operativo?
3. ¿Qué es la programación no presentiva en el sistema operativo?
4. Similitudes entre la programación preventiva y no presentiva en el sistema operativo
5. Comparación de lado a lado: programación preventiva frente a no preventiva en el sistema operativo en forma tabular
6. Resumen
La programación de Round Robin es un ejemplo de programación preventiva. Cada proceso obtiene una pequeña cantidad de tiempo de CPU. Por lo general, son de 10 a 100 milisegundos. Esta pequeña unidad de datos también se conoce como Time Quantum. Después de que haya transcurrido este tiempo, el proceso se prefiere y se agrega al final de la cola lista. Suponga que hay 4 procesos como P1, P2, P3 y P4. Los tiempos de explosión de la CPU en milisegundos son los siguientes. El tiempo cuántico es de 20.
Figura 01: Ejemplo de programación de Round Robin
El proceso P1 se ejecuta hasta el 20. Quedan otros 33 ms. Entonces el P2 se ejecuta. Como el tiempo cuántico es de 20 y el tiempo requerido P2 es de 17 ms, P2 se ejecutará por 17 ms. Entonces, el proceso P2 se completa. Entonces se da la oportunidad a P3. Se ejecutará por 20 ms. El resto es 48 ms. Entonces el P4 se ejecutará por 20 ms. Tiene 4 ms para completar el proceso total. Nuevamente, el P1 se ejecutará por 20 ms. Tiene otros 13 ms para completar el final del 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 4 ms. Por lo tanto, P4 completa la ejecución. P2 y P4 ya han terminado. Los procesos restantes son P1 y P3. La posibilidad se da a P3. Tenía 13 ms para completar, por lo que se completa. Ahora el único proceso restante es P3. Tiene 28 ms para completar. Entonces P3 funcionará durante 20 ms. El resto es 8 ms. Todos los demás procesos ya han completado la ejecución. Por lo tanto, nuevamente el resto de los 8 ms de P3 se ejecutará. Del mismo modo, cada proceso tiene la oportunidad de ejecutar.
Primero venido por primera vez (FCFS) La programación se puede tomar como un ejemplo de programación no presentiva. El proceso que solicita primero se asigna a la CPU primero. Esta programación se gestiona fácilmente por la primera cola en First Out (FIFO). Si hay procesos en orden como P1, P2 y P3, entonces primero se da la oportunidad a P1. Después de completarlo, P2 se ejecutará. Cuando P2 se complete, el P3 se ejecutará. Suponga que hay 3 procesos como P1, P2 y P3 con tiempos de explosión de CPU en milisegundos de la siguiente manera.
Figura 02: Ejemplo de programación FCFS
Según lo anterior, P1 se ejecutará. Una vez que se completa, el proceso P2 se ejecuta para 3 ms. 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 orden P2, P3 y P1, P2 completará primero. El próximo P3 completará, y finalmente, P1 completará.
Programación preventiva vs no previa en el sistema operativo | |
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 el medio de su ejecución. | La programación no presentiva es el mecanismo de programación de procesos a través del cual un proceso inicia la ejecución solo después de que el proceso anterior termine. |
Interrupción del proceso | |
En la programación preventiva, los procesos se pueden interrumpir. | En la programación no presentiva, los procesos se pueden interrumpir. |
Utilización de la CPU | |
En la programación preventiva, la utilización de la CPU es más alta que la programación no presentiva. | En la programación no prevista, 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 presentiva no es flexible. |
Hay múltiples procesos que se ejecutan en una computadora. Cuando cada proceso se ejecuta, la CPU se asigna a ese proceso específico. A veces, 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 presentibles. 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 el medio de su ejecución. La programación no presentiva es el mecanismo de programación de procesos, aunque un proceso comienza a la ejecución solo después de que termina el proceso anterior. Esta es la diferencia entre la programación preventiva y no presentiva en el sistema operativo.
Puede descargar la versión PDF de este artículo y usarla para fines fuera de línea según la nota de cita. Descargue la versión PDF aquí: Diferencia entre programación preventiva y no preventiva en el sistema operativo
1.¿Qué es la programación preventiva y no preventiva??. Disponible aquí
2.Punto, tutoriales. "Algoritmos de programación del sistema operativo.", Tutorials Point. 8 de enero. 2018. Disponible aquí
3."¿Qué son términos preventivos y no preventivos en el contexto del sistema operativo? ?"Geeksforgeeks preguntas y respuestas. Disponible aquí