CSC 456 Fall 2013/7a ac: Difference between revisions
(→Ideas) |
(→Ideas) |
||
Line 12: | Line 12: | ||
Semaphores-Java, C | Semaphores-Java, C | ||
Acquire/Release the semaphore to enter the critical section. Only 1 thread can have the semaphore at a time. | |||
Monitors-Java, C | Monitors-Java, C | ||
Line 20: | Line 21: | ||
mutex-Java, C | mutex-Java, C | ||
Like a binary semaphore, but with a few differences such as deletion safety (a process holding a mutex cannot be deleted). | |||
Revision as of 16:14, 12 November 2013
Survey of Primitives for Synchronization
Assignment
7a. Survey of primitives for synchronization Section 7.3 of Solihin covers the need for synchronization at the program level. It mentions lock and unlock operations. But real programs do not usually call lock and unlock mechanisms. Instead, they use higher-level operations, such as Java’s synchronized statement, or Open MP pragmas. Consider popular languages and common OSs such as Linux, MacOS, and Windows. How would programs do synchronization in these environments?
Ideas
synchronization constucts
syncs in clr semaphores in monitors (how many langs available in?)
Different Synchronization Constructs, languages that support them, general info.
Semaphores-Java, C Acquire/Release the semaphore to enter the critical section. Only 1 thread can have the semaphore at a time.
Monitors-Java, C
Synchronized-Java
pragma-C (OpenMP)
mutex-Java, C Like a binary semaphore, but with a few differences such as deletion safety (a process holding a mutex cannot be deleted).
a study of behavior of synchronization methods in commonly used languages and systems cederman et al.