AmigaOS is a multi-tasking, shared library/device, even driven operating system for the Amiga family of computers based on the Motorola 680x0 or PowerPC processors. To write for AmigaOS you need to learn how to use Amiga's shared libraries. There are a number of shared libraries, some are located on the Kickstart ROM and some on disk in the LIBS: folder. Each library contains functions needed to perform particular functions such as disk i/o, graphics, sound, process management, memory management, keyboard/mouse and so on. More libraries are added as AmigaOS is updated, some some libraries will not exist on older versions of AmigaOS.
Shared libraries differ from linked libraries is that shared libraries are not added to the program executable code like linked libraries are and thus will make AmigaOS programs small in size. So using shared libraries is more efficient.
| Library name | Purpose | AmigaOS |
| exec.library | Process and memory management | 1.3 (33) |
| dos.library | Disk, file and folder management | 1.3 (33) |
| graphics.library | Graphics, sprites/bobs, pixel type graphics | 1.3 (33) |
| intuition.library | Screens, windows and gadgets processing | 1.3 (33) |
| diskfont.library | Bitmapor compugraphic font management | 1.3 (33) |
| expansion.library | Device expansion library | 1.3 (33) |
| icon.library | Workbench icon management | 1.3 (33) |
| layers.library | Graphic layer management | 1.3 (33) |
| mathffp.library | Mathematical Floating Point processing | 1.3 (33) |
| mathieeesingtrans.library | Mathematical Single Precision functions | 1.3 (33) |
| mathieeedoubbas.library | Mathematical IEEE double precision processing | 1.3 (33) |
| mathieeedoubtrans.library | Mathematical IEEE double precision trig functions | 1.3 (33) |
| mathtrans.library | Mathematical Single precision processing | 1.3 (33) |
| translator.library | Speech translator functions | 1.3 (33) |
| asl.library | Common file/font type dialog boxes | 2.0 |
| commodities.library | Background commodity tool functions | 2.0 |
| gadtools.library | New window and gadget functions | 2.0 |
| workbench.library | Workbench functions | 2.0 |
| rexxsupport.library | ARexx support functions | 2.0 |
| rexxsyslib.library | ARexx system library functions | 2.0 |
| version.library | Version information | 2.0 |
| iffparse.library | IFF file parsing functions | 2.0 |
| utility.library | Miscellaneous utility functions | 2.0 |
| keymap.library | Keyboard mapping processing | 1.3 (33) |
| datatypes.library | File and data type processing | 3.1 |
| nonvolatile.library | Non-volatile RAM managment (CD32) | 3.1 |
| realtime.library | Realtime processing | 3.1 |
| lowlevel.library | Low level keyboard/joystick/mouse functions | 3.1 |
| amigaguide.library | AmigaGuide file library | 3.1 |
| aml.library | Amiga Mail library | 3.5 |
| reaction.library | Reaction window/gadgets functions | 3.5 |
The number and the name of the link libraries supplied with Amiga C/C++ compilers differ although one common one is the amiga.lib which contains some common and useful functions not found elsewhere. There may be others including small.lib, debug.lib and for AmigaOS 3.5 or later reaction.lib.
Linker libs are compiled with your Amiga program source code and may make your programs bigger if used.