Windows Error Reporting
Windows Error Reporting is a crash reporting technology introduced by Microsoft with Windows XP and included in Windows versions and Windows Mobile 5.0 and 6.0. Not to be confused with the Dr. Watson debugging tool which left the memory dump on the user's local machine, Windows Error Reporting collects and offers to send post-error debug information using the Internet to the Microsoft or stops responding on a user's desktop. No data is sent without the user's consent; when a dump reaches the Microsoft server, it is analyzed and a solution is sent back to the user when one is available. Solutions are served using Windows Error Reporting Responses. Windows Error Reporting runs as a Windows service and can optionally be disabled. If Windows Error Reporting itself crashes an error report that the original crashed process produced cannot be sent at all. Kinshuman is the original designer of Windows Error Reporting in Vista, the same design and implementation, present in current Windows versions. Microsoft first introduced Windows Error Reporting with Windows XP.
Windows Error Reporting was improved in Windows Vista. Most a new set of public APIs have been created for reporting failures other than application crashes and hangs. Developers can customize the reporting user interface; the new APIs are documented in MSDN. The architecture of Windows Error Reporting has been revamped with a focus on reliability and user experience. WER can now report errors when the process is in a bad state for example if the process has encountered stack exhaustions, PEB/TEB corruptions, heap corruptions, etc. In earlier OSs prior to Windows Vista, the process terminated silently without generating an error report in these conditions. A new Control Panel applet, "Problem Reports and Solutions" was introduced, keeping a record of system and application errors and issues, as well as presenting probable solutions to problems; the Problem Reports and Solutions Control Panel applet was replaced by the Maintenance section of the Windows Action Center on Windows 7 and Server 2008 R2.
A new app, Problem Steps Recorder, is available on all builds of Windows 7 and enables the collection of the actions performed by a user while encountering a crash so that testers and developers can reproduce the situation for analysis and debugging. WER is a distributed system. Client-side software detects an error condition, generates an error report, labels the bucket, reports the error to the WER service; the WER service records the error occurrence and depending on information known about the particular error, might request additional data from the client, or direct the client to a solution. Programmers access the WER service to retrieve data for specific error reports and for statistics-based debugging. Errors collected by WER clients are sent to the WER service; the WER service employs 60 servers connected to a 65TB storage area network that stores the error report database and a 120TB storage area network that stores up to 6 months of raw CAB files. The service is provisioned to receive and process well over 100 million error reports per day, sufficient to survive correlated global events such as Internet worms.
In the Microsoft Windows Error Reporting system, crash reports are organized according to "buckets". Buckets classify issues by: Application Name, Application Version, Application Build Date, Module Name, Module Version, Module Build Date, OS Exception Code/System Error Code, Module Code Offset. Ideally, each bucket contains crash reports. However, there are two forms of weakness in the WER bucketing: weaknesses in the condensing heuristics, which result in mapping reports from a bug into too many buckets. For example, if you compile your application one more time without any changes Module Build Date will changes however and same crash will be placed to another bucket, and weaknesses in the expanding heuristics, which result in mapping more than one bug into the same bucket. For example, if two different bugs crash inside strlen function because they call it with corrupted string there will be only one bucket for both; this occurs because the bucket is generated on the Windows OS client without performing any symbol analysis on the memory dump.
The module, picked by the Windows Error Reporting client is the module at the top of the stack. Investigations of many reports result in a faulting module, different from the original bucket determination. Software & hardware manufacturers may access their error reports using Microsoft's Windows Dev Center Hardware and Desktop Dashboard program. In order to ensure that error reporting data only goes to the engineers responsible for the product, Microsoft requires that interested vendors obtain a VeriSign Class 3 Digital ID or DigiCert certificate. Digital certificates provided by cheaper providers are not accepted. Software and hardware manufacturers can close the loop with their customers by linking error signatures to Windows Error Reporting Responses; this allows distributing solutions as well as collecting extra information from customers and providing them with support links. Microsoft has reported that data collected from Windows Error Reporting has made a huge difference in the way software is developed internally.
For instance, in 2002, Steve Ballmer noted that error reports enabled the Windows team to fix 29% of all Windows XP errors with Windows XP SP1. Over half of all Microsoft Office
Windows 8 is a personal computer operating system, produced by Microsoft as part of the Windows NT family of operating systems. The operating system was released to manufacturing on August 1, 2012, with general availability on October 26, 2012. Windows 8 introduced major changes to the operating system's platform and user interface to improve its user experience on tablets, where Windows was now competing with mobile operating systems, including Android and iOS. In particular, these changes included a touch-optimized Windows shell based on Microsoft's "Metro" design language, the Start screen, a new platform for developing "apps" with an emphasis on touchscreen input, integration with online services, Windows Store, an online store for downloading and purchasing new software. Windows 8 added support for USB 3.0, Advanced Format hard drives, near field communications, cloud computing. Additional security features were introduced, such as built-in antivirus software, integration with Microsoft SmartScreen phishing filtering service and support for UEFI Secure Boot on supported devices with UEFI firmware, to prevent malware from infecting the boot process.
Windows 8 was released to a mixed critical reception. Although reaction towards its performance improvements, security enhancements, improved support for touchscreen devices was positive, the new user interface of the operating system was criticized for being confusing and difficult to learn when used with a keyboard and mouse instead of a touchscreen. Despite these shortcomings, 60 million Windows 8 licenses were sold through January 2013, a number that included both upgrades and sales to OEMs for new PCs. On October 17, 2013, Microsoft released Windows 8.1. It addressed some aspects of Windows 8 that were criticized by reviewers and early adopters and incorporated additional improvements to various aspects of the operating system. Windows 8 was succeeded by Windows 10 in July 2015. Microsoft stopped providing support and updates for Windows 8 RTM on January 12, 2016, per Microsoft lifecycle policies regarding service packs, Windows 8.1 must be installed to maintain support and receive further updates.
Windows 8 development started before Windows 7 had shipped in 2009. At the Consumer Electronics Show in January 2011, it was announced that the next version of Windows would add support for ARM system-on-chips alongside the existing x86 processors produced by vendors AMD and Intel. Windows division president Steven Sinofsky demonstrated an early build of the port on prototype devices, while Microsoft CEO Steve Ballmer announced the company's goal for Windows to be "everywhere on every kind of device without compromise." Details began to surface about a new application framework for Windows 8 codenamed "Jupiter", which would be used to make "immersive" applications using XAML that could be distributed via a new packaging system and a rumored application store. Three milestone releases of Windows 8 leaked to the general public. Milestone 1, Build 7850, was leaked on April 12, 2011, it was the first build where the text of a window was written centered instead of aligned to the left. It was probably the first appearance of the Metro-style font, its wallpaper had the text shhh... let's not leak our hard work.
However, its detailed build number reveals that the build was created on September 22, 2010. The leaked copy was Enterprise edition; the OS still reads as "Windows 7". Milestone 2, Build 7955, was leaked on April 25, 2011; the traditional Blue Screen of Death was replaced by a new black screen, although this was scrapped. This build introduced a new ribbon in Windows Explorer. Build 7959, with minor changes but the first 64-bit version was leaked on May 1, 2011; the "Windows 7" logo was temporarily replaced with text displaying "Microsoft Confidential". On June 17, 2011, build 7989 64-bit edition was leaked, it introduced a new boot screen featuring the same fish as the default Windows 7 Beta wallpaper, scrapped, the circling dots as featured in the final. It had the text Welcome below them, although this was scrapped. On June 1, 2011, Microsoft unveiled Windows 8's new user interface, as well as additional features at both Computex Taipei and the D9: All Things Digital conference in California; the "Building Windows 8" blog launched on August 15, 2011, featuring details surrounding Windows 8's features and its development process.
Microsoft unveiled more Windows 8 features and improvements on the first day of the Build conference on September 13, 2011. Microsoft released the first public beta build of Windows Developer Preview at the event. A Samsung tablet running the build was distributed to conference attendees; the build was released for download in the day in standard 32-bit and 64-bit versions, plus a special 64-bit version which included SDKs and developer tools for developing Metro-style apps. The Windows Store was not available in this build. According to Microsoft, there were about 535,000 downloads of the developer preview within the first 12 hours of its release. Set to expire on March 11, 2012, in February 2012 the Developer Preview's expiry date was changed to January 15, 2013. On February 19, 2012, Microsoft unveiled a new logo to be adopted for Windows 8. Designed by Pentagram partner Paula Scher, the Windows logo was changed to resemble a set of four window panes. Additionally, the entire logo is now rend
Microsoft Windows is a group of several graphical operating system families, all of which are developed and sold by Microsoft. Each family caters to a certain sector of the computing industry. Active Windows families include Windows Embedded. Defunct Windows families include Windows Mobile and Windows Phone. Microsoft introduced an operating environment named Windows on November 20, 1985, as a graphical operating system shell for MS-DOS in response to the growing interest in graphical user interfaces. Microsoft Windows came to dominate the world's personal computer market with over 90% market share, overtaking Mac OS, introduced in 1984. Apple came to see Windows as an unfair encroachment on their innovation in GUI development as implemented on products such as the Lisa and Macintosh. On PCs, Windows is still the most popular operating system. However, in 2014, Microsoft admitted losing the majority of the overall operating system market to Android, because of the massive growth in sales of Android smartphones.
In 2014, the number of Windows devices sold was less than 25 %. This comparison however may not be relevant, as the two operating systems traditionally target different platforms. Still, numbers for server use of Windows show one third market share, similar to that for end user use; as of October 2018, the most recent version of Windows for PCs, tablets and embedded devices is Windows 10. The most recent versions for server computers is Windows Server 2019. A specialized version of Windows runs on the Xbox One video game console. Microsoft, the developer of Windows, has registered several trademarks, each of which denote a family of Windows operating systems that target a specific sector of the computing industry; as of 2014, the following Windows families are being developed: Windows NT: Started as a family of operating systems with Windows NT 3.1, an operating system for server computers and workstations. It now consists of three operating system subfamilies that are released at the same time and share the same kernel: Windows: The operating system for mainstream personal computers and smartphones.
The latest version is Windows 10. The main competitor of this family is macOS by Apple for personal computers and Android for mobile devices. Windows Server: The operating system for server computers; the latest version is Windows Server 2019. Unlike its client sibling, it has adopted a strong naming scheme; the main competitor of this family is Linux. Windows PE: A lightweight version of its Windows sibling, meant to operate as a live operating system, used for installing Windows on bare-metal computers, recovery or troubleshooting purposes; the latest version is Windows PE 10. Windows IoT: Initially, Microsoft developed Windows CE as a general-purpose operating system for every device, too resource-limited to be called a full-fledged computer. However, Windows CE was renamed Windows Embedded Compact and was folded under Windows Compact trademark which consists of Windows Embedded Industry, Windows Embedded Professional, Windows Embedded Standard, Windows Embedded Handheld and Windows Embedded Automotive.
The following Windows families are no longer being developed: Windows 9x: An operating system that targeted consumers market. Discontinued because of suboptimal performance. Microsoft now caters to the consumer market with Windows NT. Windows Mobile: The predecessor to Windows Phone, it was a mobile phone operating system; the first version was called Pocket PC 2000. The last version is Windows Mobile 6.5. Windows Phone: An operating system sold only to manufacturers of smartphones; the first version was Windows Phone 7, followed by Windows Phone 8, the last version Windows Phone 8.1. It was succeeded by Windows 10 Mobile; the term Windows collectively describes any or all of several generations of Microsoft operating system products. These products are categorized as follows: The history of Windows dates back to 1981, when Microsoft started work on a program called "Interface Manager", it was announced in November 1983 under the name "Windows", but Windows 1.0 was not released until November 1985.
Windows 1.0 was to achieved little popularity. Windows 1.0 is not a complete operating system. The shell of Windows 1.0 is a program known as the MS-DOS Executive. Components included Calculator, Cardfile, Clipboard viewer, Control Panel, Paint, Reversi and Write. Windows 1.0 does not allow overlapping windows. Instead all windows are tiled. Only modal dialog boxes may appear over other windows. Microsoft sold as included Windows Development libraries with the C development environment, which included numerous windows samples. Windows 2.0 was released in December 1987, was more popular than its predecessor. It features several improvements to the user memory management. Windows 2.03 changed the OS from tiled windows to overlapping windows. The result of this change led to Apple Computer filing a suit against Microsoft alleging infringement on Apple's copyrights. Windows 2.0
X86-64 is the 64-bit version of the x86 instruction set. It introduces two new modes of operation, 64-bit mode and compatibility mode, along with a new 4-level paging mode. With 64-bit mode and the new paging mode, it supports vastly larger amounts of virtual memory and physical memory than is possible on its 32-bit predecessors, allowing programs to store larger amounts of data in memory. X86-64 expands general-purpose registers to 64-bit, as well extends the number of them from 8 to 16, provides numerous other enhancements. Floating point operations are supported via mandatory SSE2-like instructions, x87/MMX style registers are not used. In 64-bit mode, instructions are modified to support 64-bit addressing mode; the compatibility mode allows 16- and 32-bit user applications to run unmodified coexisting with 64-bit applications if the 64-bit operating system supports them. As the full x86 16-bit and 32-bit instruction sets remain implemented in hardware without any intervening emulation, these older executables can run with little or no performance penalty, while newer or modified applications can take advantage of new features of the processor design to achieve performance improvements.
A processor supporting x86-64 still powers on in real mode for full backward compatibility. The original specification, created by AMD and released in 2000, has been implemented by AMD, Intel and VIA; the AMD K8 processor was the first to implement it. This was the first significant addition to the x86 architecture designed by a company other than Intel. Intel was forced to follow suit and introduced a modified NetBurst family, software-compatible with AMD's specification. VIA Technologies introduced x86-64 with the VIA Nano; the x86-64 architecture is distinct from the Intel Itanium architecture, not compatible on the native instruction set level with the x86 architecture. Operating systems and applications written for one cannot be run on the other. AMD64 was created as an alternative to the radically different IA-64 architecture, designed by Intel and Hewlett Packard. Announced in 1999 while a full specification became available in August 2000, the AMD64 architecture was positioned by AMD from the beginning as an evolutionary way to add 64-bit computing capabilities to the existing x86 architecture, as opposed to Intel's approach of creating an new 64-bit architecture with IA-64.
The first AMD64-based processor, the Opteron, was released in April 2003. AMD's processors implementing the AMD64 architecture include Opteron, Athlon 64, Athlon 64 X2, Athlon 64 FX, Athlon II, Turion 64, Turion 64 X2, Phenom, Phenom II, FX, Fusion/APU and Ryzen/Epyc; the primary defining characteristic of AMD64 is the availability of 64-bit general-purpose processor registers, 64-bit integer arithmetic and logical operations, 64-bit virtual addresses. The designers took the opportunity to make other improvements as well; some of the most significant changes are described below. 64-bit integer capability All general-purpose registers are expanded from 32 bits to 64 bits, all arithmetic and logical operations, memory-to-register and register-to-memory operations, etc. can now operate directly on 64-bit integers. Pushes and pops on the stack default to 8-byte strides, pointers are 8 bytes wide. Additional registers In addition to increasing the size of the general-purpose registers, the number of named general-purpose registers is increased from eight in x86 to 16.
It is therefore possible to keep more local variables in registers rather than on the stack, to let registers hold accessed constants. AMD64 still has fewer registers than many RISC instruction sets or VLIW-like machines such as the IA-64. However, an AMD64 implementation may have far more internal registers than the number of architectural registers exposed by the instruction set. Additional XMM registers Similarly, the number of 128-bit XMM registers is increased from 8 to 16; the traditional x87 FPU register stack is not included in the register file size extension in 64-bit mode, compared with the XMM registers used by SSE2, which did get extended. The x87 register stack is not a simple register file although it does allow direct access to individual registers by low cost exchange operations. Larger virtual address space The AMD64 architecture defines a 64-bit virtual address format, of which the low-order 48 bits are used in current implementations; this allows up to 256 TB of virtual address space.
The architecture definition allows this limit to be raised in future implementations to the full 64 bits, exten
A Pocket PC known by Microsoft as a'Windows Mobile Classic device', was a kind of personal digital assistant that runs the Windows Mobile operating system. It has some of the abilities of modern desktop PCs; as of 2010, thousands of applications existed for handhelds adhering to the Microsoft Pocket PC specification, many of which were freeware. Some of these devices are mobile phones. Microsoft-compliant Pocket PCs can be used with many add-ons such as GPS receivers, barcode readers, RFID readers, cameras. In 2007, with the advent of Windows Mobile 6, Microsoft dropped the name Pocket PC in favor of a new naming scheme: Windows Mobile Classic: devices without an integrated phone; the Pocket PC was an evolution from prior calculator-sized computers. Keystroke-programmable calculators which could do simple business and scientific applications were available by the 1970s. In 1982, Hewlett Packard's HP-75 incorporated a 1-line text display, an alphanumeric keyboard, HP BASIC language and some basic PDA abilities.
The HP 95LX, HP 100LX and HP 200LX series packed a PC-compatible MS-DOS computer with graphics display and QWERTY keyboard into a palmtop format. The HP OmniGo 100 and 120 used a pen and graphics interface on DOS-based PC/GEOS, but was not sold in the United States; the HP 300LX built a palmtop computer on the Windows CE operating system, but not until the form factor and features of the Palm platform were adapted that it was named the Pocket PC. Prior to the release of Windows Mobile 2003, third-party software was developed using Microsoft's eMbedded Visual Tools, eMbedded Visual Basic and eMbedded Visual C. eVB programs can be converted easily to NS Basic/CE. Or to Basic4ppc. According to Microsoft, the Pocket PC is "a handheld device that enables users to store and retrieve e-mail, appointments, play multimedia files, exchange text messages with Windows Live Messenger, browse the Web, more." From a technical standpoint, "Pocket PC" is a Microsoft specification that sets various hardware and software requirements for mobile devices bearing the "Pocket PC" label.
For instance, any device, to be classified as a Pocket PC must: Run Microsoft's Windows Mobile, Pocket PC edition Come bundled with a specific suite of applications in ROMNote: the name Windows Mobile includes both the Windows CE operating system and a suite of basic applications along with a specified user interfaceInclude a touchscreen Include a directional pad or touchpad Include a set of hardware application buttons Be based on an ARM version 4 compatible CPU, Intel XScale CPU, MIPS CPU or SH3 CPU. The Pocket PC/Windows Mobile OS was superseded by Windows Phone on February 15, 2010 when the latter was announced at Mobile World Congress that year. No existing hardware was supported for a Windows Phone 7 upgrade. Additionally, not a single one of the thousands of apps available for Windows Mobile would run unaltered on Windows Phone; the first Windows Mobile 6.5 device was first shown on September 2009. Leaked ROMs surfaced in July 2009 for specific devices; the generic ROM images for Mobile 6.5 are available as part of the distributed and downloadable development kit.
Several phones running Windows Mobile 6.1 can be updated to Windows Mobile 6.5. Microsoft's Windows Mobile 6.1 was announced on April 1, 2008 and introduced instant messaging-like texting. Windows Mobile 6.1 was built upon Windows CE 5. Microsoft's Windows Mobile 6, internally code-named'Crossbow', was released by Microsoft on February 12, 2007. Mobile 6 was still based on Windows CE 5 and was just a face-lift of Windows Mobile 5. With Mobile 6 came Microsoft's new naming conventions and devices were no longer called Pocket PCs: devices with no phone abilities were named Windows Mobile Classic, devices with phone abilities were named Windows Mobile Professional. Windows Mobile 5 for Pocket PC was based on Windows CE 5 and contained many fixes and improvements over Windows Mobile 2003. Pocket PCs running prior versions of the operating system stored user-installed applications and data in RAM, which meant that if the battery was depleted the device would lose all of its data. Windows Mobile 5.0 solved this problem by storing all user data in persistent memory, leaving the RAM to be used only for running applications, as it would be on a desktop computer.
As a result, Windows Mobile 5.0 Pocket PCs had more flash memory, less RAM, compared to earlier devices. Windows Mobile 2003 consisted of the Windows CE. NET 4.2 operating system bundled with scaled-down versions of many popular desktop applications, including Microsoft Outlook, Internet Explorer, Excel, Windows Media Player, others. Windows Mobile 2003 Second Edition added native landscape, square screen and VGA support as well as other fixes and changes to those features present in the original release of Windows Mobile 2003. Pocket PC 2000 was launched April 2000, ran Windows CE 3.0. Pocket PC 2000 featured a mobile version of Microsoft Office, a chief feature being the ability to password-protect Excel files. Pocket PC 2002 was launched October 2001, was powered by Windows CE 3.0, as with its predecessor. Some Pocket PC 2002 devices were sold as "Phone Editions", which included cell phone functionality in addition to the PDA abilities. Before the Pocket PC brand was launched, there were other Windows-based machines of the same form factor made by HP, others called Palm-size
An operating system is system software that manages computer hardware and software resources and provides common services for computer programs. Time-sharing operating systems schedule tasks for efficient use of the system and may include accounting software for cost allocation of processor time, mass storage and other resources. For hardware functions such as input and output and memory allocation, the operating system acts as an intermediary between programs and the computer hardware, although the application code is executed directly by the hardware and makes system calls to an OS function or is interrupted by it. Operating systems are found on many devices that contain a computer – from cellular phones and video game consoles to web servers and supercomputers; the dominant desktop operating system is Microsoft Windows with a market share of around 82.74%. MacOS by Apple Inc. is in second place, the varieties of Linux are collectively in third place. In the mobile sector, use in 2017 is up to 70% of Google's Android and according to third quarter 2016 data, Android on smartphones is dominant with 87.5 percent and a growth rate 10.3 percent per year, followed by Apple's iOS with 12.1 percent and a per year decrease in market share of 5.2 percent, while other operating systems amount to just 0.3 percent.
Linux distributions are dominant in supercomputing sectors. Other specialized classes of operating systems, such as embedded and real-time systems, exist for many applications. A single-tasking system can only run one program at a time, while a multi-tasking operating system allows more than one program to be running in concurrency; this is achieved by time-sharing, where the available processor time is divided between multiple processes. These processes are each interrupted in time slices by a task-scheduling subsystem of the operating system. Multi-tasking may be characterized in co-operative types. In preemptive multitasking, the operating system slices the CPU time and dedicates a slot to each of the programs. Unix-like operating systems, such as Solaris and Linux—as well as non-Unix-like, such as AmigaOS—support preemptive multitasking. Cooperative multitasking is achieved by relying on each process to provide time to the other processes in a defined manner. 16-bit versions of Microsoft Windows used cooperative multi-tasking.
32-bit versions of both Windows NT and Win9x, used preemptive multi-tasking. Single-user operating systems have no facilities to distinguish users, but may allow multiple programs to run in tandem. A multi-user operating system extends the basic concept of multi-tasking with facilities that identify processes and resources, such as disk space, belonging to multiple users, the system permits multiple users to interact with the system at the same time. Time-sharing operating systems schedule tasks for efficient use of the system and may include accounting software for cost allocation of processor time, mass storage and other resources to multiple users. A distributed operating system manages a group of distinct computers and makes them appear to be a single computer; the development of networked computers that could be linked and communicate with each other gave rise to distributed computing. Distributed computations are carried out on more than one machine; when computers in a group work in cooperation, they form a distributed system.
In an OS, distributed and cloud computing context, templating refers to creating a single virtual machine image as a guest operating system saving it as a tool for multiple running virtual machines. The technique is used both in virtualization and cloud computing management, is common in large server warehouses. Embedded operating systems are designed to be used in embedded computer systems, they are designed to operate on small machines like PDAs with less autonomy. They are able to operate with a limited number of resources, they are compact and efficient by design. Windows CE and Minix 3 are some examples of embedded operating systems. A real-time operating system is an operating system that guarantees to process events or data by a specific moment in time. A real-time operating system may be single- or multi-tasking, but when multitasking, it uses specialized scheduling algorithms so that a deterministic nature of behavior is achieved. An event-driven system switches between tasks based on their priorities or external events while time-sharing operating systems switch tasks based on clock interrupts.
A library operating system is one in which the services that a typical operating system provides, such as networking, are provided in the form of libraries and composed with the application and configuration code to construct a unikernel: a specialized, single address space, machine image that can be deployed to cloud or embedded environments. Early computers were built to perform a series of single tasks, like a calculator. Basic operating system features were developed in the 1950s, such as resident monitor functions that could automatically run different programs in succession to speed up processing. Operating systems did not exist in their more complex forms until the early 1960s. Hardware features were added, that enabled use of runtime libraries and parallel processing; when personal computers became popular in the 1980s, operating systems were made for them similar in concept to those used on larger computers. In the 1940s, the earliest electronic digital systems had no operating systems.
Electronic systems of this time were programmed on rows of mechanical switches or by jumper wires on plug boards. These were special-purpose systems that, for example, generated ballistics tables for the military or controlled the pri
Microsoft Corporation is an American multinational technology company with headquarters in Redmond, Washington. It develops, licenses and sells computer software, consumer electronics, personal computers, related services, its best known software products are the Microsoft Windows line of operating systems, the Microsoft Office suite, the Internet Explorer and Edge web browsers. Its flagship hardware products are the Xbox video game consoles and the Microsoft Surface lineup of touchscreen personal computers; as of 2016, it is the world's largest software maker by revenue, one of the world's most valuable companies. The word "Microsoft" is a portmanteau of "microcomputer" and "software". Microsoft is ranked No. 30 in the 2018 Fortune 500 rankings of the largest United States corporations by total revenue. Microsoft was founded by Bill Gates and Paul Allen on April 4, 1975, to develop and sell BASIC interpreters for the Altair 8800, it rose to dominate the personal computer operating system market with MS-DOS in the mid-1980s, followed by Microsoft Windows.
The company's 1986 initial public offering, subsequent rise in its share price, created three billionaires and an estimated 12,000 millionaires among Microsoft employees. Since the 1990s, it has diversified from the operating system market and has made a number of corporate acquisitions, their largest being the acquisition of LinkedIn for $26.2 billion in December 2016, followed by their acquisition of Skype Technologies for $8.5 billion in May 2011. As of 2015, Microsoft is market-dominant in the IBM PC-compatible operating system market and the office software suite market, although it has lost the majority of the overall operating system market to Android; the company produces a wide range of other consumer and enterprise software for desktops and servers, including Internet search, the digital services market, mixed reality, cloud computing and software development. Steve Ballmer replaced Gates as CEO in 2000, envisioned a "devices and services" strategy; this began with the acquisition of Danger Inc. in 2008, entering the personal computer production market for the first time in June 2012 with the launch of the Microsoft Surface line of tablet computers.
Since Satya Nadella took over as CEO in 2014, the company has scaled back on hardware and has instead focused on cloud computing, a move that helped the company's shares reach its highest value since December 1999. In 2018, Microsoft surpassed Apple as the most valuable publicly traded company in the world after being dethroned by the tech giant in 2010. Childhood friends Bill Gates and Paul Allen sought to make a business utilizing their shared skills in computer programming. In 1972 they founded their first company, named Traf-O-Data, which sold a rudimentary computer to track and analyze automobile traffic data. While Gates enrolled at Harvard, Allen pursued a degree in computer science at Washington State University, though he dropped out of school to work at Honeywell; the January 1975 issue of Popular Electronics featured Micro Instrumentation and Telemetry Systems's Altair 8800 microcomputer, which inspired Allen to suggest that they could program a BASIC interpreter for the device. After a call from Gates claiming to have a working interpreter, MITS requested a demonstration.
Since they didn't yet have one, Allen worked on a simulator for the Altair while Gates developed the interpreter. Although they developed the interpreter on a simulator and not the actual device, it worked flawlessly when they demonstrated the interpreter to MITS in Albuquerque, New Mexico. MITS agreed to distribute it, marketing it as Altair BASIC. Gates and Allen established Microsoft on April 4, 1975, with Gates as the CEO; the original name of "Micro-Soft" was suggested by Allen. In August 1977 the company formed an agreement with ASCII Magazine in Japan, resulting in its first international office, "ASCII Microsoft". Microsoft moved to a new home in Bellevue, Washington in January 1979. Microsoft entered the operating system business in 1980 with its own version of Unix, called Xenix. However, it was MS-DOS. After negotiations with Digital Research failed, IBM awarded a contract to Microsoft in November 1980 to provide a version of the CP/M OS, set to be used in the upcoming IBM Personal Computer.
For this deal, Microsoft purchased a CP/M clone called 86-DOS from Seattle Computer Products, which it branded as MS-DOS, though IBM rebranded it to PC DOS. Following the release of the IBM PC in August 1981, Microsoft retained ownership of MS-DOS. Since IBM had copyrighted the IBM PC BIOS, other companies had to reverse engineer it in order for non-IBM hardware to run as IBM PC compatibles, but no such restriction applied to the operating systems. Due to various factors, such as MS-DOS's available software selection, Microsoft became the leading PC operating systems vendor; the company expanded into new markets with the release of the Microsoft Mouse in 1983, as well as with a publishing division named Microsoft Press. Paul Allen resigned from Microsoft in 1983 after developing Hodgkin's disease. Allen claimed that Gates wanted to dilute his share in the company when he was diagnosed with Hodgkin's disease because he didn't think he was working hard enough. After leaving Microsoft, Allen lost billions of dollars on ill-conceived or mistimed technology investments.
He invested in low-tech sectors, sports teams, commercial real estate. Despite having begun jointly developing a new operating system, OS/2, with IBM in