be secured against unauthorized access. The operating system was designed for multiprocessor systems; it supports preemptive multitasking and can make use of threads to run multiple processes in parallel. Using symmetric multiprocessing, the processing usage is evenly distributed among all available processors. The inter-process communication in Windows NT 3.1 is designed around networks; two newly introduced functions, Remote Procedure Call (RPC) and Network DDE, an extension of Dynamic Data Exchange (DDE), facilitate the access and data exchange between processes running on different computers inside a network. The operating system is designed to combine certain elements of a monolithic kernel and a microkernel; nowadays this is most often referred to as a hybrid kernel. The hardware abstraction layer represents the lowermost layer and isolates the operating system from the underlying hardware to make it easy to port the operating system to other platforms. The kernel running atop only has very basic functions like interrupt management and processor synchronization. All other functions of the operating system core are handled by modules which operate independently from one another and can be swapped without affecting the rest of the operating system. Positioned above the operating system core are the subsystems. There are two types of subsystems: one are the integral subsystems, which perform important operating system functions. One such subsystem is the security subsystem, which handles the logon process and monitors the security of the system. The other type of subsystem is the environment subsystem, which exposes the operating system functions to applications via application programming interfaces. The base subsystem is the 32-bit subsystem which runs 32-bit applications written for Windows NT. Windows NT applications can only run on one platform, and must be recompiled for every platform. The 32-bit subsystem also contains all output functions, including the Graphics Device Interface (GDI), so all other subsystems have to call the 32-bit subsystem to be able to output text or graphics. Other subsystems contained in Windows NT 3.1 are the POSIX subsystem, which supports POSIX-compatible applications built for Windows NT, and, in the x86 version only, the OS/2 subsystem, which allows command-line based OS/2 1.x applications to run. The Virtual DOS Machine (VDM) is sometimes also viewed as a subsystem, but is, strictly speaking, a normal 32-bit Windows application. It manages applications originally built for DOS. Built on top is Windows on Windows (WoW), which allows applications built for 16-bit Windows operating systems like Windows