Each AmigaOS release is divided into:
a ROM-based part — called Kickstart — and
a disk-based part — originally provided on two floppies labeled as Workbench and Extras, but in later versions, expanding in scope and spanning over more floppies.
The ROM-based part consists of:
- hardware initialization routines
- system diagnostic checks
- bootloader code
- a multitasking kernel (called Exec, from System Executive, and controlled via
exec.library
)
- a bitmap font engine and the default system font (Topaz)
- device drivers for accessing block devices
- filesystem driver
- a library providing functions for drawing 2D graphics (
graphics.library
)
- a GUI toolkit called Intuition (
intuition.library
)
- a text-based console window (terminal emulator)
- a command-line shell running in the above
- a mouse-driven, GUI file namanger and desktop environment called Workbench
- ROMWack; the system machine language monitor / debugger
- other bits and pieces
The disk-based part contains:
- most of the command-line commands (so-called AmigaDOS commands)
- more system libraries
- more fonts
- more device drivers
- various system tools and utilities
The files on the Workbench and Extras floppies allow formatting and preparing customized, bootable floppies for floppy disk drive-based use of the system (which is what many Amiga owners settled for due to HDDs being expensive), or bootable HDD partitions (if an HDD was available).
Since all the most important “core” parts of the OS come in the Kickstart ROM and are available almost immediately upon power-on, you can boot up to some kind of a working system relatively quickly.
You still need to boot from a block device such as a floppy or an HDD, though: upon-power on, the bootloader code in Kickstart waits for a bootable block device to appear, and wants to boot from one, before it lets you actually interact with any of the system.
A mere bootblock on an otherwise empty, formatted floppy disk is enough to drop you into a basic AmigaDOS shell (a command-line environment contained within a console window) although you also need to have some disk-based commands available for this to be useful.
In order to launch Workbench — the windows and icons-based desktop environment / file manager — you needs the disk-based LoadWB
command which calls the necessary library functions from the Kickstart ROM to launch this environment.
The GUI toolkit itself (Intuition) is available regardless of whether you launch Workdbench or not, and e.g. runs the shell windows.
AmigaOS programs always operate in a bitmapped graphics mode. The system software (or indeed, the video hardware) does not know or recognize the concept of a separate “text mode”. That said, you can of course simulate a “text mode” by crafting a program or a shell setup that opens up in a full screen mode, with no window borders, and uses a monospaced font.
So what does this mean from the perspective of OS updates?
It means you’d buy an OS update and receive a new Kickstart ROM chip, to replace the original, socketed chip on your motherboard (no need to solder anything). You would also receiva a new set of floppy disks, with new versions of the system files and utilities on them — relying on the new Kickstart ROM.
New OS releases were a major event. There was no culture of constant patches and updates — and also no common delivery channel for such updates. This was how it was with all microcomputer operating systems in the pre-commonly-available-Internet times. You used a single release version (usually the one that came with the machine when you bought it) for a long time. It could take several years for the next OS release to appear — and even then, you might not have felt a particularly strong need to update if everything was working fine with your current setup.
The A1000 (which, in its original configuration, always required loading the Kickstart from a floppy after a cold reboot) and the early A3000 units (which had a similar but more advanced bootloader which supported not only floppies also allowed loading the Kickstart code from the HDD into protected memory and choosing between two versions of Kickstarts at boot) were exceptions.
The other Amiga models came with a ROM-based (but socketed and therefore upgradeable) Kickstart.
The Amiga models which originally loaded their Kickstart from a block device could be upgraded or modified to use a ROM-based Kickstart, instead. Modifying the A3000 to use a ROM-based Kickstart would have released the user 512 kilobytes of RAM for other purposes (running applications).
On the other hand, the Amiga models which had a ROM-based Kickstart to begin with could be set up to boot into a minimal OS installation at cold start with the ROM-based Kickstart, and then launch another Kickstart from a file, rebooting the machine into this later OS release. This was popular, too, but required 512 kilobytes of RAM to be sacrificed for RAM-based copy of the Kickstart code and was never officially supported by Commodore.
For a mere gamer, especaily one using a floppy-based system with no HDD (HDDs and HDD controllers were expensive), the AmigaOS version did not usually matter much since they would only boot games on their system and games would generally come on bootable floppies and work even with the older Kickstart ROMs.
The AmigaOS version mattered more for a hobbyist-tinkerer or a user of productivity software, especially one with an HDD, since the later releases of AmigaOS supported HDD usage better and later versions of productivity software also generally required a later version of the AmigaOS.
Last but not least,
You could theoretically update the disk-based system commands and tools to later versions without updating the Kickstart ROM so long as the updated commands used ROM-based system libraries in a way that remained compatible with the the esisting Kickstart ROM (I think Workbench and Extras disks from AmigaOS 1.3 were usable on a machine with the Kickstart 1.2 ROM, at least?)
You could install alternative, enhanced replacements of many system tools and utilities made by 3rd parties (case in point: ARP, or the AmigaDOS Resouce Project, which provided enhanced replacements for many standard AmigaOS 1.3 system commands), usually distributed via the file areas of dial-up Bulletin Board Systems and via the FTP servers found on the (then-academic and not generally publicly-accessible) Internet.
Commodore themselves did provide a SetPatch
command which could patch any bugs found in particular Kickstart ROM release by redirecting those system library calls to RAM-based, fixed implementation. So even though the Kickstart code was technically ROM-based, it could still be patched and modified when needed. (There were also 3rd party patches or enhancements using a similar technique.)