Network Security Internet Technology Development Database Servers Mobile Phone Android Software Apple Software Computer Software News IT Information

In addition to Weibo, there is also WeChat

Please pay attention

WeChat public account

Shulou

Basic summary of computer and operating system

2025-01-19 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Network Security >

Share

Shulou(Shulou.com)06/01 Report--

Basic concept of computer

February 1946, the United States, the world's first electronic computer ENIAC was born, it seems that since that year the world has gradually become different. Over the past half a century, computer technology has developed vigorously, promoting mankind to enter the information society.

Computer interface:

① graphical user interface

② command line interface

While developing the ENIAC computer, Feng. Neumann cooperated with Moore's team to develop the EDVAC computer, which adopted the storage program scheme, that is, each step in the process of solving the problem was expressed by instructions, and compiled into a program according to the order of execution, which was stored in memory, called Feng. Neumann computer. Feng. The Neumann computer has the following characteristics.

(1) the computer consists of five parts: arithmetic unit, controller, memory, input device and output device.

(2) in the way of storing the program, the program and data are placed in the same memory and represented by binary code.

(3) the instruction consists of an operation code and an address code.

(4) instructions are stored in the memory in the order of execution, and an instruction counter (PC) specifies the address of the memory unit where the instruction to be executed is located.

(5) the computer takes the arithmetic unit as the core, and there are two types of digital operations: arithmetic operation and logic operation. The controller coordinates the operation between the arithmetic unit and other devices. The memory is mainly RAM, and the data transmission between the input and output equipment and the memory is through the arithmetic unit.

According to the development of physical devices used in electronic computers, the development of electronic computers is generally divided into five stages, which are traditionally called five generations.

The first Generation: the era of Electron Tube computer

The second generation: the era of transistor computers

The third generation: integrated circuit computer era

The fourth generation: the computer era of large-scale integrated circuits

The fifth generation: VLSI computer era

The hardware of the computer is the basis for the computer to achieve various functions, while the software is the method to achieve the function, which is composed of instructions and data, and converts the frequency into information type so that the logic hardware can understand and run. For example, the infrared control function of the remote control and the logic conversion of the touch screen into binary machine language form can be understood by the computer.

Computer languages can be divided into three categories: machine language, microcode language (assembly language) and high-level language. as the lowest language of computer, machine language has the strongest universality but weak pertinence, and it is directly implemented by binary. at the beginning of computers, people used machine languages to operate computers, but because machine languages were all written in binary code, it put too much pressure on programmers. It is even more inefficient. Based on this background, assembly language came into being. Assembly language uses symbols instead of binary codes, so assembly language is also called symbolic language. Programs written in assembly language cannot be directly recognized by hardware. Assembler should be used to convert assembly language into machine language so that the hardware can recognize it. For the assembly language, this process is called the assembly process, which is achieved by the assembler. The coupling between assembly language and chip is very high, but the assembly language written on one chip can not be transplanted to other chips, so the portability is very poor, so there is a high-level language. There are many high-level languages, C language, JAVA,PHP,Python,perl and other languages have their own pertinence. C language and JAVA are system-level languages closer to the bottom, while PHP,Python,perl and others are application-level languages. Although the high-level language is highly targeted, the closer it is to human natural language, the less efficient it is to convert it into machine language, resulting in a lot of intermediate code, and the more additional overhead it requires at run time.

High-level languages can be divided into:

① system level, application level.

② can be divided into process-oriented: code is written according to strict logical structure. Object-oriented: relatively free, paying more attention to the process of data processing rather than data structure.

③ can be divided into strong languages (compiling languages): C language, Clearing languages and Java. Unnamed variables cannot be used, and the source code must be compiled and cannot be used without compilation. Weak language (interpretative language): PHP,Python,shell, which can be used without declaring variables, without compilation and through an interpreter.

Basic concepts of operating system

The operating system (Operating System,OS) is the first layer of software configured on the computer hardware. It is the first expansion of the hardware system. Its main function is to manage these devices, improve their utilization and system throughput, and provide a simple interface for users and applications to facilitate users to use.

At present, the computer we use is a digital device, that is, a device that can process and calculate digital information. A digital device that can only understand binaries. Therefore, any program that wants to run on a computer must be encoded into binary code before it can be accepted by the underlying hardware, but the underlying hardware is too simple and ugly, so in order to facilitate the development of programmers, the supplier will assign assembly interfaces to these underlying ugly hardware, but these assembly interfaces are also very low-level. In order to make good use of these assembly interfaces, we need a program that can complete the assembly function-the driver. At the beginning, because different hardware requires different assemblers, in order to be able to use the underlying hardware of the computer, a corresponding driver is written for the assembly interface of each underlying hardware. However, with the continuous development of computers, later people feel that it is too complicated to write a corresponding driver to use a piece of hardware, so someone specially develops the underlying hardware of these computers, encapsulates it into a whole, and shares it out. In this way, programmers do not need to write their own code, just call it directly. In this way, when developing the program, the programmer can directly call the driver to access the hardware and assemble it into a binary stream that can be directly processed by CPU.

The operating system is also called the hardware virtual abstraction layer. Is the abstraction of hardware virtualization. (such as D disk icon, etc.) do not directly use the hardware, but in a substitute, virtual way to use the hardware. Allocate resources to hardware, monitor and prevent unreasonable allocation of resources. Unreasonable allocation of resources and waste of resources will lead to the failure of the system. The operating system here is the kernal. Kernal is only responsible for driving the underlying hardware and virtualizing the resources of the underlying hardware. Such as spatial reuse, time reuse.

Operation interface (shell), the program that uses the operation interface is easy to manage when displayed in the interface, otherwise it is not easy to manage. Some applications need to interact with the operation interface to generate icons on the interface, and some directly access the kernel through the operating system, rather than directly interact with the operation interface on the interface (such as *).

The operating system kernel can be a good connecting link between the interface of the operating system and the kernel kernal. The kernel can well shield the underlying ugly hardware and put the virtualized hardware resources on the computer interface to facilitate the use of users. The process of software finding the operating system interface and using the operating system interface is called system call. Using this interface, the information we need and the operations we need to do are transmitted to the kernel of the operating system through the interface. That is, system calls. It is not the program but the process that calls the system interface. The program is static and dead, and the process is dynamic and alive. The application program through the operation interface shell, through the system call to the operating system kernel, the kernel assembles, translates the high-level language into assembly language and then into the machine language that the computer can understand, so as to call the hardware.

A complete operating system consists of a kernel and a variety of applications. The kernel shields the ugly interface of the underlying hardware and the virtual hardware interface to facilitate users. These abstract interfaces are called system calls. What interfaces are needed in the code used by programmers, which need to be known in advance before writing the code, otherwise the written code cannot run debugging on this operating system if it does not match the interface of the operating system. Therefore, programmers must know in advance what interfaces the operating system has, but there are hundreds of interfaces in the operating system, which is also a great pressure for programmers, so some people encapsulate some commonly used interfaces to the operating system into a library, namely Library. Library contains a large number of methods, and programmers can program based on either the library interface or the kernel interface. In the field of Linux, the call of library interface is more free and convenient. These libraries are also known as API (Application Program Interface).

If the programmer uses the windows operating system interface when programming, and wants to run and debug this program in the Linux operating system, it is necessary to make sure that the windows operating interface at the beginning of writing the program and the API library of the operating system under the running environment can be called together. That is, POSIX (Portable Operating System) portable operating system. Any program code that complies with the POSIX specification can be used on different operating systems.

Programming interface compatibility does not mean that binary interfaces are compatible, that is, when programmers write code, it is compatible with the interface of the operating system, but it does not mean that the language of the program can be converted into binary machine language for hardware to operate. The binary interface here is compatible with ABI (Application Binary Interface). Convert the source code of the program into binary code. Whether the source code can be compiled depends on whether the API is compatible, and whether the source code can be executed after compilation depends on whether the ABI is compatible or not.

Access interface programs can be divided into two categories:

① graphical user Interface (GUI)

② Command Line Interface (CLI)

Our commonly used windows system has a desktop, which is a graphical user interface. It is easier for beginners to use GUI on a computer, but anyone who has used CLI knows that using CLI is much more efficient than using GUI. The entry bar for CLI is high, which leads to many people's dislike of using it. But as soon as you get started, you will find that the command line interface is very simple. It is almost transparent to use, and problems in any link can be quickly found and solved.

From the first computer born in 1945 to the computer in the mid-1950s, they all belong to the first generation of computers. There is no OS yet, and all the operations on the computer are carried out manually by the user. The programmer loads the pre-perforated paper tape into the paper tape input machine, then starts them to input the programs and data on the paper tape into the computer, and then starts the computer to run. In order to solve the contradiction between man-machine contradiction and speed mismatch between Istroke O equipment, offline Ihammer O technology appeared at the end of 1950s. In this technology, the paper tape equipped with user programs and data is loaded into the paper tape input machine in advance, and the data on the paper tape is input to the tape under the control of a peripheral machine, and then transferred from the tape to memory at a high speed when the CPU needs these programs and data. In order to fully improve the utilization rate of computer resources, a batch of jobs are first input to the tape offline, and equipped with a supervision program in the system, under its control, these jobs can be processed continuously one by one. Although the system processes jobs in batches, only one job is kept in memory, so it is called single-channel batch processing. However, the resources in the single-channel batch system are not fully utilized, because there is only one program in memory, so the CPU is waiting after the program sends out the Ibank O request. In order to further improve the resource utilization and system throughput, the design technology of multi-channel program was introduced in the mid-1960s, thus forming a multi-channel batch processing system. In this system, the jobs submitted by user I are first stored in the village and lined up in a queue. Then the job scheduler selects several jobs from the queue and enters them into memory according to a certain algorithm, so that they can share all kinds of resources of CPU and the system. Because there are several programs in memory at the same time, so that when program An is running, it can make use of the gap time of program A to schedule the execution of another program B, so that multiple programs can be executed alternately, thus making CPU busy.

Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.

Views: 0

*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.

Share To

Network Security

Wechat

© 2024 shulou.com SLNews company. All rights reserved.

12
Report