a network file system
/ NFS /
You are used to opening files on your own disk: you double-click a document and it appears. A network file system lets you do exactly that — open, read, edit, save a file with the ordinary commands you already know — even though the file actually lives on a different computer across the network. The point is transparency: a folder from a remote server appears inside your own directory tree, and to your programs it looks just like a local folder. NFS (the Network File System) and AFS (the Andrew File System) are two classic, influential examples.
How does it work? It is usually client-server. A file server holds the real files. On your machine, a special client piece of the OS intercepts your normal file operations (open, read, write) on that mounted remote folder and turns them into requests sent to the server, which does the actual disk work and sends data back. To avoid asking the server for every single byte (slow, and a heavy load), the client caches recently used file data in local memory or on local disk, so repeated reads are fast. This caching is exactly where the hard problems live.
Why it matters, and the central difficulty — cache consistency: once several clients cache copies of the same file and one client changes it, the others may still be holding stale copies. What should the others see, and when? NFS historically took a relaxed approach (you might briefly see an old version), while AFS used callbacks (the server promises to notify a client when its cached copy becomes invalid). There is a genuine trade-off here between performance (cache aggressively, talk to the server rarely) and consistency (everyone sees the latest version immediately). This is the same tension that the CAP theorem makes precise: you cannot have perfect consistency and perfect availability when the network can fail.
On a university lab network, your home folder is on a central server mounted at /home/you. You edit notes.txt at one workstation and it is instantly there at any other workstation, because they all open the same server file. But if two people cache and edit it at once, whose version wins becomes a real consistency question the file system has to answer.
A remote folder that looks local. Caching makes it fast; keeping caches consistent is the hard part.
A network file system makes remote files convenient, but it cannot repeal physics: the network adds latency and can fail, and the more aggressively clients cache for speed, the weaker the consistency guarantees tend to become.