Computer Operating System (Third edition) ---- Review 01
Chapter 1 Introduction to operating systems
1.1 Objectives and functions of the Operating System
Operating system goals
1. Validity (including: 1. Increase system resource utilization by 2. Increase system throughput)
2. Convenience
3. Scalability
4. Openness (compliant with OSI International Standards)
Functions of the Operating System
1. OS is the interface between the user and the computer hardware system (1. Command. 2. System Call method. 3. Graph and window mode .)
2. OS as the manager of computer system resources
3. OS abstracts computer resources
Main Driving Force for Operating System Development
1. Constantly improve the utilization of computer resources
2. Convenient for users
3. Devices are constantly updated
4. The continuous development of computer architecture
1.2 operating system development process
1. Computer systems without Operating Systems
1) manual operation (Disadvantage: 1. Exclusive to users. 2. CPU waiting for manual operation)
2) offline input/output (advantage: 1. Reduce the idle time of the CPU. 2. Improves I/O speed)
2. Single-channel Batch Processing System
1) features (1. Automatic. 2. Sequence. 3. Single Path)
3. Multi-channel Batch Processing System
The introduction of multi-channel Programming Technology in OS can bring the following benefits: 1) improve CPU utilization 2) increase memory and I/O device utilization 3) increase system throughput
Advantages and disadvantages of multiple batch processing systems: 1) high resource utilization; 2) high system throughput. 3) long average turnaround time 4) no interaction capability
Problems to be Solved by multiple batch processing systems: 1) processor management problem 2) memory management problem 3) I/O device management problem 4) file management problem 5) Job Management Problem
Definition of an operating system: an operating system is a set of programs that control and manage computer hardware and software resources, reasonably schedule various jobs, and facilitate user use.
4. Time-sharing system
Definition: a host is connected to multiple terminals with monitors and keyboards, and multiple users are allowed to use computers in interactive mode through their own terminals to share resources in the host.
User requirements: 1) Human-machine interaction. 2) shared host. 3) easy for users to get on the machine
Key issues: 1) receive them in time. 2) timely handling
Features: 1) multiplexing 2) independence. 3) Timeliness. 4) Interactivity
5. Real-Time System
The so-called "real-time" refers to "timely". A hundred real-time system refers to a request that the system can respond to external events in a timely or timely manner, process the event within the specified time, and control all real-time tasks to run in a coordinated manner.
Application requirements: 1) Real-time Control. 2) Real-time information processing.
Real-time tasks: periodic real-time tasks are divided by whether or not the tasks are executed cyclically. 1) periodic real-time tasks. 2) non-periodic real-time tasks.
Based on the requirements of the deadline, Division 1) hard real-time tasks. 2) soft real-time tasks.
Comparison between real-time systems and time-sharing system features.
6. Development of microcomputer operating system
1. Single-user, single-task operating system. (1. CP/m 2. MS-DOS)
2. Single-user multi-task operating system.
2. Multi-user multi-task operating system. Unix OS (variant: 1) Solaris OS 2) Linux OS)
1.3 Basic Features of the Operating System
1. Concurrency (1. Parallelism and concurrency (parallelism refers to the occurrence of two or more events at the same time; concurrency refers to the occurrence of two or more events at the same time interval ). 2. Introduce the process. 3. Introduced thread)
2. Sharing (1. Mutual Exclusion mode. 2. Simultaneous access)
Concurrency and sharing are the two most basic features of the operating system, and they are the conditions for mutual existence.
3. Virtual Technology refers to a technology that converts a physical entity into several logical counterparts.
1) time division multiplexing technology (time division multiplexing, that is, time division usage) (1. Virtual processor technology. 2. Virtual Device Technology .)
2) Space Division Multiplexing Technology (1. Virtual Disk technology. 2. Virtual Storage Technology)
4. Asynchronization
1.4 Main features of the Operating System
1. The processor management function (mainly used to create and cancel processes (threads), coordinate the running of various processes (threads), and exchange information between processes (threads, and allocate the processor to the process (thread) according to certain algorithms )).
1) Process Control
2) process synchronization (the main task of Process Synchronization is to coordinate the running of multiple processes (including threads. There are two coordination methods: 1. Processes are mutually exclusive. 2. Process Synchronization mode .)
3) Process Communication
4) Scheduling (1. Job scheduling. 2. Process Scheduling)
2. Memory Management
1) memory allocation (in order to realize memory allocation, the memory allocation mechanism should have the following structure and functions: 1. Memory Allocation data structure. 2. Memory Allocation Function. 3. Memory reclaim function .)
2) memory protection (the main task is to ensure that each user program runs only in its own memory space and does not interfere with each other)
3) Address ing (convert the logical address in the address space to the physical address corresponding to it in the memory space)
4) memory expansion (used to implement the following functions: 1. Request Transfer Function. 2. Replacement function .)
3. Device management function (the main task is to complete the I/O requests submitted by the user process, allocate the user process with the required I/O devices, and improve the utilization of CPU and I/O devices; improves I/O speed and facilitates the use of I/O devices.
To implement the above tasks, device management should have functions such as buffer management, device allocation, device processing, and virtual devices)
1) buffer management
2) device allocation
3) device processing (device processing program, also known as a device driver. The basic task is to implement the communication between the CPU and the device controller)
4. File Management
1) file storage space management
2) Directory management
3) file read/write management and protection
5. Interface between operating system and user
1) User Interface (1. Online user interface. 2. Offline user interface. 3. Graphical User Interface)
2) Program Interface
1.5 OS STRUCTURE DESIGN
Traditional Operating Systems
1. Unstructured Operating System
2. Modular OS (unordered module method)
3. Hierarchical Structure OS
Customer/Server mode (C/S)
Object-Oriented Programming (advantages: 1. Improve product quality and productivity through "reuse. 2. This makes the system easier to repair, modify, and expand. 3. It is easier to ensure "correctness" and "reliability" of the system ")
Microkernel OS STRUCTURE
Basic concepts:
1. Small enough Kernel
2. Customer/server-based mode
3. Apply the principle of "mechanism and policy separation"
4. Adopting Object-Oriented Technology
Basic functions
1. Process (thread) Management
2. Low-level memory management
3. Interruption and handling
Two concepts:
User status
Context switching