For single-threaded processes, if one blocks access to system time calls, they cannot internally know how long they take: thus, for example they cannot distinguish keyboard standard input from input redirection from a file. Other system calls may also need to be blocked.
Multithreaded processes can set up their own timers. They can have a greater awareness of its own execution and the computer it is executing on, possibly violating the user's privacy. This is a dangerous consequence not entirely obvious in switching to a multithreaded paradigm. (Somewhat inspired by cryptographic side channel timing attacks.)
One possible solution is if one thread blocks for IO or memory, all threads are stopped.
No comments :
Post a Comment