unidades de tiempo variable global es el sistema Linux, dependiente del tiempo, entonces las unidades de tiempo variables cuál es el papel específico que sean? Xiao Bian dio se introduce el uso de la variable global Linux jiffies, amigo podría estar interesado en aprender bajo la barra.
disponibilidad del sistema en cuestión de segundos, la igualdad de jiffies /Hz.
Tenga en cuenta, tipo de unidades de tiempo entero largo sin signo (unsigned long), cualquier otro tipo de tienda que no es correcto.
es el tiempo en unidades de segundos será convertida a jiffies:
segundos * Hz
en el tiempo jiffies en segundo:
jiffies /Hz
en contraste, en la multi-núcleo más segundos para convertir jiffies utilizados.
jiffies representación interna
jiffies definen en el archivo:
/*
* El valor de 64 bits no es atómico - no debes leer
* sin probar el número de secuencia en xtime_lock.
* get_jiffies_64 () lo hará por usted como apropiado.
* /
U64 extern jiffies_64 __jiffy_data;
extern largos jiffies __jiffy_data volátiles sin firmar;
ld (1) para la conexión de la imagen principal de la escritura del núcleo (en arch /i386 /kernel en sistemas x86 /vmlinux.lds.S en ), luego se cubre con una variable jiffies jiffies_64 valor inicial variable. Por lo tanto tomar las jiffies variables toda jiffies_64 inferior 32 bits.
jiffies código de acceso de leer sólo los 32 bits inferiores jiffies_64 por get_jiffies_64 () función puede leer todo el valor de 64 bits. En la arquitectura de 64 bits, jiffies jiffies_64 y se refieren a la misma variable.
#if (BITS_PER_LONG "64)
get_jiffies_64 U64 (void);
#else
estática get_jiffies_64 inline U64 (void)
{
retorno (U64) jiffies;
}
#endif
en
#if (BITS_PER_LONG "64 )
get_jiffies_64 U64 (void)
{
sin firmar ss larga;
ret U64;
do {
ss = read_seqbegin (&xtime_lock);
ret = jiffies_64;
} while (read_seqretry (&xtime_lock, ss));
ret retorno;
}
jiffies WRAPAROUND envoltura alrededor
valor
unidades de tiempo cuando se supera el rango del máximo de almacenamiento se desbordará. Para entero de 32 bits sin signo, el valor máximo de (2 ^ 32) -1, es decir, 429.496.795. Si el recuento de reloj alcanza el valor máximo seguirá aumentando, su valor se ajustará alrededor de 0.
El núcleo proporciona cuatro macros para ayudar a comparar la cuenta del compás, que puede manejar correctamente la cuenta del compás problemas envoltura de:
/*
* Estos inlines tratan de envolver temporizador . correctamente estás
* recomienda encarecidamente a usarlos
* 1. Porque la gente se olvida de lo contrario
* 2. Porque si los cambios de envoltura de temporizador en el futuro que ganaron y lsquo; t que
* alterar su código del controlador.
*
* time_after (a, b) devuelve verdadero si el tiempo es un tiempo después b.
*
* hacer esto con y " "0 " y "" = 0 ". sólo a probar el signo del resultado un
* buen compilador generaría un mejor código (y una muy buen compilador
* wouldn y rsquo; t cuidado). Gcc es actualmente ni
* /
time_after #define (a, b) /
(typecheck (largo sin signo, a) &. &Amp; /
typecheck (largo sin signo, b) &&/
((largo) (b) - (largo) (a) "0))
#define time_before (una , b) time_after (b, a)
time_after_eq #define (a, b) /
(typecheck (, un largo sin signo) &&/
typecheck (unsigned long, b) &&/
((largo) (a) - (largo) (b) "= 0))
time_before_eq #define (a, b) time_after_eq (b, a)
/* Igual que el anterior, pero lo hace con la plataforma de tipos de 64 bits independientes.
* Estos se deben utilizar cuando se utiliza jiffies_64 (es decir, valor de retorno de
* get_jiffies_64 () * /
#define time_after64 (a, b) /
(typecheck (__ U64, a) &&/
typecheck (__ U64 , b) &Amp; &/
((__s64) (b) - (__s64) (a) "0))
#define time_before64 (a, b) time_after64 (b, a)
#define time_after_eq64 (a, b) /
(typecheck (__ U64, a) &&/
typecheck (__ U64, b) & y; /
((__s64) (a) - (__s64) (b) "= 0))
#define time_before_eq64 (a, b) time_after_eq64 (b, a)
espacio de usuario y HZ
Anterior 12 Siguiente total de 2
En la operación del sistema CentOS, yum no está disponible al actualizar Python, y
Si existe una vulnerabilidad del shell bash en el servidor Linux, puede causar que el sistema operat
CentOS es una de las distribuciones de Linux, ha lanzado varias versiones, ¿sabe qué versión de Cent
Como administrador de sistemas Linux calificado, es necesario monitorear constantemente el rendimien
Recuperación de Linux se borra por error método de usuario root
Cómo usa Linux el comando cal para ver calendarios
Cómo instalar el controlador de gráficos Nvidia Quadro en el sistema Ubuntu
CentOS inicia automáticamente el servicio de escritorio después de iniciar
Cómo instalar Flash en Ubuntu Chromium
¿Cómo envía el sistema Linux el correo?
Habilidades para instalar el software de origen en el sistema Linux
¿Qué debo hacer si el DNSenum de Fedora 18 muestra IP confuso?
Linux solicita [root @ localhost ~] # iptraf al ejecutar comandos?
Cuando se instala en VMware no admite 64 bits CentOS totalmente virtualizado cómo hacerlo?
La configuración del sistema Linux ajusta automáticamente el brillo de la pantalla
Cómo resolver el problema que no se puede acceder a WinXP debido a una cuota insuficiente
Actualizar Windows 2003 a Windows 2008
Aplicación de música Win8 para importar consejos de lista de reproducción
La opción de vista de carpeta abierta del sistema Win7 encontró una solución en blanco
Win7 sistema C disco de acceso denegado solución denegada
Windows versión 8.1 de actualización importante de OneNote agrega la función OCR
Windows no puede iniciar el servicio de audio de Windows?
Cómo crear una nueva partición de disco en Win7 Nuevo tutorial gráfico de partición de disco
Win8 cómo eliminar el directorio de descompresión temporal MSI y comprimir la carpeta del Instalador