Download Real-Time Systems Exam: Master of Science in Software Development and more Exams Computer Science in PDF only on Docsity! Cork Institute of Technology Master of Science in Software Development (P/T ACCS) (KSDEV_9_Y5) Summer 2008 Real-Time Systems (Time: 2 Hours) Instructions Answer any THREE questions. Note: Question 1 = 34 marks All other questions = 33 marks Examiners: Dr. J. Creagh Dr. B. Wu Dr. J. F. Power Q1. (a) (i) Dynamic memory Garbage Collection is problematic for real-time system development. Discuss. (4 marks) (ii) Describe the Mark and Sweep Garbage Collection algorithm, giving a clear example. (7 marks) (iii) Compare the Incremental Garbage Collection algorithm with the Mark and Sweep Garbage Collection algorithm for real-time systems. (4 marks) (b) What are the advantages and disadvantages of buying a commercial RTOS compared to building your own kernel? (7 marks) (c) List the key aspects of coroutine implementation on the 80x86 processor. Clearly explain each point you make. (12 marks) 2 Q2. (a) Briefly outline and explain the principal characteristics of a real-time system. (7 marks) (b) An embedded designer decides not to select a processor with the following functionality: MMU, virtual memory/paging, caching. Some processors allow such functions to be disabled. For each item, give a set of reasons why a designer would make such a decision, and justify your answers. (10 marks) (c) (i) Describe the following pseudo-kernel system: A pseudo-kernel is a cyclic executive, mixed with polled loop and phase- driven or state driven code. Example required. (11 marks) (ii) List and justify the advantages of such a scheme described in section (c) (i) above for real-time systems. (5 marks) Q3. (a) What is POSIX and indicate its benefits for real-time system development? (6 marks) (b) (i) Consider the following process set: Process T D Execution Sequence Release Time P4 60 21 QVVE 4 P3 50 24 EEVVE 3 P2 40 15 EQQVVE 5 P1 30 27 EEVVVQEE 0 Draw the ICPP time line diagram for the process set above. Note: E = Execution for a clock period. Q = Execution with resource Q for a clock period. V = Execution with resource V for a clock period. (9 marks) (ii) Clearly explain the effect of blocking with the ICPP protocol (mathematical formula required). Why is ICPP beneficial for real-time programming? Justify. (6 marks)