Design and implementation of a resource sharing system as an extension to a personal computer operating system

The software and hardware available today for personal computers provides a broad range of support for personal productivity, business applications, research, programming, and other activities. If personal computers are connected in a local area network, they can form a system whose total resources are very great compared to those of each computer. With appropriate system mechanisms, users can share these resources. We describe the design and implementation of a resource sharing system for IBM Personal Computers. The system generalizes the traditional file and device server approach, allowing applications of any kind to be offered as services on the network. The system supports services by maintaining service definitions, queuing requests by priority, creating server processes, loading service programs, and combining services into larger distributed applications. A user may start several independent activities that proceed concurrently. Each activity can span several machines. The system is built upon an existing operating system, PC-DOS, extending the view it provides to users. Multitasking and enhanced memory management are provided. Interprocess communication is supported by a high-level service request protocol. The discussion emphasizes the problems encountered in building the system and the solutions devised.