The operating system that was defeated by Windows and Linux more than 30 years ago is now open source!
Latest update time:2024-05-30
Reads:
▲
For more exciting content, please click on
the blue words
above
and follow us!
Recently, a netizen from EEWorld posted that MS-DOS 4.0, the Microsoft operating system that was once "killed" by Windows and Linux, has been open sourced, and the code has been published on GitHub (
https://github.com/microsoft/MS-DOS
) for everyone to study. Have you used it?
Original post address:
https://www.eeworld.com.cn/aebvvrT
36 years later, Microsoft makes MS-DOS 4.0 open source
It is estimated that many programmers nowadays don’t know about this system, or have only seen it in old textbooks.
MS-DOS, short for Microsoft Disk Operating System,
is an operating system developed by Microsoft. It was mainly used for personal computers and became one of the most popular operating systems from 1981 to the early 1990s. The history of MS-DOS is closely related to the development of early personal computers and has important historical significance.
Because the MS-DOS operating system is mainly written in assembly language, although it is an assembly of the 16-bit real mode era, it is still a valuable learning material for programmers, especially college students, to learn computers.
This time around, MS-DOS 4.0 was open source, thanks in large part to correspondence between former Microsoft CTO Ray Ozzie and a young British researcher named Connor (Starfrost) Hyde.
In response to this, Scott Hanselman, vice president of Microsoft's developer community, and Jeff Wilcox, head of Microsoft's open source project office, also released an announcement titled "Open Source MS-DOS 4.0" to introduce it.
The announcement noted that DOS version 4.0, by contrast, has a complex and fascinating history behind it, with Microsoft collaborating with IBM to develop some of the code, but also creating a DOS fork called "Multitasking DOS" (
MT-DOS
), which was not widely released.
Not long ago, the researcher Connor (Starfrost) Hyde and former Microsoft CTO Ray Ozzie discussed some of the software he had collected. Among the floppy disks, Ray Ozzie was surprised to find some unreleased DOS 4.0 beta binary files.
Based on this, researcher Starfrost contacted the Microsoft Open Source Program Office
(
OSPO
)
hoping that they would release the source code of DOS 4, as
he was researching and documenting the relationship between DOS 4, MT-DOS, and IBM's OS/2. Some later versions of these Multitasking DOS (MT-DOS) binaries can be found on the Internet, but these new Multitasking DOS beta binaries appear to be older, unreleased, and also include the ibmbio.com source code.
Armed with this information, Scott Hanselman, vice president of Microsoft's developer community, enlisted the help of Internet archivist and enthusiast Jeff Sponaugle to image the original disks and carefully scan the original printed documents in the "Ozzie Drop." Both Microsoft and IBM researchers thought this was a fascinating piece of operating system history worth sharing.
Later, Jeff Wilcox, head of Microsoft's open source project office, went to the Microsoft Archives, but they failed to find the complete source code of MT-DOS. Instead, they discovered MS-DOS 4.0, which led to today's open source.
"If you want to run the MS-DOS 4.0 software yourself and explore it, we have successfully run it directly on the original IBM PC XT, newer Pentium computers, and the open source PCem and 86box emulators," Microsoft said.
This isn't the first time Microsoft has released MS-DOS source code.
Ten years ago, Microsoft released the source code for MS-DOS 1.25 and 2.0 to the Computer History Museum, and then re-opened MS-DOS on GitHub in 2018 (
https://github.com/microsoft/MS-DOS
). This code holds an important place in history, and is of great research significance for an operating system that was written entirely in 8086 assembly code only 45 years ago.
Other DOS versions have been open sourced over the years. PC-MOS/386 is a multi-user MS-DOS clone from Norcross, Georgia-based The Software Link that was open sourced in 2017 (
https://github.com/roelandjansen/pcmos386v501
). It can run most standard DOS and 386 protected-mode applications.
Looking back at the history of DOS
In fact, the current MS-DOS 4.0 cannot be called a better DOS operating system. Looking back at the history of DOS development, this operating system has also caused great
controversy.
According to Xiaozaojun's article, in early 1975, MITS Computer Company launched the Altair 8800 microcomputer based on the Intel 8080 chip. This was the first PC (personal computer) in human history and was of great significance.
In 1976, Digital Research (DR) in the United States successfully developed an operating system called CP/M (Control Program/Monitor), which was specifically used for microcomputers equipped with 8080 chips (including Altair 8800).
Later, in 1980, IBM also secretly started its own PC project.
The project, named "Chess", was led by Don Estridge and aimed to develop a microcomputer product that was cheap enough to target the small business and home user market.
To find a suitable operating system for the new PC, they turned to Microsoft's Bill Gates.
There are two main reasons for looking for Bill Gates:
First, Microsoft had previously developed a Z-80 SoftCard product that allowed CP/M to run on the Apple II, so IBM thought Microsoft owned CP/M.
Second, Bill Gates' mother, Mary Maxwell Gates, worked with IBM CEO John Fellows Akers while serving as chairman of the executive board of the United Way, so she acted as a matchmaker.
After Bill Gates negotiated with the IBM team, he said that he did not own CP/M and suggested that they go directly to DR.
Because of the strict confidentiality agreement, when Bill Gates explained the matter to Gary Kildall, the head of DR, he did not directly point out that it was IBM that wanted to find them. Instead, he said: "Someone is here to see you. Treat them well, they are important people."
However, due to various reasons, DR and IBM did not reach an agreement and the two sides parted ways unhappily. (One theory is that IBM asked Gary to sign a strict confidentiality agreement as soon as they met, which made Gary very unhappy. Another theory is that DR wanted to sell the products in a package, while IBM wanted to buy them by license.)
Seeing this situation, Bill Gates felt that this was a huge business opportunity that must not be missed.
After some investigation, Bill Gates learned that a 24-year-old programmer named Tim Paterson at SCP (Seattle Computer Products) spent four months writing a QDOS system (Quick and Dirty Operating System, which was later changed to 86-DOS because the name was not good enough). This system was a variant of the CP/M system and seemed to meet IBM's needs.
At first, Bill Gates only spent 25,000 US dollars to buy the license for 86-DOS. Later, considering the huge commercial potential of IBM's project, Bill Gates directly paid 50,000 to 70,000 US dollars to buy out the copyright in one go.
In order to better transform 86-DOS, Bill Gates directly poached Tim Patterson and asked him to join Microsoft.
On July 27, 1981, Microsoft officially launched the MS-DOS system (MS stands for MicroSoft, and DOS stands for Disk Operating System).
You should know that before the emergence of Windows, DOS occupied an important position in the IBM PC compatible computer market for 15 years from 1981 to 1995.
Early 1980s: IBM plans to launch its first personal computer, the IBM PC. IBM initially does not have its own operating system, so it strikes a deal with Microsoft to provide an operating system. Microsoft does not have its own disk operating system at the time, so it buys one from another company, Seattle Computer Products, called 86-DOS, which was developed by Tim Paterson and was originally called QDOS (Quick and Dirty Operating System).
1981: Microsoft improves QDOS, renames it MS-DOS, and licenses it to IBM, which releases it with the IBM PC and names it PC-DOS.
MS-DOS is a command line interface operating system that requires users to type commands to perform operations. It supports basic file management, memory management, and program execution functions.
1980s: MS-DOS expanded rapidly with the popularity of IBM PC and became the dominant operating system on the market at that time. Microsoft subsequently launched several versions, gradually adding more features, such as advanced file system support, network functions and internationalization support.
1990s: MS-DOS begins to decline in importance with the rise of graphical user interfaces, especially Microsoft's own Windows operating system. Windows was originally
launched as a graphical interface program running on top of MS-DOS, but gradually evolved into a completely independent operating system.
MS-DOS 4.0 has been around for nearly 36 years since its first release in 1988. The open-source MS-DOS 4.0 project released by Microsoft this time is released under the MIT license, which includes source code, binary files, disk images, and documents
, and allows modification and release.
This history can be seen from the account of the young British researcher Starfrost mentioned above:
Microsoft was founded in 1975 by Bill Gates and Paul Allen to develop a BASIC interpreter for the MITS Altair 8800, one of the earliest personal computers. The initial version of the product was developed in 30 days and successfully demonstrated to the founder of MITS (known as the father of personal computers). I won't go into detail about what happened next.
Basically, within a few years Microsoft became the most popular developer of BASIC interpreters, with a ton of other products - a fairly successful tools and languages company, though they also sold various "SoftCards" to allow computers to run programs for other architectures, as the personal computer industry was far from standardized during this period.
By 1980, Microsoft was pulling in a few million dollars in revenue, but that was nothing compared to what was to come—the company’s real “big break” came in 1980. That’s when tech giant IBM drew up a contract to buy Microsoft’s perpetual rights to the MS-DOS operating system for its upcoming personal computers for a one-time payment of about $80,000. IBM also got the rights to Microsoft’s BASIC programming language, all of the company’s other languages, and some newly developed applications. Gates would have been smart to insist on royalties so his company could earn a small fortune on every personal computer IBM sold.
Through a series of contentious events, Gates "not so smartly" turned down the contract.
He insisted on licensing MS-DOS to anyone who needed it, and Microsoft paid a total of $75,000 for the acquisition of MS-DOS, of which $25,000 was for licensing and $50,000 was for direct purchase. Coupled with the open structure of the IBM PC, MS-DOS was almost immediately cloned and became the de facto standard for personal computers. This gave Microsoft an unlimited money-printing machine from OEM revenue, although this would not be apparent for several years.
It turned out to be an extremely lucky stroke of luck, combined with some shrewd business acumen, that ultimately made Microsoft one of the largest companies in the world and Bill Gates the richest man in the world for many years.
While MS-DOS made Microsoft a ton of money, the problem was that it was terrible, even by the standards of the time.
Since Tim Paterson hastily launched the QDOS system to meet urgent needs, QDOS literally means "quick and dirty operating system". Even by the limited standards at the time, the operating system lacked many basic functions, such as subdirectories, device drivers, hard disk support, and so on.
In 1983, Microsoft completely rewrote MS-DOS and released MS-DOS 2.0, which added many new features and allowed 160KB and 320KB floppy disks to become 180KB and 360K. The update was generally welcomed for adding much-needed features, but some criticized it for increasing memory usage.
However, as technology developed, users still needed more features. They wanted to do multiple things at the same time on the powerful new computers of the time, so they needed an operating system to achieve this, and MS-DOS, a single-task operating system, was simply not up to the task. In addition, since the release of MS-DOS 1.x, Microsoft has promised to expand MS-DOS in the future - multi-user, network, multi-tasking.
So, in January 1983, Microsoft brought together some of its best programmers to develop a new version of MS-DOS 3.0 (MS-DOS 2.5 was being developed simultaneously in the same code base as an interim version to add basic network redirector support for Microsoft and IBM network products) that would be a true multitasking operating system with a preemptive priority scheduler, multithreading, named pipes, sempahores, a session management user interface, and many other features.
However, writing an operating system that is compatible with the thousands of applications that have been written for a single-task environment is not easy. Starfrost analyzes this:
Many MS-DOS applications, due to API deficiencies, would do things like write directly to display memory - something that could not be done on a multitasking operating system, since the user could choose which application was displayed, and the "screen" could change at any time.
Since the new operating system will be preemptively multitasking, any application may be preempted by the operating system for context switching at any time; many DOS applications are not compatible with this. Applications will also write and read directly from peripheral devices, which can be fatal in a multitasking environment if the operating system is waiting for data from these devices.
Perhaps due to these complexities, MS-DOS 3.0 was quickly postponed for a long time. Later, MS-DOS 4.0 was further improved, even breaking the 640KB memory limit, supporting more than 32MB of hard disk space, and adding a directory interface that supports the mouse.
However, MS-DOS 4.0 was incompatible with many well-known programs, and some vulnerabilities could even cause user data to be destroyed.
In response, many users complained that popular programs at the time, such as WordPerfect 5.1, Lotus 1-2-3, and Doom, always had problems on MS-DOS 4.0. You might be doing a task, and suddenly, the program might be completely stuck. Before we all knew and hated the blue screen of death in Windows, MS-DOS 4.0 had already caused panic among PC users.
As for the reason, foreign media ZDNET said that this was mainly because MS-DOS 4.0 used 92KB of memory. But when high-end PCs only had 640K of memory at the time, this was a big deal, and MS-DOS 4.0 used more memory than any previous version of DOS.
Even this version's reputation plummeted so much that many developers using the DOS system avoided it, and Digital Research developed a DOS operating system called DR-DOS. Since its release, its version number was originally mimicked by the MS-DOS version number to show that the former would work the same as the latter. But when it came time to release DR-DOS 4.0, Digital Research named its new version DR-DOS 5.0 in 1989 to prevent anyone from thinking it had anything to do with MS-DOS 4.0.
So, even a year after DOS 4.0 was released, data from software retailer Egghead Software still showed that DOS 3.3 sales were twice that of DOS 4.0.
In fact, perhaps one of the reasons so many people were ready to try a new Unix-like operating system, Linux, in 1991 was that MS-DOS 4.0 annoyed so many users.
Later, Microsoft launched the Windows operating system, especially the release of Windows 95, which marked Microsoft's transition to the graphical user interface (GUI), leading to the demise of MS-DOS.
Although MS-DOS 4.0 was once controversial, its open source status still makes many operating system enthusiasts excited. As of now, this repository has received 26.2k stars and 3.6k forks
.
Interested netizens have already started studying the source code, and there are many highlights, such as this:
Source:
CSDN technology community and other network content