¿cómo el tiempo de la función () diga la hora actual, e incluso cuando el ordenador se ha apagado antes?

StackOverflow https://stackoverflow.com/questions/973524

  •  13-09-2019
  •  | 
  •  

Pregunta

¿Cómo podemos trabajar en ofertas temporizador con milisegundos (0.001) cómo podríamos dividir segundos como queremos ?? la forma en que podríamos hacer frente a la segunda sí ???

¿Fue útil?

Solución

http://computer.howstuffworks.com/question319.htm

  

En el ordenador (así como otra   aparatos), la batería alimenta un chip   llamado el reloj de tiempo real (RTC) de chip.   El RTC es esencialmente un reloj de cuarzo   que funciona todo el tiempo, ya sea o no   el equipo recibe alimentación. La batería   poderes reloj. Cuando el ordenador   arranca, parte del proceso es   consultar la RTC para obtener la hora correcta   y la fecha. Un pequeño reloj de cuarzo como   esto podría funcionar durante cinco a siete años   fuera de una pequeña batería. Entonces es   momento de sustituir la batería.

Otros consejos

Su PC tendrá un reloj de hardware , alimentado por una batería de modo que sigue avanzando incluso cuando el ordenador está apagado. El PC sabe lo rápido que el reloj corre, por lo que puede determinar cuándo una segunda pasa.

Inicialmente, el PC no sabe qué hora es (es decir, que sólo empieza a contar desde cero), por lo que se le debe decir lo que el momento actual es - esto se puede establecer en el configuración del BIOS y se almacena en el CMOS , o se pueden obtener a través de Internet (por ejemplo, mediante la sincronización con los relojes a NIST ).

Algunos recapitular, y algo más de información:

1) El ordenador lee el reloj en tiempo real durante el arranque, y la usa para establecer su reloj interno

2) A partir de entonces, el equipo utiliza es único reloj de la CPU -. Que no vuelva a leer el RTC (normalmente)

3) El reloj interno del ordenador está sujeto a la deriva -. Debido a la inestabilidad térmica, las fluctuaciones de potencia, las inexactitudes en la búsqueda de un divisor exacto para segundos, latencia de interrupción, los rayos cósmicos, y la fase de la luna

4) La magnitud de la sincronización del reloj podría estar en el orden de segundos por día (decenas o cientos de segundos por mes).

5) La mayoría de los ordenadores son capaces de conectarse a un servidor de tiempo (en internet) para restablecer periódicamente su reloj.

6) El uso de un servidor de tiempo puede aumentar la exactitud dentro de decenas de milisegundos (normalmente). Mi ordenador actualiza cada 15 minutos.

Computadoras saber el tiempo, ya que, como usted, tienen un reloj digital, miran de vez en cuando.

Cuando llegue un nuevo equipo o se muda a un nuevo país puede establecer que el reloj o el equipo puede pedir a internet lo que el tiempo es, lo que ayuda a evitar que la forma de correr lento o rápido.

Como usuario de la computadora, puede pedirle a la hora actual, o puede pedirle a la computadora para que actúe como un reloj despertador. Algunos equipos pueden incluso dar vuelta a sí mismos a una hora particular, de respaldar a sí mismos, o se despierta con una canción favorita.

A nivel interno, el equipo es capaz de decir el tiempo en milisegundos, microsegundos o nanosegundos a veces incluso. Sin embargo, esto no es del todo exacto, y dos ordenadores próximos entre sí tendría diferentes ideas sobre el tiempo en nanosegundos. Pero todavía puede ser útil.

El equipo se puede configurar una alarma durante unos pocos milisegundos en el futuro, y por lo general hace esto para que sepa cuándo debe dejar de pensar en su programa de correo electrónico y pasar algún tiempo pensando en su navegador web. A continuación, establece otra alarma para que sepa que volver a su correo electrónico unos pocos milisegundos más tarde.

Como programador puede utilizar esta instalación también, por ejemplo, se podría establecer un límite de tiempo a un nivel en un juego, utilizando un 'temporizador'. O puede utilizar un temporizador para saber cuándo se debe poner el siguiente fotograma de la animación en la pantalla -. Tal vez 25 veces por segundo (es decir, cada 40 milisegundos)

Para responder a la pregunta principal, el reloj del BIOS tiene una batería en la placa base, al igual que la respuesta de Jian dice. Que mantiene la hora cuando la máquina está apagada.

Para responder a lo que creo que es su segunda pregunta, se puede obtener el segundo desde el valor de milisegundos haciendo una división entera antes de 1000, así:

second = (int) (milliseconds / 1000);

Si estás preguntando cómo somos capaces de conseguir el tiempo con una precisión que, mira la respuesta de Esteban ... el cristal de cuarzo vibra a un cierto período de tiempo, dicen 0.00001 segundos. Acabamos de hacer un circuito que cuenta las vibraciones. Cuando hemos llegado a 100000 vibraciones, declaramos que un segundo ha pasado y actualizar el reloj.

Podemos conseguir cualquier precisión contando las vibraciones de esta manera ... eso es cierta precisión mayor que el período de vibración del cristal que estamos usando.

La placa base tiene un reloj que marca. Cada pulso representa una unidad de tiempo.

Para ser más precisos, el reloj es generalmente un cristal de cuarzo que oscilates a una frecuencia dada; algunas frecuencias de reloj de CPU común son 33,33 y 40 MHz.

El tiempo absoluto se mide arcaicamente usando un contador de 32 bits de segundo de 1970. Esto puede causar que el "2038 problema", en el que simplemente se desborda. De ahí que las API de tiempo de 64 bits utilizadas en modernas plataformas Windows y Unix (esto incluye MacOS basada en BSD).

Muy a menudo un usuario de PC está interesada en intervalos de tiempo más bien que el tiempo absoluto ya que un importante evento se llevó a cabo. Una implementación común de un equipo tiene cosas llamadas temporizadores que permiten simplemente que eso ocurra. Estos temporizadores puede ser que incluso se ejecutan cuando el PC no es con el propósito de hardware sondeo del estado de alerta, el cambio de los modos de suspensión o salir del sueño. documentos de procesadores de Intel entran en increíble detalle acerca de estos.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top