previous up next
Chapter 1:

Standard designs for real-time programs, dynamic memory management, and multi-tasking

Although computer science is constantly evolving and new programming techniques are proposed frequently, several techniques have become standard. Since the discussion of our environment will depend on these techniques, will present them early on in our text. The reader familiar with these techniques can jump this chapter without risking to miss something of our presentation.

Computer systems manage two major scarce resources: the storage space and the CPU time. Other scarce resources include network and disk bandwidth. If a program has to output its results within well-defined time delays, it is called real-time. Real-time programs, in collaboration with the operating system, have to balance their CPU usage carefully. Section 1.1 discusses some issues in the design of real-time systems. Programs whose storage needs vary during the execution must take special measures to prevent the exhaustion of memory space. Section 1.2 is dedicated to techniques of dynamic memory management. The number of tasks that a computer system can handle truly simultaneously is equal to the number of CPU's in the system. Section 1.3 discusses how the system can simulate concurrent activities with the use of processes and threads.

1.1 Hard versus soft real-time applications

1.2 Dynamic memory management

1.3 Multi-tasking
previous up next