The authors propose an operating system design that views a workstation as a portal through which users access Internet resources. Such a system should accommodate a variety of protocol suites yet present users with an integrated and uniform interface to all the protocols and, as a consequence, to all Internet resources. Toward this end, they have designed an operating system, called the x-kernel, that consists of three major components: a configurable kernel that provides uniform access to a wide array of protocols, a heterogeneous file system, and a customizable user interface. The central element in this design is the protocol. The kernel implements a library of useful protocols. The file system and user interface, in turn, provide a per-user environment that translates a resource name into the protocol that should be used to access the resource. The authors describe the library of protocols, the file system, and the user interface.