2021-03-29

2016 Architecture III
Embedded system is the core technology in the current aviation, aerospace, shipbuilding, industry, medical and other fields. Embedded systems can include real-time systems and non-real-time systems. An aerospace company has been engaged in the research and development of electronic equipment for aerospace vehicles for a long time. With the expansion of its business, a large number of university graduates need to be recruited to the scientific research and production department. According to company regulations, college graduates must receive relevant basic knowledge training. For this reason, the company manager arranged for Mr. Wang to train them for a month.
[Question 1]
Wang Gong pointed out in the training: The embedded system is mainly responsible for the management and control of various sensors of the equipment. The electronic equipment of aerospace vehicles is very sensitive to time and is usually controlled by an embedded real-time system. Please use words within 300 words to explain what a real-time system is and what are the main characteristics of the real-time system.
[Question 2]
Real-time systems have a variety of real-time characteristics according to different application scenarios, time characteristics, and work methods. There are roughly three classification methods, namely, time category, time demand, and work mode structure. According to the "real-time" knowledge that you have mastered, divide the real-time characteristics shown in Figure 3-1 into three categories, and fill in the blanks in Figure 3-1 (1) ~ (8).
Alternative answer: the degree of harm of the time limit; the role of time; weak; time response; fixed; time limit/reaction time; clear time; input/output excitation; time trigger; strong; periodic/sporadic/aperiodic; event trigger.
Insert picture description here
[Question 3]
Reliability is one of the key characteristics of real-time systems. The concept of distinguishing software errors (Error), defects (Defect), fault (Fault) and failure (Failure) is the basis of software reliability design. Please briefly explain the definition of errors, defects, failures and failures; and mark the stages of occurrence of errors, defects and failures in Figure 3-2, explain the manifestations of defects, failures and failures, and fill in Figure 3-2 (1)~( 6) Blank space.
Insert picture description here

[Question 1 my answer] A
real-time system is a system that can complete asynchronous data exchange between processes without delay or with a short delay.
Features of real-time systems: strong reliability and low asynchronous communication delay rate
[Question 2 My Answer]
1) Strong
2) Time trigger
3) Event trigger
4) Period
5) Sporadic
6) Non-period
7) Input excitation
8) Output incentive
[Question 3 my answer]
1) Tester generation
2) User use generation
3) User use generation
4) Compile development time
5) System test time
6) Release runtime

[Question 1 standard answer] The
real-time system means that after a command is issued to the system, the system will reply with the result in a very short time.
The characteristics of real-time systems:
1) Time constraint
2) Predictability
3) Reliability
4) Interaction with the external environment
5) Multitasking type
6) Constraint complexity
7) Short-term overload characteristics
[Problem 2 Standard Answers]
1) Strong
2) Time response
3) Time clear
4) Time limit/Response time
5) Input and output excitation
6) Periodic/sporadic/aperiodic
7) Time trigger
8) Event trigger
[Question 3 standard answer]
Software error: Yes Refers to undesirable or unacceptable human error during the life of the software, which results in software defects.
Software defects: Undesirable or unacceptable deviations in the software (documents, data, programs).
Software failure: Refers to an undesirable or unacceptable internal state generated during software operation.
Software failure: refers to an undesirable or unacceptable external behavior result produced during the running of the software.
1) Existence
2) Cause
3) User experience
4) During development
5) In product
6) At runtime

[Analysis]
The characteristics of the real-time system include:
1. Time constraint
  The task of the real-time system has a certain time constraint (cut-off time). According to the deadline, the real-time performance of the real-time system is divided into "hard real-time" and "soft real-time". Hard real-time means that the time requirements of the application can be fully satisfied, otherwise it will cause major safety accidents, and even cause major loss of life and property and ecological damage, such as applications in some key fields such as aerospace, military, and nuclear industry. Soft real-time means that although some applications have time requirements, real-time tasks that occasionally violate this requirement will not have a serious impact on system operation and the environment, such as monitoring systems and information collection systems.
2. Predictability
  Predictability means that the system can judge the execution time of real-time tasks and determine whether it can meet the time limit requirements of the tasks. Due to the strict requirements of time constraints in real-time systems, predictability is called an important performance requirement of real-time systems. In addition to the predictability of hardware delays, the predictability of software systems is also required, including that the response time of the application is predictable, that is, the necessary work is completed within a limited time; and the predictability of the operating system, that is, The running overhead of real-time primitives, scheduling functions, etc. should be bounded to ensure the boundedness of application execution time.
3. Reliability
  Most real-time systems require high reliability. In some important real-time applications, any unreliable factors and a small computer failure, or some specific strong real-time tasks (also called critical tasks) exceeding the time limit, may cause serious consequences that are unpredictable. For this reason, the system needs to adopt static analysis and resource reservation methods and redundant configuration, so that the system can work normally or avoid losses in the worst case. Reliability has become an indispensable indicator of real-time system performance.
4. Interaction with the external environment
The real-time system usually runs in a certain environment, and the external environment is an indispensable part of the real-time system. The computer subsystem is generally a control system, and it must respond to external requests within a specified time. The external physical environment is often the controlled subsystem, and the two interact to form a complete real-time system. Most control subsystems must operate continuously to ensure the normal operation of the subsystem or be prepared to take action on any abnormal behavior.
5. Multitasking types
In real-time systems, not only periodic tasks, occasional tasks, and non-periodic tasks, but also non-real-time tasks are included. Real-time tasks require that the time limit is met, while non-real-time tasks require that their response time be as short as possible. The mixing of multiple types of tasks makes the schedulability analysis of the system more difficult.
6. Complexity of
constraints Task constraints include time constraints, resource constraints, execution order constraints and performance constraints. Time constraints are inherent constraints of any real-time system. Resource constraints mean that when multiple real-time tasks share limited resources, they must be synchronized in accordance with certain resource access control protocols to avoid deadlocks and the time when high-priority tasks are blocked by low-priority tasks (that is, priority inversion time). prediction. The execution sequence constraint means that the start and execution of each task must meet certain time and sequence constraints. For example, in a distributed end-to-end real-time system is very heavy, there is a predecessor/posterior constraint relationship between each subtask of the same task, and a synchronization protocol needs to be executed to manage the start and control of the subtask The execution of the system allows them to meet time constraints and system schedulable requirements. Performance constraints mean that performance indicators such as reliability, availability, predictability, and quality of service must be met.
7. It has the characteristics of short-term overload.
In a real-time system, even a system with reasonable functional design and sufficient resources may be overloaded due to the following reasons:
1) System components are aging, peripheral equipment errors or system failures. As the running time of the system increases, system components are aging, and system components may fail, resulting in a decrease in available system resources and failing to meet the time constraint requirements of real-time tasks.
2) Dynamic changes in the environment. Since the future environment and system status cannot be accurately and effectively predicted, tasks cannot be scheduled from an overall perspective, which may lead to system overload.
3) Expansion of application scale. The system that originally met the real-time task time limit requirements may not meet the task time limit requirements as the scale of the application increases, and redesigning and rebuilding the system is not allowed in terms of time and economy.
The mechanism of software failure can be described as: software error→software defect→software failure→software failure
1. Software error: software will still be developed by people in the foreseeable period. In all stages of the entire software life cycle, there are direct or indirect interventions by people. However, it is inevitable that people make mistakes, which will inevitably leave bad marks on the software. Software errors refer to undesirable or unacceptable human errors during the life of the software, which result in software defects. It can be seen that software error is a man-made process, which is an external behavior relative to the software itself.
2. Software defects: software defects are those undesirable or unacceptable deviations in the software (documents, data, programs), such as one less comma, one more sentence, etc. As a result, a software failure occurs when the software is running under a certain condition, at which time the software defect is said to be activated.
3. Software failure: Software failure refers to an undesirable or unacceptable internal state that occurs during software operation. For example, when the software is in the process of executing a redundant loop, we say that the software is malfunctioning. If there are no timely measures (fault tolerance) to deal with in time, software failure will occur. Obviously, software failure is a dynamic behavior.
4. Software failure: software failure refers to an undesirable or unacceptable result of external behavior when the software is running

Guess you like

Origin blog.csdn.net/Last_Impression/article/details/115293828