The PAL today supports named mutexes, events, semaphores, etc., all of which are surfaced via CoreFX types in System.Threading. However, names in the PAL are currently implemented process-wide, rather than session- or machine-wide as on Windows. If we ship like this, it'll be very easy for applications to take a dependency (on purpose or accidentally) on this behavior, such that changing it could be a breaking change. If we ever intend to support something broader than process-wide names, we should temporarily disable naming support (e.g. return errors when trying to create/open named primitives) until we're able to decide on and implement the behaviors we want longer term.