Tentamen vid Institutionen för Datavetenskap, Linköpings universitet TENTAMEN TDDB47 Realtidssystem DATUM: 9 August 2005 TID: 14-18 PLATS: ---ANSVARIG JOURLÄRARE: Examinator Simin Nadjm-Tehrani (Tel: 0702 282412) Material: English-Swedish-English dictionary Calculator No of assignments: 6 Total no. of points: 40 Preliminary grade limits for grades: 3, 4 and 5 3: 20 - 25 p 4: 26 - 33 p 5: 34 - 40 p INSTRUCTIONS: Please write your name, class and personal number (sv. personnummer) on each sheet of paper that you hand in. Further, pages should only contain one answer per page (answers to sub-questions can be on the same page). You are asked to only write on one side of each paper. Please sort all the sheets that you hand in, in the order of the question number. The answers may be written in English or Swedish. Make sure your answers are supported by clear explanations. Figures or charts can be used to provide a clearer explanation but should be accompanied by a textual description. Points will not be given to answers for which the reasoning cannot be followed or that cannot be read due to bad handwriting. You may answer in Swedish or English as you prefer. Hints: Try to dispose of your time on each question in proportion of the assignment points. In any case where you are in doubt about the question, write down your interpretation and assumptions, and answer the question based on the interpretation. A correct answer that is embedded in errors may give reduction in points, so make sure your answers are to the point. Results are reported no later than August 23rd Good luck! Simin Nadjm-Tehrani Tentamen vid Institutionen för Datavetenskap, Linköpings universitet Q1: Scheduling a) Assume that the following task set is to be analyzed for its real-time properties in a new generation of the Mars Rover: (1) the trajectory following task for finding the way to a well-defined physical coordinate, (2) the sensor & measurement task that configures and reads various sensor’s values, (3) a disk storage task that is responsible for periodically writing the buffered measured values on a log on persistent memory, (4) a communication task for contacting the ground station and sending cached data. The following table summarises the task set’s periods and worst-case execution times (WCET) in milliseconds. Task Trajectory follower Sensor & measurement Disk storage Ground communication Period 1500 500 3000 500 WCET 100 100 1000 200 1) Assume that the tasks can be scheduled as independent tasks and the task set is to be scheduled using a cyclic executive. Provide such a cyclic schedule, and in particular, the minor and major cycles for the schedule. Comment on the advantages and disadvantages of a cyclic schedule. (4 points) 2) Assume that to lower the processor utilization the communication overhead is reduced by using a dedicated channel that is used every 500 ms with a 100 ms instead of 200ms as WCET. Furthermore, the sensor configuration frequency can be reduced to once every second. Assume that the trajectory following process is the only process with strict jitter requirements (no output jitter is acceptable). Explain whether the task set is schedulable with ratemonotonic scheduling (RMS). Include all the assumptions in your analysis. Comment on the satisfaction of the jitter requirements. (4 points) 3) Assume now that the task that records sensor values in the buffer and the Disk storage task (that reads from that buffer) are in fact not independent from each other. The analysis of the operation of the system shows that under RMS scheduling, when the arrival of sensor values are occasionally delayed, the disk storage task locks the buffer memory. Thereby the sensor recording task is at times waiting for the slow disk storage task, as well as the trajectory follower task that can preempt the disk storage task. What is this phenomenon called? How can the impact of sharing the buffer be accounted for and minimized, and the overall task set real-time response determined? (4 points) Q2: Dependability a) Explain the three notions of availability, reliability, and integrity. (3 points) b) Take a stand on the following propositions (true or false), and motivate your answer: Tentamen vid Institutionen för Datavetenskap, Linköpings universitet 1) There is a trade-off between Integrity and real-time response. The more a system employs mechanisms to defend against threats to integrity the higher is its response time. 2) Methods that assure higher availability do not affect real-time response. A typical method for higher availability is deployment of redundant hardware and switching to a backup when the primary crashes. The response time of the system is not affected by the employment of redundancy. (4 points) c) Describe a method for testing a system’s real-time properties. Does you method eliminate faults, errors or failures? (2 points) Q3: Design During the design of real-time systems several abstractions are used to reason about overall properties of the system in terms of properties of its parts. Objects and processes are two such abstractions. Explain the term compositionality in system design and analysis. (1 point) b) Does the object abstraction facilitate reasoning about real-time properties of a system? In that case in what way? (2 points) a) c) Explain whether the process abstraction is a good starting point for analysing real-time properties. Compare and contrast sequential programs and concurrent programs in motivating your answer. (3 points) Q4: Real-Time Operating Systems Describe the differences between memory management in a normal operating system and the memory management in a real-time operating system. (3 points) Q5: Real-time Databases Provide an example real-time application in which data-base mechanisms are a preferred way of organizing updates on data. What are the demands on database operations implied by real-time requirements of a system? (2 points) Q6: Distributed systems Tentamen vid Institutionen för Datavetenskap, Linköpings universitet a) Compare fault models for monolithic systems with fault models in distributed systems and explain which type of distributed system is easiest to make faulttolerant. (4 points) b) Explain in what way the Time Triggered Architecture (TTA) enables assurance of timely services in a distributed system by referring to each of the following aspects: 1) TTA mechanism for isolation of temporal failures in a single node, so that its effects are not spread to other nodes. 2) TTA mechanism for recognition and treatment of faults in individual nodes (crash or Byzantine). 3) What are the demands that TTA places on scheduling policies employed on each node of a distributed architecture? (4 points)