The multimedia system provides stream handlers at both system kernel level (Ring 0) as OS/2 PDDs, and at application level (Ring 3) as OS/2 DLLs. The reason for having both types of stream handlers is that while some streams are ideally controlled by a direct connection between the stream handler and a device's PDD, other streams are not associated with a data source or target, which maps physically to a specific device. For example, the File System Stream Handler is a DLL, because all file system I/O functions are available as Ring 3 OS/2 API, and service all file system devices. This eliminates the need to build a specific stream handler PDD for every device the file system can access.