At first, computers had no operating system. People control computers through various operation buttons. Later, combined language appeared, and the operator entered the program into the computer for compilation through punched paper tape. These computers with built-in languages can only be executed by operators themselves, which is not conducive to the use of equipment and programs. In order to solve this problem, the operating system appeared, which well realized the use of programs and the management of computer hardware resources.
Development of operating system technology
Manual operation * * * No operating system * * *
The first computer was born in1946-in the mid-1950s. There was no operating system, and all computer work was done by hand.
The programmer loads the punched paper tape or card corresponding to the program and data into the input machine, then starts the input machine to input the program and data into the computer memory, and then starts the program to execute the data through the console switch; After the calculation, the printer outputs the calculation result; Before letting the next user use the computer, the user gets the results and unloads the paper tape or card.
Two characteristics of manual operation mode:
* * *1* * users monopolize the whole machine. There will be no waiting phenomenon because resources have been occupied by other users, but the resource utilization rate is low.
***2***CPU waiting for manual operation. The CPU is not fully utilized. ?
At the end of 1950s, there appeared the contradiction between man and machine: the sharp contradiction between slow manual operation and fast computer speed. Manual operation has seriously damaged the utilization rate of system resources, and the utilization rate of resources has dropped to several percent or even lower, which is intolerable. The only solution: only get rid of manual operation and realize automatic transition of work. In this way, batch processing appeared.
batch processing system
Batch processing system: system software installed on a computer. Under its control, the computer can automatically batch process the jobs of one or more users. This work includes programs, data and commands.
Online batch processing system
The earliest online batch processing system appeared, that is, the input/output of jobs was handled by CPU.
A storage device, magnetic tape, is added between the host and the input machine. Under the automatic control of the monitoring program running on the host, the computer automatically reads the user operations on the input machine into the tape in batches, reads the user operations on the tape into the host memory in turn, and outputs the calculation results to the output machine after execution. After finishing the last batch of jobs, the management program inputs another batch of jobs from the input machine, stores them on the tape, and repeats the above steps.
The monitoring program constantly handles all kinds of jobs, realizes the automatic transfer between jobs, reduces the time of job establishment and manual operation, effectively overcomes the contradiction between man and machine, and improves the utilization rate of computers.
However, when the job is input and the result is output, the host's high-speed CPU is still idle, waiting for the slow input/output device to finish the work: the host is in a "busy" state.
Off-line batch system
In order to overcome and alleviate the contradiction between high-speed host and slow peripherals and improve the utilization rate of CPU, an off-line batch processing system is introduced, that is, the input/output is separated from the host control.
The remarkable feature of this method is the addition of a satellite machine which is not directly connected to the host computer, but is specially used to process input and output equipment.
Its functions are:
*** 1*** reads the user's homework from the input machine and puts it on the input tape.
***2*** Read the execution result from the output tape and send it to the output machine.
In this way, the host does not directly deal with slow input/output devices, but with relatively fast tape drives, effectively alleviating the contradiction between the host and the devices. Host computer and satellite computer can work in parallel, with clear division of labor, and can give full play to the high-speed computing ability of host computer.
Off-line batch processing system: It was widely used in 1960s, which greatly eased the contradiction between man and machine and between host and peripherals. IBM-7090/7094: The management program is an off-line batch processing system, which is the prototype of modern operating system. Insufficient: Only one job is stored in the host memory at a time, and every time I/O * * * I/O * * requests are issued during its execution, the high-speed CPU is in a state of waiting for the low-speed I/O to complete, leaving the CPU in an idle state.
In order to improve the utilization rate of CPU, a multi-program system is introduced.
Multiprogramming system
Multi-channel programming technology
The so-called multiprogramming technology refers to allowing multiple programs to enter the memory for execution at the same time. That is, put multiple programs into memory at the same time, and let them execute alternately in CPU, so that you can enjoy all kinds of software and hardware resources in the system. When a program is suspended due to an I/O request, the CPU will immediately switch to another program.
The execution process of single channel program:
I/O is idle when program A calculates, and CPU is idle when program A I/O operates * * * So is program B * * *; B can only enter the memory and start working after A's work is finished. The two are sequential, and it takes time to complete * * = t1+t2.
The execution process of multiprograms:
Two programs a and b are stored in the memory at the same time. Under the control of the system, they can be executed alternately on the CPU. When a program abandons the CPU because it requests I/O operation, B program can occupy the CPU for execution, so that the CPU is no longer idle and the I/O devices that are performing I/O operations are not idle. Obviously, both CPU and I/O devices are in a "busy" state, which greatly improves the performance. & ltT 1+T2 .
Multi-channel programming technology not only makes full use of CPU, but also improves the utilization rate of I/O devices and memory, thus improving the resource utilization rate and system throughput of the whole system * * * The number of jobs processed per unit time * * * * The program * * * finally improves the efficiency of the whole system.
Characteristics of multiprogramming in single processor system;
* * *1* * multichannel: several independent programs are stored in the computer memory at the same time;
***2*** Macros are conceptually parallel: several programs that enter the system at the same time are in the process of execution, that is, they have started their own execution, but they are not finished yet;
***3*** Micro-sequence: In fact, each program uses CPU in turn and executes alternately.
The emergence of multi-program system marks the gradual maturity of operating system, and functions such as job scheduling management, processor management, storage management, external device management and file system management have appeared one after another.
Multi-program batch system
In the mid-1960s, multi-channel programming technology was introduced into the aforementioned batch processing system, and a multi-channel batch processing system was formed.
It has two characteristics:
* * *1* * multichannel: the system can accommodate multiple jobs at the same time. These jobs are placed in external memory to form a backup queue. According to a certain scheduling principle, the system selects one or more jobs from the backup job queue to be executed in memory at one time, and the completion, exit and entry of backup jobs are automatically realized by the system, thus forming an automatically switched and continuous job flow in the system.
* * * 2 * * Batch processing: during the system execution, users are not allowed to interact with jobs, that is, once jobs enter the system, users cannot directly interfere with the execution of jobs.
The goal of batch processing system is to improve the utilization and throughput of system resources and the automation of job flow. An important disadvantage of batch processing system is that it does not provide human-computer interaction ability, which brings inconvenience to users to use computers.
Although the user monopolizes the resources of the whole machine and directly controls the execution of the program, he always knows the execution of the program. But this working mode is extremely inefficient because it monopolizes the whole machine. ?
A new goal: not only to ensure the efficiency of the computer, but also to facilitate users to use the computer. In the mid-1960s, the development of computer technology and software technology made this pursuit possible. ?
time-sharing system
Due to the continuous improvement of CPU speed and the adoption of time-sharing technology, a computer can connect multiple user terminals at the same time, and each user can use the computer online on his own terminal as an exclusive machine.
Time-sharing technology: divide the execution time of the processor into short time slices, and assign the processor to each online job in turn according to the time slices.
If a job can't finish its calculation within the allocated time slice, the job is temporarily interrupted and the processor is handed over to another job to continue execution until the next round. Because the computer is very fast, the job execution rotates very fast, giving each user the feeling that he has a computer by himself. And each user can send all kinds of operation control commands to the system through his own terminal, and complete the execution of the job under the condition of full human-computer interaction.
The computer system with the above characteristics is called time-sharing system, which allows multiple users to use the computer online at the same time. Features:
*** 1*** multiplicity. Several users use a computer at the same time. Microscopically, users use computers in turn; Macros are treated as users working in parallel.
***2*** interactivity. Users can further put forward new requests to the system according to the response results of the system to the request. This working mode that enables users to have man-machine dialogue with the system is obviously different from batch processing system, so time-sharing system is also called interactive system.
***3*** independence. Users can operate independently of each other without interfering with each other. The system ensures the integrity of each user's program execution and will not be confused or destroyed.
***4*** timeliness. The system can respond to the user's input in time. One of the main indicators of time-sharing system efficiency is response time, which refers to the time required from the terminal to the system recovery.
The main goal of time-sharing system is to respond to users in time, that is, users will not wait too long to process each command.
Time-sharing system can accommodate dozens or even hundreds of users at the same time. Due to the limited memory space, exchange * * * storage mode is often adopted. That is, the operation that does not "turn" is placed on the disk, and once it is "turned", it is transferred to the memory; After the time slice is used up, save the job back to disk, commonly known as "roll in" and "roll out", so that the same storage area can serve multiple users in turn.
Multi-user time-sharing system is the most commonly used computer operating system.
real-time system
Multi-channel batch processing system and time-sharing system can obtain satisfactory resource utilization and system response time, but they cannot meet the needs of real-time control and real-time information processing. In this way, a real-time system is produced, that is, the system can respond to random external events in time and complete the processing of events within a strict time range.
Real-time systems are usually used as control devices in specific applications.
Real-time systems can be divided into two categories:
* * *1* * real-time control system. When used for automatic control of aircraft flight and missile launch, it is required that the computer can process the data measured by the measurement system as soon as possible, control the aircraft or missile in time, or provide relevant information to decision makers through the display terminal. When it is used to control industrial production processes such as steel rolling and petrochemical industry, the computer is also required to process the data sent by various sensors in time and then control the corresponding actuators.
***2*** Real-time information processing system. When it is used to book airline tickets, inquire about flights, routes, fares and other matters, or used in banking systems and information retrieval systems, computers are required to give correct answers to service requests sent by terminal equipment in time. This requirement for timely response is slightly weaker than the first one.
Main features of real-time operating system:
*** 1*** reply in time. Every process of receiving, analyzing, processing and transmitting information must be completed within a strict time limit.
***2*** High reliability. Redundancy measures need to be taken, and the work before and after the dual-computer system also includes necessary safety measures.
Universal operating system
There are three basic types of operating systems: multi-channel batch processing system, time-sharing system and real-time system.
General operating system: an operating system with various operating characteristics. It can have multi-channel batch processing, time-sharing processing and real-time processing functions at the same time, or it can have more than two of them.
For example: real-time processing+batch processing = real-time batch processing system. First of all, real-time tasks are given priority, and batch jobs are carried out in the middle. Real-time tasks are usually called foreground jobs, and batch jobs are called background jobs.
Another example is batch processing+time-sharing processing = time-sharing batch processing system. That is to say, jobs that are not strict in time are put in the "background" * * batch processing, jobs that need frequent interaction are put in the "foreground" * *, and the processor gives priority to the "foreground" jobs.
Since the mid-1960s, some large general operating systems have been developed internationally. These systems strive to achieve the goal of complete functions, can adapt to various environments, and have different application scopes and operation methods. However, these systems are too complex and huge, which not only pays a huge price, but also encounters great difficulties in solving their reliability, maintainability and understandability.
In contrast, the UNIX operating system is an exception. This is a universal multi-user interactive operating system. It first established a lean core, but its function is comparable to many large operating systems, and it can support huge software systems outside the core layer. It has been rapidly applied and popularized, and has been continuously improved, which has had a great impact on modern operating systems.
At this point, the basic concept, function, basic structure and composition of the operating system have been formed and gradually improved.
Further development of operating system
In the 1980s, the rapid development of large-scale integrated circuit technology and the appearance and development of microprocessors set off a wave of computer development and popularization. On the one hand, it ushered in the era of personal computers, and at the same time it developed in the direction of computer network, distributed processing, supercomputer and intelligence. As a result, the operating system has been further developed, such as: personal computer operating system, network operating system, distributed operating system and so on.
Personal computer operating system
The operating system on personal computer is a single-user operating system with online interaction, and its online interaction function is very similar to that provided by general time-sharing system.
Because it is personal, some functions will be much simpler. However, due to the popularity of personal computers, the demand for file systems that provide more convenient and friendly user interfaces and rich functions will become more and more urgent.
network operating system (NOS)
Computer network: a system that connects geographically dispersed and autonomous computer systems through communication facilities to realize information exchange, resource sharing, interoperability and collaborative processing.
Network operating system: Based on the original computer operating system, according to various protocol standards of network architecture, network management modules are added, including communication, resource sharing, system security and various network application services.
Decentralized operating system
On the surface, there is not much difference between distributed system and computer network system. The distributed operating system also interconnects geographically dispersed data processing systems or computer systems with autonomous functions through communication networks to realize information exchange and resource sharing, and accomplish tasks in collaboration. -Hardware connections are the same.
But there are some obvious differences as follows:
* * *1* * distributed system needs a unified operating system to realize the unity of system operation.
* * * 2 * * The distributed operating system manages all resources in the distributed system. It is responsible for resource allocation and scheduling, task division, information transmission and control coordination of the whole system, and provides a unified interface for users.
* * * 3 * * Users can realize the required operations and use system resources through this interface. As for which computer the operation is to be performed or which computer's resources are to be used, it is all done by the operating system, and the user does not need to know. This is the so-called system transparency.
* * * 4 * * Distributed system emphasizes distributed computing and processing, so it has higher requirements for multi-machine cooperation and system reconfiguration, robustness and fault tolerance. It is hoped that the system will have shorter response time, high throughput and high reliability.
Development of specific operating system
With the development of computing technology and large-scale integrated circuits, microcomputers have developed rapidly. Since the mid-1970s, computer operating systems have appeared. From 65438 to 0976, American Digital Research Software Company developed an 8-bit CP/M operating system. The system allows users to control and manage the system through the keyboard of the console. Its main function is to manage file information, so as to realize automatic access to hard disk files or other equipment files. Since then, some 8-bit operating systems mostly adopt CP/M structure.
DOS operating system
The development of computer operating system has gone through two stages. The first stage is a single-user single-task operating system. After CP/M operating system, there are disk operating systems such as C-DOS, M-DOS, TRS-DOS, S-DOS and MS-DOS.
It is worth mentioning that MS-DOS is an operating system executed on IBM-PC and its compatible computers. It originated from SCP86-DOS and is a single-user operating system based on 8086 microprocessor in 1980. Later, Microsoft obtained the patent of operating system and installed it on IBM-PC, named PC-DOS. 198 1 year, Microsoft's MS-DOS version 1.0 and IBM's PC came out, which was the first practical 16 bit operating system. Microcomputer has entered a new era. 1987, Microsoft released MS-DOS version 3.3, which is a very mature and reliable DOS version, and Microsoft gained the dominance of personal operating system.
Since 198 1 came out, DOS has undergone seven major version upgrades, from 1.0 version to the current version of 7.0, and has been continuously improved and perfected. However, the single user, single task, character interface and 16 bits of DOS system have not changed, so its memory management is limited to 640KB.
A new era of operating system
The second stage of the development of computer operating system is multi-user multi-task time-sharing system. Its typical representatives are UNIX, XENIX, OS/2 and Windows operating systems. Time-sharing multi-user, multiplexing, tree file system, redirection and pipeline are three characteristics of UNIX.
Operating system /2
OS/2 is a 32-bit system with graphical interface. It can not only handle the application software of 32-bit OS/2 system, but also execute 16-bit DOS and Windows software. It integrates multiplex management, graphic window management, communication management and database management.
Windows operating system
Windows is the first generation of Windows reuse system released by Microsoft in June 1985 1 1, which made PC enter the so-called graphical user interface era. Windows 1.x is a version with multi-window and multiplexing functions, but because the hardware platform at that time was PC/XT, the speed was very slow, so Windows 1.x was not very popular. At the end of 1987, Microsoft introduced version 2.x of MS-Windows, which has the function of overlapping windows, the window size can also be adjusted, and the expansion package memory and the expansion memory can be used as disk cache, thus improving the performance of the whole machine. In addition, it provides many applications.
1990, Microsoft introduced Windows 3.0, which further strengthened its functions, powerful memory management and provided a considerable number of Windows application software, thus becoming the new operating system standard for 38***86 microcomputers. Subsequently, Windows released version 3. 1, and launched the corresponding Chinese version. Compared with version 3.0, version 3. 1 added some new functions, which was welcomed by users and was the most popular version of Windows at that time. 1995, Microsoft introduced Windows 95. Before that, Windows was booted by DOS, which means they are not completely independent systems, but Windows 95 is a completely independent system, which has been further improved in many aspects, integrating network functions and plug-and-play functions. It is a brand-new 32-bit operating system. 1998, Microsoft introduced an improved version of Windows 95. One of the biggest features of Windows 98 is the integration of Microsoft's Internet browser technology into Windows 95, which makes accessing Internet resources as convenient as accessing local hard disks, thus better meeting people's growing demand for accessing Internet resources. Windows 98 has become the mainstream operating system currently in practical use.
Since Microsoft introduced Windows 1.0 in 1985, the Windows system has almost become synonymous with the operating system, from Windows 3.x initially executed under DOS to Windows 9x/Me/2000/NT/XP now popular all over the world.
A multi-user computer operating system
UNIX operating system is the operating system implemented by at&T Company on PDP- 1 1 in1. It has the characteristics of multi-user and multi-task, and supports a variety of processor architectures. It was originally built by ken Thompson * * * kenneth lane thompson * * *, dennis ritchie * * * dennis macalistair ritchie * * * and Douglas mcilroy of Bell Laboratories of AT&T Company.
At present, its trademark right belongs to the international open standards organization ***The Open Group***.
Since 1969, UNIX system has existed in the computer field for more than 30 years. Although there is strong competition from some operating systems, such as Windows NT, it is still a full range of general operating systems on notebook computers, PCs, PC servers, small and medium-sized computers, workstations, supercomputers and clusters, SMP and MPP. At least so far, no operating system has been able to undertake this task. Moreover, POSIX*** and other open system standards based on it are also the only operating system standards so far. Even its competitors or existing dedicated hardware systems * * * Some companies' large and medium-sized computers or operating systems run on dedicated hardware * * *, and their interfaces follow POSIX or other UNIX standards. In this sense, UNIX is not just a proper name for an operating system, but a synonym for the current open system.
The turning point of UNIX system is from 1972 to 1974. Because UNIX is written in C language, portability is the main design goal. 1988 After the foundation of open software was established, UNIX experienced a glorious course. Thousands of application software are developed on UNIX system and applied in almost every application field. UNIX has since become the most widely used general operating system in the world. UNIX not only greatly promoted the development of computer system and software technology, but also played an important role in promoting the progress of the whole society in a certain sense.
Linux operating system
Linux is the largest free software in the world at present. Is an operating system comparable to UNIX and Windows, with complete network functions. Linux was originally developed by Finnish Linus Torvalds. After its source program was published on the Internet, it aroused the enthusiasm of computer enthusiasts all over the world. Many people downloaded the source program, perfected a function according to their own wishes, and then sent it back to the Internet. Therefore, Linux has been carved into the most stable and promising operating system in the world.
From the development point of view, it is still too early for Linux to replace UNIX and Windows, but a software with excellent stability, flexibility and ease of use will certainly be used more and more widely.
Mac operating system
1984, Apple released System 1, which is a black-and-white interface and the first successful graphical user interface operating system in the world. System 1 includes desktop, window, icon, cursor, menu, scroll bar and other items. Among them, for the current computer users, the most immature and interesting way is to create a new folder-there is an empty folder on the disk * * * The way to create a folder is to rename this empty folder; Then, an empty folder will automatically appear, which can be used to create a new folder again. At that time, Apple's operating system did not have today's AppleTalk network protocol, desktop pictures, colors, QuickTime and other colorful applications, and folders could not be nested. In fact, the folders in the system 1 are all fake, all files are directly placed in the root directory, and files correspond to their own folders according to a table in the system. Folders are just for the convenience of users to operate files on the desktop.
In the following ten years, Apple's operating system experienced great changes from system 1 to 6 and then to 7.5.3. Apple's operating system has changed from a monotonous black-and-white interface to 8 colors, 16 colors and true colors. From the perspective of stability, application number and interface effect, Apple is showing people its increasingly mature and growing smiling face. Starting from version 7.6, Apple's operating system was renamed Mac OS, followed by Mac OS 8 and Mac OS 9, and this naming method was adopted until Mac OS 9.2.2 and today's Mac OS 10.3.
From June 5438 to October 2000, Mac OS X was officially released, followed by 10.1and 10.2. Apple has invested a lot of enthusiasm and energy in Mac OS X and achieved initial success. In 2002, Steve Jobs, one of the founders of Apple Computer Company and the current CEO of Apple, personally presided over a ceremony: putting a box of Mac OS 9 products into a coffin, officially announcing the full arrival of the Mac OS X era!
Judging from the evolutionary history of Apple's operating system, Mac OS Panther*** hereinafter referred to as Panther*** seems to be just a routine upgrade of Apple's operating system, but is this really the case? Before drawing a conclusion, let's take a look at the fact that the 2003 WWDC*** Apple Global Developers Conference * * *, which has always been held in the middle and late May, was deliberately postponed to June because Panther developer preview * * * developer preview * *! The one-month wait did not disappoint the users. In the Steve Jobs keynote speech that countless Apple fans expect every year, we heard much more applause than before.
20031October 24th, 10, Mac OS X 10.3 was officially listed. On June165438+1October1day, Apple quickly released an upgraded version of Mac OS X 10.3+0. Perhaps Panther can be upgraded to 10.3.2 by the time this article is published. Apple claims that "Mac OS Panther has more than 150 innovative features, which makes you feel like you have a brand-new Apple computer".