Copyright (c) Hyperion Entertainment and contributors.
UserDoc:Introduction to AmigaOS
Contents
AmigaOS, the flexible operating system
AmigaOS is an operating system. It is a program written specifically to operate a computer. It is the program the user will use to control the computer and the same program that will be used by the computer to send feedback or results back to the user.
AmigaOS runs on hardware based on a PowerPC CPU. Basically these are the old Amiga computers (also called Classic Amigas) and the new generation Amiga computers. In this manual, we concentrate on newer hardware as these are the machines still manufactured. What is described here still apply to some extent to the Classic Amigas.
How is my data stored?
Files
Executable files
Programs you can start are stored in executable files. These are files with an executable bit, a flag that shows AmigaOS that such file will do something when started. An example is a music player. When you start this executable, the player opens and you can start playing music files.
Data files
Files that are not executable are data files. These contain some data that will be manipulated by programs. Some examples are a music file, a video file or a text document.
Directories/Drawers
In order to organise things a bit, files are not all of them in the same place. We create directories which like drawers of a cabinet will store different files of the same kind. The graphical interface of AmigaOS being called the Workbench, directories are often called drawers.
Disks, partitions and volumes
Disks
Disks are storage medium you can purchase on a computer store. We use them to store our files.
Partitions
A disk is often very big and many users prefer to make it more organised. This is done virtually splitting the disk into several smaller parts. This operation is known as creating partitions on a disk.
TODO: insert a disk image with partitions
Volumes
A partition is a physical area on a disk. To access it with AmigaOS we could read the physical data off the partition but it's not an easy way. To make it easier AmigaOS uses the concept of volumes. These are virtual representations of a partition. The volumes have a name so AmigaOS and therefore the user can access all files/directories stored on it in a very practical way: just by using its name.
AmigaOS components
AmigaOS is made of different components which have their own job in the system. The most important ones are mandatory. Without them the system does not even start. Other components are less important and the user can choose to use them or not. This is the case of drivers. For instance, a device driver may be omitted. If so, the corresponding device will just not work as AmigaOS will have no driver that allows it to know what to do with this device.
Kickstart modules
These components are the heart of AmigaOS. Their duties is to do graphics, to handle discs or to handle all reads/writes to files. Also one of them is the AmigaOS kernel which is some kind of director handling the work of all other components. You can find all these modules in the Kickstart directory in the system volume. Here is a list:
Mandatory modules
The following modules are required in any AmigaOS system. Without one of these, the system will not start.
- kernel - The kernel works like a conductor in an orchestra. Its job is to make everything works together. It creates processes, handle memory usage, defines the way other components will access peripherals...etc. Note that the AmigaOS kernel is not based on any other kernel. It is a self made kernel that works since 1983.
- loader - this component handles the loading of all other kickstart modules
- battclock.resource.kmod
- bootimage
- bootmenu.kmod
- con-handler.kmod
- console.device.kmod
- diskboot.kmod
- diskboot.config
- diskcache.library.kmod
- dos.library.kmod
- elf.library.kmod
- env-handler.kmod
- FileSystem.resource.kmod
- gadtools.library.kmod
- gameport.device.kmod
- graphics.library.kmod
- hunk.library.kmod
- input.device.kmod
- intuition.library.kmod
- layers.library.kmod
- keyboard.device.kmod
- keymap.library.kmod
- newlib.library.kmod
- nonvolatile.library.kmod
- nvram.resource.kmod
- PCIGraphics.card
- ram-handler.kmod
- ramdrive.device.kmod
- ramlib.kmod
- rtg.library
- shell.kmod
- strap.kmod
- timer.device.kmod
- petunia.library.kmod
Filesystem support
- CDFileSystem
- SmartFilesystem
- JXFileSystem
- FastFileSystem
- bootkeyboard.usbfd
- bootmouse.usbfd
- fpga.resource.kmod
Hardware drivers (disks, graphic cards...)
- 3dfxVoodoo.chip
- 3DLabsPermedia2.chip
- ATIRadeon.chip
- RadeonHD.chip
- it8212ide.device.kmod
- lsi53c8xx.device.kmod
- sam460sata.device.kmod
- sii3112ide.device.kmod
- sii3512ide.device.kmod
- sii3114ide.device.kmod
- sii0680ide.device.kmod
- sii3132ide.device.kmod
- siliconmotion502.chip
- hub.usbfd
- usbsys.device
- usbresource.library
- ehci.usbhcd
- ohci.usbhcd
- uhci.usbhcd
- i2c.resource.kmod
- massstorage.usbfd
System components
Beside the kickstart modules, AmigaOS uses many different components that can be loaded only when used. These files are stored in different directories in the system volume.
AmigaOS boot procedure
Basically a computer with AmigaOS does the following when the power button is pushed:
- the BIOS of the computer initialises the hardware
- the BIOS looks on the harddisk and finds a file called the Second Level Booter (SLB)
- the SLB will then analyses all Amiga partitions and load each system configuration it finds
- the SLB loads the kickstart files of the selected configuration
- the kickstart files are executed, AmigaOS becomes alive
- the file Startup-sequence is executed and with it all commands it contains
- the Workbench is started
At this point the user can use his/her computer.