The so-called operating system is a computer system that can effectively manage all kinds of hardware \ software resources, rational organization of computer workflow,
so as to create a good working environment for programmers \ operators and all kinds of users of the system software.
1.2.2 Some basic concepts
The hardware of a computer system consists of a storage CPU, controllers, and input/output devices:
The software part of a computer system consists of compilers and interpreters in various languages, assemblers, assemblers, loaders, linkers, user applications,
database management program systems, data communication systems, and operating systems. and operating systems. Computer system resources include hardware and software resources.
The two are inseparable parts of a computer system.
A bare-metal computer is the hardware part of a computer, which is inconvenient to use directly, and its functionality in front of the user is very limited. Add a layer of software on the bare metal after the submission to the user, in front of the user to show a function than the original bare metal stronger machine, usually this "new stronger machine" is called "virtual machine", the layer of software is called a microprogram. The operating system is the first layer of hardware expansion, but also the basis for other software.
1.2.3 The main functions of an operating system
Looking at an operating system from different perspectives can lead to a variety of perceptions of its functions. Usually, from the perspective of resource management, the functions of an operating system can be divided into several major parts, such as processor management, storage management, file management, device management, and job management.
(1) processor management: management of the use and allocation of the central processor
(2) storage management: using a certain data structure t record the use of the main memory, according to a certain policy on the allocation and protection of the memory
(3) file management: storage, retrieval, updating, *** enjoyment of the file and protection of the management, to provide users with a convenient and effective way to use the file. Effective way to use the file.
(4) device management: management of various types of peripheral devices, including interrupt processing, input and output programming, device drivers, peripheral device allocation and
(5) job management: provide users with a "job control language", "command language", according to a certain strategy for scheduling, control of operations.
1.2.4 Classification of operating systems
There are different ways to classify operating systems. For example, according to the size of the machine hardware can be divided into large
model machine operating system, small machine operating system, microcomputer operating system. The typical classification method widely used is to divide the operating system
system into six categories: single-user operating system; batch operating system; time-sharing operating system; real-time operating system; network operating system
system; distributed operating system.
1. Single-user operating systems
The main feature of this kind of operating system is that it can support only one user program at a time in a computer system.
The operating system on a microcomputer is usually a single-user operating system, such as the early CP/M, MS-DOS, etc.
2.
2. Batch operating systems
A batch operating system is a system in which the operator gives the computer several jobs in a "batch" manner
at the same time. It is divided into single-pass batch systems and multi-pass batch systems.
(1) Single-pass batch operating system
The operator receives a batch of user jobs in the external memory, the operating system automatically calls a job into the main
memory run. This processor reduces the intervention time for manual machine operations and improves machine utilization. But the central processing
machine cpu in running a job, if the job has an I/O request, then you must wait for the completion of the input, output, which means
means that in a longer period of time the cpu is idle, cpu time is still not fully utilized. It is an early batch system.
(2) Multi-channel batch operating system
It improves on the shortcomings of single-channel batch operating system. Multi-channel batch operating system puts multiple jobs in memory at the same time, when
a job needs input/output, the cpu processes its request and then turns to do another job. In this way, the execution of the first job will work in parallel with the input/output of the first job, so that the cpu is fully utilized.
A multi-channel batch system has the following characteristics:
Concurrency: there are multiple programs in the main memory, and they are running in the same state:
***Henry: the operating system has to manage the parallel programs on the cpu, the main memory, the external memory, and the data*** in the system, and to maintain the integrity of them.
3. Time-sharing operating systems
Time-sharing operating systems overcome the shortcomings of batch systems, the so-called "time-sharing", refers to multiple users sharing the use of the same computing
machine, that is, the computer's system resources (mainly cpu) in the time to be divided into a time period to form a
time period.
Each time segment is called a "time slice" and each user uses a time slice in turn, so that the cpu working time can be rotated to provide
multiple users.
The time-sharing system has three features:
Multiple modulation: a computer can be hooked up to several consoles and hundreds of terminals, and each user can manipulate or control his work on a terminal or console, so that many online users can use a computer at the same time.
Interactivity: Users can directly control the execution of their own programs through the terminal, the implementation of human-computer dialogue.
Exclusive: Users do not feel that others are also using the computer.
4 real-time operating system
With the expanding scope of the computer market, the emergence of real-time operating systems. It has a wide range of applications and can be used for industrial production control
control, limited diagnostic therapy, communication management assistance, teaching, airplane reservations and so on.
Real-time is the random occurrence of external events to make timely response and disposal. Real-time systems are divided into two categories according to how they are used.
- class is real-time control, such as steelmaking, medical diagnosis belongs to this category; the other class is real-time information processing, such as airplane reservations, intelligence check
retrieval.
Real-time system response time requirements are higher than time-sharing systems, once the service request to the real-time system, the system is required to
immediately respond and deal with the real-time system does not have a time-sharing system as strong as the ability to interact with the session.
The real-time system does not have the same interactive session capabilities as the time-sharing system, but it has high requirements for system reliability and
security.
In order to make the system widely used and adaptable, some systems have the ability to handle two or three kinds of batch, out-of-time, and real-time processing
so as to become a general-purpose operating system. In such systems, real-time tasks are treated as foreground operations and batch processing is treated as background
operations, generally only when the foreground operations do not use the processor. The background jobs can only be used when the front job is not using the processor.
5 network operating system
Computer networks are geographically dispersed computers combined to form a network. Realize the resource **** enjoy, network
Operating system is the interface between the network user and the network, the network user can use it to request the network for its services.
Generally speaking, the network host (usually called server) operating system. In addition to the usual operating system with five management functions
In addition to the realization of the network at all levels of agreement. Should also be configured to improve the communication software and network control software.
6. Distributed operating system
Distributed computer system is composed of a combination of computers, but it is different from the network system. Distributed systems are small
computer without primary and secondary points, a number of computers in the system can run in parallel with the same program,
Distributed operating system is used to manage the resources of the distributed system.