Novedades de procesos y subprocesos
Windows 7 y Windows Server 2008 R2 incluyen los siguientes elementos de programación nuevos para procesos y subprocesos.
Nuevas funcionalidades
Las versiones de 64 bits de Windows 7 y Windows Server 2008 R2 admiten más de 64 procesadores lógicos en un solo equipo. Para obtener más información, consulte Grupos de procesadores.
La programación en modo de usuario (UMS) es un mecanismo ligero que las aplicaciones pueden usar para programar sus propios subprocesos. Para obtener más información, vea Programación en modo de usuario.
Funciones nuevas
Las siguientes funciones nuevas se usan con procesadores y grupos de procesadores.
Función | Descripción |
---|---|
CreateRemoteThreadEx |
Crea un subproceso que se ejecuta en el espacio de direcciones virtuales de otro proceso y, opcionalmente, especifica atributos extendidos, como la afinidad de grupo de procesadores. |
GetActiveProcessorCount |
Devuelve el número de procesadores activos en un grupo de procesadores o en el sistema. |
GetActiveProcessorGroupCount |
Devuelve el número de grupos de procesadores activos en el sistema. |
GetCurrentProcessorNumberEx |
Recupera el grupo de procesadores y el número del procesador lógico en el que se ejecuta el subproceso que realiza la llamada. |
GetLogicalProcessorInformationEx |
Recupera información sobre las relaciones de los procesadores lógicos y el hardware relacionado. |
GetMaximumProcessorCount |
Devuelve el número máximo de procesadores lógicos que puede tener un grupo de procesadores o el sistema. |
GetMaximumProcessorGroupCount |
Devuelve el número máximo de grupos de procesadores que puede tener el sistema. |
GetNumaAvailableMemoryNodeEx |
Recupera la cantidad de memoria que está disponible en el nodo especificado como un valor de USHORT. |
GetNumaNodeNumberFromHandle |
Recupera el nodo NUMA asociado al dispositivo subyacente para un identificador de archivo. |
GetNumaNodeProcessorMaskEx |
Recupera la máscara de procesador para el nodo NUMA especificado como un valor de USHORT. |
GetNumaProcessorNodeEx |
Recupera el número de nodo del procesador lógico especificado como un valor de USHORT. |
GetNumaProximityNodeEx |
Recupera el número de nodo como un valor de USHORT para el identificador de proximidad especificado. |
GetProcessGroupAffinity |
Recupera la afinidad de grupo de procesadores del proceso especificado. |
GetProcessorSystemCycleTime |
Recupera el tiempo de ciclo que cada procesador del grupo especificado ha dedicado a ejecutar llamadas a procedimientos diferidos (DPC) e interrumpir rutinas de servicio (ISR). |
GetThreadGroupAffinity |
Recupera la afinidad de grupo de procesadores del subproceso especificado. |
GetThreadIdealProcessorEx |
Recupera el número de procesador del procesador ideal para el subproceso especificado. |
QueryIdleProcessorCycleTimeEx |
Recupera el tiempo de ciclo acumulado para el subproceso inactivo en cada procesador lógico del grupo de procesadores especificado. |
SetThreadGroupAffinity |
Establece la afinidad de grupo de procesadores para el subproceso especificado. |
SetThreadIdealProcessorEx |
Establece el procesador ideal para el subproceso especificado y, opcionalmente, recupera el procesador ideal anterior. |
Las siguientes funciones nuevas se usan con grupos de subprocesos.
Función | Descripción |
---|---|
QueryThreadpoolStackInformation |
Recupera los tamaños de reserva y confirmación de la pila para los subprocesos del grupo de subprocesos especificado. |
SetThreadpoolCallbackPersistent |
Especifica que la devolución de llamada se debe ejecutar en un subproceso persistente. |
SetThreadpoolCallbackPriority |
Especifica la prioridad de una función de devolución de llamada en relación con otros elementos de trabajo del mismo grupo de subprocesos. |
SetThreadpoolStackInformation |
Establece los tamaños de reserva y confirmación de la pila para los nuevos subprocesos del grupo de subprocesos especificado. |
Las siguientes funciones nuevas se usan con UMS.
Función | Descripción |
---|---|
CreateUmsCompletionList |
Crea una lista de finalización de UMS. |
CreateUmsThreadContext |
Crea un contexto de subproceso de UMS para representar un subproceso de trabajo de UMS. |
DeleteUmsCompletionList |
Elimina la lista de finalización de UMS especificada. La lista debe estar vacía. |
DeleteUmsThreadContext |
Elimina el contexto de subproceso de UMS especificado. El subproceso debe terminarse. |
DequeueUmsCompletionListItems |
Recupera los subprocesos de trabajo de UMS de la lista de finalización de UMS especificada. |
EnterUmsSchedulingMode |
Convierte el subproceso que realiza la llamada en un subproceso del programador de UMS. |
ExecuteUmsThread |
Ejecuta el subproceso de trabajo de UMS especificado. |
GetCurrentUmsThread |
Devuelve el contexto de subproceso umS del subproceso de UMS que llama. |
GetNextUmsListItem |
Devuelve el siguiente contexto de subproceso de UMS en una lista de contextos de subprocesos de UMS. |
GetUmsCompletionListEvent |
Recupera un identificador del evento asociado a la lista de finalización de UMS especificada. |
QueryUmsThreadInformation |
Recupera información sobre el subproceso de trabajo de UMS especificado. |
SetUmsThreadInformation |
Establece información de contexto específica de la aplicación para el subproceso de trabajo de UMS especificado. |
UmsSchedulerProc |
Función de punto de entrada del programador de UMS definida por la aplicación asociada a una lista de finalización de UMS. |
UmsThreadYield |
Produce el control al subproceso del programador de UMS en el que se ejecuta el subproceso de trabajo de UMS que realiza la llamada. |
Nuevas estructuras
Estructura | Descripción |
---|---|
CACHE_RELATIONSHIP |
Describe los atributos de caché. |
GROUP_AFFINITY |
Contiene una afinidad específica del grupo de procesadores, como la afinidad de un subproceso. |
GROUP_RELATIONSHIP |
Contiene información sobre los grupos de procesadores. |
NUMA_NODE_RELATIONSHIP |
Contiene información sobre un nodo NUMA en un grupo de procesadores. |
PROCESSOR_GROUP_INFO |
Contiene el número y la afinidad de los procesadores de un grupo de procesadores. |
PROCESSOR_NUMBER |
Representa un procesador lógico en un grupo de procesadores. |
PROCESSOR_RELATIONSHIP |
Contiene información sobre la afinidad dentro de un grupo de procesadores. |
SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX |
Contiene información sobre las relaciones de los procesadores lógicos y el hardware relacionado. |
UMS_CREATE_THREAD_ATTRIBUTES |
Especifica los atributos de un subproceso de trabajo de UMS. |
UMS_SCHEDULER_STARTUP_INFO |
Especifica los atributos de un subproceso del programador de UMS. |