\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}
