#chapter Operating System Interaction This chapter defines classes to interact with the Unix filesystem, Unix process management and Unix networking features. PCE is often advertised for UI development and therefore including classes to interact with the operating system on features that have nothing to do with UI may seems strange. There are various reasons for integrating OS interaction into PCE: * PCE's load and save facilities need to operate on files and the most natural solution is to introduce a class file for this purpose. * Symbolic languages (and especially Prolog) have only very limited OS interaction in the standard. Doing the OS interaction in PCE allows us to write PCE/Prolog libraries that are *portable*. * Asynchronous interaction with processes and networking is desired which should properly interact with the X11 interface. Using host-language primitives may conflict with this schema. * Proper interprocess, networking and sub-process interaction allow for easy incorporation of external functionality. This makes PCE a suitable platform for integrating multiple applications using a single front-end to the end-user. The classes file and directory allow for all the common operations on the Unix file-system. The class socket and process handle asynchronous communications. The implementation of the communication details is part of class stream. #end chapter #class file #end class #class directory #end class #class stream #end class #class process #end class #class socket #end class