Sistema multitarea MEMORIA SO PROG. 1 EIP PROG. 2 PROG. n En un sistema multitarea múltiples elementos software (programas y sistema operativo ) se encuentran en ejecución simultáneamente . Sin embargo , sólo uno de ellos puede utilizar la CPU en cada momento . El puntero de instrucción (EIP) apunta a dicho elemento . Universidad de Oviedo / Dpto. de Informática Arquitectura de Computadores Sistema Operativo El SO es un software extraordinariamente complejo , que está integrado por múltiples componentes software. Cada componente tiene un determinado cometido , como por ejemplo, gestionar memoria , gestionar dispositivos de E/S, gestionar ficheros, etc. SO C1 Componentes Software Manejador 1 (Handler) C2 Manejador n (Handler) Las transferencias de control al SO se realizan a través de unas rutinas denominadas manejadores. Se trata de unas rutinas extremadamente simples que sirven de punto de entrada al SO y que, a su vez, transfieren el control a otros componentes del SO para dar respuesta al evento que causó la transferencia de control . Universidad de Oviedo / Dpto. de Informática Ci Cn Arquitectura de Computadores Transferencia de control entre programas y SO (I) MEMORIA SO PROG. 1 C1 EIP’’ Manejador 1 (Handler) C2 EIP’ PROG. 2 Manejador n (1 ) R (Handler) et or no a lp i nte rru m ro gra m p id o a EIP’’’ Ci ? PROG. n (2) El pl ani fi cado r decide program el a a ejecu tar Universidad de Oviedo / Dpto. de Informática EIP’’’’ Planificador Arquitectura de Computadores Transferencia de control entre programas y SO (II) Una transferencia de control al SO implica interrumpir la ejecución de un programa para pasar a ejecutar alguna rutina del sistema. Esto lleva consigo modificar el valor del EIP para que apunte a dicha rutina. La entrada al SO se realiza a través de un manejador (handler), el cual lleva a cabo dos acciones: 1) salva la información necesaria para poder retornar al programa interrumpido. 2) Transfiere el control al componente del SO que da respuesta al evento causante de la transferencia de control. El retorno puede ser: 1) Al propio programa interrumpido 2) A otro programa, si el evento ocurrido causó la ejecución del planificador Universidad de Oviedo / Dpto. de Informática Arquitectura de Computadores