Operating System Requirements for Digitial Media
Modern operating systems have made tremendous progress in areas such as
multiprocessing, networking, file systems and numerous other areas, however
most modern operating system still lack fundamental services and APIs needed
for professional level digital media tools. This WWW page is an attempt to
outline the basic services required by professional digital media software,
so that OS developers (both free and commercial) have a list of minimal
features they need to supply in the kernel, and in middle-level libraries
and APIs, for developers to design and implement successful digital media
software on their platform.
Kernel Level Services
- Monotonically increasing timer services, unaffected by
protocols such as NTP, AFS, and other time-altering daemons.
- Interval and one-shot timer resolution accurate to 1/1000th of a second.
- Real-time preemptive scheduling capabilities, POSIX 1003.1b would be nice.
- Kernel device drivers and APIs for complex audio devices.
- Kernel device drivers and APIs for complex video devices.
- Kernel level syncrhonization mechanisms. Synchronization mechanisms
will be required to work in real-time, and will commonly need to happen
a known point in real-time. (i.e. synchronizing start of audio/video/MIDI
recording/playback.
User Level Libraries and APIs
- Audio I/O Library Requirements
- Video I/O Library Requirements
- MIDI I/O Library Requirements