Course No. : BITS ZG553 Course Title : REAL TIME SYSTEMS Nature of Exam : Closed Book Weightage : 40% Duration : 2 Hours Date of Exam : 04/08/2007 (FN) Note: 1. Please follow all the Instructions to Candidates given on the cover page of the answer book. 2. All parts of a question should be answered consecutively. Each answer should start from a fresh page. 3. Mobile phones and computers of any kind should not be brought inside the examination hall. 4. Use of any unfair means will result in severe disciplinary action.
Q.1 Answer the following questions briefly and precisely: (a) Compare time-driven real-time systems and event-driven real-time systems by giving suitable example of each. (b) What are various dependencies between the tasks in real-time systems? (c) Compare deadlock and livelock situation in real-time systems. (d) What is worst case execution time and best case execution time in real-time systems? When do they occur? [4 + 2 + 2 + 2 = 10]
Q.2 A cyclic scheduler is used to schedule a set of three periodic tasks T 1 = (4,3,1,5); T 2 = (2,10,2.5,15) and T 3 = (6,15,5,20). (a) Is the task set schedulable? Justify your answer. (b) Find hyperperiod and possible frame size(s) satisfying all the required constraints. (c) Draw a neat schedule on timeline up to 20 units of time. [2 + 4 + 4 =10]
Q.3 (a). Find the maximum value of e 1 , for which the task set {(P i , e i )} = {(5, e 1 ), (8, 4), (11, 1)} is schedulable under i) RM algorithm ii) EDF algorithm Where P is period of the task and e is the execution time of the task. [3 + 3 = 6]
Q.3 (b). How aperiodic and sporadic jobs are scheduled in priority driven scheduling scheme? Name at least two servers used for that. How they have been evolved? [1 + 1 + 2 = 4]
Q.4 (a). What can be the problems that may arise if hard real-time tasks are made to share critical resources among themselves using traditional operating system primitives such as semaphores or simple locks? How to overcome them?
Q.4 (b). Explain with suitable diagrams, deadlock situation and priority inversion while scheduling the real time tasks using shared resources and resource access protocol. [4 + 6 =10]