The path to Python-the history of operating systems

Source: Internet
Author: User

Read Catalogue

Manual operation--punch card

Batch processing-tape storage and batch processing systems

Multi-Channel program system

Ctss

Real-time Systems

General operating system

Further development of the operating system

The role of the operating system

Manual operation--punch card

The first computer was born in 1946--in the mid 1950s, computer work was still being done by hand. There is no concept of operating system at this time.

The programmer will load the perforated paper tape (or card) corresponding to the program and data into the input machine, then start the input machine to enter the program and data into the computer memory, and then start the program through the console switch for the data run, the calculation is finished, the printer output calculation results; After the user takes the results and unloads Glimpse the next user on the machine.

Manual mode of Operation two features: (1) the user exclusive full machine.  There is no wait for resources to be consumed by other users, but the utilization of resources is low. (2) The CPU waits for manual operation.       The utilization of the CPU is not sufficient. In the late the 1950s, there was a contradiction between human and machine: The slow speed of manual operation and the high speed of the computer formed a sharp contradiction, the manual operation method has seriously impaired the utilization of the system resources (to reduce the utilization of resources to a few percent, or even lower), can not tolerate. The only solution: to get rid of the manual operation of people, to achieve automatic transition of the job. In this way, batch processing occurs. Batch processing-Tape storage

Batch system: A system software loaded on a computer that, under its control, can automatically and in batches process the jobs of one or more users (the job includes programs, data, and commands).

The online batch system first appears in the online batch system, that is, the input/output of the job is processed by the CPU.

Add a storage device between the host and the input machine-tape, under the control of the monitoring program running on the host computer can be automatically completed: batch of the input machine to read the user's work into the tape, in turn, the user's work on the tape read into the host memory and execute and output the results to the output machine. After the completion of the last batch of work, the supervision program from the input machine input another batch of jobs, saved on tape, and follow the above steps to repeat processing. The supervision procedure handles the work continuously, thus realizes the automatic transfer of the job to the job, reduces the work settling time and the manual operation time, overcomes the human-machine contradiction effectively, and improves the utilization of the computer. However, at the job input and output, the host's high-speed CPU is still idle, waiting for the slow input/output device to complete its work: The host is in a "busy" state. Offline batch processing system to overcome and alleviate: the contradiction between high-speed host and slow peripheral, improve CPU utilization, and introduce the Offline batch processing system, namely input/output out of host control.

Satellite machine: A unit that is not directly connected to the host and is specifically designed to deal with input/output devices.  The function is: (1) Read the user's job from the input machine and put it on the input tape.  (2) Read the execution result from the output tape and pass it to the output machine. In this way, the host is not directly with the slow input/output devices, but with the relatively fast speed of the tape drive relationship, effectively alleviate the contradiction between the host and equipment.      The host and the satellite machine can work in parallel, the two are clear division of labor, can give full play to the host's high-speed computing ability.  Offline batch processing system: the 1960s is widely used, it greatly alleviates the contradiction between the human machine and the host and peripherals. Insufficient: Each time a single job is stored in the host memory, the high-speed CPU waits for low-speed I/O completion status whenever it is running, causing the CPU to be idle. In order to improve CPU utilization, the multi-channel program system is introduced. Multi-Channel program design technology of multi-channel program system so-called multi-Channel program design technology, that is, allow multiple programs to enter memory and run. That is, putting multiple programs into memory and allowing them to run alternately on the CPU, sharing the various hardware and software resources in the system. When a program pauses to run due to an I/O request, the CPU immediately goes to run another program.

In a program calculation, I/O idle, a program I/O operation, the CPU idle (b program is the same); Must a work is completed, B to enter the memory to start work, the two are serial, complete the total time required =t1+t2.

The A and B programs are stored in memory at the same time, they can be interleaved and alternately run on the CPU under the control of the system: when a program abandons the CPU due to request I/O operation, the B program can occupy the CPU, so that the CPU is no longer idle, and I/O operation is not idle, obviously      , CPU and I/O devices are in a "busy" state, greatly improve the utilization of resources, and thus improve the efficiency of the system, A, b all the time required to complete <<t1+t2.  The multi-channel program design Technology not only makes the CPU fully utilized, but also improves the utilization of I/O devices and memory, which improves the resource utilization and system throughput of the whole system (the number of processing jobs (Programs) per time), and finally improves the efficiency of the whole system. The characteristics of multi-channel program operation in a single processor system: (1) Multi-channel: The computer memory is stored in several independent programs at the same time, (2) macro-parallel: At the same time into the system of several procedures are in operation, that is, they have started their own operation, but have not finished running; (3) micro-serial: Each program rotates with the CPU and runs alternately. the advent of the multi-channel program system indicates that the operating system is maturing gradually, and has appeared the functions of job scheduling management, processor management, memory management, external equipment management, file system management and so on. since multiple programs are running on the computer at the same time, there is a concept of space isolation and only the isolation of the memory space can make the data more secure and stable. out of space isolation, multi-channel technology is also the first time to reflect the characteristics of space-time multiplexing, encounter IO operation on the switch program, so that the utilization of the CPU increased, the efficiency of the computer also increased. Multi-channel batch processing system in the mid 1960s, in the aforementioned batch processing system, the introduction of multi-channel program design technology to form a multi-channel batch processing system (short: Batch processing System). It has two features: (1) Multi-channel: The system can accommodate more than one job at a time.  These jobs are placed in the external memory, a backup queue, the system according to a certain scheduling principle to select one or more jobs from the backup queue every time into memory run, run job end, exit run and backup job into the operation are automatically implemented by the system, in order to form an automatic transfer in the system, continuous job flow.  (2) Batch: During the system operation, the user is not allowed to interact with their job, that is: Once the job enters the system, the user can not directly interfere with the operation of their operations.  The goal of the batch processing system is to improve system resource utilization and system throughput, as well as the automation of the job flow.  One of the important drawbacks of batch processing system is that it does not provide human-computer interaction ability, which brings inconvenience to users. Although the user exclusive full-machine resources, and direct control program run, you can always know the operation of the program.  However, this mode of work is extremely inefficient due to the monopoly of the whole machine. A new goal: not only to ensure the efficiency of the computer, but also convenient for users to use the computer. In the the mid 1960s, the development of computer and software technology made this pursuit possible. Timeshare Systems       because of the increasing CPU speed and the use of time-sharing technology, a computer can connect multiple user terminals simultaneously, and each user can use the computer on their own terminal, as if their own machine.         Time-sharing technology: the operation of the processor is divided into a short time slice, according to the time slice in turn the processor assigned to the use of the online operation. If a job cannot complete its calculations within the time slice allocated to it, the job is temporarily interrupted, the processor is given another job, and the next round is resumed. Because the computer is fast and the job runs very quickly, the impression to each user is that it seems that he has an exclusive computer. And each user can send a variety of operation control commands to the system through their terminal, and complete the operation of the work under the condition of full human-computer interaction.  A computer system with the above characteristics is called a time-sharing system, which allows multiple users to use the computer online simultaneously. Features: (1) multiplexing. Several users use a single computer at the same time.  Microscopic view is that each user takes turns to use the computer, macro view is the user work in parallel. (2) Interactivity. The user can further make a new request to the system based on the response of the system to the request.  This can make the user and the system of Man-machine dialogue work way, obviously different from batch processing system, therefore, time-sharing system is also called interactive system. (3) Independence. Users can operate independently of each other and interfere with each other. System to ensure that each user program runsWithout confusion or destruction. (4) timeliness. The system can respond to the user's input in a timely manner.   One of the main indicators of CTSS performance is response time, which refers to the time it takes to issue commands from the terminal to the system to answer. The main goal of time-sharing system: The timeliness of user response, that is, the user is not waiting for the processing time of each command too long. Time-sharing system can accept dozens of or even hundreds of users, because of limited memory space, often using a swap (also known as Exchange) method of storage. Will not "turn" of the job into the disk, once the "turn", and then put it into memory, and the time slice, and then put the job back to disk (commonly known as "roll in", "roll Out" method), so that the same storage area in turn for multiple users service. Multi-user Time-sharing system is one of the most commonly used operating systems in today's computer operation system. Note: Time-sharing system of sub-work, in the absence of IO operation when the use of their own time slice was cut away, such a switch does not improve the efficiency of the CPU, but the efficiency of the computer is reduced. But we sacrificed a bit of efficiency, but achieved the effect of multiple programs, so that you can listen to music on the computer while chatting QQ. Although the multi-channel batch processing system and the time-sharing system can obtain more satisfactory resource utilization and system response times, the real-time system cannot meet the needs of two application fields such as real-time control and real-time information processing. Thus, a real-time system is created, in which the system responds to random external events in a timely manner and completes the processing of the event within a strict time frame.    Real-time systems are often used as a control device in a particular application. Real-time systems can be divided into two categories: (1) Real-time control system. When used in the automatic control of aircraft flight and missile launch, the computer can process the measured data of the measurement system as soon as possible, control the aircraft or missiles in time, or provide the information to the decision-makers through the display terminal.    When used in steel rolling, petrochemical and other industrial production process control, also requires the computer to process the data sent by various sensors in a timely manner, and then control the corresponding executing agencies. (2) Real-time information processing system. When used to book air tickets, inquiries about flights, routes, fares and other matters, or when used in banking systems, information retrieval system, the computer can be sent to the terminal equipment to the service request in time to correctly answer. This type of response to timeliness is slightly weaker than in the first class. Key features of the real-time operating system: (1) timely response.  The process of receiving, analyzing and sending each information must be completed within strict time limits. (2) High reliability. Need to take redundant measures, dual-machine system before and after work, but also include the necessary confidentiality measures.The comparison of time-sharing system and realtime systemThree basic types of general operating system operating system: Multi-Channel batch processing system, time-sharing system, real system. General operating systems: Operating systems with multiple types of operating characteristics. Can simultaneously have multi-channel batch processing, the time-sharing, the realtime processing function, or two more kinds of functions.   For example: real-time processing + batch processing = real-time batch processing system. First of all, ensure that real-time tasks are prioritized and intervening spaces batch jobs are processed.  The real-time task is often called the foreground job, and the batch job is called background job. Again such as: time-sharing processing + batch processing = time-sharing batch processing system.  That is: Time requirements are not strong into the "background" (batch processing) processing, the need for frequent interaction of the job in the "front" (tick) processing, processor priority to run the "foreground" job. From the 60 's mid-century, the international began to develop some large-scale general operating system. These systems attempt to achieve the goal of a fully functional, adaptable environment that adapts to a wide range of applications and modes of operation.  However, these systems are too complex and large, not only to pay a huge price, but also to solve their reliability, maintainability and understanding of the difficulties encountered. In contrast, the UNIX operating system is an exception. This is a general-purpose multi-user time-sharing interactive operating system. It first builds a lean core, and its capabilities are comparable to many large operating systems, and can support large software systems beyond the core layer.  It is quickly applied and popularized, and continues to improve, and has a significant impact on modern operating systems. At this point, the basic concepts, functions, basic structure and composition of the operating system have been formed and gradually improved. The further development of the operating system into the the 1980s, the rapid development of large-scale integrated circuit technology, the emergence and development of microprocessors, the development of large-scale computer popularization of the wave. On the one hand ushered in the era of personal computers, but also to the computer network, distributed processing, supercomputer and intelligent direction of development. Thus, the operating system has been further developed, such as: Personal computer operating system, network operating system, distributed operating system and so on.  The operating system on the personal computer operating system is a single-user operating system that interacts online, and provides an online interaction feature similar to the functionality provided by the Universal time-sharing system. Some features are much simpler because they are private. However, due to the popularity of the application of personal computers, it is becoming more and more urgent to provide more convenient and friendly user interface and rich function file system.  Network operating system computer networks: through the communication facilities, the geographically dispersed, autonomous functions of multiple computer systems interconnected to achieve information exchange, resource sharing, interoperability and collaborative processing system. Network operating system: in the original respective computer operating system, according to the network architecture of the various protocol standards to increase the network management module, including: Communication, resource sharing, system security and various network application services. On the surface of distributed operating system, there is not much difference between distributed system and computer network system. Distributed operating system is also through the communication network, will be geographically dispersed with autonomous functions of the data processing system or computer systems interconnection, to achieve information exchange and resource sharing, collaboration to complete the task.  --the same hardware connection.  But there are some obvious differences:(1) The distributed system requires a unified operating system to achieve the unity of system operation.  (2) Distributed operating System management of all the resources in the distributed system, it is responsible for the whole system of resource allocation and scheduling, task division, Information Transmission and control coordination work, and provide users with a unified interface.  (3) The user through this interface, to achieve the required operation and use of system resources, as for the operation on which computer to execute, or use which computer resources, is the operating system completed, users do not need to know, this is said: System transparency. (4) Distributed system more emphasis on distributed computing and processing, so for multi-machine cooperation and system reconfiguration, robustness and fault tolerance has higher requirements, hope that the system has: shorter response time, high throughput and high reliability. The role of the operating system

Modern computer system is mainly composed of one or more processors, main memory, hard disk, keyboard, mouse, monitor, printer, network interface and other input.

Generally speaking, modern computer systems are a complex system.

One: If every application member has to master all the details of the system, it is impossible to write the code again (seriously affecting the programmer's development efficiency: it may take 10,000 years to master these details ...). )

Second: and managing these components and optimizing their use is a challenging task, so computing installs a layer of software (System software), called the operating system. Its mission is to provide a better, simpler, clearer computer model for the user program and to manage all the devices just mentioned.

Summarize:

Programmers are unable to understand all the hardware operation details, the management of these hardware and optimize the use of the work is very tedious, this tedious work is the operating system to do, with him, the programmer from these tedious work out, only need to consider their own application software to write, The application software uses the functionality provided by the operating system directly to use the hardware indirectly.

To be concise, the operating system is a control program that coordinates, manages, and controls the hardware and software resources of the computer. Where the operating system is located

  In detail, the operating system should be divided into two parts:

  

#一: Hides the ugly hardware calling interface, providing the application programmer with a better, simpler, clearer model for invoking hardware resources (System invoke interface). Once the application programmer has these interfaces, it is no longer necessary to consider the details of the operating hardware and concentrate on developing their own applications. For example, the operating system provides the abstract concept of files, the operation of the file is the operation of the disk, with the file we do not have to consider the disk read and write control (such as the control of disk rotation, moving the head read and write data and other details), # Second: The application to the hardware resources of the race request to become orderly for example: many applications are actually sharing a set of computer hardware, for instance, there may be three applications need to request a printer to output the content, then a program competes with the printer resources to print, and then may be B competition to the printer resources, may be C , which causes the disorder, the printer may print a piece of content and then go to print C ..., a function of the operating system is to order this disorder.

The path to Python-the history of operating systems

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.