1. Prosesler veya tredler arası iletişimde kaçınmak istediğimiz temel problem nedir? nasıl çözülür? Race condition - karşılıklı dışlama 2. Donanım desteği olmadan sadece yazılım ile karşılıklı dışlama nasıl yapılır? Böyle bir yöntem mutlak çözüm olabilir mi? Örneğin Peterson çözümü ile karşılıklı dışlama yapılabilir. Sorunsuz çalışmasına rağmen meşgul bekleme yüzünden CPU zamanını israf ettiği için mutlak çözüm değildir. 1. In which situations can disabling interrupts run perfectly? Where cannot it run correctly? Why? In only one CPU systems, it can run correctly, but it cannot run in multiprocessor systems because all CPU has itself interrupts. 2. Can a monitor primitive written for producer-consumer problem solve dining philosophers problem? Why? No it cannot. Because a monitor is like a library and programmer to use it cannot interfere its inside, programmers have to write another monitor for a different problem. 1. is TSL a perfect solution for mutual exclusion? Why? Because it prevent other CPUs to access the memory, it run correctly. But because it waste other CPUs time, it is not a perfect solution. 2. In a system non-supported multithreads, how can we avoid mutual exclusion for communication of user-level threads? Explain. By using mutex. Mutex is a kind of semaphore variable and it coordinate two or more threads to access sharing variables.