Boot screen
|
|
Developer | Apple Computer |
---|---|
OS family | SOS |
Working state | Discontinued |
Source model | Closed source |
Initial release | October 1980 |
Latest release | 1.3 / 1982 |
Update method | Manual |
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 /ˈsɔːs/, 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:
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:
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 for, loaded and executed a file named SOS.KERNEL, the kernel and API of the operating system. The kernel 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.