 In order to run safely on multiprocessor machines , access to shared resources ( like files , data structures ) must be serialized so that threads or processes do not attempt to modify the same resource at the same time . In order to prevent multiple threads from accessing or modifying a shared resource simultaneously , DragonFly employs critical sections , and serializing tokens to prevent concurrent access . While both Linux and FreeBSD 5 employ fine @-@ grained mutex models to achieve higher performance on multiprocessor systems , DragonFly does not . Until recently , DragonFly also employed spls , but these were replaced with critical sections . 
