The computer system receives andStore information, automatic data processing and calculation, and outputResult informationMachine system.Computer is the extension and expansion of brain power and one of the major achievements of modern science.
Computer system consists of hardware (subsystem) and software (subsystem)system composition 。The former is an organic combination of various physical components based on the principles of electricity, magnetism, light and machinery, and is the entity on which the system works.The latter are various procedures and documents for commandingSystem wideWork according to the specified requirements.
Electronic computers fall into two categories: digital and analog.Generally speaking, computers refer todigital computerThe data processed by its operation is discreteDigital quantityRepresents.andAnalog computerThe data processed by operation is continuousAnalog quantityRepresents.Compared with digital computers, analog computers are fast, simple to interface with physical devices, but low in accuracy, difficult to use, poor in stability and reliability, and expensive.Therefore, the simulator has been eliminated, and it is only used in the occasions where the response speed is required to be fast but the accuracy is low.The hybrid computer, which combines the advantages of the two, still has some vitality.
main features
Announce
edit
The computer system is characterized by accurate and fast calculation and judgment, good versatility, easy use and network connection.
② Judgment: the computer has the ability to distinguish different situations and choose different processing, so it can be used in management, control, confrontation, decision-making, reasoning and other fields.
③ Storage: Computers can store huge amounts of information.
④ Accuracy: As long as the word length is enough, the calculation accuracy is theoretically unlimited.
⑤ Fast: The time required for a computer operation is less thannanosecondCount.
⑥ General: The computer is programmable, and different programs can realize different applications.
⑦ Easy to use: rich high-performance software and intelligentman-machine interface , greatly facilitating the use.
⑧networking: Multiple computer systems can transcend geographical boundaries with the help ofCommunication network, share remote information and software resources.
form
Announce
edit
Figure 1 shows thehierarchical structure。The kernel ishardware system Is the actual physical device for information processing.The outermost layer is the person who uses the computer, that is, the user.The interface between human and hardware system issoftware system, which can be roughly divided into system softwareSupporting softwareAnd application software.
The software is divided into system software, support software and application software.The system software is composed ofoperating system、Utilities、CompilerEtc.The operating system implementsmanagement control 。The utility program is designed for the convenience of users, such as text editing.The function of the compiler is to useassembly languageOr somehigh-level languageThe written program is translated into machine executablemachine languageProcedure.Supporting softwareThere are interface software, tool softwareEnvironment databaseIt can support the environment of the machine and provideSoftware development tools。Support software can also be considered as part of system software.Application software is written by users according to their needsSpecial program, which uses system software andSupport softwareIt is the outermost layer of the software system.
① Special purpose machine and general purpose machine: early computers were designed for specific purposes and had special properties.Since the 1960s, the company has begun to manufactureGeneral purpose computer。especiallySerial computerThe emergence of the standard text of various advancedprogramming languageThe adoption of and the maturity of the operating system enable one model series to choose different softwarehardware configuration, which can meet the different needs of users in different industries and further strengthen the universality.butSpecial purposeThe dedicated machine of is still developing, such as continuousDynamic systemThe full digital simulator ofDedicated computerEtc.
②Supercomputer、mainframe, medium-sized computerMinicomputer、microcomputer: Computers are developed with large and medium-sized computers as the main line.Appeared in the late 1960sSmall computer, appeared in the early 1970sMicrocomputerIt is widely used because of its lightness, low price, strong function and high reliability.Since the 1970s, there have been more than 50 million operations per secondSupercomputerIt is specially used to solve major problems in science and technology, national defense and economic development.As the echelon components of computer systems, giant, large, medium, small and micro computers have their own uses and are developing rapidly.
③ Assembly lineprocessorAnd parallel processor: under the condition of limited speed of components and devicesSystem structureAnd the organization to achieve high-speed processing capabilities, successfully developed these two processors.They all faceɑiθbi=ci(i=1,2,3,…,n;θbyoperator)Such a group of data (also called vector) operations.The pipeline processor is a single instructiondata stream(SISD), they use the overlapping principle to process vector elements in a pipeline manner, with high processing speed.parallel processing Machine isSingle Instruction Streaming Multiple Data Streaming(SIMD)It uses the parallel principle to repeatedly set multiple processing components and simultaneously process the elements of the vector in parallel to achieve high speed (seeParallel processing computer system)。Running water andParallel technologyIt can also be combined, such as repeatedly setting multiple pipeline components to work in parallel to achieve higher performance.Researchparallel algorithm It is the key to exert the efficiency of such processors.The vector operation can be effectively organized by extending vector statements in high-level programming languages;Or with vectorRecognizer,automatic recognition source programThe vector component in.
An ordinary host (scalar machine) is equipped with an array processor (only a pipeline dedicated machine for high-speed vector operation) to form a main and auxiliary machine system, which can greatly improve the processing capacity of the systemPrice performance ratioHigh and widely used.
④multiprocessorAndMulti computer system、Distributed processingSystem andComputer networkMultiprocessors and multiprocessor systems are further developmentParallel technologyThe only way to go is to develop giant and mainframe computers.They areMultiple Instruction Streams Multiple Data Streams(MIMD) system, each machine processes its ownInstruction flow(Process), communicate with each other and jointly solve large-scale problems.They have a higher level of parallelism than parallel processors, with great potential and flexibility.Using a large number of inexpensive microcomputersNetwork compositionSystem, in order to obtain high performance, is a research direction of multiprocessors and multiprocessor systems.Multiprocessor and multiprocessorsystem requirements Study at a higher level (process)parallel algorithm High level programming language provides the means of concurrent and synchronous processes, and its operating system is also very complex, which must solve the problem ofMultiprocessCommunication, synchronization, control, etc.
Distributed systemIt is the development of multi machine system. It is a system of physically distributed multiple independent and interacting single machines to solve user problems cooperatively, and its system software is more complex (seeDistributed computer system)。
Multiple geographically distributed computer systems, viaCommunication lineandNetwork Protocol, connect with each other, formcomputer network。It is divided into local (local) computer network and remote computer network according to geographical distribution.Computers on the network can share information resources, software and hardware resources with each other.Booking systemInformationretrieval systemAre examples of computer network applications.
⑤ Neumann machine and non Neumann machine:Stored programandCommand drivenThe Neumann machine still dominates today.Its orderExecute instruction, which limits theParallelism, Impactprocessing speed Further improvement.The non Neumann machine that breaks this principle isArchitectureCome up to develop parallelism and improve the systemthroughputThe research work in this field is in progress.Data flow drivenData flow computerAnd the height of drive by reduction control and drive by demandparallel computer , are promising non Neumann computer systems.
expectation
Announce
edit
The computer system is updated about every 3-5 years,Price performance ratioIt is ten times higher and the volume is greatly reduced.vlsiTechnology will continue to develop rapidly and have a huge and profound impact on all kinds of computer systems.32-bitmicrocomputerThe 64 bit microcomputer has also come out, and it is not far away to make 10 million components on a single chip.Devices that are 10 to 100 times faster than semiconductor integrated circuits, such asGallium arsenide, HighElectron mobilityDevicesJosephson knotThe research of optical elements will have important results.increaseAssembly densityAnd shortened interconnectsAssembly technologyIt's a new generation of computerskey technology one of.Optical fiber communicationWill be widely used.Various high-speed intelligenceperipheralThe advent of compact discs will helpMass storagetake on an entirely new.Multiprocessor system、Multi computer system、Distributed processingThe system will be compellingSystem structure。Software hardening (called firmware) isDevelopment trend。New non Neumann machine, inference computerknowledge baseThe computer has been put into practical use.software developmentWe will get rid of backwardness and inefficiency.software engineeringIt is developing in depth.Software productionIt is developing towards engineering, formalization, automation, modularization and integration.newhigh-level languageasLogical languageThe research of functional languages and artificial intelligence will make the human-computer interface simple and natural (can directly see, listen, speak and draw).Database technologyWill be greatly developed.computer networkIt will be widely popularized.With huge processing capacity (such as 10~100 billion operations per second), great knowledgeInformation baseThe next generation computer system characterized by high intelligence is being vigorously developed.Computer applicationWill become increasingly widespread.Computer Aided DesignComputer controlled production lines and intelligent robots will greatly improve social laborproductivity。Office, medical treatment, communication, education and family life will be computerized.Computer has a great impact on people's life andsocial organizationThe impact of will be increasingly extensive and profound.
Workflow
Announce
edit
User's use of computer systemArithmeticGeneral process of:
① The system operator creates an account and obtains the right to use it.The account is not only used to identify and protect users' files (programs and data), but also used for the system to automatically count users' use of resources (accounting, payment).
② According to the problem to be solved, study the algorithm, select the appropriate language, and writesource programAnd provide data to be processed and relevantcontrol information。
④ With the help offloppy diskThe machine inputs the user files on the floppy disk into the computer, processes them as a job, registers them and stores them in the auxiliary memory.
⑤ Is to require compilation.The operating system calls the job into the main memory and calls the compiler of the selected language for compilation and connection (including thesubroutine), generating machine executableTarget program, depositAuxiliary memory。
⑥ Computational processing is required.The operating system calls the object program into the main memory, and thea central processorOperation processing, and the results are stored in auxiliarystorage。
⑦ The operation result is sent to the external device for output by the operating system in the format required by the user.
Computer internal work (④~⑦) is a complex process under the control of operating system.Usually, there are multiple user jobs input at the same time in a computer, and they are uniformly scheduled by the operating system and run alternately.However, this scheduling is transparent to users, and ordinary users do not need to know its internal details.
The user can use one terminal to interactively control ③~⑦ (time-sharing mode);It can also be entrustedoperatorComplete ③~⑦, of which ④~⑦ are automatically performed by the computer (batch processing mode).Batch modeDegree of automationHigh, but the user is not intuitive, without intermediate intervention.The time-sharing mode is intuitively controlled by the user, which can intervene and correct errors at any time, but the degree of automation is low.Modern computerThe system mostly provides two modes, which are selected by users.
operating system
Announce
edit
brief introduction
The operating system is the system software (or program set) that is convenient for users to manage and control computer software and hardware resources.From the user's point of view, the operating system can be seen as an expansion of computer hardware;fromhuman-computer interactionIn terms of mode, the operating system is the interface between the user and the machine;From computer'sSystem structureLook, the operating system is a hierarchymodule structureThe program set of is an ordered hierarchical method, which is an ordered hierarchical call of unordered modules.The design of the operating system reflectscomputer technologyAnd management technology.The position of the operating system in the computer:
The operating system is software and system software.Its role in the computer system can be roughly understood from two aspects:
Internally, the operating system manages various resources of the computer system and expands hardware functions;
External, the operating system provides goodinterface, convenient for users to use the computer.It plays a connecting role in the whole computer system.
The operating system is a largesoftware systemIts functions are complex and its system is huge.The results are different from different perspectives. It is just "the peak is formed on the side of the ridge when viewed horizontally". Let's analyze it from the most typical two perspectives.
1. From the programmer's point of view
As mentioned above, if there is no operating system, programmers must fall into complicated hardware implementation details when developing software.Programmers do not want to get involved in this terrible field, and a large amount of energy spent on this repetitive, non creative work also makes it impossible for programmers to focus on more creative programming.What programmers need is a simple, highly abstract device with which they can interact.
Isolating hardware details from programmers is, of course, the operating system.
From this perspective, the role of the operating system is to provide users with an equivalent extended machine, also known asvirtual machine, which is easier to program than the underlying hardware.
2. From the user's perspective
From the user's perspective, the operating system is used to manage various parts of a complex system.
The operating system is responsible for orderly control between competing programsCPU, memory and othersI/O interfaceAllocation of equipment.
For example, suppose that three programs running on a computer try to output the calculation results on the same printer at the same time.Then the first few lines may be the output of program 1, the next few lines may be the output of program 2, and then the output of program 3.The end result will be a mess.At this time, the operating system uses thePrintoutTo diskbufferThis kind of confusion can be avoided by means of.In aEnd of programAfter that, the operating system can send the files temporarily stored on the disk to the printer for output.
From this perspective, the operating system is the resource manager of the system.
In this period, computers become more and more reliable, and have come out of research institutes and into commercial applications.But computers in this period mainly complete variousScientific computing, needs special operators to maintain, and needs to be programmed for each calculation task.
The second generation computers are mainly used for scientific and engineering computing.useFORTRANAndassembly languageWrite the program.Later, the prototype of the operating system appeared: FMS (FORTRAN monitoring system) andIBMSYS (IBM's operating system for 7094).
In the early 1960s, computer manufacturers divided into two computer series according to different applications, one for scientific computing and one for commercial applications.
along withComputer applicationWith the deepening of, there is a need for computers to unify the two applications.At this time, IBM tried to solve this problem by introducing System/360.
In line with this plan, IBM organizedOS/360The development of the operating system, and then the complex requirementssoftware engineeringThe low level of OS/360 development has led to the worst situation in history“software developmentThe "quagmire" gave birth to the most famous failure treatise --- The Mysterious Man Month.Although thisDevelopment planFailed, but this desire has become the goal of computer manufacturers.
At this time, MIT, Bell Lab(Bell Laboratories)AndGeneral Electric CompanyDecided to develop a "public computer"service system ”----MULTICS, a machine that hopes to support hundreds of time-sharing users at the same time.As a result, the development difficulty of this plan exceeded everyone's expectations, and finally the system ended in failure.However, the idea of MULTICS provided many hints for later operating systems.
At the end of the 1960s, a Bell Lab once participated in the development of MULTICSComputer scientistKen Thompson,In an unattendedPDP-7A simplified, single user version of MULTICS has been developed on the machine.LaterUNIX operating systemThe birth of.
UNIX operating system dominatesMinicomputer, workstations and other markets.It is also one of the most influential operating systems since 2023, andLinuxIt is also a derivative of UNIX system. The next lecture will introduce the development history of UNIX.
With the continuous updating and development of computer technology, computers have magically entered people's lives, and can be powerful at a low priceComputing power's computer.
When price is no longer the threshold to block the popularity of computers, it is very important to reduce the ease of use of computers.Because of its own characteristics, UNIX system is not suitable for running on personal computers. At this time, a new operating system is needed.
At this critical time in history, IBM underestimated the PC market and did not use its greatest strength to compete in this market. At this time, Intel took the opportunity to enter, becoming today'smicroprocessorThe boss of.At the same time, good at seizing the opportunityMicrosoftPresident of the companyBill GatesEntered this field at the right timeCP/MBecomeMS-DOSAnd become a personal computeroperating systemThe overlord of the field.
Although it isApple IncFirst in GUI, but due to Apple's incompatibility and opennessMarket strategy, failed to expand the success, at this timeMicrosoftIt also entered the GUI aspect at the right time, and once again dominated by the WINDOWS system.
constitute
Generally speaking, the operating system consists of the following parts:
Be responsible for dealing with various things related to the network.
Structural design
There are many implementation methods and design ideas for the operating system, and only the mostRepresentativenessMake a simple description of the three.
This is the most commonly used organization method, which is often called“Chowder”In other words, the integrated system structure is "no structure".
suchStructureIn order to construct the final target operating system program, developers first compile some independent procedures or files containing procedures, and then link them into a separateTarget program。
computer system
LinuxThe operating system is integratedSystem structureDesign.But on this basis, some methods such as dynamic module loading are added to improve the overall flexibility and make up for the lack of integrated system structure design.
2、 Hierarchical system
Hierarchical system structure design:
In this way, the system is strictly layered, making the whole system hierarchical,rigidly stratified。This kind of system has a strong academic flavor. In fact, there are few operating systems designed completely according to this structure, and there is no widespread application.
It can be said that the design of the operating system since 2023 is to seek a balance between the overall system architecture and the hierarchical system architecture.
MicrokernelThe system structure design is a new kind of design since 2023Design concept, the most representative operating systems are Mach andQNX。
Microkernel system, as its name implies, issystem kernel Very small.For example, the microkernel of QNX is only responsible for: inter process communication, low-levelNetwork Communications, process scheduling, first levelInterrupt processing。
Horizontal comparison
There have been many operating systems in the history of computers, and then many have been eliminated without mercy, leaving only some that have experienced the test of the market:
(1) MSDOS: The earliest operating system on Intel x86 series PCs, Microsoft products, once dominated this field. Since 2023, it has gradually been replaced by its own brother WINDOWS series, which is rare except for some low-end computers.
(2) Windows: Microsoft products, fromWindows 1.0It has developed since 2023 based onIntel x86The main operating system on PC series is also obviouslypersonal computerThe operating system with the largest installed capacity.Desktop oriented and personal user oriented.
(3)Mac OS:Apple IncAll of them have friendly interface and excellent performance, but their development is limited because they can only run on Apple's own computers.But becauseApple Computerdistinctivemarket positioning, still alive and well.
(4)linux:LinuxIt is the name of a computer operating system and its kernel. It is alsofree software andOpen SourceThe most famous example in development.
Strictly speaking, the word Linux only meansLinux kernelIn fact, people are used to using Linux to describe the entire Linux based kernel, andGNUThe operating system (also known asGNU/Linux)。Linux software based on these components is called Linux distribution.Generally speaking, a Linux distribution suite contains a lot of software, such asSoftware development tools, database, web server (for exampleApache),X Window,Desktop environment(e.gGNOMEandKDE), office suite, etc.
(1) UNIX series: UNIX has a long history and is a truly robust, practical and powerful operating system. However, many manufacturers have developed UNIX versions with their own characteristics based on it, which affects the whole.In foreign countries, UNIX system is unique and widely used in scientific research, schools, finance and other key fields.However, due to the backward computer development in China, the application level of UNIX system lags behind that of foreign countries.
(2)Windows NTSeries: Microsoft products, which use Windows friendlyuser interfaceWith the advantage ofServer operating systemMarket.But its overall performance, efficiency and stability are somewhat different from UNIX, so it is mainly used in the SME market.
(3)NovellNetware series: Novell products, which are famous for being extremely suitable for small and medium-sized networksMarket shareIt is extremely high, and its product features are distinctive. It is still an evergreen tree in server system software.
(4) LINUX Series:LinuxIt is a kind of freedom andOpen sourceUnix like operating system.There are many different Linux, but they all use the Linux kernel.Linux can be installed in variousComputer hardware equipmentFrom your phonetablet PC, Router andVideo gamesConsole, toDesktop computer、mainframeandSupercomputer。Linux is a leading operating system. The 10 fastest supercomputers in the world run Linux operating system.Strictly speaking, the word Linux itself only refers to the Linux kernel, but in fact, people have been accustomed to using Linux to describe the entire operating system based on Linux kernel, and using various tools and databases of GNU engineering.Linux gets its name from computer amateur Linus Torvalds.