Real-Time Concurrent Systems Lab #4 SOLUTION
Part A: Understanding the Java synchronized monitors (lab4a.txt) You are given a threaded program that uses logging to trace the execution of two kinds of threads. You will recognize the Sleepy and Yappy threads. Two logs are maintained: log is unsynchronized and slog is synchronized. slog is synchronized because all accesses to it are surrounded by Java's synchronized statements. Load the programs into your Java IDE, read the program and then run it to observe its behaviour. Answer some questions about the behaviour (in lab4a.txt) o How many entries SHOULD be in the log? o How many entries are in the unsynchronized log? (If you execute the program more than once, give the minimum and maximum values seen) o How many entries are in the synchronized log? (Again, give minimum and maximum values) Analyse your observations: Is the synchronized log truly protected? (Answer: NO!) Does your evidence support such a statement? Why or why not? (Not!) Explain in terms of the Java code.(I'm not giving you this answer!) Part B: Java Synchronized (lab4b.java) Write a correct version of Part A's program. Part C: Xenomai Mutex (lab4c.c) Write a Xenomai version of Part A's program.
You'll get 1 file (118.6KB)