AmigaOS is the proprietary native operating system of the Amiga personal computer. Since its introduction with the launch of the Amiga 1000 in 1985, there have been four major versions and several minor revisions of the operating system.
Initially the Amiga operating system had no strong name and branding, as it was simply considered an integral part of the Amiga system as a whole. Early names used for the Amiga operating system included 'CAOS' and 'AmigaDOS'.[1] Another non-official name was 'Workbench', from the name of the Amiga desktop environment, which was included on a floppy disk named 'Amiga Workbench'.[2]
Version 3.1 of the Amiga operating system was the first version to be officially referred to as 'Amiga OS' (with a space between 'Amiga' and 'OS')[3][4] by Commodore.
Version 4.0 of the Amiga operating system was the first version to be branded as a less generic 'AmigaOS' (without the space).[3]
What I don't have is any idea whatsover of how to get OS 3.9 installed. Do I need to have WB 3.1 installed first??? How do I get the A1200 to. AmigaOS 3.9 is a Software-only Update w/o ROMs. (However, it needs Kickstart 3.1 ROMs to operate) AmigaOS 3.9 is the Update for OS 3.5 but it can also be installed directly on top of an OS 3.1 system.
What many consider the first versions of AmigaOS (Workbench 1.0 up to 3.0) are here indicated with the Workbench name of their original disks.
- 4Amiga OS 3.0, 3.1
- 6AmigaOS 4
Kickstart/Workbench 1.0, 1.1, 1.2, 1.3[edit]
Workbench 1.0
Workbench 1.0 was released for the first time in October 1985. [5] The 1.x series of Workbench defaults to a distinctive blue and orange color scheme, designed to give high contrast on even the worst of television screens (the colors can be changed by the user). Version 1.1 consists mostly of bug fixes and, like version 1.0, was distributed only for the Amiga 1000. The entire Workbench operating system consisted of three floppy disks: Kickstart, Workbench and ABasic by MetaComCo.
The Amiga 1000 needed a Kickstart disk to be inserted into floppy drive to boot up. An image of a simple illustration of a hand on a white screen, holding a blue Kickstart floppy, invited the user to perform this operation. After the kickstart was loaded into a special section of memory called the writable control store (WCS), the image of the hand appeared again, this time inviting the user to insert the Workbench disk.
Workbench version 1.2 was the first to support Kickstart stored in a ROM. A Kickstart disk was still necessary for Amiga 1000 models; it was no longer necessary for Amiga 500 or 2000, but the users of these systems had to change the ROMs (which were socketed) to change the Kickstart version.
Workbench now spanned two floppy disks, and supported installing and booting from hard drive (assuming the Amiga was equipped with one), the name of the main disk was still named 'Workbench' (which is also the user interface portion of the operating system). The second disk was the Extras disk. The system now shipped with AmigaBasic by Microsoft, the only software Microsoft ever wrote for the Amiga.
Kickstart version 1.2 corrected various flaws and added AutoConfig support. AutoConfig is a protocol similar to and is the predecessor of Plug and Play, in that it can configure expansion boards without user intervention.
Kickstart version 1.3 improved little on its predecessor, the most notable change being auto booting from hard drives. Workbench 1.3, on the other hand, users can find several significant improvements to Workbench, including FFS a faster file system for hard disks storage which resolved the problem of old Amiga filesystem which wasted too much hard disk space due to the fact it could store only 488 bytes in any block of 512 bytes keeping 24 bytes for checksums. Many improvements were made to the CLI (command line interface) of Amiga which was now a complete text based Shell, named AmigaShell, and various additional tools and programs.
Kickstart/Workbench 1.4[edit]
Kickstart/Workbench 1.4 was a beta version of the upcoming 2.0 update and never released, but the Kickstart part was shipped in very small quantities with early Amiga 3000 computers, where it is often referred to as the 'Superkickstart ROM'. In these machines it is only used to bootstrap the machine and load the Kickstart that will be used to actually boot the system. The appearance of a very early first release of 1.4 was similar to 1.3, but with colors slightly changed. A second version was similar to that of 2.0 and higher, with just minor differences. It is, however, possible to dump out of the OS selection screen by clicking where one would expect to see a close gadget. This will cause the machine to boot Kickstart 1.4 using either the wb_2.x: partition, or from a floppy.
Workbench 2.0, 2.04, 2.05, 2.1[edit]
Workbench 2.0
Workbench 2.0 was released in 1990[5] and introduced a lot of improvements and major advances to the GUI of the overall Amiga operating system. The harsh blue and orange colour scheme was replaced with a much easier on the eye grey and light blue with 3D aspect in the border of the windows. The Workbench was no longer tied to the 640×256 (PAL) or 640×200 (NTSC) display modes, and much of the system was improved with an eye to making future expansion easier. For the first time, a standardised 'look and feel' was added. This was done by creating the Amiga Style Guide, and including libraries and software which assisted developers in making conformant software. Technologies included the GUI element creation library gadtools, the software installation scripting language Installer, and the AmigaGuide hypertext help system.
Workbench 2.04 introduced ARexx, a system-wide scripting language. Programmers could add so-called 'ARexx ports' to their programs, which allowed them to be controlled from ARexx scripts. Using ARexx, you could make two completely different programs from different vendors work together seamlessly. For example, you could batch-convert a directory of files to thumbnail images with an ARexx-capable image-manipulation program, create and index HTML table of the thumbnails linking to the original images, and display it in a web browser, all from one script. ARexx became very popular, and was widely adopted by programmers.
The AmigaDOS, previously written in BCPL and very difficult to develop for beyond basic file manipulation, was mostly rewritten in C.
Unfortunately, some badly written software – especially games – failed to run with 2.x, and so a lot of people were upset with this update. Most often, the failure occurred because programmers had used directly manipulated private structures maintained by the operating system, rather than using official function calls. Many users circumvented the problem by installing so-called 'kickstart switchers', a small circuit board which held both a Kickstart 1.3 and 2.0 chip, with which they could swap between Kickstart versions at the flick of a switch.
2.x shipped with the A500+ (2.04), A600 (2.05), A3000 and A3000T. Workbench 2.1 was the last in this series, and only released as a software update. It included useful features such as CrossDOS, to support working with floppy disks formatted for PCs. Since 2.1 was a software-only release, there was no Kickstart 2.1 ROM.
2.x also introduced PCMCIA card support, for the slot on the A600.
Workbench 2.1 introduced also a standard hypertext markup language for easily building guides for the user or help files, or manuals. It was called AmigaGuide. Release 2.1 was also the first Workbench release to feature a system-standard localization system, allowing the user to make an ordered list of preferred languages; when a locale-aware application runs, it asks the operating system to find the catalog (a file containing translations of the application's strings) best matching the user's preferences.
Amiga OS 3.0, 3.1[edit]
Amiga Workbench 3
Amiga OS 3.0 was released in 1992 and version 3.1 between 1993 (for the CD32) and 1994 (for other Amiga models). Amiga OS 3.1 was the last version released by Commodore. [5]
The 3.x series added support for new Amiga models. Other new features included:
- A universal data system, known as DataTypes, that allowed programs to load pictures, sound, text and other content in formats they didn't understand directly, through the use of standard plugs (seeobject-oriented operating system) (3.0)
- Better color remapping for high-color display modes and support for the new AGA chipset. (3.0)
- Improved visual appearance for Workbench desktop. (3.0)
- CD-ROM support as required for Amiga CD32.[6] (3.1)
- Automatic detection of memory expansions.[7] (3.1)
3.x shipped with the CD32, A1200, A4000 and A4000T.
AmigaOS 3.1.4[edit]
AmigaOS 3.1.4 was released in September 2018 by Hyperion Entertainment with many fixes and enhancements. In particular, support of larger hard drives including at bootup; the entire line of Motorola 680x0 CPUs up to (and including) the Motorola 68060; and a modernized Workbench with a new, optional icon set. [8] The version number caused some confusion in the community as it was released after AmigaOS 3.5, 3.9, and even 4.x, but relates to the fact that the codebase is a clean slate building from the original 3.1 source code from Commodore. The source code for both 3.5 and 3.9 by Haage & Partner could not legally be used due to licensing reasons, and 4.x is built and reserved for the PowerPC platform. Unlike AmigaOS 3.5, AmigaOS 3.1.4 still supports the Motorola 68000 CPU, thus the complete range of classic Amiga computers.
AmigaOS 3.5, 3.9[edit]
Workbench 3.9
TCP/IP stacks
After the demise of Commodore, Workbench 3.5 was released on 18 October 1999 and Workbench 3.9 in December 2000 by German company Haage & Partner, [5] which was granted the license to update the Amiga operating system by its new owners. Whereas all previous OS releases ran on Motorola 68000, AmigaOS 3.5 onwards required a 68020 or better, CD-ROM and at least 4 MB RAM. Unlike previous releases, 3.5 and 3.9 were released on CD-ROM. Kickstart 3.1 was also required, as the operating system didn't include the new ROM.
Updates included:
- Supplied with TCP/IP stack (unregistered time-limited free MiamiDX demo in 3.5, unrestricted AmiTCP in 3.9), web browser (AWeb), and e-mail client
- Improved GUI and new toolkit called 'ReAction'
- AVI/MPEG movie player (OS3.9)
- New partitioning software to support hard disks larger than 4 GB
- HTML documentation in English and German
- MP3 and CD audio player (OS3.9)
- Dock program (OS3.9)
- Improved Workbench with asynchronous features
- Find utility (OS3.9)
- Unarchiving system called XAD (OS3.9)
- WarpOSPowerPC kernel to support PowerUP accelerator boards
AmigaOS 4[edit]
AmigaOS 4.0 GUI: Workbench 4.0[5]
A new version of AmigaOS was released on December 24, 2006 after five years of development by Hyperion Entertainment (Belgium) under license from Amiga, Inc. for AmigaOne registered users.
During the five years of development, users of AmigaOne machines could download from Hyperion repository Pre-Release Versions of AmigaOS 4.0 as long as these were made available. As witnessed by many users into Amiga discussion forum sites, these versions were stable and reliable, despite the fact that they are technically labeled as 'pre-releases'.
Last stable version of AmigaOS 4.0 for AmigaOne computers is the 'July 2007 Update', released for download 18 July 2007 to the registered users of AmigaOne machines.[1]
AmigaOS 4 Classic was released commercially for older Amiga computers with CyberstormPPC and BlizzardPPC accelerator cards in November 2007. It had previously been available only to developers and beta-testers.
Version 4.0[edit]
The new version is PowerPC-native, finally abandoning the Motorola68kprocessor. AmigaOS 4.0 will run on some PowerPC hardware, which currently only includes A1200, A3000 and A4000 with PowerPC accelerator boards and AmigaOne motherboards. Amiga, Inc.'s distribution policies for AmigaOS 4.0 and any later versions require that for third-party hardware the OS must be bundled with it, with the sole exception of Amigas with Phase 5 PowerPC accelerator boards, for which the OS will be sold separately.
AmigaOS 4.0 Final introduced a new memory system based on the slab allocator.
Features, among others:
- Fully skinnable GUI
- Virtualized memory
- Integrated viewer for PDF and other document formats
- Support for PowerPC (native) and 68k (interpreted/JIT) applications
- New drivers for various hardware
- New memory allocation system
- Support for file sizes larger than 2 GB
- Integrated Picasso 96 2D Graphics API
- Integrated Warp3D 3D Graphics API
Version 4.1[edit]
AmigaOS 4.1 GUI: Workbench 4.1
AmigaOS 4.1[5] was presented to the public July 11, 2008, and went on sale September 2008.
This is a new version and not only a simple update as it features, among others:
- Memory paging [2][3]
- JXFS filesystem with the support for drives and partitions of multiple terabyte size
- Hardware compositing engine (Radeon R1xx and R2xx family)
- Implementation of the Cairo device-independent 2D rendering library
- New and improved DOS functionality (full 64 bit support, universal notification support, automatic expunge and reload of updated disk resources)
- Improved 3D hardware accelerated screen-dragging
See also[edit]
References[edit]
- ^'In the Beginning Was CAOS'. Archived from the original on 2009-04-16. Retrieved 2011-04-29.
- ^'Workbench Release 1.0'. Archived from the original on 21 May 2011. Retrieved 2011-04-29.
- ^ ab'Name of the Amiga Operating System'. Retrieved 2011-04-29.
- ^'AmigaOS 3.1'. Retrieved 2011-01-01.
- ^ abcd'History of AmigaOS'. Hyperion Entertainment. Retrieved 2011-11-03.
- ^Donner, Gregory. 'Workbench Nostalgia: The history of the AmigaOS Graphic User Interface (GUI): Release 3.1'. www.gregdonner.org. Retrieved 2018-10-02.
- ^'ACA1232 - IndividualComputers'. wiki.icomp.de. Retrieved 2018-10-02.
- ^Mincea, Costel. 'AmigaOS 3.1.4'. hyperion-entertainment.biz. Retrieved 2018-10-02.
- ^AmigaOS First Update Release announcement at Hyperion site.
- ^AmigaOS new memory system revisited[dead link] article on OS4.Hyperion site
- ^AmigaOS new system for allocating memory[dead link] article on OS4.Hyperion site
- ^ AmigaOS 4.0 image included in this article is intended for fair use. In the past, neither Hyperion VOF (Belgium), nor Amiga Inc. (USA) were opposed to publishing in internet sites of AmigaOS 4.0 screenshots kindly donated by users. Owners of copyrights are free to register and write in the talk page of this article to ask for the removing of this image from article, and to ask also for its deletion.
- ^Hyperion Entertainment announces Amiga OS 4.1
Retrieved from 'https://en.wikipedia.org/w/index.php?title=AmigaOS_version_history&oldid=917943526'
Developer | Commodore International, Hyperion Entertainment |
---|---|
Written in | Assembly language, BCPL, C |
OS family | Amiga |
Working state | Current |
Source model | Closed source |
Initial release | July 23, 1985; 34 years ago |
Latest release | 4.1 Final Edition Update 1 / December 31, 2016; 2 years ago |
Platforms | M68K: versions 1.0 through 3.9 PowerPC: versions 4.0 through 4.1 |
Kernel type | Microkernel |
Default user interface | Graphical (Workbench) |
License | Proprietary |
Official website | www.amigaos.net |
AmigaOS is a family of proprietary native operating systems of the Amiga and AmigaOne personal computers. It was developed first by Commodore International and introduced with the launch of the first Amiga, the Amiga 1000, in 1985. Early versions of AmigaOS required the Motorola 68000 series of 16-bit and 32-bit microprocessors. Later versions were developed by Haage & Partner (AmigaOS 3.5 and 3.9) and then Hyperion Entertainment (AmigaOS 4.0-4.1). A PowerPC microprocessor is required for the most recent release, AmigaOS 4.
AmigaOS is a single-user operating system based on a preemptive multitaskingkernel, called Exec. It includes an abstraction of the Amiga's hardware, a disk operating system called AmigaDOS, a windowing systemAPI called Intuition and a desktop file manager called Workbench.
The Amiga intellectual property is fragmented between Amiga Inc., Cloanto, and Hyperion Entertainment. The copyrights for works created up to 1993 are owned by Cloanto.[1][2] In 2001, Amiga Inc. contracted AmigaOS 4 development to Hyperion Entertainment and, in 2009 they granted Hyperion an exclusive, perpetual, worldwide license to AmigaOS 3.1 in order to develop and market AmigaOS 4 and subsequent versions.[3]
On December 29, 2015, the AmigaOS 3.1 source codeleaked to the web; this was confirmed by the rights holder, Hyperion Entertainment.[4][5]
- 1Components
- 2Features
- 3Technical overview
- 4Versions
Components[edit]
AmigaOS is a single-user operating system based on a preemptive multitaskingkernel, called Exec. AmigaOS provides an abstraction of the Amiga's hardware, a disk operating system called AmigaDOS, a windowing systemAPI called Intuition and a desktop file manager called Workbench. A command-line interface (CLI), called AmigaShell, is also integrated into the system, though it also is entirely window-based. The CLI and Workbench components share the same privileges. Notably, AmigaOS lacks any built-in memory protection.
AmigaOS is formed from two parts, namely, a firmware component called Kickstart and a software portion usually referred to as Workbench. Up until AmigaOS 3.1, matching versions of Kickstart and Workbench were typically released together. However, since AmigaOS 3.5, the first release after Commodore's demise, only the software component has been updated and the role of Kickstart has been diminished somewhat. Firmware updates may still be applied by patching at system boot. That was until 2018 when Hyperion Entertainment (license holder to AmigaOS 3.1) released AmigaOS 3.1.4 with an updated Kickstart ROM to go with it.
Firmware and bootloader[edit]
Kickstart is the bootstrap firmware, usually stored in ROM. Kickstart contains the code needed to boot standard Amiga hardware and many of the core components of AmigaOS. The function of Kickstart is comparable to the BIOS plus the main operating system kernel in IBM PC compatibles. However, Kickstart provides more functionality available at boot time than would typically be expected on PC, for example, the full windowing environment.
Kickstart contains many core parts of the Amiga's operating system, such as Exec, Intuition, the core of AmigaDOS and functionality to initialize Autoconfig-compliant expansion hardware. Later versions of the Kickstart contained drivers for IDE and SCSI controllers, PC card ports and other built-in hardware.
Upon start-up or reset the Kickstart performs a number of diagnostic and system checks and then initializes the Amiga chipset and some core OS components. It will then examine connected boot devices and attempt to boot from the one with the highest boot priority. If no boot device is present a screen will be displayed asking the user to insert a boot disk, typically a floppy disk.
At start-up Kickstart attempts to boot from a bootable device (typically, a floppy disk or hard disk drive). In the case of a floppy, the system reads the first two sectors of the disk (the bootblock), and executes any boot instructions stored there. Normally this code passes control back to the OS (invoking AmigaDOS and the GUI) and using the disk as the system boot volume. Any such disk, regardless of the other contents of the disk, was referred to as a 'Boot disk' or 'bootable disk'. A bootblock could be added to a blank disk by use of the
install
command. Some games and demos on floppy disk used custom bootblocks, which allowed them to take over the boot sequence and manage the Amiga's hardware without AmigaOS.The bootblock became an obvious target for virus writers. Some games or demos that used a custom bootblock would not work if infected with a bootblock virus, as the code of the virus replaced the original. The first such virus was the SCA virus. Anti-virus attempts included custom bootblocks. These amended bootblock advertised the presence of the virus checker while checking the system for tell-tale signs of memory-resident viruses and then passed control back to the system. Unfortunately these could not be used on disks that already relied on a custom bootblock, but did alert users to potential trouble. Several of them also replicated themselves across other disks, becoming little more than viruses in their own right.[citation needed]
Kernel[edit]
The Macintosh should have had multitasking. I can't stress enough what a big contribution it makes to the elegant design of system software. The Amiga has an excellent multitasking system, and I think it will have twice the product life of the Macintosh because of it.
— Adam Brooks Webber, the programmer responsible for porting TrueBASIC to the Amiga and Macintosh, Byte, September 1986[6]
Exec is the multi-taskingkernel of AmigaOS. Exec provides functionality for multi-tasking, memory allocation, interrupt handling and handling of dynamic shared libraries. It acts as a scheduler for tasks running on the system, providing pre-emptive multitasking with prioritized round-robin scheduling. Exec also provides access to other libraries and high-level inter-process communication via message passing. Other comparable microkernels have had performance problems because of the need to copy messages between address spaces. Since the Amiga has only one address space, Exec message passing is quite efficient.[7][8]
AmigaDOS[edit]
AmigaDOS provides the disk operating system portion of the AmigaOS. This includes file systems, file and directory manipulation, the command-line interface, file redirection, console windows, and so on. Its interfaces offer facilities such as command redirection, piping, scripting with structured programming primitives, and a system of global and local variables.
In AmigaOS 1.x, the AmigaDOS portion was based on TRIPOS, which is written in BCPL. Interfacing with it from other languages proved a difficult and error-prone task, and the port of TRIPOS was not very efficient.
From AmigaOS 2.x onwards, AmigaDOS was rewritten in C and Assembler, retaining 1.x BCPL program compatibility, and it incorporated parts of the third-party AmigaDOS Resource Project,[9] which had already written replacements for many of the BCPL utilities and interfaces.
ARP also provided one of the first standardized file requesters for the Amiga, and introduced the use of more friendly UNIX-style wildcard (globbing) functions in command-line parameters. Other innovations were an improvement in the range of date formats accepted by commands and the facility to make a command resident, so that it only needs to be loaded into memory once and remains in memory to reduce the cost of loading in subsequent uses.
In AmigaOS 4.0, the DOS abandoned the BCPL legacy completely and, starting from AmigaOS 4.1, it has been rewritten with full 64-bit support.
File extensions are often used in AmigaOS, but they are not mandatory and they are not handled specially by the DOS, being instead just a conventional part of the file names. Executable programs are recognized using a magic number.
Graphical user interface[edit]
The native Amiga windowing system is called Intuition, which handles input from the keyboard and mouse and rendering of screens, windows and widgets.
Prior to AmigaOS 2.0, there was no standardized look and feel, application developers had to write their own non-standard widgets. Commodore added the GadTools library and BOOPSI in AmigaOS 2.0, both of which provided standardized widgets. Commodore also published the Amiga User Interface Style Guide, which explained how applications should be laid out for consistency. Stefan Stuntz created a popular third-party widget library, based on BOOPSI, called Magic User Interface, or MUI. MorphOS uses MUI as its official toolkit, while AROS uses a MUI clone called Zune. AmigaOS 3.5 added another widget set, ReAction, also based on BOOPSI.
An unusual feature of AmigaOS is the use of multiple screens shown on the same display. Each screen may have a different video resolution or color depth. AmigaOS 2.0 added support for public screens, allowing applications to open windows on other applications' screens. Prior to AmigaOS 2.0, only the Workbench screen was shared.[10] A widget in the top-right corner of every screen allows screens to be cycled through. Screens can be overlaid by dragging each up or down by their title bars. AmigaOS 4 introduced screens that are draggable in any direction.
File manager[edit]
Workbench is the native graphical file manager and desktop environment of AmigaOS. Though the term Workbench was originally used to refer to the entire operating system, with the release of AmigaOS 3.1 the operating system was renamed AmigaOS and subsequently Workbench refers to the desktop manager only. As the name suggests, the metaphor of a workbench is used, rather than that of a desktop; directories are depicted as drawers, executable files are tools, data files are projects and GUI widgets are gadgets. In many other aspects the interface resembles Mac OS, with the main desktop showing icons of inserted disks and hard drive partitions, and a single menu bar at the top of every screen. Unlike the Macintosh mouse available at the time, the standard Amiga mouse has two buttons – the right mouse button operates the pull-down menus, with a 'release to select' mechanism.
Features[edit]
Graphics[edit]
Until the release of version 3, AmigaOS only natively supported the native Amiga graphics chipset, via graphics.library, which provides an API for geometric primitives, raster graphic operations and handling of sprites. As this API could be bypassed, some developers chose to avoid OS functionality for rendering and directly program the underlying hardware for gains in efficiency.
Third-party graphics cards were initially supported via proprietary unofficial solutions. A later solution where AmigaOS could directly support any graphics system, was termed retargetable graphics (RTG).[11] With AmigaOS 3.5, some RTG systems were bundled with the OS, allowing the use of common hardware cards other than the native Amiga chipsets. The main RTG systems are CyberGraphX, Picasso 96 and EGS. Some vector graphic libraries, like Cairo and Anti-Grain Geometry, are also available. Modern systems can use cross-platform SDL (simple DirectMedia Layer) engine for games and other multimedia programs.
The Amiga did not have any inbuilt 3D graphics capability, and so had no standard 3D graphics API. Later, graphics card manufacturers and third-party developers provided their own standards, which included MiniGL, Warp3D, StormMesa (agl.library) and CyberGL.
The Amiga was launched at a time when there was little support for 3D graphics libraries to enhance desktop GUIs and computer rendering capabilities. However, the Amiga became one of the first widespread 3D development platforms. VideoScape 3D was one of the earliest 3D rendering and animation systems, and Silver/TurboSilver was one of the first ray-tracing 3D programs. Then Amiga boasted many influential applications in 3D software, such as Imagine, maxon's Cinema 4D, Realsoft 3D, VistaPro, Aladdin 4D and NewTek's Lightwave (used to render movies and television shows like Babylon 5).
Likewise, while the Amiga is well known for its ability to easily genlock with video, it has no built-in video capture interface. The Amiga supported a vast number of third-party interfaces for video capture from American and European manufacturers. There were internal and external hardware solutions, called frame-grabbers, for capturing individual or sequences of video frames, including: Newtronic Videon, Newtek DigiView,[12] Graffiti external 24-bitframebuffer, the Digilab, the Videocruncher, Firecracker 24, Vidi Amiga 12, Vidi Amiga 24-bit and 24RT (Real Time), Newtek Video Toaster, GVPImpact Vision IV24, MacroSystemVLab Motion and VLab PAR, DPS PAR (Personal Animation Recorder), VHI (Video Hardware Interface) by IOSPIRIT GmbH, DVE-10, etc. Some solutions were hardware plug-ins for Amiga graphics cards like the Merlin XCalibur module, or the DV module built for the Amiga clone Draco from the German firm Macrosystem. Modern PCI bus TV expansion cards and their capture interfaces are supported through tv.library by Elbox Computer and tvcard.library by Guido Mersmann.
Following modern trends in evolution of graphical interfaces, AmigaOS 4.1 uses the 3D hardware-accelerated Porter-Duff image composition engine.
Audio[edit]
Prior to version 3.5, AmigaOS only officially supported the Amiga's native sound chip, via audio.device. This facilitates playback of sound samples on four DMA-driven 8-bit PCM sound channels. The only supported hardware sample format is signed linear 8-bit two's complement.
Support for third-party audio cards was vendor-dependent, until the creation and adoption of AHI[13] as a de facto standard. AHI offers improved functionality, such as seamless audio playback from a user-selected audio device, standardized functionality for audio recording and efficient software mixing routines for combining multiple sound channels, thus overcoming the four-channel hardware limit of the original Amiga chipset. AHI can be installed separately on AmigaOS v2.0 and later.[14]
AmigaOS itself did not support MIDI until version 3.1, when Roger Dannenberg's camd.library was adapted as the standard MIDI API. Commodore's version of camd.library also included a built-in driver for the serial port. The later open source version of camd.library by Kjetil Matheussen did not provide a built-in driver for the serial port, but provided an external driver instead.
Example of speech synthesis with the included Say utility in Workbench 1.3
AmigaOS was one of the first operating systems to feature speech synthesis with software developed by Softvoice, Inc., which allowed text-to-speech conversion of American English.[15] This had three main components: narrator.device, which modulates the phonemes used in American English, translator.library, which translates English text to American English phonemes using a set of rules, and a high-level SPEAK: handler, which allows command-line users to redirect text output to speech. A utility called Say was included with the OS, which allowed text-to-speech synthesis with some control of voice and speech parameters. A demo was also included with AmigaBASIC programming examples. Speech synthesis was occasionally used in third-party programs, particularly educational software. For example, the word processors Prowrite and Excellence! could read out documents using the synthesizer. These speech synthesis components remained largely unchanged in later OS releases and Commodore eventually removed speech synthesis support from AmigaOS 2.1 onward because of licensing restrictions.[16]
Despite the American English limitation of the narrator.device's phonemes, Francesco Devitt developed an unofficial version with multilingual speech synthesis. This made use of an enhanced version of the translator.library which could translate a number of languages into phonemes, given a set of rules for each language.[17]
Storage[edit]
The AmigaOS has a dynamically sized RAM disk, which resizes itself automatically to accommodate its contents. Starting with AmigaOS 2.x, operating system configuration files were loaded into the RAM disk on boot, greatly speeding operating system usage. Other files could be copied to the RAM disk like any standard device for quick modification and retrieval. Also beginning in AmigaOS 2.x, the RAM disk supported file-change notification, which was mostly used to monitor configuration files for changes.
Starting with AmigaOS 1.3,[18] there is also a fixed-capacity recoverable RAM disk, which functions as a standard RAM disk but can maintain its contents on soft restart. It is commonly called the RAD disk after its default device name, and it can be used as a boot disk (with boot sector). Previously, a recoverable RAM disk, commonly called the ASDG RRD or VD0, was introduced in 1987;[19] at first, it was locked to ASDG expansion memory products. Later, the ASDG RRD was added to the Fred Fish series of freeware, shareware, and public domain software (disks 58[20] and 241[21]).
Scripting[edit]
The AmigaOS has support for the Rexx language, called ARexx (short for 'Amiga Rexx'), and is a script language which allows for full OS scripting, similar to AppleScript; intra-application scripting, similar to VBA in Microsoft Office; as well as inter-program communication. Having a single scripting language for any application on the operating system is beneficial to users, instead of having to learn a new language for each application.
Programs can listen on an 'ARexx port' for string messages. These messages can then be interpreted by the program in a similar fashion to a user pushing buttons. For example, an ARexx script run in an e-mail program could save the currently displayed email, invoke an external program which could extract and process information, and then invoke a viewer program. This allows applications to control other applications by sending data back and forth directly with memory handles, instead of saving files to disk and then reloading them.
Technical overview[edit]
John C. Dvorak stated in 1996:
The AmigaOS 'remains one of the great operating systems of the past 20 years, incorporating a small kernel and tremendous multitasking capabilities the likes of which have only recently been developed in OS/2 and Windows NT. The biggest difference is that the AmigaOS could operate fully and multitask in as little as 250 K of address space. Even today, the OS is only about 1 MB in size. And to this day, there is very little a memory-hogging CD-ROM-loading OS can do the Amiga can't. Tight code — there's nothing like it.
I've had an Amiga for maybe a decade. It's the single most reliable piece of equipment I've ever owned. It's amazing! You can easily understand why so many fanatics are out there wondering why they are alone in their love of the thing. The Amiga continues to inspire a vibrant — albeit cultlike — community, not unlike that which you have with Linux, the Unix clone.'[22]
Libraries and devices[edit]
AmigaOS provides a modular set of system functions through dynamically-loaded shared libraries, either stored as a file on disk with a '
.library
' filename extension, or stored in the Kickstart firmware. All library functions are accessed via an indirect jump table, which is a negative offset to the library base pointer. That way, every library function can be patched or hooked at run-time, even if the library is stored in ROM. The core library of AmigaOS is the exec.library (Exec), which provides an interface to functions of the Amiga's microkernel.Device drivers are also libraries, but they implement a standardized interface. Applications do not usually call devices directly as libraries, but use the exec.library I/O functions to indirectly access them. Like libraries, devices are either files on disk (with the '
.device
' extension), or stored in the Kickstart ROM.Handlers, AmigaDOS and filesystems[edit]
The higher-level part of device and resource management is controlled by handlers, which are not libraries, but tasks, and communicate by passing messages. One type of handler is a filesystem handler. The AmigaOS can make use of any filesystem for which a handler has been written, a possibility that has been exploited by programs like CrossDOS and by a few 'alternative' file systems to the standard OFS and FFS. These file systems allow one to add new features like journaling or file privileges, which are not found in the standard operating system. Handlers typically expose a device name to the DOS, which can be used to access the peripheral (if any) associated with the handler. As an example of these concepts is the SPEAK: handler which could have text redirected to spoken speech, through the speech synthesis system.
Device names are case insensitive (uppercase by convention) strings followed by a colon. After the colon a specifier can be added, which gives the handler additional information about what is being accessed and how. In the case of filesystem, the specifier usually consists of a path to a file in the filesystem; for other handlers, specifiers usually set characteristics of the desired input/output channel (for the SER: serial port driver, for example, the specifier will contain bit rate, start and stop bits, etc.). Filesystems expose drive names as their device names. For example, DF0: by default refers to the first floppy drive in the system. On many systems DH0: is used to refer to the first hard drive. Filesystems also expose volume names, following the same syntax as device names: these identify the specific medium in the file system-managed drive. If DF0: contains a disk named 'Workbench', then Workbench: will be a volume name that can be used to access files in DF0:. If one wanted to access a file named 'Bar' located in directory 'Foo' of the disk with name 'Work' in drive DF0:, one could write '
DF0:Foo/Bar
' or 'Work:Foo/Bar
'. However, these are not completely equivalent, since when the latter form is used, the system knows that the wanted volume is 'Work' and not just any volume in DF0:. Therefore, whenever a requested file on 'Work' is being accessed without volume 'Work' being present in any drive, it will say something to the effect of: Please insert volume Work in any drive
.Programs often need to access files without knowing their physical location (either the drive or the volume): they only know the 'logical path' of the file, i.e. whether the file is a library, a documentation file, a translation of the program's messages, and so on. This is solved in AmigaOS by the use of assigns. An assign follows, again, the same syntax as a device name; however, it already points to a directory inside the filesystem. The place an assign points to can be changed at any time by the user (this behavior is similar to, but nevertheless distinct from, the
subst
command in MS-DOS, for example). Assigns were also convenient because one logical assign could point to more than one different physical location at the same time, thereby allowing an assign′s contents to expand logically, while still maintaining a separate physical organization. Standard assigns that are generally present in an AmigaOS system include:- SYS:, which points to the boot drive's root directory.
- C:, which points to a directory containing shell commands. At boot time, this is SYS:C, if it exists, otherwise SYS:. The command path defaults to C: and the current working directory, so putting executables in C: allows them to be executed simply by typing their name.
- DEVS:, which points to a directory containing the system's devices. At boot time, this is SYS:Devs if that directory exists, otherwise SYS:.
- L:, which points to a directory containing AmigaDOS handlers and filesystems. At boot time, this is SYS:L if it exists, otherwise L: is not automatically created.
- LIBS:, which points to a directory containing the system's libraries. At boot time, this is SYS:Libs if that directory exists, otherwise SYS:.
- S:, which points to a directory with scripts, including the startup-sequence which is executed automatically at boot time, if it exists. At boot time, this is SYS:S if it exists, otherwise S: is not automatically created.
- T:, which points to a temporary folder.
- PROGDIR:, a special assign that always points to the directory containing the currently running executable. So, if you run 'SYS:Tools/Multiview' and 'SYS:System/Format', PROGDIR: points at SYS:Tools for Multiview while simultaneously pointing at SYS:System for the Format command. This feature was introduced in Workbench 2.0.
Memory paging and a swap partition in later versions[edit]
AmigaOS 4 introduced new system for allocating RAM and defragmenting it 'on the fly' during system inactivities. It is based on slab allocation method and there is also present a memory pager that arbitrates paging memory and allows the swapping of large portions of physical RAM on mass storage devices as a sort of virtual memory.[23][24]Co-operative paging was finally implemented in AmigaOS 4.1.
Versions[edit]
Since the introduction of AmigaOS in 1985 there have been four major versions and several minor revisions. Up until release 3.1 of the Amiga's operating system, Commodore used Workbench to refer to the entire Amiga operating system. As a consequence Workbench was commonly used to refer to both the operating system and the file manager component. For end users Workbench was often synonymous with AmigaOS. From version 3.5 the OS was renamed 'AmigaOS' and pre-3.5 versions were also retroactively referred to as 'AmigaOS' (rather than Workbench). Subsequently, 'Workbench' refers to the native graphical file manager only.
From its inception, Workbench offered a highly customizable interface. The user could change the aspect of program icons replacing it with newer ones with different color combinations. Users could also take a 'snapshot' of icons and windows so the icons will remain on the desktop at coordinates chosen by user and windows will open at the desired size.
AmigaOS 1.0 – 1.4[edit]
AmigaOS 1.3 (1988)
AmigaOS 1.0 was released with the first Amiga, the Amiga 1000, in 1985. The 1.x versions of AmigaOS by default used a blue and orange color scheme, designed to give high contrast on even the worst of television screens (the colors can be changed by the user). Versions 1.1 consists mostly of bug fixes and, like version 1.0, was distributed for the Amiga 1000 only.
The display was highly customizable for the era. The user was free to create and modify system and user icons, which could be of arbitrary size and design and can have two image states to produce a pseudo-animated effect when selected. Users could customize four display colors and choose from two resolutions: 640×200 or 640×400 (interlaced) on NTSC, or 640×256 or 640×512 on PAL systems. In later revisions, the TV or monitor overscan could be adjusted.
Several features were deprecated in later versions. For example, the gauge meter showing the free space on a file system was replaced with a percentage in AmigaOS 2.0 before being restored in 3.5. The default 'busy' pointer (a comic balloon showing 'Zzz...') was replaced with a stopwatch in later versions.
AmigaOS 2.0, 2.1[edit]
AmigaOS 2.0 was released with the launch of the Amiga 3000 in 1990. Until AmigaOS 2.0 there was no unified look and feel design standard and application developers had to write their own widgets (both buttons and menus) if they wished to enhance the already-meager selection of standard basic widgets provided by Intuition. With AmigaOS 2.0 gadtools.library was created, which provided standard widget sets. The Amiga User Interface Style Guide, was published which explained how applications should be laid out for consistency. Intuition was improved with BOOPSI (Basic Object Oriented Programming system for Intuition) which enhanced the system with an object-oriented interface to define a system of classes in which every class individuate a single widget or describes an interface event. It can be used to program object oriented interfaces into Amiga at any level.
AmigaOS 2.0 also added support for public screens. Instead of the AmigaOS screen being the only shareable screen, applications could create their own named screens to share with other applications.
AmigaOS 2.0 rectified the problem of applications hooking directly into the input-events stream to capture keyboard and mouse movements, sometimes locking up the whole system. AmigaOS 2.0 provided Commodities, a standard interface for modifying or scanning input events. This included a standard method for specifying global 'hotkey' key-sequences, and a Commodities Exchange registry for the user to see which commodities were running.
AmigaOS 2.1 introduced AmigaGuide, a simple text-only hypertext markup scheme and browser, for providing online help inside applications. It also introduced Installer, a standard software installation program, driven by a LISP-like scripting language.
AmigaOS 2.1 introduced multi-lingual locale support through locale.library and for the first time AmigaOS was translated to different languages.[16]
AmigaOS 3.0, 3.1[edit]
Version 3.0 was originally shipped with the Amiga 1200 and Amiga 4000 computers. Version 3.0 added datatypes support which allowed any application that supported datatypes to load any file format supported by datatypes. Workbench could load any background image in any format if the required datatype was installed. A tiny application called Multiview was included that could open and display any supported file. Its capabilities were directly related to the datatypes installed in Devs:Datatypes. The established AmigaGuide hypertext system gained more usability by using document links pointing to media files, for example pictures or sounds, all recognized by the datatypes.
AmigaOS 3.5, 3.9[edit]
Around six years after AmigaOS 3.1 was released, following Commodore's demise, Haage & Partner were granted a license to update AmigaOS, which was released in 1999 as a software-only update for existing systems, that ran at least on a 68(EC)020 processor.
The AmigaOS look and feel, though still largely based on the earlier 3.1 release was revised somewhat, with an improved user interface based on ReAction, improved icon rendering and official support for true colorbackdrops. These releases included support for existing third-party GUI enhancements, such as NewIcons, by integrating these patches into the system. The 3.5 and 3.9 releases included a new set of 256 color icons and a choice of desktop wallpaper. These replaced the default all-metal gray 4/8 color scheme used on AmigaOS from release 2.0 to 3.1.
The 3.9 release of AmigaOS was again developed by Haage&Partner and released in 2000. The main improvements were the introduction of a program start bar called AmiDock, revised user interfaces for system settings and improved utility programs.
AmigaOS 3.1.4[edit]
In September 2018 Hyperion Entertainment released AmigaOS 3.1.4, this was both a software and hardware update for all Amiga's. In 2019, AmigaOS 3.1.4.1 was released as a software only update to Amiga 3.1.4, mainly as a bug fix.
It includes many fixes, modernizes several system components previously upgraded in OS 3.9 and introduces support of larger hard drives including at bootup, supports the entire line of Motorola 680x0 CPUs up to (and including) the Motorola 68060; and a modernized Workbench with a new, optional icon set. Unlike AmigaOS 3.5 / 3.9, AmigaOS 3.1.4 still supports the Motorola 68000 CPU.
AmigaOS 4.0, 4.1[edit]
AmigaOS 4.0 (2006)
This new AmigaOS, called AmigaOS 4.0 has been rewritten to become fully PowerPC compatible. It was initially developed on Cyberstorm PPC, as making it independent of the old Amiga chipsets wasn't trivial.[25] Since the fourth Developer Pre-Release Update a new technique was adopted and the screens are draggable in any direction.[26]Drag and drop of Workbench icons between different screens is possible too.
Also in AmigaOS 4.0 were a new version of Amidock, TrueType/OpenType fonts, and a movie player with DivX and MPEG-4 support.
In AmigaOS 4.1, a new Start-up preferences feature was added which replaced the old WBStartup drawer. Additional enhancements were a new icon set to complement higher screen resolutions, new window themes including drop shadows, a new version of AmiDock with true transparency, scalable icons and AmigaOS with auto-update feature.[27]
Influence on other operating systems[edit]
AmigaOS and compatibles
AROS Research Operating System (AROS) implements the AmigaOS API in a portable open-source operating system. Although not binary-compatible with AmigaOS (unless running on 68k), users have reported it to be highly source-code-compatible.
MorphOS is a PowerPC native operating system which also runs on some Amiga hardware. It implements AmigaOS API and provides binary compatibility with 'OS-friendly' AmigaOS applications (that is, those applications which do not access any native, legacy Amiga hardware directly just as AmigaOS 4.x unless it's executed on real Amiga models).
pOS was a multiplatform closed-source operating system with source code-level compatibility with existing Amiga software.[28]
BeOS features also a centralized datatype structure similar to MacOS Easy Open after old Amiga developers requested Be to adopt Amiga datatype service. It allows the entire OS to recognize all kinds of files (text, music, videos, documents, etc.) with standard file descriptors. The datatype system provides the entire system and any productivity tools with standard loaders and savers for these files, without the need to embed multiple file-loading capabilities into any single program.[29]
AtheOS was inspired by AmigaOS, and originally intended to be a clone of AmigaOS.[30]Syllable is a fork of AtheOS, and includes some AmigaOS- and BeOS-like qualities.
FriendUP is a cloud based meta operating system. It has many former Commodore and Amiga developers and employees working on the project. The operating system retains several AmigaOS-like features, including DOS Drivers, mount lists, a TRIPOS based CLI and screen dragging.[31]
Finally, the operating system of the 3DO Interactive Multiplayer bore a very strong resemblance to AmigaOS and was developed by RJ Mical,[32] the creator of the Amiga's Intuition user interface.[33]
See also[edit]
References[edit]
- ^'Cloanto'. Amiga Documents. Retrieved February 20, 2015.
- ^'Cloanto confirms transfers of Commodore/Amiga copyrights'. amiga-news.de. February 19, 2015. Retrieved February 20, 2015.
- ^'Hyperion, Amiga, Inc. Reach Settlement, All Legal Issues Resolved'. OSNews. October 17, 2009. Archived from the original on October 19, 2009. Retrieved October 18, 2009.
- ^Larabel, Michael (January 5, 2016). 'Hyperion Confirms Leak Of AmigaOS 3.1 Source Code'. Phoronix.
- ^'Amiga OS Kickstart and Workbench source coded leaked | Vintage is the New Old'. Commodore.ninja. Retrieved April 22, 2016.
- ^Webber, Adam Brooks (September 1986). 'Amiga vs. Macintosh'. BYTE. p. 249.
- ^Carl Sassenrath (1986). Amiga ROM Kernel Reference Manual. Exec.
- ^Holloway, Tim (January 1991). 'The Object-Oriented Amiga Exec: The design of the Amiga operating-system kernel follows the rules of object-oriented programming'. Byte. McGraw-Hill (January 1991): 329–332, 234. ISSN0360-5280.
- ^'Aminet – misc/antiq/ARP_13.lha'. Aminet.net. Retrieved May 2, 2015.
- ^'Intuition Screens – AmigaOS Documentation Wiki'. wiki.amigaos.net. Retrieved April 23, 2016.
- ^Amiga ReTargetable Graphics. Amigau.com (November 25, 2009). Retrieved on 2013-07-17.
- ^'Archived copy'. Archived from the original on February 23, 2008. Retrieved March 7, 2008.CS1 maint: archived copy as title (link)
- ^'Archived copy'. Archived from the original on March 14, 2006. Retrieved March 27, 2006.CS1 maint: archived copy as title (link)
- ^'Archived copy'. Archived from the original on July 18, 2011. Retrieved November 19, 2010.CS1 maint: archived copy as title (link)
- ^SoftVoice Text-to-Speech Synthesis. 'SoftVoice, Inc. - Text-to-Speech Synthesis'. Retrieved May 2, 2015.
- ^ ab'Amiga Workbench 2.1'. Archived from the original on December 12, 2008. Retrieved November 23, 2008.
- ^Devitt, Francesco (June 30, 1995). 'Translator Library (Multilingual-speech version)'. Retrieved April 9, 2013.
- ^'Workbench Nostalgia: The history of the AmigaOS Graphic User Interface (GUI): Release 1.3'.
- ^'back2roots.org'. ftp.back2roots.org. Retrieved April 22, 2016.
- ^[1][dead link]
- ^[2][dead link]
- ^From PC Magazine, October 22, 1996Inside TrackBy John C. Dvorak
- ^Frieden brothers (2007). 'AmigaOS4.0 Memory Allocation'. Hyperion Entertainment. Retrieved November 2, 2008.[dead link]
- ^Frieden brothers (2007). 'AmigaOS 4.0 new memory system revisited'. Hyperion Entertainment. Retrieved November 2, 2008.[dead link]
- ^David Doyle. 'Amigaworld.net – The Amiga Computer Community Portal Website'. amigaworld.net.
- ^Unknown. 'IntuitionBase – Your Guide To AmigaOS4.x And The AmigaOne'. Retrieved May 2, 2015.
- ^Hans-Jörg Frieden. 'Update 1 of AmigaOS 4.1 available for immediate download'. Retrieved May 2, 2015.
- ^'Amiga History Guide'. Amigahistory.co.uk. Retrieved April 22, 2016.
- ^'Jon Watte, Metrowerks BeMeister'. MacTech. Retrieved September 8, 2011.
- ^'AtheOS comments'. ANN.lu. May 5, 2000. Retrieved December 1, 2008.
- ^https://friendup.cloud/
- ^Mical resume. 'Mical Page'. Mical.org. Retrieved April 22, 2016.
- ^'A history of the Amiga, part 3: The first prototype'. Ars Technica. Retrieved May 2, 2015.
External links[edit]
Retrieved from 'https://en.wikipedia.org/w/index.php?title=AmigaOS&oldid=916900441'