[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] [[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable id="license" text="Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled [[GNU_Free_Documentation_License|/fdl]]."]]"""]] Path names are resolved using a distributed protocol. No single entity is responsible for the resolution of path names. A file system server (a [[translator]]) attaches to translators (`fs.defs:file_set_translator`). When a process resolves an aboslute path, it queries its root file system server by invoking the `fs.defs:dir_lookup` method in the capability in its root directory slot. The file system server resolves as much as it knows about locally and when it encounters a translator, it replies to the client indicating how much it resolved and where to continue its lookup. This continues until the name is fully resolved or an error occurs. The same happens for relative path names but a different capability is used. For a more detailed explanation of the protocol, look at the section 2.2 of the [[critique]].