AmigaOS 5
   HOME

TheInfoList



OR:

AmigaOS is a family of proprietary native
operating system An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs. Time-sharing operating systems schedule tasks for efficient use of the system and may also in ...
s of the
Amiga Amiga is a family of personal computers introduced by Commodore in 1985. The original model is one of a number of mid-1980s computers with 16- or 32-bit processors, 256 KB or more of RAM, mouse-based GUIs, and significantly improved graphi ...
and
AmigaOne AmigaOne is a series of computers intended to run AmigaOS 4 developed by Hyperion Entertainment, as a successor to the Amiga series by Commodore International. Earlier models were produced by Eyetech, and were based on the ''Teron'' series of Powe ...
personal computers. It was developed first by
Commodore International Commodore International (other names include Commodore International Limited) was an American home computer and electronics manufacturer founded by Jack Tramiel. Commodore International (CI), along with its subsidiary Commodore Business Mach ...
and introduced with the launch of the first Amiga, the
Amiga 1000 The Commodore Amiga 1000, also known as the A1000, is the first personal computer released by Commodore International in the Amiga line. It combines the 16/32-bit Motorola 68000 CPU which was powerful by 1985 standards with one of the most adv ...
, in 1985. Early versions of AmigaOS required the Motorola 68000 series of
16-bit 16-bit microcomputers are microcomputers that use 16-bit microprocessors. A 16-bit register can store 216 different values. The range of integer values that can be stored in 16 bits depends on the integer representation used. With the two mos ...
and
32-bit In computer architecture, 32-bit computing refers to computer systems with a processor, memory, and other major system components that operate on data in 32-bit units. Compared to smaller bit widths, 32-bit computers can perform large calculation ...
microprocessors. Later versions were developed by
Haage & Partner Haage & Partner is a German company established in 1995. The company distributes software products where they usually are the exclusive distributor. Products are aimed at Microsoft Windows and Mac OS, and has been aimed at AmigaOS in the past. T ...
(AmigaOS 3.5 and 3.9) and then
Hyperion Entertainment Hyperion Entertainment CVBA (formerly Hyperion Entertainment VOF) is a Belgian software company which in its early years focused in porting Windows games to Amiga OS, Linux, and Mac OS. In 2001, they accepted a contract by Amiga Incorporated t ...
(AmigaOS 4.0-4.1). A
PowerPC PowerPC (with the backronym Performance Optimization With Enhanced RISC – Performance Computing, sometimes abbreviated as PPC) is a reduced instruction set computer (RISC) instruction set architecture (ISA) created by the 1991 Apple Inc., App ...
microprocessor is required for the most recent release,
AmigaOS 4 AmigaOS 4 (abbreviated as OS4 or AOS4) is a line of Amiga operating systems which runs on PowerPC microprocessors. It is mainly based on AmigaOS 3.1 source code developed by Commodore, and partially on version 3.9 developed by Haage & Partner. "T ...
. AmigaOS is a
single-user Multi-user software is computer software that allows access by multiple users of a computer. Time-sharing systems are multi-user systems. Most batch processing systems for mainframe computers may also be considered "multi-user", to avoid leaving t ...
operating system based on a
preemptive multitasking In computing, preemption is the act of temporarily interrupting an executing task, with the intention of resuming it at a later time. This interrupt is done by an external scheduler with no assistance or cooperation from the task. This preempt ...
kernel Kernel may refer to: Computing * Kernel (operating system), the central component of most operating systems * Kernel (image processing), a matrix used for image convolution * Compute kernel, in GPGPU programming * Kernel method, in machine learnin ...
, called
Exec Exec or EXEC may refer to: * Executive officer, a person responsible for running an organization * Executive producer, provides finance and guidance for the making of a commercial entertainment product * A family of kit helicopters produced by Rot ...
. It includes an abstraction of the Amiga's hardware, a disk operating system called ''
AmigaDOS AmigaDOS is the disk operating system of the AmigaOS, which includes file systems, file and directory manipulation, the command-line interface, and file Redirection (computing), redirection. In AmigaOS 1.x, AmigaDOS is based on a TRIPOS port by ...
'', a
windowing system In computing, a windowing system (or window system) is software that manages separately different parts of display screens. It is a type of graphical user interface (GUI) which implements the WIMP (windows, icons, menus, pointer) paradigm for ...
API An application programming interface (API) is a way for two or more computer programs to communicate with each other. It is a type of software Interface (computing), interface, offering a service to other pieces of software. A document or standa ...
called ''Intuition'', and a
desktop environment In computing, a desktop environment (DE) is an implementation of the desktop metaphor made of a bundle of programs running on top of a computer operating system that share a common graphical user interface (GUI), sometimes described as a graphica ...
and
file manager A file manager or file browser is a computer program that provides a user interface to manage files and folders. The most common operations performed on files or groups of files include creating, opening (e.g. viewing, playing, editing or pr ...
called ''Workbench''. The Amiga intellectual property is fragmented between
Amiga Inc. Amiga, Inc. is a company that used to hold some trademarks and other assets associated with the Amiga personal computer (originally developed by Amiga Corporation). Early years In the early 1980s Jay Miner, along with other Atari, Inc. staffe ...
, Cloanto, and
Hyperion Entertainment Hyperion Entertainment CVBA (formerly Hyperion Entertainment VOF) is a Belgian software company which in its early years focused in porting Windows games to Amiga OS, Linux, and Mac OS. In 2001, they accepted a contract by Amiga Incorporated t ...
. The copyrights for works created up to 1993 are owned by Cloanto. 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. On December 29, 2015, the AmigaOS 3.1
source code In computing, source code, or simply code, is any collection of code, with or without comments, written using a human-readable programming language, usually as plain text. The source code of a program is specially designed to facilitate the wo ...
leaked to the web; this was confirmed by the licensee,
Hyperion Entertainment Hyperion Entertainment CVBA (formerly Hyperion Entertainment VOF) is a Belgian software company which in its early years focused in porting Windows games to Amiga OS, Linux, and Mac OS. In 2001, they accepted a contract by Amiga Incorporated t ...
.


Components

AmigaOS is a single-user operating system based on a
preemptive multitasking In computing, preemption is the act of temporarily interrupting an executing task, with the intention of resuming it at a later time. This interrupt is done by an external scheduler with no assistance or cooperation from the task. This preempt ...
kernel Kernel may refer to: Computing * Kernel (operating system), the central component of most operating systems * Kernel (image processing), a matrix used for image convolution * Compute kernel, in GPGPU programming * Kernel method, in machine learnin ...
, called
Exec Exec or EXEC may refer to: * Executive officer, a person responsible for running an organization * Executive producer, provides finance and guidance for the making of a commercial entertainment product * A family of kit helicopters produced by Rot ...
. AmigaOS provides an abstraction of the Amiga's hardware, a disk operating system called AmigaDOS, a
windowing system In computing, a windowing system (or window system) is software that manages separately different parts of display screens. It is a type of graphical user interface (GUI) which implements the WIMP (windows, icons, menus, pointer) paradigm for ...
API An application programming interface (API) is a way for two or more computer programs to communicate with each other. It is a type of software Interface (computing), interface, offering a service to other pieces of software. A document or standa ...
called ''Intuition'' and a desktop
file manager A file manager or file browser is a computer program that provides a user interface to manage files and folders. The most common operations performed on files or groups of files include creating, opening (e.g. viewing, playing, editing or pr ...
called ''Workbench''. A
command-line interface A command-line interpreter or command-line processor uses a command-line interface (CLI) to receive commands from a user in the form of lines of text. This provides a means of setting parameters for the environment, invoking executables and pro ...
(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 Memory protection is a way to control memory access rights on a computer, and is a part of most modern instruction set architectures and operating systems. The main purpose of memory protection is to prevent a process from accessing memory that ha ...
. 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 Patching is a small village and civil parish that lies amid the fields and woods of the southern slopes of the South Downs in the National Park in the Arun District of West Sussex, England. It has a visible hill-workings history going back t ...
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

Kickstart is the bootstrap firmware, usually stored in
ROM Rom, or ROM may refer to: Biomechanics and medicine * Risk of mortality, a medical classification to estimate the likelihood of death for a patient * Rupture of membranes, a term used during pregnancy to describe a rupture of the amniotic sac * ...
. 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 In computing, BIOS (, ; Basic Input/Output System, also known as the System BIOS, ROM BIOS, BIOS ROM or PC BIOS) is firmware used to provide runtime services for operating systems and programs and to perform hardware initialization during the ...
plus the main
operating system An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs. Time-sharing operating systems schedule tasks for efficient use of the system and may also in ...
kernel in
IBM PC compatible IBM PC compatible computers are similar to the original IBM PC, XT, and AT, all from computer giant IBM, that are able to use the same software and expansion cards. Such computers were referred to as PC clones, IBM clones or IBM PC clones. ...
s. 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 Exec or EXEC may refer to: * Executive officer, a person responsible for running an organization * Executive producer, provides finance and guidance for the making of a commercial entertainment product * A family of kit helicopters produced by Rot ...
'', ''
Intuition Intuition is the ability to acquire knowledge without recourse to conscious reasoning. Different fields use the word "intuition" in very different ways, including but not limited to: direct access to unconscious knowledge; unconscious cognition; ...
'', the core of ''AmigaDOS'' and functionality to initialize Autoconfig-compliant expansion hardware. Later versions of the Kickstart contained drivers for IDE and
SCSI Small Computer System Interface (SCSI, ) is a set of standards for physically connecting and transferring data between computers and peripheral devices. The SCSI standards define commands, protocols, electrical, optical and logical interface ...
controllers,
PC card In computing, PC Card is a configuration for computer parallel communication peripheral interface, designed for laptop computers. Originally introduced as PCMCIA, the PC Card standard as well as its successors like CardBus were defined and devel ...
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 Demos may refer to: Computing * DEMOS, a Soviet Unix-like operating system * DEMOS (ISP), the first internet service provider in the USSR * Demos Commander, an Orthodox File Manager for Unix-like systems * plural for Demo (computer programming) ...
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 A virus is a submicroscopic infectious agent that replicates only inside the living cells of an organism. Viruses infect all life forms, from animals and plants to microorganisms, including bacteria and archaea. Since Dmitri Ivanovsky's 1 ...
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 Antivirus software (abbreviated to AV software), also known as anti-malware, is a computer program used to prevent, detect, and remove malware. Antivirus software was originally developed to detect and remove computer viruses, hence the name. ...
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.


Kernel

Exec is the multi-tasking
kernel Kernel may refer to: Computing * Kernel (operating system), the central component of most operating systems * Kernel (image processing), a matrix used for image convolution * Compute kernel, in GPGPU programming * Kernel method, in machine learnin ...
of AmigaOS. Exec provides functionality for multi-tasking, memory allocation,
interrupt In digital computers, an interrupt (sometimes referred to as a trap) is a request for the processor to ''interrupt'' currently executing code (when permitted), so that the event can be processed in a timely manner. If the request is accepted, ...
handling and handling of dynamic shared libraries. It acts as a
scheduler A schedule or a timetable, as a basic time-management tool, consists of a list of times at which possible tasks, events, or actions are intended to take place, or of a sequence of events in the chronological order in which such things are i ...
for tasks running on the system, providing pre-emptive multitasking with prioritized
round-robin scheduling Round-robin (RR) is one of the algorithms employed by process and network schedulers in computing.Guowang Miao, Jens Zander, Ki Won Sung, and Ben Slimane, Fundamentals of Mobile Data Networks, Cambridge University Press, , 2016. As the term is ...
. Exec also provides access to other libraries and high-level
inter-process communication In computer science, inter-process communication or interprocess communication (IPC) refers specifically to the mechanisms an operating system provides to allow the processes to manage shared data. Typically, applications can use IPC, categori ...
via
message passing In computer science, message passing is a technique for invoking behavior (i.e., running a program) on a computer. The invoking program sends a message to a process (which may be an actor or object) and relies on that process and its supporting i ...
. 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.


AmigaDOS

AmigaDOS provides the disk operating system portion of the AmigaOS. This includes
file system In computing, file system or filesystem (often abbreviated to fs) is a method and data structure that the operating system uses to control how data is stored and retrieved. Without a file system, data placed in a storage medium would be one larg ...
s, file and directory manipulation, the
command-line interface A command-line interpreter or command-line processor uses a command-line interface (CLI) to receive commands from a user in the form of lines of text. This provides a means of setting parameters for the environment, invoking executables and pro ...
, file redirection, console windows, and so on. Its interfaces offer facilities such as command redirection,
piping Within industry, piping is a system of pipes used to convey fluids (liquids and gases) from one location to another. The engineering discipline of piping design studies the efficient transport of fluid. Industrial process piping (and accompan ...
, scripting with
structured programming Structured programming is a programming paradigm aimed at improving the clarity, quality, and development time of a computer program by making extensive use of the structured control flow constructs of selection ( if/then/else) and repetition ( ...
primitives, and a system of global and local variables. In AmigaOS 1.x, the AmigaDOS portion was based on
TRIPOS At the University of Cambridge, a Tripos (, plural 'Triposes') is any of the examinations that qualify an undergraduate for a bachelor's degree or the courses taken by a student to prepare for these. For example, an undergraduate studying mathe ...
, which is written in
BCPL BCPL ("Basic Combined Programming Language") is a procedural, imperative, and structured programming language. Originally intended for writing compilers for other languages, BCPL is no longer in common use. However, its influence is still ...
. 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 Assembler may refer to: Arts and media * Nobukazu Takemura, avant-garde electronic musician, stage name Assembler * Assemblers, a fictional race in the ''Star Wars'' universe * Assemblers, an alternative name of the superhero group Champions of A ...
, retaining 1.x BCPL program compatibility, and it incorporated parts of the third-party ''AmigaDOS Resource Project'', 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 In computer programming, glob () patterns specify sets of filenames with wildcard characters. For example, the Unix Bash shell command mv *.txt textfiles/ moves (mv) all files with names ending in .txt from the current directory to the director ...
) 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 AmigaOS 4 (abbreviated as OS4 or AOS4) is a line of Amiga operating systems which runs on PowerPC microprocessors. It is mainly based on AmigaOS 3.1 source code developed by Commodore, and partially on version 3.9 developed by Haage & Partn ...
, the DOS abandoned the BCPL legacy completely and, starting from
AmigaOS 4.1 AmigaOS 4 (abbreviated as OS4 or AOS4) is a line of Amiga operating systems which runs on PowerPC microprocessors. It is mainly based on AmigaOS 3.1 source code developed by Commodore, and partially on version 3.9 developed by Haage & Partner. "T ...
, it has been rewritten with full
64-bit In computer architecture, 64-bit Integer (computer science), integers, memory addresses, or other Data (computing), data units are those that are 64 bits wide. Also, 64-bit central processing unit, CPUs and arithmetic logic unit, ALUs are those ...
support.
File extensions A filename extension, file name extension or file extension is a suffix to the name of a computer file (e.g., .txt, .docx, .md). The extension indicates a characteristic of the file contents or its intended use. A filename extension is typically d ...
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

The native Amiga
windowing system In computing, a windowing system (or window system) is software that manages separately different parts of display screens. It is a type of graphical user interface (GUI) which implements the WIMP (windows, icons, menus, pointer) paradigm for ...
is called
Intuition Intuition is the ability to acquire knowledge without recourse to conscious reasoning. Different fields use the word "intuition" in very different ways, including but not limited to: direct access to unconscious knowledge; unconscious cognition; ...
, 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 In software design, the look and feel of a graphical user interface comprises aspects of its design, including elements such as colors, shapes, layout, and typefaces (the "look"), as well as the behavior of dynamic elements such as buttons, boxes ...
, application developers had to write their own non-standard widgets. Commodore added the GadTools library and
BOOPSI BOOPSI (Basic Object Oriented Programming System for Intuition) is an object-oriented programming system for AmigaOS. It extends the AmigaOS windowing environment (Intuition) with an object-oriented subsystem allowing a hierarchy of object classes ...
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 The Magic User Interface (MUI in short) is an object-oriented system by Stefan Stuntz to generate and maintain graphical user interfaces. With the aid of a preferences program, the user of an application has the ability to customize the system ac ...
, or MUI.
MorphOS MorphOS is an AmigaOS-like computer operating system (OS). It is a mixed Proprietary software, proprietary and Open-source software, open source OS produced for the Pegasos PowerPC (PPC) processor based computer, PowerUP accelerator equipped Amig ...
uses MUI as its official toolkit, while
AROS Aros may refer to: *Aros (Middle-earth), a river in J. R. R. Tolkien's Middle-earth legendarium * Aros, Mull, the location of Aros Castle, a ruined 13th-century castle on the Isle of Mull, Scotland *AROS Research Operating System, a free software i ...
uses a MUI clone called
Zune Zune is a discontinued line of digital media products and services marketed by Microsoft from November 2006 until its discontinuation in June 2012. Zune consisted of a line of portable media players, digital media player software for Windows Per ...
. AmigaOS 3.5 added another widget set,
ReAction Reaction may refer to a process or to a response to an action, event, or exposure: Physics and chemistry *Chemical reaction *Nuclear reaction *Reaction (physics), as defined by Newton's third law *Chain reaction (disambiguation). Biology and me ...
, 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. 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

Workbench is the native graphical
file manager A file manager or file browser is a computer program that provides a user interface to manage files and folders. The most common operations performed on files or groups of files include creating, opening (e.g. viewing, playing, editing or pr ...
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 A metaphor is a figure of speech that, for rhetorical effect, directly refers to one thing by mentioning another. It may provide (or obscure) clarity or identify hidden similarities between two different ideas. Metaphors are often compared wit ...
of a
workbench A workbench is a sturdy table at which manual work is done. They range from simple flat surfaces to very complex designs that may be considered tools in themselves. Workbenches vary in size from tiny jewellers benches to the huge benches used by ...
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 Two major famlies of Mac operating systems were developed by Apple Inc. In 1984, Apple debuted the operating system that is now known as the "Classic" Mac OS with its release of the original Macintosh System Software. The system, rebranded "M ...
, 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


Graphics

Until the release of version 3, AmigaOS only natively supported the native Amiga graphics chipset, via ''graphics.library'', which provides an API for
geometric primitive In vector computer graphics, CAD systems, and geographic information systems, geometric primitive (or prim) is the simplest (i.e. 'atomic' or irreducible) geometric shape that the system can handle (draw, store). Sometimes the subroutines that ...
s,
raster graphic upright=1, The Smiley, smiley face in the top left corner is a raster image. When enlarged, individual pixels appear as squares. Enlarging further, each pixel can be analyzed, with their colors constructed through combination of the values for ...
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).Amiga ReTargetable Graphics
Amigau.com (November 25, 2009). Retrieved on 2013-07-17.
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 CyberGraphX (pronounced "cybergraphics"), is the standard ReTargetable Graphics Application programming interface, API available for the Amiga and compatible systems. It was developed by Thomas Sontowski and Frank Mariak and later adopted by Phase ...
, Picasso 96 and EGS. Some vector graphic libraries, like
Cairo Cairo ( ; ar, القاهرة, al-Qāhirah, ) is the capital of Egypt and its largest city, home to 10 million people. It is also part of the largest urban agglomeration in Africa, the Arab world and the Middle East: The Greater Cairo metro ...
and
Anti-Grain Geometry Anti-Grain Geometry (AGG) is a 2D rendering graphics library written in C++. It features anti-aliasing and sub-pixel resolution. It is not a graphics library, per se, but rather a framework to build a graphics library upon. The library is opera ...
, 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 3D computer graphics, or “3D graphics,” sometimes called CGI, 3D-CGI or three-dimensional computer graphics are graphics that use a three-dimensional representation of geometric data (often Cartesian) that is stored in the computer for the ...
capability, and so had no standard 3D graphics
API An application programming interface (API) is a way for two or more computer programs to communicate with each other. It is a type of software Interface (computing), interface, offering a service to other pieces of software. A document or standa ...
. Later, graphics card manufacturers and third-party developers provided their own standards, which included
MiniGL MiniGL is an incomplete implementation of the OpenGL specification which implements enough of the API to allow 3D video games in the late 1990s to run with hardware acceleration on contemporary graphics cards, which otherwise provided their own ...
,
Warp3D Warp3D was a project, founded by Haage & Partner in 1998, that aimed to provide a standard API which would enable programmers to access, and therefore use, 3D hardware on the Amiga. Its design was similar to that of both the Picasso96 graphics c ...
, Storm
Mesa A mesa is an isolated, flat-topped elevation, ridge or hill, which is bounded from all sides by steep escarpments and stands distinctly above a surrounding plain. Mesas characteristically consist of flat-lying soft sedimentary rocks capped by ...
(''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 TurboSilver was one of the original 3D raytracing software packages available for the Amiga and for personal computers in general. It was first revealed by its creator ''Impulse'' at the October 1986 AmiEXPO. November 1987 saw the release of ve ...
was one of the first ray-tracing 3D programs. Then Amiga boasted many influential applications in 3D software, such as
Imagine Imagine may refer to: * Imagination Music Albums * ''Imagine'' (Armin van Buuren album), 2008 * ''Imagine'' (Eva Cassidy album), 2002 * ''Imagine'' (Janice Vidal album), 2012 * ''Imagine'' (John Lennon album), 1971 ** ''Imagine: John Lennon' ...
, maxon's
Cinema 4D Cinema 4D is a 3D software suite developed by the German company Maxon. Overview As of R21, only one version of Cinema 4D is available. It replaces all previous variants, including BodyPaint 3D, and includes all features of the past 'Studio' ...
,
Realsoft 3D Realsoft 3D is a modeling and raytracing application created by Realsoft Graphics Oy. Originally called Real 3D, it was developed for the Amiga computer and later also for Linux, Irix, Mac OS X, and Microsoft Windows. It was initially written in ...
,
VistaPro Vista and Vista Pro are 3D landscape generation programs originally for the Commodore Amiga, Apple Macintosh and MS-DOS / Microsoft Windows (PC) range of home computers. It was written by John Hinkley, and its own About box describes it as "''a ...
, 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, Graffiti external framebuffer, the Digilab, the Videocruncher, Firecracker 24, Vidi Amiga 12, Vidi Amiga 24-bit and 24RT (Real Time), Newtek Video Toaster, Great Valley Products, GVP Impact Vision IV24, MacroSystem VLab Motion and VLab PAR, DPS Personal Animation Recorder, 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, Draco from the German firm Macrosystem. Modern Peripheral Component Interconnect, 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 AmigaOS 4 (abbreviated as OS4 or AOS4) is a line of Amiga operating systems which runs on PowerPC microprocessors. It is mainly based on AmigaOS 3.1 source code developed by Commodore, and partially on version 3.9 developed by Haage & Partner. "T ...
uses the 3D hardware-accelerated Alpha compositing, Porter-Duff image composition engine.


Audio

Prior to version 3.5, AmigaOS only officially supported the Amiga's native Paula (computer chip), sound chip, via ''audio.device''. This facilitates playback of sound samples on four direct memory access, 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 (Amiga), AHI 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. AmigaOS itself did not support MIDI until version 3.1, when Roger Dannenberg's Commodore Amiga MIDI Driver, 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. 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. 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. Despite the American English limitation of the ''narrator.devices 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.


Storage

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, 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; 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 and 241).


Scripting

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 Visual Basic for Applications, 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. Since AmigaOS 4, the Python (programming language), Python language is included with the operating system.


Technical overview

John C. Dvorak stated in 1996:


Libraries and devices

AmigaOS provides a modularity (programming), modular set of system functions through library (computer science), 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 patch (computing), patched or hooking, hooked at run-time, even if the library is stored in ROM. The core library of AmigaOS is the ''exec.library'' (
Exec Exec or EXEC may refer to: * Executive officer, a person responsible for running an organization * Executive producer, provides finance and guidance for the making of a commercial entertainment product * A family of kit helicopters produced by Rot ...
), 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

The higher-level part of device and resource management is controlled by ''handlers'', which are not libraries, but Task (computing), 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 Amiga Old File System, OFS and Amiga Fast File System, FFS. These file systems allow one to add new features like journaling file system, journaling or file privileges, which are not found in the standard operating system. Handlers typically expose a ''device name'' to the disk operating system, 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 sensitivity, case insensitive (uppercase by convention) strings followed by a colon (punctuation), 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 (computing), 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, Asynchronous start-stop, 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. Computer program, 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 Path (computing)#PATH variable, 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

AmigaOS 4 AmigaOS 4 (abbreviated as OS4 or AOS4) is a line of Amiga operating systems which runs on PowerPC microprocessors. It is mainly based on AmigaOS 3.1 source code developed by Commodore, and partially on version 3.9 developed by Haage & Partner. "T ...
introduced new system for allocating RAM and defragmenting it "on the fly" during system inactivities. It is based on Slab allocation, 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. Co-operative paging was finally implemented in
AmigaOS 4.1 AmigaOS 4 (abbreviated as OS4 or AOS4) is a line of Amiga operating systems which runs on PowerPC microprocessors. It is mainly based on AmigaOS 3.1 source code developed by Commodore, and partially on version 3.9 developed by Haage & Partner. "T ...
.


Versions

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

AmigaOS 1.0 was released with the first Amiga, the
Amiga 1000 The Commodore Amiga 1000, also known as the A1000, is the first personal computer released by Commodore International in the Amiga line. It combines the 16/32-bit Motorola 68000 CPU which was powerful by 1985 standards with one of the most adv ...
, 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). Version 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: or (interlaced) on NTSC, or or 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

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 In software design, the look and feel of a graphical user interface comprises aspects of its design, including elements such as colors, shapes, layout, and typefaces (the "look"), as well as the behavior of dynamic elements such as buttons, boxes ...
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 BOOPSI (Basic Object Oriented Programming System for Intuition) is an object-oriented programming system for AmigaOS. It extends the AmigaOS windowing environment (Intuition) with an object-oriented subsystem allowing a hierarchy of object classes ...
(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 individuates 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.


AmigaOS 3.0, 3.1

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

Around six years after AmigaOS 3.1 was released, following Commodore's demise,
Haage & Partner Haage & Partner is a German company established in 1995. The company distributes software products where they usually are the exclusive distributor. Products are aimed at Microsoft Windows and Mac OS, and has been aimed at AmigaOS in the past. T ...
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 In software design, the look and feel of a graphical user interface comprises aspects of its design, including elements such as colors, shapes, layout, and typefaces (the "look"), as well as the behavior of dynamic elements such as buttons, boxes ...
, 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 24-bit color, true color Computer wallpaper, backdrops. 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, 3.2

In September 2018, Hyperion Entertainment released AmigaOS 3.1.4; this was both a software and hardware update for all Amigas. 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, 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 includes 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. In May 2021, Hyperion Entertainment released AmigaOS 3.2, which includes all features of the previous version (3.1.4.1) and adds several new improvements such as support for ReAction GUI, management of Amiga Disk File images, help system and improved datatypes. In december 2021, an update was released named AmigaOS 3.2.1, with bug fixes and other improvements.


AmigaOS 4.0, 4.1

This new AmigaOS, called AmigaOS 4.0 has been rewritten to become fully
PowerPC PowerPC (with the backronym Performance Optimization With Enhanced RISC – Performance Computing, sometimes abbreviated as PPC) is a reduced instruction set computer (RISC) instruction set architecture (ISA) created by the 1991 Apple Inc., App ...
compatible. It was initially developed on Cyberstorm PPC, as making it independent of the old Amiga chipsets was nontrivial. Since the AmigaOS4#AmigaOS 4.0 (Developer Pre-release Update 4), fourth Developer Pre-Release Update a new technique was adopted and the screens are draggable in any direction. 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. In October 2022, AmigaOS developer
Hyperion Entertainment Hyperion Entertainment CVBA (formerly Hyperion Entertainment VOF) is a Belgian software company which in its early years focused in porting Windows games to Amiga OS, Linux, and Mac OS. In 2001, they accepted a contract by Amiga Incorporated t ...
released an SDK for AmigaOS 4.1.


Influence on other operating systems

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 MorphOS is an AmigaOS-like computer operating system (OS). It is a mixed Proprietary software, proprietary and Open-source software, open source OS produced for the Pegasos PowerPC (PPC) processor based computer, PowerUP accelerator equipped Amig ...
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 executed on real Amiga models). ''pOS'' was a multiplatform closed-source operating system with source code-level compatibility with existing Amiga software. 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. AtheOS was inspired by AmigaOS, and originally intended to be a clone of AmigaOS. Syllable (operating system), Syllable is a fork of AtheOS, and includes some AmigaOS- and BeOS-like qualities. Friend Unifying Platform (Friend UP), 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. Finally, the operating system of the 3DO Interactive Multiplayer bore a very strong resemblance to AmigaOS and was developed by RJ Mical, the creator of the Amiga's
Intuition Intuition is the ability to acquire knowledge without recourse to conscious reasoning. Different fields use the word "intuition" in very different ways, including but not limited to: direct access to unconscious knowledge; unconscious cognition; ...
user interface.


See also

* Comparison of operating systems


References


External links

* {{Microkernel AmigaOS, CBM software Microkernel-based operating systems Microkernels Assembly language software 1985 software