What is the basic computer system and what is the basic computer system?
What's the operating system?
First, we need to know,Why is there an operating system?. A modern computer system consists of one or more processors, primary storage, hard disk, keyboard, mouse, display, printer, network interface, and other input and output devices. The components of modern computers are extremely complex, and it is impossible for us to fully understand them before writing and developing, so we need to use the operating system. Programmers only need to do their own development work, and application software directly uses the features provided by the operating system to indirectly use hardware.
Operating SystemLocated between computer hardware and application software,Essentially a software. Operating System by the operating systemKernel(Run in kernel mode, manage hardware resources) andSystem Call(Running in the user State, providing system call interfaces for applications written by application programmers). Therefore, if the operating system is running in the kernel state, is not accurate.
Operating system functionsThere are two main reasons: one is to hide the ugly hardware call interface, providing application programmers with a better, simpler, and clearer model (System Call Interface) for calling hardware resources ). With these interfaces, application programmers can focus on developing their own applications without considering the hardware details. For example, the abstraction of disk resources is a File System (disk C, disk D, disk e... directory and file), with the concept of files, we can open the file directly, read or write it, without worrying about whether the record should use the modified frequency modulation record method, and the status of the current motor.The actual customers of the operating system are applications.(Application programmers are responsible for developing applications. Therefore, application programmers are operating system customers ). The other is to order the competing requests of applications to hardware resources.
Operating system development. (You just need to know about it. Remember that it is useless ..)
First generation computer (1940 ~ 1955): vacuum tube and punch card features: There is no operating system concept, and all programming is to directly manipulate the hardware. Advantage: programmers can exclusively access the entire resource within the time range they apply for, and can debug their own programs instantly (with bugs, they can handle them immediately ). Disadvantage: it is a waste of computer resources. Only one person can use it within a period of time.
Second generation computers (1955 ~ 1965) features of the transistor and batch processing system: the concept of the operating system and the programming language. Advantages: Batch Processing saves time. Disadvantages: the entire process requires people to participate in the control, and the computing process is still sequential computing. programmers who used to have exclusive computers for a period of time must now be centrally planned into a batch of jobs, wait until the results and the re-debugging process are completed after the same batch of other programs are completed (this greatly affects the development efficiency of the program and fails to debug the program in time ).
Third-generation computers (1965 ~ 1980): Integrated Circuit chips and multi-channel programming the operating systems of the third generation computers are widely used. Key technologies not available in the operating systems of the second generation computers --Multiple technologies (knowledge to be remembered). When the cpu executes a task, if you need to operate the hard disk, it sends the command to operate the hard disk. Once the command is issued, the mechanical arm on the hard disk slides to read data into the memory, during this period of time, the cpu needs to wait, and the time may be very short, but the cpu has been very long, so that the cpu can do many other tasks, if we want the cpu to switch to another task during this period, will the cpu be fully utilized. This is exactly the technical background of multiple technologies. Multi-channel technology refers to multiple programs. The implementation of multi-channel technology aims to solve the issue of competition between multiple programs or sharing the same resource (such as cpu) orderly scheduling, the solution is multiplexing. multiplexing is dividedTime ReuseAndSpace Reuse. Space reuse: the memory is divided into several parts, each of which is put into a program. In this way, multiple programs exist in the memory at the same time. Time reuse: when one program is waiting for I/O, another program can use the cpu. If the memory can store enough jobs at the same time, the cpu utilization can be close to 100%. The biggest problem of space reuse is that the memory between programs must be separated, which must be implemented on the hardware layer and controlled by the operating system. If the memory is not separated, one program can access the memory of another program. To solve this problem, third-generation computers widely adopt the necessary protection hardware (the memory between programs is isolated from each other ).
Fourth generation computers (1980 ~ So far): Personal Computer
Summary:
Operating systems are software designed by ancient humans to provide convenience for modern humans. Writing a complete operating system is something that can be done by non-ordinary people.
The role of the operating system is to allow us to easily manipulate the hardware without knowing what the hardware is. With the operating system, application programmers do not have to consider the hardware details, by developing your own applications, you can use your computer to perform routine operations without any doubt. The key point is that the operating system can order the competing requests of applications to hardware resources, that is, multiplexing.