Anda di halaman 1dari 1

Universidad de Carabobo Facultad Experimental de Ciencias y Tecnologa Departamento de Computacin Sistemas Operativos Prep. Carlos I. Buchart I.

Nombre:___________________________________

Planificacin de Procesos en Linux


El Process Scheduler (SCHED), es el componente del kernel encargado de controlar el acceso de los procesos al CPU. El SCHED es el componente de bajo nivel ms importante del sistemas; todos los dems (incluyendo los mdulos de acceso a disco, controladores de video, etc.), dependen directamente de l. Los procesos en Linux pueden ser divididos en tres categoras, relacionadas con la prioridad: interactivos, por lotes y de tiempo real. Los procesos TR son manejados bien por un algoritmo FIFO o RR. Los dems procesos son despachados utilizando planificacin RR con un sistema de envejecimiento basado en crditos, donde el siguiente proceso a ejecutar es aquel que ms crditos posea. Los procesos TR son considerados prioritarios sobre cualquier otro proceso en el sistema, por lo que sern ejecutados antes que los dems. Por otro lado, un proceso puede estar en alguno de estos estados: en ejecucin, en espera, detenido o zombie (un proceso que, aunque ha finalizado su ejecucin, mantiene su PCB en el sistema). Algunos aspectos de la estructura interna del kernel que caben destacarse son: La PCB est representada por la estructura task_struct. sta indica el tipo de planificacin (FIFO,RR) por medio del campo policy, la prioridad (priority), el contador del programa (counter), entre otros. La funcin goodness otorga una calificacin al proceso pasado como parmetro. Dicha puntuacin oscila entre -1000 (no elegible) y +1000 (TR). Los procesos que comparten una zona de memoria ganan una puntuacin equivalente a su prioridad. El quantum vara segn el proceso y su prioridad. La duracin base es de aprox. 200ms. La funcin switch_to es la encargada de salvar la informacin de un proceso y cargar el siguiente. Las funciones sched_{get/set}scheduler se refieren al mecanismo de planificacin asociado a ese proceso. De igual forma el equivalente con ...param devuelve/fija la prioridad de un proceso. Una nueva copia del proceso actual es creada mediante la llamada al sistema fork. Para ejecutar un nuevo programa se utiliza la funcin execve.

Planificacin de Procesos en Windows NT


El kernel de Windows NT est diseado utilizando POO. Posee una capa de abstraccin de hardware (HAL), la cual es la nica que se comunica directamente con el procesador; el resto del kernel est diseado para utilizar la interfaz de la HAL. La unidad mnima de ejecucin no es el proceso sino el hilo. Un hilo puede estar en alguno de estos seis estados: listo, standby (siguiente a ejecutar), en ejecucin, en espera, en transicin (un nuevo hilo) y terminado. Windows NT utiliza una planificacin basada en colas mltiples de prioridades. Posee 32 niveles de colas, clasificadas en clas de TR (16-31) y clase variable (0-15). Las colas se recorren de mayor a menor ejecutando los hilos asociados. Cada cola es manejada por medio de un algoritmo de RR, aun as, si un hilo de mayor prioridad llega, el procesador le es asignado a ste. Bibliografa http://www.iamexwi.unibe.ch/studenten/schlpbch/linuxScheduling/LinuxScheduling.html http://www.oreilly.com/catalog/linuxkernel/chapter/ch10.html http://www.cs.wpi.edu/~cs3013/b00/week3-sched/week3-sched.html http://www.tldp.org/LDP/tlk/tlk.html Sistemas Operativos 6a. Edicin A. Silberschatz, P. Galvin, G. Gagne (Linux: p. 681-689. Windows NT: p. 721-722 http://www.808multimedia.com/winnt/kernel.htm CB/cb