You are on page 1of 10

REPBLICA BOLIVARIANA DE VENEZUELA INSTITUTO UNIVERSITARIO POLITCNICO SANTIAGO MARIO EXTENSIN MARACAIBO

T.S.U: C.I:

Flavio Figueroa 13.424.030

Maracaibo, abril de 2012

[Escriba texto]

Esquema

Overlays

Temporizadores

Swapping

PSW (

Timer

Los overlays
Una vez que surgi la multiprogramacin, los usuarios comenzaron a explorar la forma de ejecutar grandes cantidades de cdigo en reas de memoria muy pequeas, auxiliados por algunas llamadas al sistema operativo. Es as como nacen los `overlays'. Esta tcnica consiste en que el programador divide lgicamente un programa muy grande en secciones que puedan almacenarse en las particiones de RAM. Al final de cada seccin del programa (o en otros lugares necesarios) el programador insertaba una o varias llamadas al sistema con el fin de descargar la seccin presente de RAM y cargar otra, que en ese momento resida en disco duro u otro medio de almacenamiento secundario. Aunque esta tcnica era eficaz (porque resolva el problema) no era eficiente (ya que no lo resolva de la mejor manera). Esta solucin requera que el programador tuviera un conocimiento muy profundo del equipo de cmputo y de las llamadas al sistema operativo.

En un principio cuando los programas excedan la memoria disponible, el programador creaba OVERLAYS. Hoy da, el hardware y el SO se encargan de ello Un overlay era una porcin del programa definida por el programador, que era cargada (por el overlay anterior) hasta que se requera Al finalizar, antes de ser desechado, cargaba el siguiente overlay (segn una subrutina hecha por el programador)

Desventaja La portabilidad de un sistema a otro: las llamadas cambian, los tamaos de particiones tambin. Resumiendo, con esta tcnica se podan ejecutar programas ms grandes que las particiones de RAM, donde la divisin del cdigo corra a cuenta del programador y el control a cuenta del sistema operativo.
3

Temporizadores
En OS/2, sin embargo, no se puede permitir esto, pues puede haber mltiples programas que necesiten el temporizador a la vez. Para solucionarlo, surgen los temporizadores. Antes de nada, conviene sealar que los temporizadores de OS/2 (as como los de cualquier otro S.O. multitarea) no son todo lo precisos que sera deseable. Esto se debe en primer lugar a que, aunque especifiquemos la temporizacin al milisegundo, ser redondeado al ciclo superior del conmutador de tareas (en OS/2, normalmente, son 32 milisegundos). Por otro lado, OS/2 es un Sistema Operativo multitarea por prioridades, por lo que puede ocurrir que en el momento en que expire un temporizador, haya otro proceso de ms prioridad esperando a ejecutarse, en cuyo caso se producir otro retardo. Sin embargo, existen maneras de minimizar estos efectos, y OS/2 las ofrece. Una primera clasificacin de los temporizadores los divide en sncronos y asncronos. Un temporizador sncrono se activa y no devuelve el control al thread hasta que este termine. Es el caso ms bsico: si queremos hacer una pausa de 1 segundo, llamamos a la funcin DosSleep, y el thread correspondiente se dormir durante el tiempo fijado. Ventajas Sin embargo, puede no interesarnos este sistema, sino que durante ese intervalo podemos necesitar hacer alguna operacin y luego dormirnos hasta terminarlo. Por ejemplo, queremos un programa que, una vez por segundo, imprima un carcter en pantalla. Una primera idea sera imprimir un carcter, dormir un segundo, imprimir otro, dormir un segundo, etc. Sin embargo, el hecho de imprimir el carcter consume algo de tiempo, luego estamos gastando algo ms. Por otro lado, ese tiempo es variable, en funcin de la velocidad del ordenador y de la tarjeta grfica. Por eso existen los temporizadores asncronos.
4

Un temporizador asncrono necesita de un semforo, pues lo necesita para notificar al thread que se ha acabado el intervalo de tiempo. La idea es la siguiente: el thread inicializa el temporizador, el cual activa el semforo y empieza a contar, pero devuelve el control al programa. Este sigue trabajando (imprimira el carcter o lo que tuviese que hacer), y cuando termine, espera a que el semforo se active (post) (que ser hecho por el temporizador cuando expire). De este modo, no importa cunto dure el proceso que haga el thread: siempre esperar un segundo (o el tiempo elegido, redondeado al ciclo del conmutador de tareas). Desventajas Como decamos, la temporizacin no es precisa por estar redondeada a 32 milisegundos. Esto puede ser problemtico cuando se encadenan temporizaciones. En el ejemplo anterior, si programamos un temporizador para cada segundo, la ejecucin de la instruccin cada vez ya lleva algo de tiempo, y adems, los redondeos se van sumando cada vez ms, de modo que podemos llegar a tener un desfase entre el ritmo que debera llevar y el que lleva realmente. Para eso, existe otro temporizador asncrono que borra un semforo no una vez, sino constantemente, a cada paso del ciclo. Es este el que deberamos usar en nuestro ejemplo. Este temporizador, como es cclico (est contando constantemente intervalos del tiempo que queramos, y no una sola vez como haca el primero) puede tener en cuenta el redondeo del conmutador de tareas, y minimizar su efecto. Aplicaciones Son muy usados en los SO, pero las llamadas al sistema que los implementan no se han estandarizado entre los diferentes SO. El hardware para medir tiempo transcurrido e iniciar operaciones se denomina temporizador de intervalos programables y puede configurarse de modo que espere cierto tiempo y luego genere una interrupcin. Algunos SO ofrecen una interfaz para que los procesos de usuario utilicen temporizadores. Para ello el ncleo (o el driver del temporizador) mantiene una lista de interrupciones deseadas por sus propias rutinas y por
5

solicitudes de usuario, ordenada segn el tiempo de vencimiento. Cuando el temporizador interrumpe, el ncleo enva una seal al solicitante y vuelve a cargar el temporizador con el siguiente tiempo de vencimiento. En la mayora de las computadoras el reloj de hardware se construye con un contador de alta frecuencia. Este reloj no genera interrupciones pero permite medir con exactitud intervalos de tiempo.

Las computadoras cuentan con ello para: Dar la hora actual Dar el tiempo transcurrido Establecer un temporizador para iniciar la operacin X en el instante T.

Swapping
Es un mecanismo para mover programas entre memoria principal y secundaria, normalmente disco (dispositivo se swap). Con swapping, los programas pueden

salir/entrar de/a memoria durante su tiempo de ejecucin. Normalmente, un programa abandona la memoria para dejar espacio a otro. El swapping modifica el grafo de transicin de estados de los procesos en un sistema multiprogramado, desdoblando los estados de bloqueado y preparado en dentro y fuera de memoria. La funcin del sistema operativo que gestiona el intercambio entre disco y memoria se denomina intercambiador o swapper. La operacin de escribir el programa en disco se conoce como swap-out, mientras que leer el programa de disco se denomina swap-in.

El swapping aporta las siguientes ventajas: Permite influir en la gestin de procesos para controlar el grado de multiprogramacin (planificacin a medio plazo). Proporciona flexibilidad en la gestin de la memoria, permitiendo una utilizacin ms eficiente del espacio.
6

Para soportar swapping se requiere espacio para el intercambio en almacenamiento secundario, generalmente disco. Se puede utilizar un dispositivo especfico

independiente, una particin del disco, o incluso compartir la misma del sistema de ficheros. El direccionamiento de los programas debe ser relativo a un registro base (reubicacin dinmica). El swapper establece el nuevo valor del registro base para un proceso cada vez que lo carga en memoria. El sacar un programa de memoria est motivado por la necesidad de obtener espacio libre, generalmente para ejecutar otro programa (quizs uno ms prioritario). El swapper debe seleccionar cuidadosamente qu programas van a salir. Ya que, como hemos comentado, el swapping condiciona la planificacin de procesos, algunos de los criterios a aplicar para seleccionar el proceso a sacar estn relacionados con los parmetros de la planificacin. Los criterios suelen ser: El estado del proceso. Los programas bloqueados no plantean una necesidad inmediata de proceso. La prioridad del proceso. El tamao del programa. Los programas mayores liberan ms espacio al salir de memoria, pero ser ms costoso cargarlos de nuevo . El tiempo que el programa lleva en memoria.

PSW/Mascaras
Contiene la informacin del estado de la CPU. Contiene los indicadores o flags que usan las instrucciones condicionales para tomar decisiones Es un rea de la memoria o registro que contiene informacin sobre el estado de un programa utilizado por el sistema operativo. Normalmente incluye un puntero (direccin) a la siguiente instruccin a ejecutarse. El PSW contiene un campo de error y un cdigo de condicin. La longitud del PSW depende de la arquitectura. En general, el PSW es utilizado para controlar la ejecucin secuencial de instrucciones e indicar el estado del sistema en
7

relacin al programa en ejecucin. Almacenando el PSW durante una interrupcin, el estado de la CPU puede ser preservado para una posterior inspeccin. Cargando un nuevo PSW o una parte de un PSW, el estado de la CPU puede ser inicializado o modificado. Estos indicadores se cambian de forma automtica cuando alguna de las instrucciones que se muestran en la siguiente tabla es ejecutada, tambin pueden ser modificados por el usuario. El PSW se encuentra en la direccin directa 0D0H (zona de SFRs) y sus bit admiten el direccionamiento bit a bit. Indicadores o flags C: Indicador de acarreo. Ac: Indicador de acarreo auxiliar, indica el acarreo del bit 3, se utiliza en las operaciones BCD. F0: Indicador de usuario o de propsito general. Ov: Indicador de desbordamiento, cuando se produce un acarreo en el 6 y 7 bit al mismo tiempo. P: Indicador de paridad, indica 1 cuando el nmero de unos del Acc es impar. Rs0 y Rs1: Seleccin del banco de registros. Rs1 0 0 1 1 Rs0 0 1 0 1 Banco 0 1 2 3 Direccin 00H a 07H 08H a 0FH 10H a 17H 18H a 1FH

Instrucciones que afectan a los flags Instruccin ADD ADDC SUBB C x x x Ov x x x Ac x x x


8

MUL DIV DA RRC RLC SETB C CLR C CPL C ANL C,Bit ANL C,/Bit ORL C,Bit ORL C,/Bit MOV C,Bit CJNE

0 0 x x x 1 0 x x x x x x x

x x

Timer
La proteccin del procesador tiene como objetivo evitar que un programa usuario caiga en un lazo de procesamiento infinito aduendose de ste por tiempo indefinido. Esto se logra por medio de un reloj ("timer") de hardware que permite detener el procesamiento y regresar el control, va una interrupcin, al sistema operativo. Generalmente se instrumenta un reloj variable por medio de uno fijo y un contador. Dicho contador recibe un valor por parte del sistema operativo y se decrementa con cada golpe del reloj de intervalo fijo, cuando alcanza el valor cero se emite la interrupcin y el sistema operativo decide la accin a ejecutar. Por supuesto, las instrucciones que permiten modificar el valor del reloj son privilegiadas.

Bibliografa

www.qecmu.es.vg http://literature.rockwellautomation.com/idc/groups/literature/documents/in/1769in062_-es-p.pdf http://astreo.ii.uam.es/~ortigosa/ssoo/03-Procesos-6pp.pdf http://www.ditec.um.es/so/apuntes/teoria/tema1.pdf

www.Google.com
http://www.monografias.com/trabajos81/conceptos-fundamentales-servicios-sistemaoperativo/conceptos-fundamentales-servicios-sistema-operativo2.shtml

10