table of Contents
Chapter One Introduction
Article Directory
Preface
The notes taken during the university period can be learned by reviewing the past. Help yourself sort out the knowledge, and hope to provide help to you who need it. If there are any mistakes in Wenxuelu , please correct them, thank you very much ! This article is just the beginning. It does not matter if some terms are not understood. If you are interested in understanding in depth, you can continue to refer to the author's subsequent corresponding articles.
The text from the author's inner understanding (and comprehensive consideration in combination with relevant literature):
Operating System-Introduction
As we all know, a computer system is composed of a hardware system (central processing unit, memory, etc.) and a software system (system software, application software). So what part does our operating system belong to? What is the significance of its appearance?
One, operating system
definition
The operating system refers to the first layer of software configured on the computer hardware. It is the first expansion of the hardware system.
Look at the picture and you will understand~
What is bare metal? Computer without any software support
aims
Effectiveness
Improve system resource utilization;
improve system throughput (number of programs executed per unit time).
Convenience
It is convenient for users to write in high-level language or directly manipulate the computer system through various commands provided by the OS (do not care about machine language).
Scalability
With the microkernel structure① and the client-server model, users only care about solving their own application problems completely.
Openness
Follow the world standards and norms, the open system interconnection (OSI) international standard.
Notes: ① Microkernel: It consists of a group of software programs that minimize the number as much as possible, and they are responsible for providing various mechanisms and functions required to implement an operating system.
effect
As the interface between the user and the computer hardware system
Note: OS is a system software, so this interface is a software interface.
As a manager of computer system resources
Processor-processor management;
memory (memory)-memory management;
I/O device (external memory)-I/O device management;
information (data and program)-file management.
Realize the abstraction of computer system resources
Part of the implementation details are transparent to the user and need not be understood.
characteristic
Concurrency
(Don't worry, I will explain it in depth in the process of Chapter 2)
Sharing
Exclusive sharing mode: Only one process (printer, tape drive, etc.) is allowed to access in a period of time.
Simultaneous access mode: Allow multiple processes to access within a period of time.
Virtualization (virtualization is divided into A, B, C, D, etc.)
Asynchrony
Not sure when it will end, it is possible that the first one will end first, and the later one will end first.
Features
Compared with the content of the above role, gradually refined~
Processor management function
Process control;
process synchronization;
process communication;
scheduling.
Memory management function
Memory allocation;
memory protection;
address mapping;
memory expansion.
Device management function
Buffer management;
equipment allocation;
equipment handling.
File management function
File storage space management;
directory management;
file read-write management and protection.
structure
Strict hierarchy (bottom-up)
Advantages: easy to ensure the correctness of the system (bottom-up is based on a more reliable basis);
easy to expand and maintain: the interface between the corresponding levels remains unchanged when the modification is made, and it will not affect other levels of microkernels.
Microkernel
It refers to the part that is carefully designed to realize the most basic core functions of modern OS. It only provides an important foundation for building a general-purpose OS, so the operating system kernel can be made very small.
Advantages: improve the scalability of the
system ; enhance the reliability of the system;
strong portability;
provide support for distributed systems;
integrate object-oriented technology.
Operating system kernel refers to the core part of most operating systems, composed of those parts of the OS that are used to manage memory, files, peripherals, and system resources.
The operating system kernel usually runs processes and provides communication between processes.
Supporting functions: interrupt processing, clock management, primitive operation ②;
resource management functions: process management, memory management, and device management.
Note: ②Original operation: It is an operation used to complete a certain function, it is an atomic operation ③, that is, all actions in an operation, or all actions in an operation, or not all
③Atomic operation: performed in the tube state ④, permanent Memory
④ Management state: system state, core state, privilege state, a state relative to the target state ⑤
⑤ target state (as opposed to tube tire): user state, normal state
When the operating system allocates resources to a task, it will first determine whether the number of remaining resources in the system is greater than or equal to the number of resources still needed for task execution. If it is satisfied, the resource is allocated and the task is executed. If it is not satisfied, it waits and selects other tasks to execute. Enough to always keep the conditions established is a safe state, which avoids deadlock.
This article is just the beginning. It does not matter if some terms are not understood. If you are interested in understanding in depth, you can continue to refer to the author's subsequent corresponding articles.