The first computer has no operating system. This is because the early computer was built in a way (just like building a mechanical abacus), and its performance was not enough to execute such a program.
But in 1947, the transistor was invented, and the microprogramming method invented by maurice wilkes made the computer not a mechanical device, but an electronic product. System management tools and programs to simplify the hardware operation flow soon appeared and became the origin of operating system.
By the early 1960s, commercial computer manufacturers had made batch processing systems, which could serialize the construction, scheduling and execution of jobs. At this time, manufacturers create different operating systems for each computer with different models, so programs written for one computer cannot be transplanted to other computers, even computers with the same model.
1964, IBM introduced a series of large-scale computers, IBM System/360, which are the classics of mainframes with different uses and prices. And they all share the operating system codenamed OS/360 (instead of using a tailor-made operating system for every product). Making a single operating system suitable for the whole series of products is the key to the success of System/360, but in fact, IBM's current large-scale system is the offspring of this system; Applications written for System/360 can still be executed on modern IBM machines!
OS/360 also includes another advantage: the appearance of permanent storage device-hard disk drive (IBM called DASD (Direct Access Storage Device)). Another key is the establishment of time-sharing concept: the precious time resources of large computers are reasonably distributed to all users. Time sharing also gives users the feeling of monopolizing the whole machine; The time-sharing system of Multics is the most successful one among many new operating systems at this time.
1963, Singularity cooperated with Bell Laboratories to establish Multics in PL/I language, which was the inspiration for the establishment of many operating systems in the 1970s, especially AT & amp; The Unix system established by dennis ritchie and ken thompson of T Bell Laboratories was rewritten in C language in 1969 in order to practice the portability of the platform. Another small computer operating system widely used in the market is VMS.
The 1980s
Unlike large computers or small computers, the first generation of microcomputers did not have the need or ability to install operating systems. They only need the most basic operating system, usually reading from rom. This program is called a monitor.
In the1980s, home computers became popular. Usually computers at this time are 8-bit processors plus 64KB of memory, screens, keyboards and low-quality speakers. In the early 1980s, the most famous computer suite was Commodore C64 with microprocessor 6510 (special edition of 6502 chip). This computer has no operating system. Instead, it initializes the color screen, keyboard, floppy disk drive and printer with the 8KB ROM BIOS. You can directly operate the BIOS of 8KB read-only memory in BASIC language, and write programs on this basis, mostly games. The interpreter of this basic language can barely be regarded as the operating system of this pc, and of course there is no kernel or software and hardware protection mechanism. Most games on this pc skip the BIOS and control the hardware directly.
Abstract architecture of home computer C64
Simple application of machine language (game direct operation)
8k basic read-only memory
8k ROM-BIOS
Hardware (CPU, storage devices, etc. )
The most famous disk boot operating system in the early days was CP/M, which supported many early microcomputers and was copied by MS-DOS.
The architecture of the earliest IBM PC was similar to C64. Of course, they also use BIOS to initialize and abstract hardware operations, and even attach a basic interpreter! But the reason why its BASIC is superior to other companies' products is that it is portable and can be compatible with any machine that conforms to the IBM PC architecture. Such a PC can be addressed by an Intel-8088 processor (16-bit register), and it can have up to 1MB of memory, but initially only 640KB. Floppy drives have replaced the tape drives in the past and become a new generation of storage devices, which can read and write in its 5 12KB space. In order to support the further concept of file reading and writing, the disk operating system (DOS) was born. This operating system can merge any number of sectors, so it can put any number and size of files on the disk. Documents are distinguished by their file names. IBM doesn't care much about its DOS, so it gets its operating system by buying it from an outside company.
1980, Microsoft obtained the contract with IBM by deception, and obtained the operating system produced by a company. After modification, it is produced in the name of MS-DOS, allowing the program to directly operate BIOS and file system. It was not until the era of Intel-80286 processor that basic storage device protection measures were implemented. The architecture of MS-DOS is not enough to meet all the requirements, because it can only execute one program at the same time at most (if you want to execute a process at the same time, you can only use TSR to skip the OS and let the program handle the multi-task part by itself), and there is no memory protection measure. The support for the driver is not complete enough, which leads to the situation that the audio equipment must be set by the program itself, and there are many incompatible situations. Some operations also performed badly. Therefore, many applications skip the service program of MS-DOS and access the hardware devices directly to get better performance. Even so, MS-DOS has become the most commonly used operating system on IBM PC (IBM itself has introduced DOS, which is called IBM-DOS or PC-DOS). The success of MS-DOS makes Microsoft one of the most profitable companies in the world.
Abstract architecture of MS-DOS on personal computer
Ordinary applications (shell scripts, text editors)
MS-DOS (file system)
BIOS (driver)
Hardware (CPU, storage devices, etc. )
In the1980s, another rising operating system anomaly was Mac OS, which was closely connected with Macintosh. Dominik Hagen, an employee of Full Record Lab, visited Steve Jobs of Apple Computer Company and showed him the full record graphical user interface. Apple Computer Company was surprised by nature and planned to buy this technology from Lu Quan, but Lu Quan refused the deal because the laboratory in Polat was not a commercial unit, but a research unit. After that, Apple agreed that the future of personal computers must belong to the graphical user interface, so it began to develop its own graphical operating system. At present, many graphical interface technologies and rules that we think are basic elements are laid by Apple computer (such as drop-down menu, desktop icon, drag operation and double click, etc.). ). But it is true that the graphical user interface was the founder of Lu Quan.
11990s
Apple computer's first generation product, Apple I computer. Continuing the competition in 1980s, many operating systems appeared in11990s, which had a far-reaching impact on the future PC market. With the graphical user interface becoming more and more complex, the functions of the operating system become more and more complex and huge, and a robust and flexible operating system has become an urgent need. This era is an era in which many personal computer operating systems are packaged and compete with each other.
Apple computer, which has risen in the market in the last decade, decided to redesign its operating system because of the poor design of its old system, which led to its weak follow-up development. After many failed projects, Apple released a new operating system-the beta version of ——MacOS in 1997, and then the official version was a great success. Let Steve Jobs, who left Apple frustrated, reappear.
In addition to the commercial mainstream operating system, BSD system has also developed in the open source code world for a long time since1980s. However, in1990s, another open source operating system, Linux, emerged due to legal disputes with AT&T, which was far away from Helsinki University in Finland. Linux kernel is a standard POSIX kernel, and its lineage can be regarded as a branch of Unix family. Both Linux and BSD family match the application developed by GNU plan, but due to the license and historical factors, Linux has gained a considerable market share in the open source operating system, while BSD is much smaller.
Compared with the architecture of MS-DOS, Linux not only has impressive portability (compared with Linux, MS-DOS can only run on Intel CPU), but also has a time-sharing multi-process kernel and good memory space management (ordinary processes cannot access the memory in the kernel area). A process wants to access any memory space that does not belong to itself, and it can only be achieved through system calls. General processes are in user mode, but when executing system calls, they will switch to kernel mode, and all special instructions can only be executed in kernel mode. This measure allows the kernel to manage the internal and external devices of the system perfectly, and rejects the requests made by unauthorized processes. Therefore, in theory, any error in the execution of the application program will not crash the system.
Almost complete Linux architecture diagram
user
Pattern application (Shanghai, vi, OpenOffice.org, etc. )
Complex function library (KDE, glib, etc. )
Simple function library (opendbm, sin, etc. )
C function library (open, fopen, socket, exec, calloc, etc. )
core
Software and hardware messages, such as modal system interrupts, calls and errors.
Kernel (driver, process, network, memory management, etc. )
Hardware (processor, memory, various devices)
On the other hand, Microsoft responded to the call of a more powerful operating system, and Windows NT appeared in 1999.
From 65438 to 0983, Microsoft wanted to build a graphical operating system application for MS-DOS, called Windows (some people say that Bill Gates was stimulated by the listing of Apple's Lisa computer).
At first, Windows was not an operating system, but an application, and the background was a pure MS-DOS system. This is because the BIOS design and MS-DOS architecture were not very good at that time.
At the beginning of 1990, the cooperation between Microsoft and IBM broke down, and Microsoft withdrew from the project of OS/2 (early command line mode, which later became a very successful graphics operating system), and on July 27th, it launched the graphics operating system Windows 3. 1, 1993 based on OS/2.
Windows 95 was launched on August 1995.
Up to now, Windows system is still based on MS-DOS, so consumers expect Microsoft to launch Windows 2000 in 2000, because it is the first graphical operating system that is separated from MS-DOS.
The following table shows the architecture of Windows NT system: on the hardware level, there is a hardware abstraction layer (HAL) directly contacted by microkernel, and different drivers are mounted on the kernel in the form of modules for execution. So microkernel can use input and output, file system, network, information security mechanism, virtual memory and other functions. The system service layer provides a unified specification for all function call libraries, which can unify the implementation methods of all subsystems. For example, although POSIX and OS/2 are very different in the name and calling method of the same service, they can be implemented in the system service layer without obstacles. The subsystems above the system service layer are all in user mode, so the user program can be prevented from performing illegal actions.
Simplified version of Windows NT abstract architecture
user
Mode OS/2
Application Win32
Application DOS
Program Win 16
Application POSIX
application program
Other DLL function libraries DOS system Windows simulation system
OS/2 subsystem Win32 subsystem POSIX. 1 subsystem
core
Pattern system service layer
Input-output management
File system, network system, object management system/security management system/process management/communication management between objects/communication management between processes/virtual memory management.
Microkernel window manager
Hardware abstraction layer (HAL) graphics driver
Hardware (processor, memory, external devices, etc.). )
Subsystem architecture
The first subsystem group to be implemented is of course the pre-Microsoft system. The DOS subsystem executes each DOS program as a process, and uses an independent MS-DOS virtual machine to host its running environment. The other is Windows 3. 1 simulation system, which actually executes Win 16 program under Win32 subsystem. Therefore, the ability to safely control old programs written for MS-DOS and early Windows systems is realized. However, this architecture is only implemented on Intel 80386 processor and subsequent models. However, some programs that can directly read hardware, such as most Win 16 games, can't apply this system, so many early games can't be executed on Windows NT.
Windows NT has 3. 1, 3.5, 3.5 1 and 4.0 versions.
Windows 2000 is an improved series of Windows NT (actually Windows NT 5.0), Windows XP(Windows NT 5. 1), Windows Server 2003(Windows NT 5.2) and Windows Vista(Windows NT 6.0), all of which are based on Windows NT architecture.
The growing and more complex embedded device market in this era has also promoted the growth of embedded operating system.
Modern operating systems usually have a graphical user interface of the drawing device used, and add input devices different from keyboards, such as a mouse or a touch panel. Old OS or performance-oriented servers usually don't have such a friendly interface, but use command line interface (CLI) and keyboard as input devices. The above two interfaces are actually called shells, and their functions are to accept and process the user's instructions (such as pressing a button or typing instructions at the command prompt).
The choice of operating system to install is usually closely related to its hardware architecture. Only Linux and BSD can be executed on almost all hardware architectures, while Windows NT is only ported to DEC Alpha and MIPS Magnum.
In the early1990s, the choice of personal computers was limited to Windows series, Unix-like series and Linux. Until today, Linux and Mac OS X are still the most important alternatives.
Mainframes and embedded systems use a variety of operating systems. Recently, many hosts began to support Java and Linux to share resources of other platforms. Recently, from Berkeley Tiny OS, which is used in sensor networks, to Windows CE, which can run Microsoft Office, various schools of thought have launched a fierce debate on embedded systems.