Question: 10) In chapter 9, in the example on page 278, the author describes (I won't say defines) a real-time system as a computer system used

10) In chapter 9, in the example on page 278, the author describes (I won't say "defines") a "real-time" system as a "computer system used primarily to measure external events that happen in "real time"; that is , the event, when it occurs, requires processing quickly because the data is of critical time-sensitive value".

I (the instructor) do << not >> like this definition. While it is true that real-time systems are usually fast, they don't have to be. They do however need to complete necessary processing << by their deadlines >>. Hence, the most important adjective in the author's description is not "quickly" but "time-sensitive".

Furthermore, on page 504, the author defines a "real-time system" as a "system in which one or more processes must be able to access the CPU immediately when required". While this is true, I (the instructor) believe this is incomplete. The author does note however that "special effort is made to assure that the real-time program can operate within its required time restraints.

Again, the most important part of the description is << required time restraints >>. In short, the requirement for timeliness of an output (response) is as important as the requirement for correctness. Failure to meet either requirement is a failure of the system.

The following are my definitions.

A "system", per this discussion, includes an application (one or more processes) and an underlying hardware platform system. Such a system may also have a operating system that supports the application.

A "real-time" system is "a system that provides a guarantee for reaching its deadlines". A "hard" real-time system provides an absolute (100%) guarantee of meeting those deadlines and a "soft" real-time system does not. The least guarantee is provided by a "best-effort" real-time system. Hard real-time applications are commonly used for safety-critical applications while an example of a "best effort" application might be a computer game. Requirements for many applications fall between the two extremes. However, when one discusses a "real-time" system, one usually refers to a "hard" real-time system.

If an operating system is employed, then it must enable (and not potentially hinder) real-time operation. Such an operating system is known as a 'real-time operating system' (RTOS). Windows and Linux are < not > real-time operating systems.

Given the latter (the instructor's) definition, if an operating system is employed in a "hard" real-time system, must the operating system be an RTOS? Why or why not? If an operating system is employed in a "best-effort" real-time system, must the operating system be an RTOS? Why or why not? Would a simple application (perhaps coded using LMC instructions) placed in a chip without an operating system (i.e. working on "bare metal") be a "hard" real-time system? Why or why not?

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!