Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit

ECE 315 - Computer Interfacing

Assignment #1

1. Modern cars typically contain many dozens of embedded systems for monitoring and controlling          subsystems in the car to improve the performance of the vehicle for the driver. One of those embedded systems is the Event Data Recorder (EDR), commonly called a "black box". Use reputable Internet      resources to determine what kinds of information are recorded in a typical EDR. What are the main      potential benefits and hazards to the driver of this recorded information? What legal protections, if any, currently exist in Canada over the access to this information?

2. As discussed in the lectures, the Interent of Things is a popular term that describes the wide-spread adoption of networked embedded systems technology to control large portions of the infrastructure in a modern

economy. What are the major factors and reasons that are driving the growth of the Internet of Things?    What are some of the greatest challenges and risks that arise from our growing reliance on the Internet of Things?

3. Some of the important aspects of successful software designs include: (1) that they are constructed using software modules that are relatively short, (2) that they have high cohesion, (3) that they hide                  implementation details, and (4) that they are loosely coupled with each other. Briefly explain the benefits that these four aspects bring to a software design. Your answer also should define what is meant by high cohesion, hiding implementation details, and being loosely coupled.

4. Briefly explain the main reasons why it is important to associate the repetition loop periods in a single-   threaded architecture with time delays produced by hardware timers instead of software execution times. What would be possible disadvantages of using loop delays that are produced entirely by the execution   delay of the software that makes up the loop(s)?

5. In Chapter 4 we discussed both (1) a single-threaded architecture that produces multiple polling loops and  (2) a multitasking operating system that supports periodically-scheduled state-driven code. Briefly describe these two architectures, highlighting their similarities and differences. Then briefly summarize the               advantages and disadvantages of the two architectures with respect to each other.

6. As shown in lecture slide 4-44, the execution patterns over time of tasks in a preemptive multitasking        system with fixed priorities can be complicated. Consider the following four tasks: (1) a task that executes at the highest priority, (2) a task that executes with a priority that is medium with respect to the other tasks in the system, (3) a task that executes at a priority that is just above the priority of the idle task, and (4) the idle task, which executes at the lowest possible priority. What effects on the quality of real-time response  (including worst-case and determinism) will be experienced by tasks (1), (2) and (3) as the execution time that is available for the idle task (4) is reduced more and more. Briefly explain how these effects arise.

7. In your own words, briefly describe the priority inversion problem in preemptive multitasking systems. What serious performance problems can arise as a result of this problem? Then describe how a mutual exclusion semaphore can be used to manage a priority inversion situation if one happens to occur in a   multitasking system.