ceu-notes/1/ISO/assignments/algorithms/algorithms.tex

43 lines
1.7 KiB
TeX
Raw Normal View History

2021-09-24 10:39:58 +00:00
\documentclass[12pt, a4paper]{article}
2021-09-23 15:21:50 +00:00
\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}