This is a very broad question, but maybe someone has a worthwhile response.
There is a general synchronization issue that often has to be solved, but always seems to be difficult. Here's an example:
I was working on a remote system and had an ssh-connection and a remote desktop open at the same time for some reason. I happened to create a file on the desktop in shell, and of course it also appeared on the remote desktop view.
For this to happen one of two things must take place:
1) the desktop session must be constantly polling the filesystem for changes. Costly, ugly, and of course unlikely.
2) The system knows that this change made by the ssh-session requires action on the remote desktop side, and updates the view. This is neat and elegant in a sense, but maintaining an accurate capability to decide when any action performed by any process in the system should cause this update is horrendously complex.
In this case the culprit is the linux kernel (or Desktop environment?) and I presume what it does is the option 2). It's also very common to encounter small bugs and issues that are clearly the result of this kind of issue not being taken care of.
This kind of a problem where any of multiple changes to a common resource can have an effect on other instances, but determining when is very tedious pops up in many places. Is there a general approach to this? Do we form separate trackers that know how the instance is sensitive to changes and that object can be interrogated? Does every change to the resource (filesystem in this case) include a stage of making sure this kind of stuff takes place? If so, that too must compound to be a massive ordeal. Does someone happen to know how linux handles this specific example case?