with peripheral chips that have a similar sequence of inputs for addressing a bank of registers. Linear addressing is rarely used alone (only when there are few devices on the bus, as using purely linear addressing for more than one device usually wastes a lot of address space) but instead is combined with one of the other methods to select a device or group of devices within which the linear addressing selects a single register or memory location. Port I/O via device drivers In Windows-based computers, memory can also be accessed via specific drivers such as DOLLx8KD which gives I/O access in 8-, 16- and 32-bit on most Windows platforms starting from Windows 95 up to Windows 7. Installing I/O port drivers will ensure memory access by activating the drivers with simple DLL calls allowing port I/O and when not needed, the driver can be closed to prevent unauthorized access to the I/O ports. Linux provides the utility to allow reading from and writing to MMIO addresses. The Linux kernel also allows tracing MMIO access from kernel modules (drivers) using the kernel's mmiotrace debug facility. To enable this, the Linux kernel should be compiled with the corresponding option enabled. mmiotrace is used for debugging closed-source device drivers. See also Programmed input–output mmap, not to be confused with memory-mapped I/O Memory-mapped file Early examples of computers with port-mapped I/O PDP-8 Nova PDP-11, an early example of a computer architecture using memory-mapped I/O Unibus, a memory and I/O bus used by the PDP-11 Input/output base address Bank switching Ralf Brown's Interrupt List Coprocessor Direct memory access Advanced Configuration and Power Interface (ACPI) References Input/output