Objective: This program assignment is provided to let the students understand how to the Operating Systems schedule all the processes on a multiprocessor or multicore environment.
Environment: Unix/Linux environment (VM Linux or Triton Server), Windows platform, Mac OS
Language: C, C++, and Java
Requirements:
i. You can write an application program which shows process/thread synchronization using:
1. Semaphore
2. Monitor
3. Java Synchronized feautre
ii. Among the above synchronization methods, I hope you would pick one method and apply your application program which requires process/thread synchronization.
iii. In case of Java, refer to the Concurrency Programmin in Java.
iv. Final result should be organized as a document which explains the overview and the structure of your program, real code, execution results (including captured image), and the conclusion including justification of your program, lessons you've learned, comments, etc.