Linuxaid engineer fjxufeng 1. Computer software and operating system functions have played an increasingly important role since the life of human beings, with the development of the times, the computer has been closely related to people's daily lives. It cannot be said that the development of the new months of computer software plays a key role here. It can be said that the software will become a scrap copper rotten iron. Computer machine software can be roughly divided into two categories: system software and application software. System software is used to manage computer resources and provide a unified platform for application software. Application software implements the functions required by users on the basis of system software. The Operation System is the most basic system software that controls the basis of all resource levels of your computer. Second, the reason for the birth of the operating system is composed of CPU, memory, disk, graphics card, sound card, etc., and many manufacturers of equipment, a wide variety, and the same function produced by different manufacturers, although the same function is completed However, the specific details have a trick. In order to properly manage and use these devices to achieve specific applications, this programmer has to understand and master the working principle of various devices. And for the same equipment, due to the differences in achieving the details of different hardware vendors, the programmer has once again fallen into the abyss of complex hardware control! A way to find a way to get out of the sea! Many years of research and development have finally made this wish into reality. This solution is to load a layer of software on a hardware to manage the entire system. This software is derived with computer hardware through the device driver. Through a series of functional modules, the entire computer hardware system is abstracted into a public, unified, open interface-virtual machine, so that the programmer does not have to fall into the specific various hardware systems. detail! This layer of software is the operating system. Third, what is the operating system operating system is a large software system, which is complex and the system is huge. From different perspectives, the results are also different, and it is "Peak of Chengling Road". Here we analyze it through the most typical angles. 1. From the programmer's perspective, as mentioned earlier, if there is no operating system, programmers must fall into complex hardware implementation details when developing software. The programmer does not want to be involved in this terrible area, and a lot of energy spent on this repetition, there is no creative work, making the programmer unable to focus on more creative programming work. Programmers need a simple, highly abstract device that can be dealt with. Align hardware details from programmers, which is of course the operating system. From this perspective, the role of the operating system is to provide the user with an equivalent expansion machine, also known as the virtual machine, which is easier to program more than the underlying hardware. 2. From the user's perspective, the operating system is used to manage the individual parts of a complex system. The operating system is responsible for the allocation of CPU, memory, and other I / O interface devices between programs that compete. For example, assume that the three programs running on a computer at the same time the calculation results are output on the same printer. Then, a few lines may be the output of the program 1, and the next few lines are the output of the program 2, and then it is the output of the program 3, and the like. The final result will be a mess. At this time, the operating system can avoid this confusion using a method of sending a buffer that prints the print output to a disk. After a program is over, the operating system can send the file on the disk to the printer output. From this perspective, the operating system is the resource manager of the system. IV. Under the History of Operating System, we combine the history of operations in combination with computers to review the development of operating systems. 1. First generation computers (1945-1955): Vacuum Tube and Plug-in Board In the mid-190s, some people in the University of Harvard University, Princeton University, some people in Pennsylvania use tens of thousands of vacuum tubes, built the world's first electronic computer. Turn on the history of computer development. The machine in this period requires a group special design, manufacturing, programming, operation, and maintains each machine.
The program is designed to use the machine language to control its basic functions through the hard wirings on the box. At this time, at the initial stage of computer development, even programming languages have not appeared, the operating system is unheard! 2. Second generation computer (1955-1965): The transistor and batch system This period is more reliable during this period, and has come out from the research institute and entered the business application. However, the computer during this period mainly completes various scientific calculations, requiring specialist maintenance, and needs to be programmed for each calculation task. The second generation computer is mainly used for scientific and engineering calculations. Write programs with Fortran with assembly language. The prototype of the operating system in the later period: FMS (Fortran Monitoring System) and IBMSYS (IBM 7094 Operating System) 3. Third Generation Computer (1965-1980): Integrated Circuit Chip and Multi-Digital Procedure In the early 1960s, Computer vendors are divided into two computer series according to different applications, one for scientific calculations, a for commercial applications. With the in-depth of computer applications, computer demand for unity of two applications has emerged. At this time IBM tries to solve this problem by introducing System / 360. With this plan, IBM organizes the development of OS / 360 operating system, and then complex demand, and low software engineering levels, the development of OS / 360 has fallen into the most terrible "software development and quagmire" in history, born. The most famous failure discussion ---- "Mysterious People". Although this development plan fails, this desire has become the goal of computer manufacturers. At this time, MIT, Bell Lab (Bell Lab) and General Electric Company decided to develop a "common computer service system" ---- Multics, I hope that it can support hundreds of machines at the same time. As a result, the development of this plan is except that everyone is expected, and finally this system is over. However, Multics's thoughts have a lot of prompts for later operating systems. In the 1960s, a Bell Lab has participated in the computer scientist Ken Thompson developed by Multics, and has developed a simplified, single-user version of Multics on a unmanned PDP-7 machine. Later, the Birth of the UNIX operating system. At present, UNIX operating systems lead to small machines, workstations, and other markets. It is also one of the most influential operating systems so far, and Linux is also a derivation of the UNIX system. Next, we will specifically introduce UNIX development history. 4. The fourth-generation computer (1980- Today): PC With the continuous update and development of computer technology, the computer is magical into people's lives, and now you can get a powerful computing capacity in low prices. The price is no longer the threshold for blocking the computer's popularity, it is very important to reduce the ease of use of the computer! Due to its own characteristics of the UNIX system, it is not suitable for running on a personal computer, there is a new operating system. At this historical crucial, IBM has underestimated the market's market, and Intel has taken the opportunity to enter, and become the boss of today's microprocessors. At the same time, Bill Gates, the president of Microsoft, who is good at grasping the opportunity, has entered this field, and the purchase of CP / M shakes into MS-DOS, and with its hegemony in the field of personal computer operating system.
Although Apple is first drawn first in Gui, because Apple's incompatible, unopened market strategy, it has not expanded the results. At this time, Microsoft has entered the GUI in a timely manner, and he is again called again with the Windows system! V. Generally, the operating system consists of the following components: 1) Process schedule system: Process scheduler system determines which process uses the CPU, scheduling, managing the process. 2) Inter-process communication subsystem: responsible for communication between the various processes. 3) Memory management subsystem: responsible for managing computer memory. 4) Equipment management subsystem: responsible for managing a variety of computer peripherals, mainly consisting of device drivers. 5) File subsystem: responsible for managing various files and directories on disk! 6) Network subsystem: Responsible for handling all kinds of things related to the network. 6. The operating system structure design operating system has a variety of implementation methods and design ideas, and only the three most representation of the three ways are selected. 1. The integral system structure design This is the most commonly used organization, which is often hailed as "hodgepodge", and it can be said that the overall system structure is "unstructured". In this configuration, developers first compile some independent processes, or files that contain procedures, and link them into a separate target program with a link. The Linux operating system is designed with an integral system structure. However, it adds some methods such as dynamic module loading and other methods to improve the overall flexibility, and compensate for the lack of structural design of the integral system. 2. Hierarchical system structure Design This method is a strict hierarchy for the system, making the entire system level, hierarchical! This system has a strong taste! There is no extensive application in the actual operating system designed in this structure. It can be said that the current operating system design is to seek balance in the design of the integral system structure and the structure of the layer system. 3. Micronuclei system structure design and micronary system structure design is a new design concept in recent years, and most representative operating systems have MACH and QNX. Micro-kernel system, as the name suggests is that the system is small! For example, QNX's micro-core is only responsible for: ¨¨ Communication ¨ Low-level network communication ¨ Process scheduling ¨ Level 1 interrupt processing seven Many, leaving only some of the market test: 1. Desktop operating system: 1) MSDOS: The earliest operating system on the PC on the Intel X86 series, Microsoft products, have ruled this area, and now gradually Reserved by its own brother's Windows 9x series, now there is not much seen in some low-end machines. 2) Windows 9x: Microsoft products, from Windows 3.x, now is the main operating system based on the Intel X86 series of PCs, and is also the largest operating system in the current loaded capacity. For the desktop, facing individual users. 3) Mac OS: Apple all, friendly interface, excellent performance, but because it can only be limited to the company's own computer. However, due to the unique market positioning of Apple Computer, it still survived.