OSS
操作支持子系统
OSS是一种操作支持子系统。操作支持子系统(OSS)需完成许多任务,包括移动用户管理、移动设备管理以及网路操作和维护。此外,OSS也指开放音频系统(Open Sound System),这是Unix和类Unix操作系统中用于制作和捕获声音的接口。它允许编写与底层声音硬件无关的基于声音的应用程序,并由Hannu Savolainen创建,作为自由软件在多种许可证下发布。
代码
OSS4 现在主要作为一个独立的软件存在,没有集成到内核源代码中。Solaris 和 OpenSolaris 是个例外,它们使用称为 Boomer 的 OSS4 分支。它将 OSS4 框架(音频和混音器)与 Sun 早期的 SADA (/dev/audio) API 结合在一起。
尽管像 Ubuntu 这样的 Linux 发行版在 OSS4 成为自由软件后将其作为软件包提供,但他们选择忽略针对这些软件包提交的任何错误。
API
OSS的API使用传统的Unix框架,通过设备文件进行open()、read()、write()和ioctl()操作。例如,声音输入和输出的默认设备是/dev/dsp。OSS实现了/dev/audio接口,并通过/dev/oss目录提供对单个声音设备的详细访问。它还提供了MIDI键盘支持,包括在/dev/sequencer、/dev/音乐和/dev/midi中的实现。在Linux上,OSS4能够模拟ALSA,即其开源替代品
历史
OSS最初是作为Linux内核声音驱动程序“VoxWare”由Hannu Savolainen创建的。在1993年至1997年期间,OSS是FreeBSD和Linux中唯一的声音系统选择。2002年,Savolainen受4Front Technologies公司的委托,开发了OSS 4。2007年,4Front Technologies以CDDL-1.0和GPL-2.0-only发布了OSS的OpenSolaris和Linux版本源代码。2008年1月,4Front Technologies以BSD-2-Clause发布了FreeBSD(和其他BSD系统)的OSS。
采用状态
OSS4现在主要作为独立的软件存在,而不是集成到内核源代码中。Solaris和OpenSolaris使用了OSS4的一个分支,名为Boomer。尽管Linux发行版在OSS4成为自由软件后将其作为软件包提供,但它们选择忽略针对这些软件包提出的任何错误报告。
API的影响
OSS API虽然原始库相对较为晦涩,但仍然具有影响力。FreeBSD包含了独立开发的OSS API实现,支持内核重采样、混音、均衡器、环绕声和每个应用程序独立音量控制等功能。netbsd支持OSS API的兼容模式,通过提供soundcard.h头文件和libossaudio库来实现。Linux自2003年以来已经转向了高级Linux声音架构(ALSA),但提供了一个可选的内核内OSS模拟模式。
OSS/3D
OSS/3D是一个音乐播放器的插件,作为音频后处理引擎。支持的播放器包括Winamp、Windows Media Player、musicmatch、Sonique、Foobar2000、JetAudio、xmms等。它被移植到Windows和Linux平台。与OSS不同,OSS/3D是共享软件。4front OSS3D后来更名为Joesoft Hear。
批评
OSS作为API和软件受到了一些开发人员的批评,这些批评大多针对Linux实现而不是OSS API本身,或者是已在OSS第4版中得到解决的问题。
参考资料

Warning: Invalid argument supplied for foreach() in /www/wwwroot/newbaike1.com/id.php on line 362
目录
概述
代码
API
历史
采用状态
API的影响
OSS/3D
批评
参考资料