System Internals
The topics in this section describe system hardware, firmware, and driver design.
In this section
Topic | Description |
---|---|
Microsoft has implemented major enhancements in memory management for Windows Vista and Windows Server 2008. This paper describes the changes that Microsoft has implemented internally in the operating system and provides guidelines for application developers, driver writers, and hardware vendors to take advantage of these advances. |
|
In common-buffer DMA, the driver and the device share the same area of memory for data transfer. If your driver uses common-buffer DMA, allocating that common buffer requires only a call to AllocateCommonBuffer. Your driver doesn't need to allocate contiguous memory or translate physical to virtual addresses. In fact, it shouldn't. |
|
The 64-bit editions of the Microsoft Windows operating system support both workstation and server computers. Implementing hardware and firmware support for a 64-bit system requires special considerations that differ from 32-bit platform design. This topic describes the special considerations for firmware, hard disk partitions, and device drivers. This topic does not address processor-related issues. |
|
Impact of Session 0 Isolation on Services and Drivers in Windows |
Information about isolation of services in and exclusion of applications from Session 0 in Windows, with guidelines for modifying application services and driver services to run in Windows. |
Kernel patch protection in the x64-based versions of Microsoft Windows Server 2003 with Service Pack 1 (SP1), Microsoft Windows XP, and later versions of Microsoft Windows for x64-based systems protects code and critical structures in the Windows kernel from modification by unknown code or data. This topic answers frequently asked questions about kernel patch protection in Windows. |
|
This paper provides information about the procedure for submitting changes to the Machine.inf file for inclusion certain releases of the Windows operating system. It provides guidelines for device and chipset manufacturers to submit their updates to Microsoft. |
|
Information about allocating and using memory in kernel-mode drivers for the Windows family of operating systems |
|
Operating systems based on Microsoft Windows NT technologies have always provided applications with a flat 32-bit virtual address space that describes 4 gigabytes (GB) of virtual memory. The address space is usually split so that 2 GB of address space is directly accessible to the application and the other 2 GB is only accessible to the Windows executive software. The 32-bit versions of the Windows 2000 Advanced Server and Windows NT Server 4.0, Enterprise Edition, operating systems were the first versions of Windows to provide applications with a 3-GB flat virtual address space, with the kernel and executive components using only 1 GB. In response to customer requests, Microsoft has expanded the availability of this support to the 32-bit version of Windows XP Professional and all 32-bit versions of Windows Server 2003. |
|
Addressing physical memory above 4 GB requires more than the 32 bits of address offered by the standard operating mode of Intel (32-bit) processors. To this end, Intel introduced the 36-bit physical addressing mode called PAE, starting with the Intel Pentium Pro processor. This article describes some techniques that Microsoft Windows operating systems and several UNIX operating systems use to provide support to applications using PAE mode addressing. Because processes running in these environments have 32-bit pointers, the operating system must manage and present PAE's 36 bits of address in such a way that the applications can practically use it. The key question is: how does the operating system solve this problem? The performance, functionality, simplicity of programming, and reliability of how these issues are handled will determine the usefulness of the large memory support. |
|
PAE is an Intel-provided memory address extension that enables support of greater than 4 GB of physical memory for most 32-bit (IA-32) Intel Pentium Pro and later platforms. This article provides information to help device driver developers implement Windows drivers that support PAE. |
|
Information about changes to Windows services that were introduced in Windows Vista. |
|
Microsoft Windows supports numerous synchronization primitives, each of which has unique characteristics. In any situation, the best primitive to use depends on the operations that require synchronization. This paper summarizes the synchronization primitives available to kernel-mode drivers for the Microsoft Windows family of operating systems. |
|
Information for software developers about changes that some software requires to support more than 64 processors on the 64-bit versions of Windows 7. |
|
Suppose you're writing a driver for a device that contains several different kinds of sensors. You want to allow clients to open individual sensors and you want to give more than one client simultaneous access to a given sensor, but you want to avoid the complexity of writing a bus driver that exposes each sensor through Plug and Play. |
|
This hardware reference specification is for engineers who design watchdog timer hardware to operate with the Microsoft Windows Server 2003 operating system. |
Related topics
Topic | Description |
---|---|
Hardware Watchdog Timers Design Specification | This specification is for engineers who are designing watchdog timer (WDT) hardware that will operate with the Microsoft Windows hardware watchdog timer driver (hardware WDT driver). The hardware WDT driver provides basic watchdog support to a hardware timer exposed by the Microsoft hardware watchdog timer resource table (WDAT). The WDAT is a fixed resource table, defined by the Advanced Configuration and Power Interface (ACPI) Specification, Version 2.0. |
See also
Patching Policy for x64-Based Systems
Memory Management ( Windows ) - MSDN - Microsoft
PAE/NX/SSE2 Support Requirement Guide
Diagnosing memory problems on your computer
Windows ACPI design guide for SoC platforms
Acquiring high-resolution time stamps (Windows)
Peripheral Component Interconnect (PCI) Bus Drivers