User-Mode Driver Framework ( UMDF ) is a device-driver development platform first introduced with Microsoft 's Windows Vista operating system , and is also available for Windows XP . It facilitates the creation of drivers for certain classes of devices.
106-400: Standard device drivers can be difficult to write because they must handle a very wide range of system and device states, particularly in a multithreaded software environment. Badly written device drivers can cause severe damage to a system (e.g., BSoD or data corruption) since all standard drivers have high privileges when accessing the kernel directly. The User-Mode Driver Framework insulates
212-456: A MIPS OS box and SlickEdit for programming so that the firmware and editor both displayed white text on a blue background, making it for a more consistent programming experience. BSoDs originally showed silver text on a royal blue background with information about current memory values and register values. Starting with Windows Server 2012 (released in September 2012), Windows adopted
318-496: A Unicode typeface called Lucida Sans Unicode is shipped with Windows NT 3.1 even though it is not installed by default. The previous code pages are still supported for compatibility purposes. The Windows registry , introduced with Windows 3.1, is a central, hierarchical configuration database designed to allow configuration of computers over the network and to replace the commonly-used text-based configuration files, like INI files , AUTOEXEC.BAT and CONFIG.SYS . Using
424-495: A black screen of death instead of a blue one. Some versions of macOS (notably OS X Lion ) display a black screen of death instead of a kernel panic, usually pointed to a graphics card or sleep/wake issue. The Xbox series of consoles (which includes the original Xbox , Xbox 360 , Xbox One and the Xbox Series X/S ) also display a black screen upon hardware or software error. Beta versions of Windows 98 display
530-471: A cerulean background. Windows 11 initially used a black background but later switched to a dark blue background starting with build 22000.348. Preview builds of Windows 10, Windows 11, and Windows Server (available from the Windows Insider program) feature a dark green background instead of a blue one. Windows 3.1, 95, and 98 supports customizing the color of the screen whereas the color
636-665: A desktop environment familiar to Windows 3.1 users. Windows NT began as a rewrite of the OS/2 operating system, which Microsoft had co-developed with IBM in the 1980s. For several reasons, including the market success of Windows 3.0 in 1990, Microsoft decided to advance Windows rather than OS/2 and relinquished their OS/2 development responsibilities. By extending the Windows brand and beginning NT at version 3.1, like Windows 3.1 which had established brand recognition and market share , Microsoft implied that consumers should expect
742-508: A memory dump file when a stop error occurs. Depending on the OS version, there may be several formats this can be saved in, ranging from a 64kB "minidump" (introduced in Windows 2000) to a "complete dump" which is effectively a copy of the entire contents of physical memory ( RAM ). The resulting memory dump file may be debugged later, using a kernel debugger . For Windows, WinDBG or KD debuggers from Debugging Tools for Windows are used. A debugger
848-489: A stop error ) is a critical error screen displayed by the Microsoft Windows operating systems. It indicates a system crash , in which the operating system reaches a critical condition where it can no longer operate safely. Possible issues that may cause a BSoD include hardware failures, an issue with or without a device driver, viruses , malware , and other factors. Blue error screens have existed since
954-689: A system design that was more portable than that of OS/2. To this end, Microsoft began by developing and testing their new operating system for a non- x86 processor: an emulated version of the Intel i860 . Alluding to the chip's codename, "N10", Microsoft codenamed their operating system NT OS/2 . DEC preemptively sued Microsoft, alleging that they stole code from MICA for use in the new operating system. In an out-of-court settlement, Microsoft agreed to make NT OS/2 compatible with DEC's Alpha processor . The development team originally estimated that development would be complete within 18 months. By April 1989,
1060-474: A 32-bit software development kit to selected developers in attendance. The demonstration was positively received; PC Magazine called Windows NT "the modern reinvention of the operating system", but at the same time claimed that it was unlikely that the promised backward compatibility would be kept for the final release. In March 1992, Microsoft also released Win32s , which would allow Windows 3.1 to have partial compatibility with Windows NT programs for
1166-457: A BSoD occurs when the system attempts to access the file " c:\con\con ", " c:\aux\aux ", or " c:\prn\prn " on the hard drive. This could be inserted on a website to crash visitors' machines as a prank. In reality, however, they are reserved device names for DOS systems; attempting to access them from Windows causes a crash, which in turn brings up said BSoD. Creating the aforementioned directories within Windows will also not work and may cause
SECTION 10
#17327804226431272-531: A CD-ROM drive. The Advanced Server edition requires an 80386 processor with 16 megabytes of memory and 90 megabytes of hard drive space. On RISC systems, 110 megabytes of hard drive space is needed. Windows NT 3.1 supports dual processor systems, while the Advanced Server edition supports up to four processors. Due to an error in the processor detection routine, Windows NT 3.1 cannot be installed on Pentium II or newer processors. Microsoft never fixed
1378-593: A Unix vendor. Manufacturers of microprocessors hoped to use the portability of the new operating system to increase their own sales, and thus ports of Windows NT were announced for various platforms, like the Sun SPARC architecture and the Clipper architecture . It was recognized that Windows NT would dominate the desktop market as soon as the hardware became powerful enough to run the operating system at an acceptable speed. Eight years later, Microsoft would unify
1484-656: A bus technology such as USB or FireWire . According to Microsoft, UMDF drivers are simpler to write and debug than kernel-mode drivers. However, UMDF would not be used for performance-intensive or highly stateful devices. The first version of the UMDF was shipped as part of Windows Media Player version 10 on 2004-10-12. Code-named "Crescent", it was designed to support the Media Transfer Protocol driver, and no public interfaces or documentation were provided for it. Later, Microsoft decided to turn UMDF into
1590-419: A device driver development platform. A UMDF Driver is a DLL based on Microsoft's Component Object Model (COM). However, UMDF does not use COM for loading, unloading, or controlling concurrency ; it only uses COM as a programming pattern , for example exploiting COM's IUnknown interface. At startup, UMDF calls DllGetClassObject to get a pointer to an IClassFactory interface in the driver and then uses
1696-420: A dozen significant sites had included other embellished or invented details in their stories, including incorrectly naming Chen as a Microsoft executive, treating Chen as an "official company spokesperson", and using unrelated images from Windows NT or Windows 95 as illustrations. In addition, he pointed out that a special mention for the worst single distortion belonged to BGR (Boy Genius Report), who "fabricated
1802-415: A familiar user experience . The name Windows NT ("New Technology") advertised that this was a re-engineered version of Windows. First publicly demonstrated at Comdex 1991, NT 3.1 was finally released in 1993, available in two editions: Windows NT 3.1 for workstations , and Windows NT 3.1 Advanced Server for servers . When Windows NT premiered, their sales were limited by high system requirements , and
1908-430: A general lack of 32-bit applications to take advantage of the OS's data processing capabilities. It sold about 300,000 copies before it was succeeded by Windows NT 3.5 in 1994. On December 31, 2000, Microsoft declared Windows NT 3.1 obsolete and stopped providing support and updates for the system. The origins of Windows NT date back to 1988, where Microsoft had a major foothold on the personal computer market due to
2014-558: A green screen. Windows 10 and later (and Windows Server 2016 and later) also display an orange screen when a driver incompatibility is present. Windows NT 3.1 Windows NT 3.1 is the first major release of the Windows NT operating system developed by Microsoft , released on July 27, 1993. It was the company's first 32-bit operating system, providing advantages over the constrictive 16-bit architecture of previous versions of Windows that relied on DOS , but retaining
2120-434: A lack of competition, and Microsoft failed to develop a product which could challenge NetWare's lead. Cutler hoped to gain additional customers with a reliable networking operating system. Bill Gates already dominated the market of desktop operating systems with MS-DOS and Windows and hoped to do the same in the networking market with Windows NT. He especially hoped to find a market in the emerging number of servers, while at
2226-427: A market share of 10% in the high end market, which amounted to one million copies. While Windows NT 3.1 uses the same graphical user interface as Windows 3.1, it was developed anew. The operating system is not DOS-based, but an independent 32-bit operating system; many concepts were taken from Cutler's previous operating system, VMS . The architecture of Windows NT takes some ideas of the client–server model , like
SECTION 20
#17327804226432332-470: A month later at COMDEX, a presentation focusing on third-party software for Windows NT was held. The final pre-release version of NT was released in March 1993, alongside the unveiling of the server version, LAN Manager for Windows NT . Although its stability and performance had improved, there were still fears that the OS could be released in an unfinished state or delayed further into 1993. By extending
2438-481: A red error screen raised by the Advanced Configuration and Power Interface (ACPI) when the host computer's BIOS encounters a problem. The bootloader of the first beta version of Windows Vista originally displayed a red screen background in the event of a boot failure. As mentioned earlier, the insider builds of Windows 10 and later, as well as Windows Server 2016 and later, display
2544-533: A scenario and posited it as real" in a rhetorical question to readers. He also found that several sources had conflated the creation of the BSoD with the fact that they occur, thus inverting cause and effect by implying that the invention of BSoDs caused fatal errors to occur instead of their actual, helpful function of giving the user information about a fatal error after the system has already become unrecoverable (such incorrect sources transitively blamed Ballmer for
2650-478: 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
2756-416: Is done due to compatibility reasons with applications which depend on this ability, like Schedule+ and Microsoft Mail , it also means that 16-bit Windows applications only run in cooperative multitasking . A faulty 16-bit Windows application is in this way able to cause all other 16-bit Windows applications (but not Windows NT itself) to crash. Windows NT 3.1 provides a boot manager called NTLDR which
2862-541: Is expressly not supported. Windows NT 3.1 supports an uninterruptible power supply . Windows NT 3.1 could be installed either by using the CD-ROM and a provided boot disk , or by utilizing a set of twenty-two 3.5" floppies (twenty-three floppies for Advanced Server ). Windows NT 3.1 could also be installed over the network. A coupon was included that made it possible to order a set of twenty-seven 5.25" floppies (or twenty-eight floppies for Advanced Server ). Compared to
2968-469: Is hard-coded in the Windows NT family . Windows 95, 98, and Me render their BSoDs in the 80×25 text mode with a 720×400 screen resolution. BSoDs in the Windows NT family initially used the 80×50 text mode with a 720×400 screen resolution, but changed to use the 640×480 screen resolution starting with Windows 2000 up to 7. Windows 2000 used its built-in kernel mode font, Windows XP, Vista, and 7 use
3074-424: Is installed, the required drivers are automatically transferred over the network, removing the need to manually install the drivers for every computer. The Remote Access Service (RAS) allows a client from outside the network to connect to the network using a modem , ISDN or X.25 and access its resources. While the workstation allows one RAS connection at a time, the server supports 64. Windows NT 3.1 supports
3180-485: Is loaded during the startup process of the operating system on x86-based computers. It allows a multiboot setup of multiple instances of Windows NT 3.1, as well as MS-DOS and OS/2 1.x. NTLDR is not used for the RISC versions because the RISC computers' firmware provides their own boot manager. Every user has to log on to the computer after Windows NT 3.1 is booted up by pressing the key combination Ctrl+Alt+Del and entering
3286-404: Is necessary to obtain a stack trace, and may be required to ascertain the true cause of the problem; as the information on-screen is limited and thus possibly misleading, it may hide the true source of the error. By default, Windows XP is configured to save only a 64kB minidump when it encounters a stop error, and to then automatically reboot the computer. Because this process happens very quickly,
User-Mode Driver Framework - Misplaced Pages Continue
3392-463: 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 3.1 to run. On x86 computers, the virtual DOS machine uses the virtual 8086 mode to run DOS applications directly, on RISC computers, an emulator licensed from Insignia Solutions
3498-429: Is unplanned, and the user is not given an opportunity to save their work. The text on the error screen contains the code of the error and its symbolic name (e.g. "0x0000001E, KMODE_EXCEPTION_NOT_HANDLED") along with four error-dependent values in parentheses that are there to help software engineers fix the problem that occurred. Depending on the error code, it may display the address where the problem occurred, along with
3604-460: Is used which emulates a 80286 processor. However, not all DOS and 16-bit Windows applications can be run on Windows NT 3.1 due to various limitations, one of them being the inability of applications to directly access the hardware. As well, VxD files sometimes needed by applications cannot be used with Windows NT 3.1. While pure DOS applications are run in separate memory spaces, 16-bit Windows applications have to share one memory space. While this
3710-697: The CreateInstance method of the IClassFactory interface to create an instance of the driver callback object. The driver object is an instance of the framework-provided IWDFDriver interface. The driver provides a set of callbacks via the IDriverEntry COM interface, which is the main entry point for driver customization. Blue Screen of Death The blue screen of death (also known as BSoD , blue screen error , blue screen , fatal error or bugcheck , and officially known as
3816-603: 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)
3922-454: The Internet . Microsoft terminated support for the operating system on December 31, 2000. Support for Windows NT 3.1 RTM (without a service pack) ended on January 8, 1994. Service Pack 1 support ended on April 24, 1994, and finally, Service Pack 2 support ended on January 29, 1995, only 1 year after general availability. Windows NT 3.1 was localized into various languages. Besides English, it
4028-540: The Lucida Console font, and Windows 8 and Windows Server 2012 used the Segoe UI font. BSoDs on Windows 8 and Windows Server 2012 are rendered in higher resolutions than previous versions of Windows, where it uses the highest screen resolution available on UEFI machines. On legacy BIOS machines, they use the 1024×768 resolution by default, but they can also be configured to use the highest resolution available (via
4134-786: The Windows 9x operating systems, incompatible DLLs or bugs in the operating system kernel could also cause BSoDs. Because of the instability and lack of memory protection in Windows 9x OSes, BSoDs were much more common. The Windows Embedded Compact (formerly known as Windows CE) line of embedded operating systems do not contain a Blue Screen of Death. On September 4, 2014, several online journals such as Business Insider , DailyTech , Engadget , Gizmodo , Lifehacker , Neowin , Softpedia , TechSpot , Boy Genius Report ( BGR ), The Register , and The Verge , as well as print and non-English sources like PC Authority and Austrian tech site FutureZone all attributed
4240-446: The Windows NT family, released in 1993), and later appeared on all Windows operating systems released afterwards. The error screens started with *** STOP: in its earlier iterations, hence it became known as a "stop error." BSoDs can be caused by poorly written device drivers or malfunctioning hardware, such as faulty memory , power supply issues, overheating of components, or hardware running beyond its specification limits. In
4346-620: The kernel panic featured within Linux (see below), it is used in the event of a boot failure. Stop errors are comparable to kernel panics in macOS , Linux , and other Unix-like systems, and to bugchecks in OpenVMS . ReactOS , an open-source operating system designed to achieve binary compatibility with Windows, implements a version of the Blue Screen of Death similar to that used in Windows NT operating systems. Windows 3.1 displays
User-Mode Driver Framework - Misplaced Pages Continue
4452-465: The replication service, files like logon scripts can be synchronized across all computers on the network. The Advanced Server supports the AppleTalk protocol to allow connections to Macintosh computers. Hard drives can be combined to RAIDs in Windows NT 3.1 Advanced Server, the supported configurations are RAID 0, RAID 1 and RAID 5. Windows NT 3.1, for the most part, comes with 32-bit versions of
4558-479: The ' highestmode ' parameter in Boot Configuration Data ). Windows 10 builds 14316 and up uses the same format as Windows 8, but has a QR code which leads to a Microsoft Support web page that tries to help users troubleshoot the issue step-by-step. This format was retained in Windows 11. In the Windows NT family of operating systems, the blue screen of death (referred to as " bug check " in
4664-443: The 1992 pre-release version of Windows NT 3.1 could not be run on the final version. This affected software such as Microsoft Visual C++ 1.0 and Microsoft Fortran PowerStation. RISC systems with Windows NT 3.1 had an even bigger disadvantage: even though they were more powerful than x86 systems, almost no 32-bit applications or drivers were ported to these platforms. 16-bit applications ran much slower under RISC systems because of
4770-476: The 80286 emulation compared to x86 systems which could run 16-bit applications natively, and DOS and 16-bit applications which depended on 386 calls could not be run at all on RISC systems. However, not all reception was negative; the multitasking capabilities of the operating system were rated positively, especially compared to Windows 3.1. Compared to the size of the operating system, the installation turned out to be very easy, even though installing from floppies
4876-474: The DEC Alpha version followed in September. Microsoft sold the workstation version for $ 495 , and the server version for $ 1,495 . Ostensibly, the server price was meant to be a promotional discount offered only during the first six months of sale, but they never raised the retail price to the listed one— $ 2,995 . 250 programmers wrote 5.6 million lines of code ; the development cost $ 150 million . In
4982-520: The NT OS/2 kernel could run inside the i860 emulator. However, the development team later determined that the i860 was unsuitable for the project. By December they had begun porting NT OS/2 to the MIPS R3000 processor instead, and completed the task in three months. Senior Microsoft executive Paul Maritz was targeting a release date in 1992, but the development schedule was uncertain. The company
5088-654: The OS was also to support networking, the POSIX standard, and a security platform compliant with the " Orange Book " standards; which would require the OS to be a multi-user system with a permission framework and the ability to audit security-related events. Both Microsoft and IBM wanted to market an operating system that appealed to corporate " enterprise software " customers. That meant greater security , reliability , processing power, and computer networking features. However, since Microsoft also wanted to capture market share from Unix on other computing platforms , they needed
5194-403: The OS/2 partnership. IBM would solely develop OS/2 2.0 (as was planned under the amended version) and all future versions, without any further involvement from Microsoft. In October 1991, Windows NT received its first public demonstration at COMDEX. In an effort to ensure software taking advantage of Windows NT was available upon its release (scheduled for late-1992), Microsoft also distributed
5300-410: The Windows software development kit and driver development kit documentation) occurs when the kernel or a driver running in kernel mode encounters an error from which it cannot recover. This is usually caused by an illegal operation being performed. The only safe action the operating system can take in this situation is to restart the computer . Because of this, data loss may occur since the restart
5406-415: The Windows brand and beginning NT at version 3.1, like Windows 3.1 which had established brand recognition and market share , Microsoft implied that consumers should expect a familiar user experience yet re-engineered. Windows NT 3.1 and Windows NT 3.1 Advanced Server (so numbered to associate them with Windows 3.1 ) were released on July 26, 1993. At first, only the x86 and MIPS versions shipped;
SECTION 50
#17327804226435512-487: The above in favor of the error name and a concise description. Windows 8 also added a sad emoticon, which is absent on Japanese versions or Server counterparts. The hexadecimal error code and parameters can still be found in the Windows Event Log or in memory dumps , however the "Fatal System Error" BSoDs (which have also changed since Windows Server 2012) had the hexadecimal error code "0xc000021a" in place of
5618-486: The blue screen may be seen only for an instant or not at all. Users have sometimes noted this as a random reboot rather than a traditional stop error, and are only aware of an issue after Windows reboots and displays a notification that it has recovered from a serious error. This happens only when the computer has a function called "Auto Restart" enabled, which can be disabled in the Control Panel which in turn shows
5724-519: The capabilities of Windows NT 3.1 were scarce, so users had to resort to the old 16-bit applications; however, these ran slower than on Windows 3.1. Estimates in November 1993 counted only 150 Windows NT applications. Common types of software, like office suites , were not available for Windows NT 3.1. During the development of the operating system, the API calls were changed so 32-bit applications built on
5830-486: The color of this screen from black to blue. It also displays a blue screen when the user presses the Ctrl+Alt+Delete key combination to bring up a rudimentary task manager , reserved for quitting any unresponsive programs if they are available. As with prior versions, Windows 3.x exits to DOS if an error condition is severe enough. The first Blue Screen of Death appeared in Windows NT 3.1 (the first version of
5936-760: The components featured in Windows 3.1 and Windows for Workgroups. However, it also included applications specifically aimed at the needs of Windows NT, like the User Manager, the Performance Monitor , the Disk Administrator, the Event Viewer and the Backup application. The Advanced Server contained further, server-specific administration tools. Because Windows NT 3.1 is not DOS-based, a new 32-bit command-line processor, called CMD.EXE
6042-486: The creation of the Blue Screen of Death to Steve Ballmer , Microsoft's former CEO . Their articles cited a blog post by Microsoft employee Raymond Chen entitled "Who wrote the text for the Ctrl+Alt+Del dialog in Windows 3.1?", specifically focusing on the creation of the first rudimentary task manager in Windows 3.x. This aforementioned task manager shared some visual similarities with a BSOD, with Ballmer writing
6148-440: The crowd and Gates replied (after a nervous pause): "That must be why we're not shipping Windows 98 yet." systemd , a software suite providing system components for Linux operating systems, implements a blue screen of death similar to that of Microsoft Windows using a systemd unit called systemd-bsod since August 2023, which was fully added on December 6, 2023 starting with version 255 of systemd. While it does not fully replace
6254-422: The driver which is loaded at that address. Under Windows NT, the second and third sections of the screen may contain information on all loaded drivers and a stack dump, respectively. The driver information is in three columns; the first lists the base address of the driver, the second lists the driver's creation date (as a Unix timestamp ), and the third lists the name of the driver. By default, Windows will create
6360-421: The error name. Since Windows 10 build 14316, the screen features a QR code for quick troubleshooting, and from Windows 10 v2004 onwards, the references to "PC" are changed to "device". The Windows 9x line of operating systems used the Blue Screen of Death as the main way for virtual device drivers to report errors to the user. This version of the BSoD, internally referred to as " _VWIN32_FaultPopup ", gives
6466-412: The error number and its nature, all, some, or even none of the parameters contain data pertaining to what went wrong, and/or where it happened. In addition, the error screens showed four paragraphs of general explanation and advice and may have included other technical data such the file name of the culprit and memory addresses. With the release of Windows Server 2012, the BSoD was changed, removing all of
SECTION 60
#17327804226436572-459: The existence of all fatal crashes in Windows). Chen then followed this up with a blog post a day after his initial complaint, claiming responsibility for revising the BSoD in Windows 95 . In his post, Chen said in detail that he was the one who "sort of" created the BSoD in its first modern incarnation in Windows 95. The Blue Screen of Death (also known as a Stop error) in the Windows NT family
6678-523: The fact that the operating systems were incompatible with each other at the API level), while Microsoft's resources were also being drained by the simultaneous development of multiple operating systems. In August 1990, as a response to the popularity of Windows 3.0, the NT OS/2 team decided to re-work the operating system to use an extended 32-bit port of the Windows API known as Win32. Win32 maintained
6784-411: The familiar structure of the 16-bit APIs used by Windows, which would allow developers to easily adapt their software for the new platform while maintaining a level of compatibility with existing software for Windows. With the shift to a Windows-like architecture, the operating system's shell was also changed from OS/2's Presentation Manager to Windows' Program Manager . Due to these changes, NT
6890-405: The first beta release of Windows 1.0 ; if Windows found a different DOS version than it expected, the error message "Incorrect DOS version" alongside other text messages detailing what check failed to pass would be appended to the boot screen before starting normally. This function still exists in the final release (version 1.01); however, due to the remaining detailed text messages being removed,
6996-496: The floppies, the CD-ROM contained additional drivers and applications. Windows NT 3.1 supports multiple platforms: Aside from the x86 architecture, it runs on computers with DEC Alpha or MIPS ( R4000 and R4400 ) processors. Minimum system requirements on x86 systems include a 25 MHz 80386 processor, at least 12 megabytes of memory, 75 megabytes of hard drive space, and a VGA graphics card. RISC systems require 16 megabytes of memory, 92 megabytes of hard drive space, and
7102-427: The kernel from the problems of direct driver access, instead providing a new class of driver with a dedicated application programming interface at the user level of interrupts and memory management. If an error occurs, the new framework allows for an immediate driver restart without impacting the system. This is particularly useful for devices that are intermittently connected to the system or support hot swapping via
7208-418: The last year of development, the team fixed more than 30,000 bugs. During the product's lifecycle, Microsoft published three service packs : Service Pack 1 was released on October 8, 1993; Service Pack 2 followed on January 24, 1994; and Service Pack 3's release date was October 29, 1994. The service packs were distributed on CD-ROM and floppy disk, and also through bulletin board systems , CompuServe , and
7314-450: The latter). The most common BSoD is displayed on an 80×25 text-mode screen, which is the operating system's way of reporting an interrupt caused by a processor exception; it is a more serious form of the general protection fault dialog boxes. The memory address of the error is given and the error type is a hexadecimal number from 00 to 11 (0 to 17 decimal). The error codes are as follows: Reasons for BSoDs include: In Windows 95 and 98,
7420-487: 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
7526-424: The messages that appeared on the screen. Chen complained about this widespread mistake in a follow-up post on September 9, 2014. In his blog post, he was scathing on his evaluation of major tech news sites that had picked up on the incorrect story and performed poor or non-existent research that demonstrated complete ignorance of his original account. He indicated that, in addition to the faulty base story, over half
7632-497: The modular structure and the communication between the modules. System resources like memory, files or devices are viewed as objects by the operating system, which are all accessed in the same way through handles and which can in this way 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 ,
7738-461: The new NTFS file system. This new file system is more robust against hardware failures and allows assignment of read and write rights to users or groups on the file system level. NTFS supports long file names and has features to accommodate POSIX applications like hard links . For compatibility reasons, Windows NT 3.1 also supports FAT16 as well as OS/2's file system HPFS , but does not support long file names on FAT file system ( VFAT ). This
7844-564: The new operating system; Cutler left DEC after the cancellation of the PRISM architecture and its MICA operating system, and agreed to join Microsoft on the condition that he be able to bring a number of staff members from his team at DEC with him. Cutler arrived at Microsoft in October 1988, and began working on the development of the operating system in November. The operating system
7950-415: 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
8056-422: The operating system to a new architecture. The second goal was reliability : The system should no longer crash due to a faulty application or faulty hardware. This way, the operating system should be made attractive for critical applications. To meet this goal, the architecture of Windows NT was designed so that the operating system core was isolated and applications could not access it directly. The kernel
8162-619: The operating systems, including the operating system core, had to be written in the C programming language . During the planning phase it was clear that this would cause Windows NT to have higher memory consumption than all previous operating systems. Besides the graphics system and parts of the networking system, which were written in C++ , only parts of the operating systems which required direct hardware access and performance critical functions were written in assembly language . These parts were isolated so that they could easily be rewritten when porting
8268-410: The problem often requires using the repair tools found on the Windows installation disc. Before Windows Server 2012 , each BSoD displayed an error name in uppercase (e.g. APC_INDEX_MISMATCH), a hexadecimal error number (e.g. 0x00000001) and four parameters. The last two are shown together in the following format: error code (parameter 1, parameter 2, parameter 3, parameter 4) error name Depending on
8374-424: The problem, but unofficial patches are available. Windows NT 3.1 sold about 300,000 copies in its first year. The hardware requirements were deemed to be very high at that time; the recommended system requirements of a 486 processor with 16 megabytes of memory were well above the average computer's configuration, and the operating system turned out to be too slow to use. 32-bit applications which could have used
8480-416: 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
8586-463: The purposes of developing software optimized for the platform. At Microsoft's Win32 Professional Developers Conference in June 1992, Windows NT was demonstrated running on x86 and MIPS processors, while a beta version of Windows NT and an updated development kit were also made available. Concurrently, Microsoft announced a new version of its SQL Server product for Windows NT; Unix vendors feared that
8692-513: The same BSOD to occur. On March 16, 2000, Microsoft released a security update to resolve this issue. One famous instance of a Windows 9x BSoD occurred during a presentation of a Windows 98 beta given by Bill Gates at COMDEX on April 20, 1998: The demo PC crashed with a BSoD when his assistant, Chris Capossela , connected a scanner to the PC to demonstrate Windows 98's support for Plug and Play devices. This event brought thunderous applause from
8798-432: The same time he did not expect a success in the desktop market until 1995. Therefore, Windows NT was positioned as a high-end operating system in an interview with the product manager David Thacher. It was not designed to replace Windows 3.1 completely, but it should rather supplement Microsoft's product palette with an operating system for critical applications. The expectations were 10% to 20% among all Windows sales and
8904-439: The screen mostly prints out random characters instead. This is not a crash screen, however; upon crashing, Windows 1.0 would simply lock up or exit to DOS. This behavior is also present in Windows 2.0 and Windows 2.1 . Windows 3.0 uses a text-mode screen for displaying important system messages, usually from digital device drivers in 386 Enhanced Mode or other situations where a program could not run. Windows 3.1 changed
9010-534: The software could be a killer app that would affect the market share of Unix systems. Concerns were also raised over NT's memory usage; while most computers of the era shipped with 4 megabytes of RAM , 16 MB was recommended for NTs. Due to the high cost of RAM at the time, critics thought that its high system requirements could affect the sales and adoption of Windows NT. Steps were taken to reduce its memory usage through methods such as paging . Microsoft began releasing public beta builds of NT in October 1992, and
9116-446: The source of the problem. A BSoD can also be caused by a critical boot loader error, where the operating system is unable to access the boot partition due to incorrect storage drivers, a damaged file system or similar problems. The error code in this situation is STOP: 0x0000007B (INACCESSIBLE_BOOT_DEVICE). In such cases, there is no memory dump saved. Since the system is unable to boot from the hard drive in this situation, correction of
9222-410: The stop error. Microsoft Windows can also be configured to send live debugging information to a kernel debugger running on a separate computer . If a stop error is encountered while a live kernel debugger is attached to the system, Windows will halt execution and cause the debugger to break in, rather than displaying the BSoD. The debugger can then be used to examine the contents of memory and determine
9328-523: The then-new Unicode standard, a character set which allows multiple languages to be displayed. This facilitates localization of the operating system. All strings, as well as file and folder names, are internally processed in Unicode, but the included programs, like the File Manager , are not Unicode aware, so folders containing Unicode characters cannot be accessed. For demonstration purposes,
9434-483: The undocumented registry editor, the Windows registry can be viewed and edited by the user. The Advanced Server is designed to manage the workstation computers. It can function as a Domain controller , where all users and groups as well as their rights are stored. This way, a user can log on from any computer in the network, and users can be managed centrally on the server. Trust relationships can be built to other domains to be able to exchange data cross-domain. Using
9540-471: The use of its MS-DOS as the operating system of IBM PC compatibles . Nathan Myhrvold , who had joined Microsoft after its acquisition of Dynamical Systems Research, identified two major threats to Microsoft's monopoly— RISC architectures, which proved to be more powerful than the equivalent Intel processors that MS-DOS ran on, and Unix , a family of cross-platform multitasking operating systems with support for multiprocessing and networking . While
9646-513: The user name and password. All users have their own user account , and user-specific settings like the Program Manager groups are stored separately for every user. Users can be assigned specific rights, like the right to change the system time or the right to shut down the computer. To facilitate management of user accounts, it is also possible to group multiple user accounts and assign rights to groups of users. Windows NT 3.1 introduced
9752-455: The user the option either to restart the computer or to continue using Windows, allowing the user to save their work before any data could be lost. Depending on the type of situation it may have occurred, however, the options to either continue or restart may or may not work at all. This is in contrast to the Windows NT version of BSoDs, which prevented the user from using the computer until it has been powered off or restarted (usually automatic for
9858-550: The widespread use of Unix was hindered by the need to adapt programs for each individual variant, Bill Gates believed that the combination of a Unix-like operating system with RISC processors could be a market threat, prompting the need for Microsoft to develop a "Unix killer" that could run on multiple architectures. Myhrvold wanted to develop a new system that would run on RISC workstations and Intel chips and multiprocessing computers. Gates had also hired Dave Cutler from Digital Equipment Corporation to assist in developing
9964-423: Was a very time-consuming task. The Advanced Server , intended to be the successor to the unsuccessful LAN Manager product, was technically much superior to its predecessor, and only failed to gain success because it shared the same problems with its workstation pendant, such as the low performance running 16-bit applications. The Advanced Server provided a financial advantage for large networks because its price
10070-521: Was added in Windows NT 3.5. Designed as a networking operating system, Windows NT 3.1 supports multiple network protocols . Besides IPX/SPX and NetBEUI , the TCP/IP protocol is supported allowing access to the Internet. Similar to Windows for Workgroups , files and printers can be shared and the access rights and configuration of these resources can be edited over the network. When a network printer
10176-449: Was applied to Windows NT. Despite all these goals, the performance of the operating system was optimized where possible, by adapting critical sections of the code to fast execution speed. To improve networking performance, large parts of the networking system were moved to the operating system core. Windows NT was designed as a networking operating system. In this branch, Novell had a lead with its product NetWare , mostly because of
10282-579: Was available in Dutch, French, German, Japanese, Spanish and Swedish. The version for workstations, but not Windows NT 3.1 Server, was additionally available in Danish, Finnish, Italian, Norwegian and Portuguese. Cutler set three main goals for Windows NT. The first goal was portability: in contrast to previous operating systems, which were strongly tied to one architecture, Windows NT should be able to operate on multiple architectures. To meet this goal, most of
10388-464: Was available. For the Advanced Server , only their own client, the Macintosh and, if only limited, OS/2 were able to connect to the server. Even though the operating system's actual success was only moderate, it had a huge lasting impact. Developers of Unix derivations for the first time strived to standardize their operating systems, and Novell was so concerned about its market share that it bought
10494-502: Was designed as a microkernel and components of the core were to run atop the kernel in a modular fashion; Cutler knew this principle from his work at Digital. Reliability also includes security, and the operating system should be able to resist external attacks. Mainframes already had a system where every user had their own account which was assigned specific rights by the administrator , this way, users could be prevented access to confidential documents. A virtual memory management
10600-534: Was designed to thwart attacks by malware and prevent users from accessing foreign areas of memory. The third goal was called personality : The operating system should be able to run applications designed for various operating systems, such as Windows , MS-DOS and OS/2 applications. The Mach kernel followed a similar concept by moving the APIs to components which operated in user mode as applications, these could be changed and new ones could be added. This principle
10706-654: Was eager to silence naysayers who speculated that NT wouldn't be on the market until 1994, and had planned to present the new OS at COMDEX in 1990. In May 1990, Microsoft released Windows 3.0 , a new version of its MS-DOS-based Windows desktop environment . Windows 3.0 sold well, and the resulting shift in Microsoft's marketing strategy eroded their partnership with IBM—who wanted Microsoft to concentrate solely on developing OS/2 as its primary platform as opposed to building their future business around Windows. Users and developers were unsure of whether to adopt Windows or OS/2 due to these uncertainties (a situation magnified by
10812-417: Was first developed as a revised version of OS/2 , an operating system Microsoft had jointly developed with IBM . While OS/2 was originally intended to succeed MS-DOS, it had yet to be commercially successful. The OS was to be designed so it could be ported to different processor platforms, and support multiprocessor systems, which few operating systems did at that time. To target the enterprise market,
10918-550: Was included which was compatible with MS-DOS 5.0. For compatibility reasons, Windows NT 3.1 shipped with a few 16-bit applications, like Microsoft Write or EDLIN . Windows NT 3.1, being an all-new operating system for which no previous drivers could be used, includes a wealth of drivers for various common components and peripherals. This includes common SCSI devices like hard drives, CD-ROM drives, tape drives and image scanners , as well as ISA devices like graphics cards, sound cards and network cards. The PCI bus , however,
11024-400: Was not based on the rudimentary task manager screen of Windows 3.x and was actually designed by Microsoft developer John Vert, according to former Microsoft employee Dave Plummer . Additionally, Vert has also stated the reason why Stop error screens were assigned the color blue was because the universal color palette of the video hardware at that time was very rudimentary and he personally used
11130-640: Was not dependent on the number of clients, unlike its competitor Novell NetWare. With Windows NT, Microsoft entered a market it could not previously address and which was mostly dominated by Unix, Novell NetWare and OS/2. A test performed by the InfoWorld magazine in November 1993, where the networking capabilities of several operating systems were tested, showed that Windows NT 3.1 was seriously lacking in inter-client communication: it could only connect to its own server via NetBEUI ; attempts to connect to Unix, NetWare and OS/2 all failed because no client software
11236-494: Was not presented at COMDEX 1990 as was originally planned. Neither the general public nor IBM knew about the transformation of NT OS/2 into Windows NT at the time. Although the companies did agree to a revised partnership where IBM and Microsoft would alternate developing major versions of OS/2 instead of collaborating on each version, IBM eventually learned of Microsoft's Windows NT plans in January 1991, and immediately ended
#642357