Hilos
Jesus M. Vegas Hern´ ndez ´ a Dpto. Inform´ tica a Universidad de Valladolid
jvegas@infor.uva.es
Resumen En esta leccion se van a tratar los aspectos avanzados de la gestion ´ ´ de procesos que proponen al modelo de hilos (threads) como una forma m´ s compleja de considerar a los procesos que la de los sistemas a operativos tradicionales. As´, los procesos se van aconcebir como eleı mentos compuestos por dos partes distintas, relacionadas cada una de ellas con la utilizacion de los recursos y con la ejecucion, respecti´ ´ vamente. Esto influye tanto en la forma de representacion de los pro´ cesos en el sistema como en la planificacion de los procesos en su paso ´ por el procesador, aspectos estos que ser´ n estudiados en esta leccion. ´ a ´ Para ilustrar eltema se estudiar´ n tres casos distintos de concepcion a ´ de los hilos: a nivel de usuario, a nivel de nucleo y mixto. ´
1
Introduccion ´
La concepcion cl´ sica de los sistemas operativos considera al proceso ´ a como un elemento que auna las dos caracter´sticas siguientes: ı Propiedad de los recursos.
Ejecucion del programa. ´
Un proceso incluye un espacio de direccionesvirtuales que contiene la imagen del proceso, adem´ s de los apuntadores asociados a los a recursos asignados al proceso por el sistema operativo, tales como la memoria principal, los canales de E/S y los archivos. As´ mismo, el ı proceso es la consecuencia de la ejecucion de uno o m´ s programas, y ´ a junto con el resto de los procesos del sistema se alterna en el uso del procesador. En la mayor´ade los sistemas operativos estas dos caracter´sticas ı ı son el fundamento del concepto de proceso y aparecen indisolublemente unidas. Sin embargo, en otros sistemas operativos m´ s reciena tes estas dos caracter´sticas se presentan como independientes y son ı tratadas de ese modo por el sistema operativo. En los sistemas que hacen esto a la unidad de procesamiento o ejecucion se la conoce como ´1
1.1
Objetivos
hilo (thread), mientras que a la unidad de propiedad de los recursos se le llama proceso o tarea.
2
1.1 Objetivos
El cambio en la concepcion de la ejecucion de los programas hace que ´ ´ var´e la forma en que se representan y planifican por el sistema operaı tivo los procesos cl´ sicos convertidos ahora en hilos. As´, los objetivos a ı de esta leccion son lossiguientes: ´ 1. Definir el concepto de hilo, presentando las ventajas e inconvenientes respecto al concepto de proceso cl´ sico en distintas ara quitecturas mono y multiprocesador. 2. Analizar la forma de representacion en el sistema operativo de ´ los hilos. 3. Describir los estados en los que se puede encontrar un hilo, as´ ı como las transiciones entre ellos. 4. Presentar las distintas maneras en quese implementan los hilos en los sistemas actuales, estudiando un caso de cada una de ellas.
1.2 Procesos: Representacion y Planificacion ´ ´
Antes de entrar en la materia propia de esta leccion conviene repasar ´ algunas ideas en cuanto a la representacion y la planificacion de los ´ ´ procesos cl´ sicos. a
1.2.1
Descripcion de Procesos ´
En esencia, el sistema operativo puede servisto como una entidad que administra el uso que hacen los procesos de los recursos del sistema. Si el sistema operativo tiene que administrar los procesos y los recursos entonces tiene que disponer de informacion sobre el estado ´ actual de cada proceso y cada recurso. En la mayor´a de los sistemas ı operativos esto se consigue manteniendo una tabla de informacion so´ bre cada entidad que administra.En general, los sistemas operativos mantienen tablas sobre la memoria, los dispositivos E/S, los archivos y los procesos; todas ellas interrelacionadas segun se observa en la ´ Figura 1. Centr´ ndonos en las tablas de procesos, y antes de tratar las cuesa tiones de donde y como se ubican los procesos y sus atributos con´ ´ viene considerar cu´ l es la informacion asociada a un proceso. Como a ´...
Regístrate para leer el documento completo.