All Topics  
AmigaOS

 

   Email Print
   Bookmark   Link






 

AmigaOS



 
 
AmigaOS is the default native operating system
Operating system

An operating system is an interface between hardware and applications; it is responsible for the management and coordination of activities and the sharing of the limited resources of the computer....
 of the Amiga
Amiga

The Amiga is a family of personal computers originally developed by Amiga Corporation. Development on the Amiga began in 1982 with Jay Miner as the principal hardware designer....
 personal computer. It was developed first by Commodore International
Commodore International

Commodore, the commonly used name for Commodore International, was a United States electronics company based in West Chester, Pennsylvania which was a vital player in the home computer/personal computer field in the 1980s....
, and initially introduced in 1985 with the Amiga 1000
Amiga 1000

The A1000, or Commodore International Amiga 1000, was Commodore's initial Amiga personal computer, introduced on July 24, 1985 at the Lincoln Center in New York City....
. It runs on the Motorola
Motorola

Motorola, Inc. is an United States, multinational, Fortune 100, telecommunications company based in Schaumburg, Illinois. It is a manufacturer of wireless telephone handsets, also designing and selling wireless network infrastructure equipment such as cellular transmission base stations and signal amplifiers....
 68k
68k

The Motorola 680x0/m68k/68k/68K is a family of 32-bit Complex instruction set computer microprocessor central processing unit chips and was the primary competition for the Intel x86 family of chips in personal computers of the 1980s and early 1990s....
 series of 16-bit
16-bit

16-bit architectureThe HP 2100#Descendants and variants , introduced in 1975, was the world's first 16-bit microprocessor.Prominent 16-bit processors include the PDP-11, Intel 8086, Intel 80286 and the WDC 65C816....
 and 32-bit
32-bit

The range of integer values that can be stored in 32 bits is 0 through 4,294,967,295 or -2,147,483,648 through 2,147,483,647 using two's complement encoding....
 microprocessor
Microprocessor

A microprocessor incorporates most or all of the functions of a central processing unit on a single integrated circuit . The first microprocessors emerged in the early 1970s and were used for electronic calculators, using Binary-coded decimal arithmetic on 4-bit Word ....
s, except for AmigaOS 4
AmigaOS 4

AmigaOS 4 is a line of Amiga operating systems which runs on PowerPC microprocessors. "The Final Update" was released in 24 December 2006 after five years of development by the Belgian company Hyperion Entertainment under license from Amiga, Inc....
 which runs on PowerPC
PowerPC

PowerPC is a RISC instruction set architecture created by the 1991 Apple Inc.?IBM?Motorola alliance, known as AIM alliance. Originally intended for personal computers, PowerPC CPUs have since become popular embedded system and high-performance processors....
 microprocessors.

On top of a preemptive multitasking kernel called Exec
Exec (Amiga)

Exec is the object-oriented multi-tasking kernel of AmigaOS. It enabled true pre-emptive multitasking in as little as 256 Kilobyte of free memory ....
, it includes an abstraction of the Amiga's unique hardware, a disk operating system called AmigaDOS, a windowing system API
Application programming interface

An application programming interface is a set of subroutine, data structures, class and/or Protocol provided by library and/or operating system Service s in order to support the building of applications....
 called Intuition
Intuition (Amiga)

The Amiga computer was launched by Commodore International in 1985 with a GUI called Workbench based on an internal engine which drives all the input events called Intuition, and developed almost entirely by RJ Mical....
 and a graphical user interface
Graphical user interface

A graphical user interface is a type of user interface which allows people to human-computer interaction such as computers; hand-held devices such as MP3 Players, Portable Media Players or Gaming devices; household appliances and office equipment....
 called Workbench
Workbench (AmigaOS)

Sorry, no overview for this topic
.






Discussion
Ask a question about 'AmigaOS'
Start a new discussion about 'AmigaOS'
Answer questions from other users
Full Discussion Forum



Encyclopedia


AmigaOS is the default native operating system
Operating system

An operating system is an interface between hardware and applications; it is responsible for the management and coordination of activities and the sharing of the limited resources of the computer....
 of the Amiga
Amiga

The Amiga is a family of personal computers originally developed by Amiga Corporation. Development on the Amiga began in 1982 with Jay Miner as the principal hardware designer....
 personal computer. It was developed first by Commodore International
Commodore International

Commodore, the commonly used name for Commodore International, was a United States electronics company based in West Chester, Pennsylvania which was a vital player in the home computer/personal computer field in the 1980s....
, and initially introduced in 1985 with the Amiga 1000
Amiga 1000

The A1000, or Commodore International Amiga 1000, was Commodore's initial Amiga personal computer, introduced on July 24, 1985 at the Lincoln Center in New York City....
. It runs on the Motorola
Motorola

Motorola, Inc. is an United States, multinational, Fortune 100, telecommunications company based in Schaumburg, Illinois. It is a manufacturer of wireless telephone handsets, also designing and selling wireless network infrastructure equipment such as cellular transmission base stations and signal amplifiers....
 68k
68k

The Motorola 680x0/m68k/68k/68K is a family of 32-bit Complex instruction set computer microprocessor central processing unit chips and was the primary competition for the Intel x86 family of chips in personal computers of the 1980s and early 1990s....
 series of 16-bit
16-bit

16-bit architectureThe HP 2100#Descendants and variants , introduced in 1975, was the world's first 16-bit microprocessor.Prominent 16-bit processors include the PDP-11, Intel 8086, Intel 80286 and the WDC 65C816....
 and 32-bit
32-bit

The range of integer values that can be stored in 32 bits is 0 through 4,294,967,295 or -2,147,483,648 through 2,147,483,647 using two's complement encoding....
 microprocessor
Microprocessor

A microprocessor incorporates most or all of the functions of a central processing unit on a single integrated circuit . The first microprocessors emerged in the early 1970s and were used for electronic calculators, using Binary-coded decimal arithmetic on 4-bit Word ....
s, except for AmigaOS 4
AmigaOS 4

AmigaOS 4 is a line of Amiga operating systems which runs on PowerPC microprocessors. "The Final Update" was released in 24 December 2006 after five years of development by the Belgian company Hyperion Entertainment under license from Amiga, Inc....
 which runs on PowerPC
PowerPC

PowerPC is a RISC instruction set architecture created by the 1991 Apple Inc.?IBM?Motorola alliance, known as AIM alliance. Originally intended for personal computers, PowerPC CPUs have since become popular embedded system and high-performance processors....
 microprocessors.

On top of a preemptive multitasking kernel called Exec
Exec (Amiga)

Exec is the object-oriented multi-tasking kernel of AmigaOS. It enabled true pre-emptive multitasking in as little as 256 Kilobyte of free memory ....
, it includes an abstraction of the Amiga's unique hardware, a disk operating system called AmigaDOS, a windowing system API
Application programming interface

An application programming interface is a set of subroutine, data structures, class and/or Protocol provided by library and/or operating system Service s in order to support the building of applications....
 called Intuition
Intuition (Amiga)

The Amiga computer was launched by Commodore International in 1985 with a GUI called Workbench based on an internal engine which drives all the input events called Intuition, and developed almost entirely by RJ Mical....
 and a graphical user interface
Graphical user interface

A graphical user interface is a type of user interface which allows people to human-computer interaction such as computers; hand-held devices such as MP3 Players, Portable Media Players or Gaming devices; household appliances and office equipment....
 called Workbench
Workbench (AmigaOS)

Sorry, no overview for this topic
. A command line interface
Command line interface

A command-line interface is a mechanism for interacting with a computer operating system or software by typing commands to perform specific tasks....
 called AmigaShell is also available and integrated into the system. The GUI and the CLI complete each other and share the same privileges.

The current holder of the Amiga intellectual properties is Amiga Inc. They oversaw the development of AmigaOS 4 but did not develop it themselves, contracting it instead to Hyperion Entertainment. As of December 26th 2006, Amiga Inc terminated Hyperion's license to continue development of AmigaOS 4. Ownership of AmigaOS (particularly 4.0) remains controversial and is currently the subject of litigation.

Components

AmigaOS can be divided into two parts: the Kickstart (ROM
Read-only memory

Read-only memory is a class of computer storage media used in computers and other electronic devices. Because data stored in ROM cannot be modified , it is mainly used to distribute firmware ....
) and Workbench disks. Versions of Kickstart and Workbench used to be released together, for use with each other. But since Workbench 3.5, the first release after Commodore International
Commodore International

Commodore, the commonly used name for Commodore International, was a United States electronics company based in West Chester, Pennsylvania which was a vital player in the home computer/personal computer field in the 1980s....
 stopped development, AmigaOS became software-only, standardising on Kickstart version 3.1 in ROM.

Kickstart

Amiga Kick34
Kickstart is the bootstrap
Booting

In computing, booting is a Bootstrapping process that starts operating systems when the user turns on a computer system. A boot sequence is the initial set of operations that the computer performs when it is switched on....
 ROM. The Kickstart contains the code needed to boot standard Amiga hardware and many of the core components of AmigaOS
AmigaOS

AmigaOS is the default native operating system of the Amiga personal computer. It was developed first by Commodore International, and initially introduced in 1985 with the Amiga 1000....
. The function of Kickstart is comparable to the BIOS
BIOS

In computing, the Basic Input/Output System , also known as the System BIOS, is a de facto standard defining a firmware interface for IBM PC Compatible computers....
 plus the main Windows
Microsoft Windows

Microsoft Windows is a series of software operating systems and graphical user interfaces produced by Microsoft. Microsoft first introduced an operating environment named Windows in November 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces ....
 kernel in IBM PC compatible
IBM PC compatible

IBM PC compatible computers are those generally similar to the original IBM Personal Computer, IBM Personal Computer XT, and IBM Personal Computer/AT....
s. However, Kickstart provides more functionality available at boot time than would be typically expected on PC, for example, the full windowing environment.

The Kickstart contained many stock parts of the Amiga's operating system, such as Exec
Exec (Amiga)

Exec is the object-oriented multi-tasking kernel of AmigaOS. It enabled true pre-emptive multitasking in as little as 256 Kilobyte of free memory ....
, Intuition
Intuition (Amiga)

The Amiga computer was launched by Commodore International in 1985 with a GUI called Workbench based on an internal engine which drives all the input events called Intuition, and developed almost entirely by RJ Mical....
, the core of AmigaDOS and functionality to use Autoconfig
Autoconfig

Autoconfig is an auto-configuration feature of Amiga computers which assigns resources to expansion devices without the need for jumper s. It is analogous to PCI Configuration Space....
 expansion hardware. This meant that a powered-on Amiga already had a lot of the essential parts of the operating system available. Later versions of the Kickstart contained drivers for IDE and SCSI
SCSI

Small Computer System Interface, or SCSI , is a set of standards for physically connecting and transferring data between computers and peripheral devices....
 controllers, PC card
PC card

In computing, PC Card is the form factor of a peripheral interface designed for laptop computers. The PC Card standard were defined and developed by a group of industry-leading companies called the Personal Computer Memory Card International Association ....
 ports and various other hardware that came built into Amigas.

Upon start-up or reset the Kickstart performs a number of diagnostic and system checks and then initializes the Amiga chipset
Chipset

A chipset or chip set refers to a group of integrated circuits, or chips, that are designed to work together. They are usually marketed as a single product....
 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.

Workbench

Workbench is the name given to both the core operating system software that is not stored in the Kickstart ROM (the "Workbench disk"), and also the native graphical shell for the Amiga
Amiga

The Amiga is a family of personal computers originally developed by Amiga Corporation. Development on the Amiga began in 1982 with Jay Miner as the principal hardware designer....
 computer. The Workbench environment does not have to be loaded for software to run. In fact, to take over the Amiga hardware and keep all memory and resources to themselves, many games boot directly from Kickstart (using a custom bootblock on the floppy disk
Floppy disk

A floppy disk is a data storage medium that is composed of a disk of thin, flexible magnetic storage medium encased in a square or rectangle plastic shell....
).
Amiga Workbench 1 3 Large
As the name suggests, the metaphor
Metaphor

Metaphor is language that directly compares seemingly unrelated subjects. It is a figure of speech that compares two or more things without using the words "like" or "as." More generally, a metaphor describes a first subject as being or equal to a second object in some way....
 of a workbench
Workbench

A workbench is 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....
 is used, rather than 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
Mac OS

Mac OS is the trademarked name for a series of graphical user interface-based operating systems developed by Apple Inc. for their Macintosh line of computer systems....
, 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, the standard Amiga mouse has two buttons – the right mouse button operates the pull-down menus, with a Macintosh-style "release to select" mechanism.

A unique feature of Workbench is multiple screens. These are conceptually similar to X Window System
X Window System

The X Window System is a computing software system and network protocol that provides a graphical user interface for networked computers. It implements the X Window System protocols and architecture and provides windowing system on raster graphics Visual display units and manages Keyboard and pointing device control functions....
 virtual desktops or workspaces, but are generated dynamically by application programs as necessary. Each screen can have a different resolution and colour depth. A gadget in the top-right corner of the screen allows screens to be cycled — as the OS stores all screens in memory simultaneously, redrawing is instantaneous. Screens can also be dragged up and down by their title bars. On older Amigas this functionality was provided by the custom chipsets specially designed for the platform, but since AmigaOS4 a new technique is adopted and the screens are draggable in any direction. Drag and drop between different screens is possible too.

Underlying the Workbench is the Intuition windowing system. This controls and draws screens, windows and gadgets, and handles input from the keyboard and mouse, passing messages to programs.

Workbench 2.0 user interface improvements
Until Workbench 2.0, there was no unified look and feel
Look and feel

Look and feel is a term used in descriptions of products and fields such as product design, marketing, branding and trademarking, to describe the main features of its appearance....
 design standard — application developers had to write their own widgets (both buttons and menus), with Intuition providing minimal support. With Workbench 2.0 came gadtools.library, which provided standard widget sets, and the Amiga User Interface Style Guide, which explained how applications should be laid out for consistency.

Workbench 2.0 also added support for public screens. Instead of the Workbench screen being the only shareable screen, applications could create their own named screens to share with other applications.

Workbench 2.0 introduced AmigaGuide
Amigaguide

Amigaguide is a hypertext document file format similar to Texinfo designed for the Amiga, files are stored in ASCII so it is possible to read and edit a file without the need for special software....
, a simple hypertext
Hypertext

Hypertext is text, displayed on a computer, with references to other text that the reader can immediately follow, usually by a mouse click or keypress sequence....
 markup scheme and browser, for providing online help inside applications. It also introduced Installer, a standard software installation program, driven by a LISP
Lisp

A lisp is a speech impediment, historically also known as sigmatism. Stereotypically, people with a lisp are unable to pronounce sibilants , and replace them with Interdental consonants , though there are actually several kinds of lisps....
-like scripting language.

Finally, Workbench 2.0 rectified the problem of developers hooking
Hooking

In computer programming, hooking is a technique used to alter or augment the behavior of an operating system or application, often without having access to its source code....
 directly into the input-events stream to capture keyboard and mouse movements, often locking up the whole system. Workbench 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 what commodities were running.

Workbench 2.1 user interface improvements
Workbench 2.1 introduced locale.library and for the first time Workbench was translated to different languages.

AmigaDOS

AmigaDOS provides the disk operating system portion of the AmigaOS. This includes file system
File system

In computing, a file system is a method for store and organize computer files and the data they contain to make it easy to find and access them....
s, file and directory manipulation, the command-line interface, file redirection, console windows, and so on.

In AmigaOS 1.x, the AmigaDOS portion was based on a TRIPOS
TRIPOS

TRIPOS is a computer operating system. Development started in 1976 at the Computer Laboratory of University of Cambridge and it was headed by Dr....
 port by MetaComCo
MetaComCo

MetaComCo was a company started in 1981 and based in Bristol, England by Peter Mackeonis and Derek Budge.MetaComCo's first product was an MBASIC compatible interpreter for IBM PC's, which was licensed by Peter Mackeonis to Digital Research in 1982, and issued as the Digital Research Personal Basic, or PBASIC, running under CP/M....
, written in BCPL
BCPL

BCPL is a computer programming language designed by Martin Richards of the University of Cambridge in 1966....
. Considerable amounts of functionality was only available by interfacing with libraries written in BCPL, which proved a difficult and error-prone task from C and other languages because of BCPL's idiosyncratic pointer mechanism. The original amigados CLI
Command line interpreter

A command-line interpreter is a computer program that reads lines of text entered by a user and interprets them in the context of a given operating system or programming language....
 utilities written in BCPL also had the disadvantage of occupying a relatively large memory footprint, and ran slower than equivalent C.

The third-party AmigaDOS Resource Project (ARP, formerly the AmigaDOS Replacement Project), a project begun by Amiga developer Charlie Heath, replaced many of the BCPL utilities with smaller and often more sophisticated equivalents written in C and assembler, and provided a wrapper library, arp.library, which eliminated the interfacing problems in applications by automatically performing conversions from native pointers (such as those used by C or assembler) to BCPL equivalents and vice versa for all AmigaDOS functions. ARP also provided one of the first standardized file requester
File dialog

In computing, a file dialog is a dialog box that allows users to choose a Computer file from the file system. File dialogs differ from file managers as they are not intended for file management , rather they are intended for the opening and saving of files....
s 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.

From AmigaOS 2.x onwards, AmigaDOS was rewritten in C
C (programming language)

C is a general-purpose computer programming language originally developed in 1972 by Dennis Ritchie at the Bell Telephone Laboratories to implement the Unix operating system....
 and Assembler
Assembly language

An assembly language is a low-level language for programming computers. It implements a symbolic representation of the numeric machine codes and other constants needed to program a particular CPU architecture....
, retaining full 1.x BCPL program compatibility, and incorporated most of ARP into the OS.

As from AmigaOS 4.0, the DOS abandoned completely any legacy with BCPL, and starting from AmigaOS 4.1, it has been rewritten with full 64bit support.

AmigaDOS has all main features of other DOS in other systems. It allows command redirection, piping
Pipeline (Unix)

In Unix-like computer operating systems, a pipeline is the original pipeline : a set of process es chained by their standard streams, so that the output of each process feeds directly as input of the next one....
, scripting (batch programming
Batch file

In DOS, OS/2, and Microsoft Windows, a batch file is a text file containing a series of Command intended to be executed by the Command line interpreter....
) and has also all sets of commands like Echo, If, Then, EndIf, Val, Skip, etcetera, to deal with structured script programming. Scripts can be marked with "S" (Script) bit flag, and then executed automatically. ADOS commands featured a simple template help invoking question mark "?" since 1985 (when command help template was a very rare feature amongst other operating systems). Users can pause the output of a command, and resume it. There is command break function, and Amiga featured its system of protection bits and wildcard characters to indicate with a single command entire groups of data files. Commands could be nested in a single line, and Amiga has command "run", that if invoked before any other DOS command or productivity program, then runs these executables as separate processes and keeps always free the shell text based console windows for future input. AmigaOS is case insensitive and features a complete system of Global and local variables.

For more information about Scripting, command output and redirection, etcetera, refer to main article AmigaDOS
AmigaDOS

AmigaDOS provides the disk operating system portion of the AmigaOS. This includes file systems, file and directory manipulation, the command-line interface, file Redirection and so on....
.

Syntax of AmigaDOS commands
This is an example of typical AmigaDOS command syntax:

AmigaShellPrompt> DIR Df0:
This shows the content of a directory of a floppy disk and lists directories but without entering the directory tree.
AmigaShellPrompt> DIR SYS: OPT A
 
AmigaShellPrompt> DIR SYS: ALL
The argument word "OPT A" or also the argument word "ALL" show the entire content of a volume or device, entering and expanding all directory tree. "Sys:" is the obliged name that indicates the boot device, whatever it could be, floppy, hard disk or CD. Note that Amiga uses always the slash character ("/") in command arguments or also directory paths.


Conventions of names of devices
Partitions and physical drives are typically referred to as DF0: (floppy drive 0), DH0: (Device hard disk 0 or HD0: hard drive 0), etc. However, unlike many operating systems, outside of built-in physical hardware devices like DF0: or HD0: the name of the single floppy disks, or the volumes or partition own names are totally arbitrary; for example a hard disk partition could be named HARDDISK or A, or MyDisk or any other name when it was partitioned. Volume names then will be recognized as have the same format as device names, so a disk partition on device DH0: called Workbench could be accessed either with the name DH0: or Workbench:. Note that once the name of the volume was set up, then the system automatically appends a colon character to the name of the partition to indicate it is considered as a device as for example when showing a list of active devices. On the desktop, the name of the device appears right under device icon and without the colon. Users must indicate to the system that "Workbench" is a device "Workbench:" by always typing the colons ":" when they are entering information in a requester form or into AmigaShell command based interface windows. This is mandatory. If the partition is the same that started the boot sequence, it could also be accessed as Sys:. So there could various ways to indicate and access the partition that made the boot. In addition, virtual volume names could be set with the "assign" command to any directory or device; for example programs often assigned a virtual volume name to their installation directory; an example might be a fictionary worprocessor called FooBarWriter assigning FooBar: to DH0:Productivity/FooBarWriter. This allows for easy relocation of installed programs.

Conventions of names and typical behaviour of virtual devices
The physical device DF0: share the same floppy drive mechanics with PC0: that is the CrossDOS virtual device capable to read PC formatted floppy disks. When any PC formatted floppy disk is inserted into the floppy drive, then the Df0: floppy Amiga icon will change to indicate that the disk is unknown for normal Amiga device, and it will show four question marks '????' as standard "unknown" volume name, while the PC0: icon will appear revealing the name of the PC formatted disk. Any disk change with Amiga formatted disks will invert this behaviour.

Filesystems
AmigaOS supports various filesystems and variants.

First filesystem was simply called Amiga FileSystem
Amiga Old File System

On the Amiga, the Old File System was the filesystem for Amiga OS before the Amiga Fast File System. Even though it used 512-byte blocks, it reserved the first small portion of each block for Metadata , leaving an actual data block capacity of 488 bytes per block....
, and was suitable mainly for floppy disks, because it did not support automatic booting from hard disks (on floppy, booting was done using code from the bootblock). It was soon replaced by FastFileSystem
Amiga Fast File System

The Amiga Fast File System is a file system used on the Amiga personal computer. The Amiga Old File System was too slow to keep up with hard drives....
, and hence the original filesystem was de facto recognized with the name of "Old" FileSystem. It also was more efficient on space and quite measurably faster, hence the name.

With AmigaOS 2, FastFileSystem became an official part of the OS and was soon expanded to recognise cached partitions, international partitions allowing accented characters in file and partition names, and finally (with MorphOS
MorphOS

MorphOS is a computer operating system . It is a mixed proprietary software and open source OS produced for the Pegasos PowerPC -processor-based computer, most models of PPC-accelerator-equipped Amiga computers, and a series of Freescale development boards that use the Genesi Firmware, including the EFIKA and mobileGT....
 and AmigaOS 4
AmigaOS 4

AmigaOS 4 is a line of Amiga operating systems which runs on PowerPC microprocessors. "The Final Update" was released in 24 December 2006 after five years of development by the Belgian company Hyperion Entertainment under license from Amiga, Inc....
) long filenames, up to 108 characters.

Both AmigaOS 4 and MorphOS featured a new version of FastFileSystem called FastFileSystem 2. FFS2 incorporated all of the features of the original FFS including, as its author put it, "some minor changes". In order to preserve backwards compatibility, there were no major structural changes. (However, FF2 on AmigaOS 4.1 differs in that it can expand its features and capabilities with the aid of plug-ins).

As with FFS2, the AmigaOS 4 version of Smart FileSystem is a fork of original SFS also adopted by MorphOS, and is not 100% compatible with it.

Other filesystems like FAT12, FAT16, FAT32 from Windows or ext2
Ext2

The ext2 or second extended filesystem is a file system for the Linux kernel . It was initially designed by R?my Card as a replacement for the extended file system ....
 from Linux are available through system libraries or third party modules or even into Aminet
Aminet

Aminet is the world's largest archive of Amiga-related software and files. Aminet was originally hosted by several universities' File Transfer Protocol sites, and is now available on CD-ROM and on the web....
 freeware software repository. MorphOS 2 has built-in support for FAT filesystems.

AmigaOS 4.1 adopted a new filesystem called JXFS capable to support partitions over a Terabyte of size.

Alternate filesystems from third party manufacturers include Professional FileSystem
Professional File System

The Professional File System is a filesystem originally developed commercially for the Amiga. It tends to perform very well, due to the simplicity of design....
 which is a filesystem with an easy structure, based on metadata
Metadata

Metadata is "data about other data", of any sort in any media. An item of metadata may describe an individual datum, or content item, or a collection of data including multiple content items and hierarchical levels, for example a database schema....
, allowing high internal coherence, capable to defrag itself on the fly, and do not requires to be unmounted before being mounted again; and Smart FileSystem
Smart File System

The Smart File System is a journaling filesystem used on Amiga computers. It is designed for performance, scalability and integrity. It uses block sizes ranging from 512 to 32768 bytes with a maximum partition size of 128 GB....
 which is a very interesting journaling
Journaling

Journaling may refer to:* Keeping a diary* Journaling file systems, a technique in computer file systems to prevent corruption* Autobiographical therapeutic writing...
 filesystem which performs journaled activities during system inactivities, and has been chosen by MorphOS
MorphOS

MorphOS is a computer operating system . It is a mixed proprietary software and open source OS produced for the Pegasos PowerPC -processor-based computer, most models of PPC-accelerator-equipped Amiga computers, and a series of Freescale development boards that use the Genesi Firmware, including the EFIKA and mobileGT....
 as standard filesystem.

Official variants of Amiga filesystems
Old File System /Fast File System

  • OFS (DOS0)
  • FFS (DOS1)
  • OFS International (DOS2)
  • FFS International (DOS3)
  • OFS Directory Caching (DOS4)
  • FFS Directory Caching (DOS5)


Fast File System 2 (AmigaOS4.x/MorphOS)

  • OFS Long filenames (DOS6)
  • FFS Long filenames (DOS7)


(Both DOS6 and DOS7 feature International filenames featured in DOS2 and DO3, but not Directory Caching, which was abandoned due to bugs in the original implementation. DOS4 and DOS5 are not recommended for use for this reason.)

Dostypes are backwards compatible with each other, but not forward compatible. A DOS7 formatted disk cannot be read on original Amiga FFS, and a DOS3 disk cannot be read on a KS1.3 Amiga. However, any disk formatted with DOS0 using FFS or FFS2 can be read by any version of the Amiga operating system. For this reason, DOS0 tended to be the format of choice of software developers distributing on floppy, except where a custom filesystem and bootblock was used - a common practice in Amiga games. Where software needed AmigaOS 2 anyway, DOS3 was generally used.

FastFileSystem2 Plug-ins
With first update of AmigaOS 4.0 in 2007, it has been released the first two plugins for FFS2:

  • fs_plugin_cache: increments performances of FFS2 by introducing a new method of data buffering.
  • fs_plugin_encrypt: data encryption plugin for partitions using Blowfish
    Blowfish (cipher)

    In cryptography, Blowfish is a key ed, symmetric key algorithm block cipher, designed in 1993 by Bruce Schneier and included in a large number of cipher suites and encryption products....
     algorithm.


Filename Extensions
Amiga has only one obliged filename extension for filenames and is ".info" that is appended as suffix to filenames of icons. If the name of a file is myprog, then myprog.info is the file containing icons, its position on the desktop (AmigaOS is able to "snapshot" icons in places defined by the user), program metadata such as options and keywords, and other information about the file.

There is no mandatory issue in Amiga to identify programs and projects (datafiles) with extensions. Any user can rename files with any suffix. Amiga recognizes executables by using the first sequence of bytes in the binary header of file (magic cookie number), and recognizes datafiles by the icons, or by information again contained in headers. A list of files like "data1", "data2", "data3", etc, will be considered the same even if they have been renamed "data1.lbm, "data2.jpg", "data3.lbm". Amiga will open the correct software these data files depending upon the information contained in its icon, or by using Datatypes Amiga automatic system for recognizing datafiles based on file headers.

Graphics

Up to version 3, AmigaOS only supported the native Amiga graphics chipset
Original Amiga chipset

The Original Chip Set was a chipset used in the earliest Commodore International Amiga computers and defined the Amiga's graphics and sound capabilities....
, via graphics.library. This led developers to avoid OS functionality for drawing, and go straight for the underlying hardware. Third-party graphics cards were only supported via unofficial solutions. The ideal situation, where the AmigaOS could directly support any graphics system, was termed retargetable graphics (RTG) . Release 3.1 included some support for third party graphics cards, such as the Picasso. 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

CGX redirects here. For the proposed US cruiser line, see CG. For the commercial printer, see Consolidated Graphics.CyberGraphX , is the one of the standard retargetable graphics API available for the Amiga and compatible operating systems....
, Picasso 96 and EGS
EGS

EGS is a three-letter abbreviation that may refer to:* the IATA Airport Code for Egilsstadir Airport in Iceland.* EGS , a computer simulation program....
.

The Amiga did not have any official 3D graphics capability, so it had no standard 3D graphics interface. Graphics card manufacturers provided their own standards, which include MiniGL
MiniGL

The term MiniGL was applied to a wide range of incomplete OpenGL implementations provided by graphics card hardware companies including 3dfx, PowerVR and Rendition in the late 1990s....
, Warp3D, StormMesa
Mesa 3D

Mesa 3D is an Open source software 3D computer graphics Library that provides a generic OpenGL implementation for rendering three-dimensional graphics on multiple platform ....
 (agl.library) and CyberGL.

The Amiga was born at a time when there was almost no concept of 3D graphics libraries to enhance desktop GUIs and computer rendering capabilities but, thanks to its graphic capabilities, the Amiga was one of the first widespread 3D development platforms. VideoScape 3D was one of the earliest 3D rendering & animation systems, as well as TrueSpace
TrueSpace

trueSpace is free 3D computer graphics and animation software developed by Caligari Corporation....
 3D. Then Amiga lead the 3D software market for years with software like Imagine
Imagine (3D modeling software)

Imagine was the name of a cutting edge 3D modeling and raytracing program, originally for the Amiga computer and later also for MSDOS and Microsoft Windows....
 and NewTek's Lightwave
LightWave

LightWave 3D is a high end computer graphics program developed by NewTek. The latest release of LightWave runs on Microsoft Windows and Mac OS X....
 (used to render television shows like Babylon 5).

Likewise, while the Amiga is well known for its ability to easily genlock
Genlock

Genlock is a common technique where the video output of one source, or a specific reference signal, is used to synchronization other television picture sources together....
 with video, it has no built-in video capture
Video capture

Video capture is the process of converting an analog video signal?such as that produced by a video camera or DVD player?to digital form. The resulting digital data are referred to as a digital video stream, or more often, simply video stream....
 interface. In its golden age, the Amiga supported a vast market 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
NewTek

NewTek, Inc. is a San Antonio, Texas-based software company that produces live and post-production video tools and visual imaging software for personal computers....
 DigiView , Graffiti external 24bit framebuffer
Framebuffer

A framebuffer is a video output device that drives a video display from a memory buffer containing a complete video frame of data. The information in the buffer typically consists of color values for every pixel on the screen....
, the Digilab, the Videocruncher, Firecracker 24, Vidi Amiga 12, Vidi Amiga 24bit and 24RT (Real Time), Newtek Video Toaster
Video Toaster

The NewTek Video Toaster is a combination of computer hardware and computer software for the editing and production of Standard Definition TV NTSC and PAL video on personal computers....
, GVP
Great Valley Products

Great Valley Products is a former third-party Amiga hardware supplier.The company was mostly known for CPU-Accelerators and SCSI-Hostadapters for the Commodore International Amiga 500 and the Amiga 2000 computer series....
 Impact Vision IV24, Macrosystem VLab 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 graphic cards like the Merlin XCalibur module, or the DV module built for the Amiga clone Draco
Draco

Draco was the first legislator of ancient Athens, Greece, 7th century BCE....
 from the German firm Macrosystem. Modern PCI
Peripheral Component Interconnect

The PCI Local Bus , or Conventional PCI, is a computer bus for attaching computer hardware in a computer. These devices can take either the form of an integrated circuit fitted onto the motherboard itself, called a planar device in the PCI specification or an expansion card that fits into a socket....
 bus TV expansion cards and their capture interfaces are supported through tv.library by Elbox Computer and tvcard.library by Guido Mersmann.

Amiga graphic engines and graphic widget libraries are ReAction GUI
ReAction GUI

ReAction GUI it is the name of the Widget toolkit engine that is used in AmigaOS 4.It is an evolution of ClassACT, which is an object oriented system of classes that enhanced the aspect of the Workbench 2.0 GUI of AmigaOS....
, used in AmigaOS 3.9 and 4.0, MUI
Magic User Interface

The Magic User Interface is an Object-oriented programming 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 outfit according to personal taste....
 (Magical User Interface) used in all Amiga systems and natively in MorphOS
MorphOS

MorphOS is a computer operating system . It is a mixed proprietary software and open source OS produced for the Pegasos PowerPC -processor-based computer, most models of PPC-accelerator-equipped Amiga computers, and a series of Freescale development boards that use the Genesi Firmware, including the EFIKA and mobileGT....
 as standard graphic engine, and Cygnix that provides Amiga with a full Unix/Linux X11 compatible graphic environment. Some vector graphic libraries, like Cairo
Cairo (graphics)

cairo is a software library used to provide a vector graphics-based, device-independent Application programming interface for software developers....
 and Anti-Grain Geometry
Anti-Grain Geometry

Anti-Grain Geometry is a high-quality 2D rendering engine written in C++. It features anti-aliasing and sub-pixel resolution.The library is Cross-platform and renders to an abstract memory object....
 are also available.

All modern Amiga systems have made large use of cross-platform SDL
Simple DirectMedia Layer

Simple DirectMedia Layer is a cross-platform, free and open source software multimedia Library written in C that presents a simple interface to various platforms' computer graphics, sound, and input devices, allowing a developer to write a Personal computer game or other multimedia application that can run on many operating systems includi...
 (simple DirectMedia Layer) engine for games and other multimedia programs.

3D Accelerated GUIs
Following modern trends in evolution of graphical interfaces AmigaOS 4.1 uses Cairo
Cairo (graphics)

cairo is a software library used to provide a vector graphics-based, device-independent Application programming interface for software developers....
 2D vector based interface integrated with 3D hardware accelerated Porter-Duff
Alpha compositing

In computer graphics, alpha compositing is the process of combining an image with a background to create the appearance of partial transparency....
 image composition engine, while its counterpart and competitor MorphOS 2
MorphOS

MorphOS is a computer operating system . It is a mixed proprietary software and open source OS produced for the Pegasos PowerPC -processor-based computer, most models of PPC-accelerator-equipped Amiga computers, and a series of Freescale development boards that use the Genesi Firmware, including the EFIKA and mobileGT....
 features 3D layers, a complete 3D GUI based on a subset of OpenGL
OpenGL

OpenGL is a standard specification defining a cross-language cross-platform Application programming interface for writing applications that produce 2D computer graphics and 3D computer graphics....
.

Audio

Up to version 3.1, AmigaOS only supported the original Amiga chipset's sound capabilities, via audio.device. Support for third-party audio cards was vendor-dependent, until the creation and adoption of AHI
AHI (Amiga)

AHI is a retargetable audio subsystem for AmigaOS, MorphOS and AROS. It was created by Martin Blom in the mid 1990s to allow standardized operating system support for audio hardware other than just the native Original_Amiga_chipset#Paula....
  as a de facto standard. AmigaOS itself did not support MIDI until 3.1 when Roger Dannenberg's camd.library
Commodore Amiga MIDI Driver

Commodore Amiga MIDI Driver is a shared library for AmigaOS which provides a general device driver for MIDI data, so that applications can share MIDI data with each other in real-time, and interface to MIDI hardware in a device-independent way....
 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.

Speech synthesis
The original Amiga was launched with speech synthesis
Speech synthesis

Speech synthesis is the artificial production of human Speech communication. A computer system used for this purpose is called a speech synthesizer, and can be implemented in software or Computer hardware....
 software, developed by Softvoice, Inc. This could be broken into three main components: narrator.device, which could play and modulate all phoneme
Phoneme

In human language, a phoneme is the smallest posited linguistically distinctive unit of sound. Phonemes carry no semantic content themselves. In theoretical terms, phonemes are not the physical segment s themselves, but cognitive abstractions or categorizations of them....
s used in American English
American English

PhonologyIn many ways, compared to English language in England, North American English is conservative in its phonology. Some distinctive accents can be found on the East Coast of the United States , partly because these areas were in contact with England, and imitated prestigious varieties of English English at a time when those varieties we...
, translator.library, which could translate English text to American English phonemes, and the SPEAK: handler, which command-line users could redirect output to, to have it spoken.

In the original 1.x releases, a Say program in Utilities and a basic demo was also included with AmigaBASIC
AmigaBASIC

AmigaBASIC was an Interpreter BASIC programming language implementation for the Amiga, designed and written by Microsoft. AmigaBASIC shipped with AmigaOS versions 1.1 to 1.3....
 programming examples.

The speech synthesiser was occasionally used in third-party programs, often educational software. The word processors Prowrite and Excellence! could read out documents using the synthesiser.

Despite the limitation on the narrator.devices phonemes, Francesco Devitt wrote a new version of translator.library which could translate any language to phonemes, given a set of rules for that language, and thus provided multilingual speech synthesis.

Workbench 2.0 was the last release with speech synthesis support. The speech synthesis software was dropped from the 2.1 release onward.

ARexx

The Amiga OS has support for the Rexx
REXX

REXX is an Interpreted language programming language which was developed at IBM. It is a structured high-level programming language which was designed to be both easy to learn and easy to read....
 language, called ARexx (short for "Amiga Rexx"), and is a script language which allows for full OS scripting, similar to AppleScript
AppleScript

AppleScript is a scripting language devised by Apple Inc., and built into Mac OS. More generally, "AppleScript" is the word used to designate the Mac OS scripting interface, which is meant to operate in parallel with the graphical user interface....
, intra-application scripting, similar to VBA
Visual Basic for Applications

Visual Basic for Applications is an implementation of Microsoft Event-driven programming programming language Visual Basic, and associated integrated development environment , which is built into most Microsoft Office applications....
 in Microsoft Office
Microsoft Office

Microsoft Office is a popular set of interrelated desktop applications, servers and services. Microsoft Office is collectively referred to as an office suite, for the Microsoft Windows and Mac OS X operating systems....
, 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.

RAM disk

The Amiga OS has a dynamically-sized RAM disk, which resizes itself automatically to 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 prefs files for changes.

RAD
The Amiga OS also has support for 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, and it can be used as a boot disk (with boot sector).

Technical overview

John C. Dvorak
John C. Dvorak

John Charles Dvorak is an United States columnist and broadcaster in the areas of technology and computer. His writing extends back to the 1980s, when he was a mainstay of a variety of magazines....
 stated in 1996:

Libraries and devices

The main modularisation
Modularity (programming)

Modular programming is a software design technique that increases the extent to which software is composed from separate parts, called modules. Conceptually, modules represent a separation of concerns, and improve maintainability by enforcing logical boundaries between components....
 technique in AmigaOS is based on dynamically-loaded shared libraries
Library (computer science)

In computer science, a library is a collection of subroutines or Class used to develop software. Libraries contain code and data that provide services to independent programs....
, either stored as a file on disk with a ".library" filename extension, or stored in the Kickstart ROM. All libraries 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
Patch (computing)

A patch is a small piece of software designed to fix problems with or update a computer program or its supporting data. This includes fixing computer bug, replacing graphics and improving the usability or performance....
 or hooked
Hooking

In computer programming, hooking is a technique used to alter or augment the behavior of an operating system or application, often without having access to its source code....
 at run-time, even if the library is stored in ROM.

The most important library in AmigaOS is
exec.library (Exec
Exec (Amiga)

Exec is the object-oriented multi-tasking kernel of AmigaOS. It enabled true pre-emptive multitasking in as little as 256 Kilobyte of free memory ....
), which can be considered a microkernel
Microkernel

In computer science, a microkernel is a computer kernel which provides the mechanisms needed to implement an operating system, such as low-level address space management, thread management, and inter-process communication....
, as well as a library. It acts as a scheduler
Scheduling (computing)

Scheduling is a key concept in computer multitasking and multiprocessing operating system design, and in real-time operating system design. In modern operating systems, there are typically many more processes running than there are CPUs available to run them....
 for tasks running on the system, providing pre-emptive multitasking with prioritised round-robin scheduling
Round-robin scheduling

Round-robin is one of the simplest scheduling algorithms for Computer process in an operating system, which assigns Preemption_#Time_slice to each process in equal portions and in order, handling all processes without priority....
. Exec also provides access to other libraries and high-level inter-process communication
Inter-process communication

Inter-Process Communication is a set of techniques for the exchange of data among multiple thread in one or more Process . Processes may be running on one or more computers connected by a computer network....
 via message passing
Message passing

Message passing in computer science, is a form of communication used in parallel computing, object-oriented programming, and interprocess communication....
. (Other 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.) The only fixed memory address in the Amiga software (address 4) is a pointer to
exec.library, which can then be used to access other libraries. Exec was designed and implemented by Carl Sassenrath
Carl Sassenrath

Carl Sassenrath is an architect of operating systems and computer languages. He brought multitasking to personal computers in 1985 with the creation of the Amiga operating system kernel, and he is currently the designer of the REBOL computer language as well as the CTO of REBOL Technologies....
.

Unlike traditional operating systems, the exec kernel does not run "privileged". Contemporary operating systems for the 68000 such as Atari TOS
Atari TOS

The Operating System is the operating system of the Atari Atari ST range of computers. This range includes the 520ST, 1040ST and the F, FM and E variations ....
 and SunOS
SunOS

SunOS is a version of the Unix operating system developed by Sun Microsystems for their workstation and server computer systems. The SunOS name is usually only used to refer to versions 1.0 to 4.1.4 of SunOS....
 used trap
Exception handling

Exception handling is a programming language construct or computer hardware mechanism designed to handle the occurrence of exceptions - special conditions that change the normal flow of execution....
 instructions for invoking kernel functions. This made the kernel functions run in the 68000's
supervisor mode, while user software ran in the unprivileged user mode. By contrast, exec function calls are made with the library jump table, and the kernel code normally executes in user mode. Whenever supervisor mode is needed, either by the kernel or user programs, the library functions Supervisor or SuperState are used.

Device driver
Device driver

In computing, a device driver or software driver is a computer program allowing higher-level computer programs to interact with a hardware device....
s are also libraries, but they implement a standardised 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 tasks
Task (computers)

A task is "an execution path through address space". In other words, a set of Computer program instruction s that are loaded in computer storage....
, and communicate by passing messages.

One important 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
CrossDOS

CrossDOS is file system for AmigaDOS. It was bundled with AmigaOS 2.1 and later, though it did work under Amiga OS 2.04. Its function was to allow working with floppy disks formatted for IBM PC compatible ....
 and by a few "alternative" file systems to the standard OFS
Amiga Old File System

On the Amiga, the Old File System was the filesystem for Amiga OS before the Amiga Fast File System. Even though it used 512-byte blocks, it reserved the first small portion of each block for Metadata , leaving an actual data block capacity of 488 bytes per block....
 and FFS
Amiga Fast File System

The Amiga Fast File System is a file system used on the Amiga personal computer. The Amiga Old File System was too slow to keep up with hard drives....
. These file systems allow one to add new features like journaling
Journaling file system

A journaling file system is a file system that logs changes to a journal before committing them to the main file system. Such file systems are less likely to become corrupted in the event of power failure or system crash....
 or file privileges, which aren't 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, the
SPEAK: handler can have text sent to it. The handler makes use of translator.library, which converts text into phoneme
Phoneme

In human language, a phoneme is the smallest posited linguistically distinctive unit of sound. Phonemes carry no semantic content themselves. In theoretical terms, phonemes are not the physical segment s themselves, but cognitive abstractions or categorizations of them....
s, then it writes the phonemes to
narrator.device, which translates the phonemes into intoned speech samples and itself uses audio.device to play them through the Amiga's audio hardware.

Device names are case insensitive
Case sensitivity

self-ref|For a discussion of case-sensitivity in Wikipedia page titles, see...
 (uppercase by convention) strings followed by a colon
Colon (punctuation)

The colon is a punctuation mark, consisting of two equally sized dots centered on the same vertical line....
. 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
Path (computing)

A path is the general form of a computer file or directory name, specifying a unique location in a file system. A path points to a file system location by following the directory tree hierarchy expressed in a string of character in which path components, separated by a delimiting character, represent each directory....
 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
Asynchronous start-stop

Asynchronous serial communication describes an asynchronous communication, Serial communication in which a start signal is sent prior to each byte, character or code word and a stop signal is sent after each code word....
, 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 "Amp" located in directory "Win" of the disk with name "Work" in drive
DF0:, one could write DF0:Win/Amp or Work:Win/Amp 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
Computer program

Computer programs are Instruction for a computer. A computer requires programs to function. Moreover, a computer program does not run unless its instructions are executed by a Central processing unit; however, a program may communicate an Algorithm#Formalization of algorithms to people without running....
 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, etc.

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. 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
    Path (computing)

    A path is the general form of a computer file or directory name, specifying a unique location in a file system. A path points to a file system location by following the directory tree hierarchy expressed in a string of character in which path components, separated by a delimiting character, represent each directory....
     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.
  • 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.


Paging Memory and Swap Partition

AmigaOS 4.0 "final update" revision introduced a new intelligent system for allocating RAM and defragmenting it "on the fly" during system inactivities. It is based on slab allocation method
Slab allocation

Slab allocation is a memory management mechanism intended for more efficient memory allocation and to eliminate memory Fragmentation to a large extent....
 and there is also present a memory pager that arbitrates paging memory and thus now allows also on AmigaOS (like in other systems) the swapping of large portions of physical RAM memory on mass storage devices as a sort of virtual memory
Virtual memory

Virtual memory is a computer system technique which gives an application program the impression that it has contiguous working memory , while in fact it may be physically fragmented and may even overflow on to disk storage....
.

AmigaOS 4.0 handles physical RAM with a Buddy System
Buddy memory allocation

The buddy memory allocation technique is a memory allocation technique that divides memory into partitions to try to satisfy a memory request as suitably as possible....
 algorithm.

AmigaOS 4.1 then introduced the option of creating one Swap partition of desired size that is formatted as standalone partition when it is performed the first install of the OS. Swap memory enters automatically in action when, even after a RAM defragmentation, the system still demands more memory. Swap memory could be activated and disactivated with a simple option button in
Preferences of AmigaOS System allowing the user to choose any moment to use only physical RAM.

AmigaOS influence on other operating systems

AmigaOS has spawned at least two "clone" operating systems over time.

  • AROS Research Operating System
    AROS Research Operating System

    AROS Research Operating System is a free software/open source software implementation of the AmigaOS Application programming interfaces. Designed to be portable and flexible, Portings are currently available for x86-based and PowerPC-based Personal computers in native mode and hosted flavors, with other architectures in development....
    (AROS) is an attempt to clone 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

    MorphOS is a computer operating system . It is a mixed proprietary software and open source OS produced for the Pegasos PowerPC -processor-based computer, most models of PPC-accelerator-equipped Amiga computers, and a series of Freescale development boards that use the Genesi Firmware, including the EFIKA and mobileGT....
    is a PowerPC native operating system, originally created when the future of the Amiga looked uncertain. It provides binary compatibility with "OS-friendly" AmigaOS applications (that is, those applications which do not access any native, legacy Amiga hardware directly). A version which runs on Commodore Amigas with PPC accelerator cards has been released.


  • Although not strictly Amiga related, a fork of the FreeBSD
    FreeBSD

    FreeBSD is a Unix-like free software operating system descended from AT&T Unix via the Berkeley Software Distribution branch through the 386BSD and Berkeley Software Distribution#4.4BSD and descendants operating systems....
     4.8 release, called
    DragonFly BSD
    DragonFly BSD

    DragonFly BSD is a Free software Unix-like operating system created as a fork of FreeBSD 4.8. Matthew Dillon , a FreeBSD and Amiga developer since 1994, began work on DragonFly BSD in June 2003 and announced it on the FreeBSD mailing lists on July 16, 2003....
    , has been created by a former FreeBSD developer and Amiga programmer Matt Dillon
    Matt Dillon (computer scientist)

    Matthew Dillon is a Computer science living in Berkeley, California. He is best known for his contributions to FreeBSD and for starting the DragonFly BSD project....
    . DragonFly BSD aims to make the FreeBSD kernel more like AmigaOS architecturally, featuring message-passing in the kernel and allowing for very efficient and virtually mutex
    Mutual exclusion

    Mutual exclusion algorithms are used in concurrent programming to avoid the simultaneous use of a common resource, such as a global variable, by pieces of computer code called critical sections....
    -free SMP
    Symmetric multiprocessing

    In computing, symmetric multiprocessing or SMP involves a multiprocessor computer-architecture where two or more identical processors can connect to a single shared main memory....
     support.


  • BeOS
    BeOS

    BeOS was an operating system for personal computers which began development by Be Inc. in 1991. It was first written to run on BeBox hardware. BeOS was optimized for digital media work and was written to take advantage of modern hardware facilities such as symmetric multiprocessing by utilizing modular I/O bandwidth, pervasive multithreading,...
    features also a centralized structure supporting Datatypes, which is a direct inheritance from the same Amiga original solution which allow the entire OS to recognize all kind of files (text, music, videos, documents, etc.) with standard file descriptors. Datatype system provides entire system and any productivity tools with standard loaders and savers for these files, without having the necessity to embed multiple file loading capabilities into any single program.


  • AtheOS
    AtheOS

    AtheOS was a free software operating system for x86-based computers. It was initially intended as an AmigaOS clone, but that objective was later abandoned....
     was inspired by AmigaOS, and originally intended to be a clone of AmigaOS. Syllable
    Syllable (operating system)

    Syllable is a Free software and open-source software operating system for Pentium and compatible processors. Its purpose is to create an easy-to-use desktop operating system for the home and small office user....
     is a fork of AtheOS, and includes some AmigaOS and BeOS
    BeOS

    BeOS was an operating system for personal computers which began development by Be Inc. in 1991. It was first written to run on BeBox hardware. BeOS was optimized for digital media work and was written to take advantage of modern hardware facilities such as symmetric multiprocessing by utilizing modular I/O bandwidth, pervasive multithreading,...
     like qualities.


  • The operating system of the 3DO Interactive Multiplayer
    3DO Interactive Multiplayer

    The 3DO Interactive Multiplayer was a video game console originally produced by Panasonic in . Further renditions of the hardware were released in by Sanyo and LG Group....
     bore a very strong resemblance to AmigaOS, and was developed by RJ Mical, the creator of the Amiga's Intuition
    Intuition (Amiga)

    The Amiga computer was launched by Commodore International in 1985 with a GUI called Workbench based on an internal engine which drives all the input events called Intuition, and developed almost entirely by RJ Mical....
     user interface.


Easter eggs

Some versions of AmigaOS included copyright
Copyright

Copyright is a form of intellectual property which gives the creator of an original work exclusive rights for a certain time period in relation to that work, including its publication, distribution and adaptation; after which time the work is said to enter the public domain....
 messages as Easter eggs that required some trickery to access.
  • In version 1.x, by holding down both Shift keys and both Alt key
    Alt key

    The Alt key on a computer keyboard is used to change the function of other pressed keys. Thus, the Alt key is a modifier key, used in a similar fashion to the Shift key....
    s and pressing the function keys F1 through F10, you could see copyright messages in the title bar. As an example, pressing F10 resulted in the message "Moral support: Joe Pillow and the Dancing Fools". "Joe Pillow" was the name used to book a seat on a flight which was used to transport a prototype Amiga computer to a computer trade show .
  • In versions 2.x and 3.0, the secret message was accessed by repeatedly selecting the "About..." option from the Workbench menu, and leaving the resulting dialog box
    Dialog box

    In graphical user interfaces, a dialog box is a special Window , used in user interfaces to display information to the user, or to get a response if needed....
     open. When there were enough (approximately 20) dialog boxes open at the same time, the next one had a secret message instead of the normal one. In version 3.1 the secret message was openly integrated into the "About..." dialog box.
  • The Amiga 1000 Kickstart floppy diskette master for AmigaDOS 1.0 was not erased prior to duplication, and contains the remnants of various source code and header text files on the disk.


See also

  • AmigaOS versions
    AmigaOS versions

    There have been many different versions of the AmigaOS operating system during its two decades of history.The first AmigaOS was nicknamed Workbench from the name of its GUI Interface, due to an error of Commodore Marketing and Sales Department, which labeled the OS disk just with the name "Workbench Disk" and not with the correct name "...
  • AmigaOS 4
    AmigaOS 4

    AmigaOS 4 is a line of Amiga operating systems which runs on PowerPC microprocessors. "The Final Update" was released in 24 December 2006 after five years of development by the Belgian company Hyperion Entertainment under license from Amiga, Inc....
  • AROS
    Aros

    Aros may refer to:Aros-Eros-Cupid-AmorIt is believed that the origins above led Saint Valentines enthusiasts to appoint the Roman god Cupid as the patron of Valentine's day -- that is the story of Lupercalia and the love and romance associatied with the St....
  • Comparison of operating systems
    Comparison of operating systems

    These tables compare general and technical information for a number of widely used and currently available operating systems.Due to the large number and variety of available Linux distributions, they are all grouped under a single entry; see comparison of Linux distributions for a detailed comparison....
  • MorphOS
    MorphOS

    MorphOS is a computer operating system . It is a mixed proprietary software and open source OS produced for the Pegasos PowerPC -processor-based computer, most models of PPC-accelerator-equipped Amiga computers, and a series of Freescale development boards that use the Genesi Firmware, including the EFIKA and mobileGT....


External links

  • – Very detailed information on all known versions of AmigaOS.
  • - Information about Workbench GUI concepts and other Amiga / AmigaOne related material (Dutch)
  • Compendium of OpenSource ported software for AmigaOS
  • including a commented disassembly of the Amiga Exec multitasker