Вы находитесь на странице: 1из 11

Llamadas para manejo de reloj

TIME (&segundos) Nos devuelve los segundos transcurridos desde el uno de enero de 1970. STIME (segundos)
Llamadas al Sistema

El s per usuario pone el tiempo transcurrido, desde 1 de Enero de 1970, para posteriores lecturas. UTIME (fichero, fecha) Permite el usuario de un fichero, escribir en el campo " ltima fecha de acceso del fichero", en el directorio. Algunos programas exigen que todos sus ficheros tengan la misma fecha de modificaci n. TIMES (buffer) Devuelve informaci n a un proceso como: - tiempo de CPU gastado por el proceso - tiempo de CPU gastado por el sistema - tiempo de CPU de los procesos hijos. Manejo de tiempo daytime get timer gettimeofday settimeofday setitimer stimes times utime seconds = time (&seconds) - calcula el tiempo transcurrido en segundos desde el 1 de enero de 1970. s = stime (tp) - pone el tiempo transcurrido desde el 1 de enero 1970. s = utime (file, timep) - pone la hora del " ltimo acceso" del fichero. s = times (buffer) - determina los tiempos del usuario y del sistema gastados hasta ahora.

ACERCA DE LA GESTIN DEL TIEMPO


Software Intime ofrece llamadas de bajo nivel de gestin del tiempo que permiten a las discusiones para crear eventos de alarma y de dormir durante un perodo especificado de tiempo. El ncleo tambin ofrece un RT reloj Un evento de alarma es un objeto que se seala cuando un intervalo de tiempo predeterminado ha expirado. El modo de evento de alarma puede ser de un solo tiro o repetible. El reloj del ncleo de RT es un contador que cuenta el ncleo para realizar un seguimiento del nmero de ciclos de reloj del ncleo que se han producido. Cuando el ncleo se inicia, la cuenta se establece en 0 (cero). El perodo de un ciclo de reloj del ncleo es configurable a travs de la utilidad de configuracin Intime y se puede leer la configuracin actual utilizando CopyRtSystemInfo .

Granularidad del reloj Alto nivel de llamadas al sistema RT tiene una granularidad de tiempo de espera de 10 milisegundos. El valor especificado para la unidad de tiempo se redondea al siguiente valor de 10 milisegundos. Llamadas de bajo nivel del sistema tienen un tiempo de espera configurable granularidad que se pueden seleccionar entre las siguientes opciones: Kernel garrapata 10 milisegundos 05 milisegundos 02 milisegundos 01 milisegundos 250 microsegundos 500 microsegundos (por defecto)

EL USO DE ALARMAS El ncleo le permite crear eventos de alarma para simular interrupciones del temporizador. El sistema de seales de alarma del objeto de evento en el que un hilo que ha escrito espera. Dos tipos de eventos de alarma existen: Single-shot de alarma: Las seales del objeto de evento de alarma una vez que transcurra el intervalo de tiempo. La alarma se desactiva y su memoria se puede volver a utilizar. Alarma repetitivos seala el objeto de evento de alarma despus de su intervalo que transcurre el tiempo y luego se reinicia el mismo intervalo de

tiempo. Sigue la seal de su hilo de eventos de alarma hasta que la alarma se suprime explcitamente. Crear un evento de alarma con la knCreateRtAlarmEvent sistema de llamadas y borrar con el knDeleteRtAlarmEvent llamada al sistema. Para crear una alarma especifica: El rea de memoria en la que el objeto de evento de alarma. Si se trata de un solo tiro o una alarma repetitiva. El intervalo de tiempo durante el cual se establece la situacin de alarma. Use knWaitForRtAlarmEvent dentro de un hilo a hilo cada vez que la seal del momento en que el evento de alarma expira. Despus de un subproceso llama a la llamada al sistema knDeleteRtAlarmEvent, el objeto de evento de alarma ya no ser sealado y la memoria que ocupa el evento de alarma pueden ser reutilizados. Eventos de alarma se pueden eliminar en cualquier momento, seal. Esto significa que la supresin de un evento de alarma no tiene que estar sincronizado con el vencimiento de la alarma. El knResetRtAlarmEvent llamada al sistema se reinicia una alarma, volviendo a su estado inicial. Tanto solo disparo y alarmas repetitivas se puede restablecer. Independientemente de si el caso lmite de alarma de tiempo ha expirado, al restaurar la alarma vuelve a su estado de creacin y empieza funcionando como si se tratara de ponerse. Restablecimiento de un solo disparo de alarma despus de que se ha ido es equivalente a establecer la alarma de nuevo.

UTILIZANDO EL SUEO El ncleo de las discusiones permite a dormir por un tiempo determinado, con el knRtSleep llamada al sistema. La cantidad de tiempo que el hilo se duerme en el estado puede variar de ningn tiempo para siempre. Si el tiempo especificado es KN_DONT_WAIT, el hilo no se va a dormir. Un lmite de tiempo de KN_DONT_WAIT ofrece el procesador a otro hilo de la misma prioridad, si es que existe. KN_WAIT_FOREVER significa que el hilo no se despierta. Cuando un hilo duerme para siempre, que es efectivamente eliminada, pero su memoria no se libera. Si un hilo ha terminado sus funciones asignadas, a continuacin, eliminarlo o suspenderla en lugar de hacer un sueo para siempre.

Llamadas de bajo nivel knCreateRtAlarmEvent knWaitForRtAlarmEvent knResetRtAlarmEvent knDeleteRtAlarmEvent knGetKernelTime knSetKernelTime

Cmo elegir el sistema de gestin del tiempo las llamadas? Esta lista de las operaciones ms comunes relacionadas con el tiempo y las alarmas y las llamadas del kernel RT sistema que realizar las operaciones: Para. . . Crear una alarma Eliminacin de una alarma Obtener el tiempo transcurrido Cancelar la alarma Perd el tiempo Espera en una alarma Poner un hilo a dormir Utilice esta llamada al sistema. . . knCreateRtAlarmEvent knDeleteRtAlarmEvent knGetKernelTime knResetRtAlarmEvent knSetKernelTime knWaitForRtAlarmEvent knRtSleep

knCreateRtAlarmEvent
Crea un objeto de evento de bajo nivel que se dispara la alarma. Usted puede programar la alarma, ya sea para una sola vez o en modo de repeticin, y programar el intervalo de la marca de bajo nivel de resolucin. Sintaxis KNHANDLE knCreateRtAlarmEvent ( LPVOID lpAlarmEventArea, / / rea de la memoria para almacenar la informacin estado de alarma DWORD dwAlarmFlags, / / banderas de alarma DWORD dwKernelTicks / / alarma de intervalo de tiempo, en el bajo nivel de las garrapatas ); Parmetros lpAlarmEventArea Puntero a la zona que contiene la informacin de estado de alarma. Debe ser al menos KN_ALARM_EVENT_SIZE bytes de longitud. dwAlarmFlags atributos de la alarma. El mbito en cuestin se enmascara con la ALARM_REPETITION_MASK valor que especifica si la alarma genera una

seal de evento nico o repetido seales de los eventos. Los valores relevantes para este campo incluyen: KN_SINGLE_SHOTGenerates un evento de alarma individual. Esta alarma est inactiva una vez transcurrido el intervalo de tiempo de espera inicial. Debe restablecer para su reutilizacin (ver knResetRtAlarmEvent ). KN_REPEATERGenerates repetidos eventos de alarma. Esto restablece la alarma despus de cada evento generado por el controlador, haciendo que el evento vuelva a ocurrir una vez transcurrido el intervalo siguiente. Alarmas repetitivas generar eventos peridicos hasta que suprime explcitamente. dwKernelTicks Tiempo de bajo nivel hasta que las garrapatas se dispara la alarma. Valor Significado 0 o 1 El caso de alarma se indica en el siguiente tick bajo nivel, y para las alarmas repetitivas, en cada tic-tac de bajo nivel. Slo el resto de la garrapata actual transcurre bajo nivel, no necesariamente un ciclo de reloj completo. (El valor 0 es tratado igual que 1.) Evento> 1El se indica despus (t - 1) de bajo nivel garrapatas. Si establece el valor de 5 y slo la mitad de una garrapata permanece en la actualidad, la alarma se llama despus de intervalos de reloj de 4-1/2. Valor de retorno Devuelve el identificador de ncleo para el evento de alarma.

knWaitForRtAlarmEvent
Espera de una alarma de bajo nivel para el intervalo de tiempo dado, o hasta que se active la alarma. Sintaxis BOOL knWaitForRtAlarmEvent ( KNHANDLE hAlarm, / / manipulador de evento de alarma DwKernelTicks DWORD / / nmero de bajo nivel de las garrapatas que esperar a que la alarma ); Parmetros hAlarm Mango para la alarma del evento.

dwKernelTicks Nmero de bajo nivel de garrapatas que el subproceso de llamada debe esperar un mensaje antes de regresar. El tamao de este intervalo se puede configurar y su valor se puede obtener a partir de la estructura SysInfo que se lee con CopyRtSystemInfo . El US_TO_KTICKS macro se puede utilizar para convertir un valor en microsegundos a un recuento de pasos bajo nivel de uso de la informacin suministrada en esta estructura. Valor de retorno SuccessReturns VERDADERO. FailureReturns FALSO. Para determinar el estado, llame GetLastRtError .

knResetRtAlarmEvent
Restablece una alarma de una sola vez despus de que se ha disparado. Sintaxis VOID knResetRtAlarmEvent ( KNHANDLE hAlarm / / manipulador de evento de alarma ); Parmetros hAlarm mango de un objeto de la alarma. Informacin adicional Esta operacin es equivalente a invocar knDeleteRtAlarmEvent , a continuacin, invocar knCreateRtAlarmEvent Porque knResetRtAlarmEvent puede ser invocada en un solo disparo las alarmas, incluso si la alarma se ha disparado, no es necesario sincronizar entre un reset de alarma y la expiracin del intervalo de tiempo de alarma. A pesar de esta llamada no es la programacin, no se recomienda para su uso por el manejador de interrupciones.

knDeleteRtAlarmEvent
Elimina el objeto de alarma de bajo nivel de eventos asociados con el mango del ncleo dado. Todos los hilos esperando en el objeto de evento de alarma se despiertan y se da un estado de E_KN_NONEXIST. Despus de esta llamada, la memoria asignada al objeto de evento de alarma est disponible para su reutilizacin.

Tenga en cuenta Este es un llamado de sealizacin. Usar con cuidado en el manejador de interrupciones. Sintaxis VOID knDeleteRtAlarmEvent ( KNHANDLE hAlarm / / kernel manejar para la alarma ); Parmetros Kernel hAlarm manejar para la alarma que desea eliminar.

knGetKernelTime
Devuelve el valor del contador que utiliza el kernel para contar el nmero de garrapatas bajo nivel de las garrapatas que se han producido. A pesar de esta llamada no es la programacin, no se recomienda para su uso por el manejador de interrupciones. Sintaxis VOID knGetKernelTime ( LPKNTIME lpTime / / puntero a una estructura KNTIME ); Parmetros lpTime apunta a una estructura KNTIME donde el ncleo almacena el valor. Informacin adicional Cuando el ncleo se inicia, la cuenta se establece en 0 (cero). Puede configurar la cuenta de cualquier valor con knSetKernelTime .

knSetKernelTime
Establece el valor del contador que el kernel utiliza para contar el nmero de garrapatas de bajo nivel que se han producido. Cuando el ncleo se inicia, la cuenta se establece en 0 (cero). Puede determinar el valor actual del reloj con el knGetKernelTime funcin. A pesar de esta llamada no es la programacin, no se recomienda para el manejador de interrupciones.

Sintaxis VOID knSetKernelTime ( LPKTIME lplTime / / puntero a la estructura KNTIME ); Parmetros lpTime apunta a una estructura KNTIME donde el ncleo almacena el valor.

http://sopa.dis.ulpgc.es/iidso/leclinux/miscelaneos/llamadas/LEC _llamadas.pdf http://rua.ua.es/dspace/bitstream/10045/5268/2/Tema2_Llamadas_ al_sistema.pdf


CONCLUCION Este trabajo nos permite comprender y dar a conocer cul es el funcionamiento de las llamadas del sistema para la administracin de tiempos y qu importancia tiene el utilizarla, ya que este tipo de llamada es la encargada de dar el tiempo entre un proceso y otro, un ejemplo claro son las actualizaciones del Sistema de Windows Update, donde nosotros tenemos la facilidad de elegir la accin en ese mismo momento o ponerla en espera en cierto tiempo. A ese aspecto principalmente est dirigido este tema.