\documentclass[12pt, a4paper]{article} \usepackage[spanish]{babel} \title{Algoritmos De Prioridad De Procesos} \author{Nicolás A. Ortega Froysa} \begin{document} \maketitle \section{Apropiación} La planificación de procesos puede ser de dos tipos distintos: \begin{itemize} \item \textbf{Apropiativa:} el planificador (proceso a cargo de planificar los procesos) puede interrumpir un proceso durante su ejecución, y forzarlo al estado de espera. \item \textbf{No Apropiativa:} el planificador \textbf{no} puede interrumpir un proceso durante su ejecución, y tiene que esperar a que el proceso devuelva el control al planificador. Esto puede ser por causa de bloqueo necesario o voluntario. \end{itemize} Los sistemas no apropiativos eran más comunes cuando se valía de sistemas operativos monousuario y monoprogramadas. Mas hoy en día apenas se usan ya que un proceso podría monopolizar de la CPU, que empeoraría la experiencia del usuario y el tiempo de respuesta. \section{Round-Robin} Este algoritmo es, por definición, \textit{apropiativa}. El planificador asigna a cada proceso un cuanto de tiempo \texttt{q} de igual tamaño y en orden circular. Gestiona todos los procesos sin prioridad. El planificador concede la CPU al proceso durante \texttt{q}; si el proceso no devuelve control de la CPU al planificador dentro de su cuanto de tiempo, el planificador se apropia de la CPU, interrumpiendo al proceso, y asigna la CPU al siguiente proceso. \section{Colas Multi-nivel} Se distribuyen las tareas en una cola de varios niveles de prioridad, dependiendo de diferentes factores (e.g.\ tiempo de CPU, acceso E/S, tamaño de memoria, etc.). Un proceso sólo puede apropiarse de la CPU si todas las colas de mayor prioridad están vacías. \end{document}