|This article needs additional citations for verification. (April 2010)|
|Company / developer||Apple Computer, Inc.|
|Source model||Closed source|
|Initial release||October 1980|
|Latest stable release||1.3 / 1982|
|Supported platforms||Apple III|
|Kernel type||Monolithic kernel|
|Default user interface||Full screen text mode|
|License||Apple Software License Agreement|
The Sophisticated Operating System, or SOS //, is the primary operating system developed for the Apple III computer. The system was developed by Apple Computer, Inc. and released in 1980. SOS makes the resources of the Apple III available in the form of a menu-driven utility program as well as a programming API.
The Apple III System Utilities program shipped with each Apple III computer. It provided what today would be called the end user "experience" of the operating system if the user were running it instead of an application program. The System Utilities program was menu-driven and performed tasks in three categories:
- Device-handling commands: Copy, rename, format, verify volumes (drives); list devices; set time and date
- File-handling commands: List, copy, delete, rename files; create subdirectories; set file write protection; set prefix (current working directory)
- System Configuration Program (SCP): Configure device drivers.
SOS was a single-tasking operating system. A single program is loaded at boot time, called the interpreter. Once running, the interpreter could then use the SOS application programming interface to make requests of the system. The SOS API was divided into four main areas:
- File Calls: Create, destroy, rename, open, close, read, write files; set, get prefix (current working directory); set, get file information; get volume information; set, set mark, EOF, and level of files
- Device Calls: Get status, device number, information of a device; send device control data
- Memory Calls: Request, find, change, release memory segment; get segment information; set segment number
- Utility Calls: Get, set fence (event threshold); get, set time; get analog (joystick) data; terminate.
SOS had two types of devices it communicated with via their device drivers: character devices and block devices. Examples of SOS character devices are keyboards and serial ports. Disk drives are typical block devices. Block devices could read or write one or more 512-byte blocks at a time; character devices could read or write single characters at a time.
When powered on, the Apple III ran through system diagnostics, then read block number one (zero-indexed) from the built-in diskette drive into memory and executed it. SOS-formatted diskettes placed a loader program in block one. That loader program searched the diskette directory for a file named SOS.KERNEL, the kernel and API of the operating system. The SOS loader program loaded and executed the SOS.KERNEL file, which in turn searched for and loaded a file named SOS.INTERP (the interpreter, or program, to run) and SOS.DRIVER, the set of device drivers to use. Once all files were loaded, control was passed to the SOS.INTERP program.
Since Apple ProDOS uses the same file system as SOS, and since ProDOS stores its own boot code in block number zero rather than block number one, SOS and ProDOS can co-exist on the same medium. Some software, e.g. ADTPro, makes use of this to store Apple II and Apple III versions of a program on the same disk, which is then bootable on both systems.
In 1985 Steve Wozniak, while critical of the Apple III's hardware flaws, called SOS "the finest operating system on any microcomputer ever". In spite of SOS's advantages, it wasn't backward-compatible with DOS 3.2 and DOS 3.3, which most Apple II software used at the time—though the Apple III itself was designed to be mostly backward-compatible with the Apple II Plus in hardware, users had to boot Apple DOS from a separate disk to use Apple II series software, losing the advantages of SOS. Many average computer users also weren't ready in 1980 for an operating system with the capabilities and flexible configuration options that SOS offered, especially combined with the Apple III's bad reputation due to poor engineering and its high retail price of near $4,000.
- "SOS/PRODOS". Apple II History. Archived from the original on 17 September 2008. Retrieved 2008-09-26. "The operating system designed for the Apple III computer was called "SOS". This title arose from the Apple III's code name, "Sara", which itself came from the name of engineer Wendell Sanders' daughter."
- Don, Reed (1982). "Apple III SOS Reference Manual, Volume 1: How SOS Works" (PDF). Apple Computer, Inc. Retrieved 2009-10-28. "This manual describes SOS (pronounced "sauce") the Sophisticated Operating System of the Apple III."
- "Apple III Owner's Guide" (PDF). Apple Computer, Inc. 1982. Retrieved 2008-09-28.
- "Apple III SOS Reference Manual, Volume 1: How SOS Works" (PDF). Apple Computer, Inc. 1982. Retrieved 2008-09-28.
- Jeppson, John (May 1983). John Jeppson's Guided Tour of Highway III. Softalk Magazine. pp. 100–112.
- Williams, Gregg; Moore, Rob (1985-01). "The Apple Story / Part 2: More History and the Apple III". BYTE (interview). p. 166. Retrieved 26 October 2013.
- Ottalini, David (August 2005). "The Apple /// FAQ File (V5.1)". Washington Apple Pi Users Group. p. Section 1. Retrieved 2007-12-08.
- Washington Apple Pi – Apple /// Resources
- The Apple /// FAQ File V5.1 – discusses Apple III and SOS history as well as basic information about the system
- apple3.org - Apple /// Articles, Public Domain Software