P

Packet

A chain of one or more buffers that composes a network message. A packet descriptor describes a packet.

packet descriptor

A data structure with both a public component and a private component. The visible public component contains, for instance, a pointer to a linked list of buffers, the number of physical buffers, and the length of the packet. If supported by the driver originating the packet descriptor, each packet descriptor has associated OOB data containing media-specific information, priority information and timestamps. A packet descriptor contains a network driver-reserved field that an NDIS driver uses to link packets into transmit and receive queues.

PCI (peripheral component interconnect)

A high speed bus.

PFN (page frame number)

Also, the database in which the Windows NT Memory Manager maintains information about every physical page in the system. Each PFN is an index for a physical page in the array of records that makes up the PFN database. See also PTE.

pool

A block of storage from which an NDIS 3.0 driver allocates buffer descriptors or packet descriptors.

POS (programmable option select)

POS indicates a type of register on an MCA netcard.

priority

An attribute of a thread that determines when and how often it is scheduled to run. For a running thread, its priority falls into either of two classes, each class with 16 levels:

    1. Variable priority class has values in the range 0 to 15. This class is used by most threads.

Threads with variable priority are always preemptible; that is, they are scheduled to run round-robin with other threads at the same level. In general, the kernel manages a variable-priority thread as follows: when the thread is interactive with a user, its priority is high (given a boost); otherwise, its priority decays by one level per quantum the thread runs until it reaches its original programmer-defined base level.

    2. Real-time priority class has values in the range 16 to 31. This class is used by time-critical threads, making such a thread preemptible only by a thread with higher priority. A thread running at the highest real-time priority level can be preempted by a special kernel APC if an APC_LEVEL interrupt occurs.

process object

A kernel-defined control object type, representing the virtual address space and control information necessary for the execution of a set of thread objects. A user-mode process object defines the base priority, default affinity, and directory table base value for its threads and for any child processes it creates. Every user-visible process object is implemented through the use of an embedded kernel-mode process object.

A kernel-mode-only process object must be initialized before any thread objects that belong to the process.

At any given moment, a process is either part of the balance set (Included) or not (Excluded). A kernel-mode process must remain in the balance set as long as any of its threads owns a mutex object. Each thread owning one or more mutexes continues to run until it releases its last mutex, when the thread is suspended. The process is not removed from the balance set until every thread has released all mutexes.

PTE (page table entry)

The Memory Manager uses a PTE to represent the state of a virtual page.