Copyright (c) Hyperion Entertainment and contributors.

UserDoc:Introduction to AmigaOS

From AmigaOS Documentation Wiki
Revision as of 22:52, 10 August 2012 by Paul Sadlik (talk | contribs)
Jump to navigation Jump to search

Controlling AmigaOS

You can use the AmigaOS system with a mouse and/or a keyboard but also by some other input devices the system can support. Another way to perform actions and get their result is to execute command scripts. They are a list of commands that will be executed. Each command will do an action.

Using the mouse

On AmigaOS, you can use a mouse to act on graphic elements. The left mouse button is used to click on graphic objects, to select them or operate them. The right mouse button is used to display the menus of the current program. The middle mouse button (also called the mouse wheel) is used to scroll the viewable area. To select an icon, you just have to click once on it. To open the associated program, you need to double-click it. This is done doing two clicks one after the other in a short time.

Using the keyboard

Of course the keyboard is used to enter text but it can be used to execute some actions by using shortcuts. There are special keys that allows this. They are called qualifier keys. Here is a list:

  • the Amiga keys
  • the Ctrl keys
  • The Alt keys

Shortcuts are written with the qualifier key and the value key next to it. See below. The most famous shortcuts are the copy, cut and paste operations that you can perform on selected text:

  • copy is done with the Amiga-C shortcut
  • cut is done with Amiga-X
  • paste is done with Amiga-V

The User Interfaces of AmigaOS

AmigaOS provides a number of parallel ways that the user can control and put their Amigas to use. The easiest and most common method is to use the AmigaOS graphic icons, windows and mouse interface - the "Workbench". AmigaOS also provides a more traditional or "old fashioned" method called a command line interface (the "CLI" or "Shell"), where the user can type text commands and interact using a text interface. AmigaOS also provides a unique means of "interprocess communications" where user can have many applications and parts of the OS "talk" to each other.

The Workbench & Intuition

The Workbench is the first thing you see when AmigaOS is fully started. As with all modern operating systems, AmigaOS provides a straightforward and easy graphical means to start applications, manage your computer and all your files. Files and programs are represented with icons, generally known as "Projects" and "Tools". They can be stored in any arrangement of directories ("Drawers"). You double-click on a program icon and it will open in a Intuition GUI window on your Workbench screen.

In the following pages we will discuss the these concepts:

  • What is the Workbench
  • Workbench menus
  • Keyboard control
  • Workbench requesters
  • Configuration
  • Workbench help

Please see the section about the AmigaOS Workbench to learn more about it.

The Shell & DOS Commands

The AmigaOS Shell can be opened by double-clicking the "Shell" icon in the AmigaOS "System" drawer. The Shell is a text based interface that allows you to perform most of the same operations as the Workbench - to run and interact with application programs, manage files and control your Amiga computer. AmigaOS also comes with dozens of standard "DOS commands" (programs purely meant for Shell usage). Simply enter the name of a program or command (like "dir") and press Enter, the command or program will run and it will print its results in the Shell window. While considered old fashioned, many users find the Shell to still be the most efficient way to perform many tasks on the Amigas.

Please see the section on the AmigaOS Shell to learn more.

Scripts & Messages

Scripts are simple text files that contain a list of commands written in a vareity of languages: the AmigaDOS, Arexx and Python languages are provided with AmigaOS - there are many others. Each of these language has its strengths. You'll have to learn the one that suits what you want to do. You can create a script using a text editor. Then you will be able to run such script from the Workbench or from the shell (or from any other script). By using ARexx ports provided in parts of AmigaOS (the Workbench or Multiview, for example) and third-party applications, scripts can be used make your computer performa wide vareity of actions.

The AmigaOS GUI - Intuition

When AmigaOS is started, you see several graphical elements. Let's see what they are and how they are called in AmigaOS.

Icons

Icons are a small image which represents a disk, a directory or a file. The user can select these icons, open them with the mouse or delete them or move them around in the system.

Windows

Windows are graphic areas which can contain different elements. There are drawer windows where you can see icons or other drawers. There are shell windows you can use to type commands. There are also program windows that contain the graphic objects which represent a program.

Screens

Screens are areas that contain windows. The one you see first is the Workbench screen which show you the Workbench. Some programs can open either windows on the Workbench screen or its own screen. On AmigaOS you can move screens around and see other screens without the need to select them or to switch completely to them.

Menus

Menus are lists of items that will allow you to control a specific program. The Workbench uses a menu you can use to perform actions on the Workbench. In AmigaOS menus are always displayed at the top of the current screen. This way you always know where to find them.

Graphic gadgets

Buttons

Buttons are elements you can click to perform actions.

Text fields

Text fields are graphic areas where you can enter some text, either alphabetic or numeric.

Sliders

Cycle gadgets

Cycle gadgets allow you to select one value between several.

Checkmark gadgets

You can click on checkmark gadgets to enable/disable an option. A visual checkmark image is shown when this option is enabled.

Tabs

Tabs are used in programs to organise graphic elements in independant pages.

AmigaDOS: the underlying system

Many beginners are rather confused by the differences between the terms "AmigaDOS" and "Shell". Some people think they just use the Shell or they are just using AmigaDOS commands in a shell window.

DOS was originally an acronym for "Disk Operating System". Some say it should be "Disk Based Operating System" as it does a lot more than operate a disk and that it was really an operating system based (stored) on disks. Some say it should be "Device Operating System". The "Shell" is really a text-based window into AmigaDOS and the commands that run there.

The whole AmigaDOS system includes things such as:

  • A set of commands that can be used in the Shell window and elsewhere.
  • A system for saving data to disk and retrieving it from disk.
  • A system for filing data on disks.
  • An interface for peripherals such as keyboards, monitors, printers, etc.
  • A method of running programs
  • A multitasking system for running more than one program at a time.
  • etc. etc. etc.

Read the AmigaDOS manual to understand and learn everything about AmigaDOS.

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.

AmigaOS can run two different kinds of executable files: the AmigaOS native programs made for the PowerPC processor and programs created for the Motorola 68k processors. The laters are executed inside an emulation that transcripts them into PowerPC code.

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. They can be internal hard disks, external ones or a USB disk drive.

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.

Basic 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 - this module handles reading/writing the battery backed up clock which is used on all computers to keep the date and time
  • bootimage - this is the boot picture. It is displayed during the start sequence of AmigaOS
  • bootmenu.kmod - this component handles the Early Startup Menu the use can use to define some settings before starting AmigaOS
  • con-handler.kmod - it directs the read and write requests to the console window, to a serial AUX: device or any other supported interface
  • console.device.kmod - it opens a window and reads/writes text to and from that window
  • diskboot.kmod - handles the booting of AmigaOS from a supported disk
  • diskboot.config - this is a text file experienced users can modify to change the boot behaviour of AmigaOS
  • dos.library.kmod - this module is a collection of functions that any program can use to perform actions on disks, files and directories
  • elf.library.kmod - handles the loading of executable programs
  • env-handler.kmod - handles the read/writes of environment variables
  • FileSystem.resource.kmod - handles the use of the different filesystems
  • gadtools.library.kmod - collection of functions used to create all graphic objects like gadgets, sliders, menus...
  • gameport.device.kmod - handles the read/writes of game pads and joysticks
  • graphics.library.kmod - collection of functions used to draw graphic elements on the monitor
  • hunk.library.kmod - set of functions to read a data stream into memory
  • input.device.kmod - handles of input events like keyboard events or mouse clicks
  • intuition.library.kmod - collection of functions to create and handle all graphic elements (screens, windows, the mouse pointer...)
  • layers.library.kmod - set of functions to be used to handle different layers in graphic operations
  • keyboard.device.kmod - driver for the keyboard
  • keymap.library.kmod - functions to handle different keymaps
  • newlib.library.kmod - collection of functions to perform memory operations (allocating memory, copying memory areas... )
  • nonvolatile.library.kmod - provides a simple means for an application developer to manage nonvolatile storage
  • nvram.resource.kmod - handles the read/writes to the EEPROM chip present on many AmigaOS computers
  • PCIGraphics.card - driver that supports the use of different graphic cards
  • ram-handler.kmod - functions that handles the Ram disk: special disk
  • ramdrive.device.kmod - device that allows the usage of the ramdrive device RAD: disk
  • ramlib.kmod - loads disk based libraries and devices for exec.library
  • rtg.library - library of functions perform lowlevel graphic operations on graphic cards
  • shell.kmod - the AmigaOS command line interface
  • strap.kmod - module that handles booting on different disk devices
  • timer.device.kmod - driver to give access to timing functions

Filesystem support

These kickstart modules can be loaded or left aside. If you want to use a particular filesystem on your disk partitions, you need to load the corresponding filesystem module.

  • CDFileSystem - handles the CD-ROM disks with data stored in different formats: ISO9660, HFS...
  • SmartFilesystem - allows to store data on partitions in SFS0 and SFS2
  • JXFileSystem - allows to create partitions in JXFS
  • FastFileSystem - allows the usage of partitions in FFS and FFS2 layouts
  • diskcache.library.kmod - component required by the SmartFileSystem and JXFileSystem modules

Hardware drivers

Graphic cards drivers
  • 3dfxVoodoo.chip
  • 3DLabsPermedia2.chip
  • ATIRadeon.chip
  • RadeonHD.chip
  • siliconmotion502.chip
Disk drivers

Each of these drivers allow the use of disks connected to a disk controller. These files are named with the name of the controller they support. As an example, the sii3114ide.device.kmod allows to use disks connected on a Silicon Image SiI3114 controller 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
USB drivers
  • hub.usbfd
  • usbsys.device
  • usbresource.library
  • ehci.usbhcd
  • ohci.usbhcd
  • uhci.usbhcd
  • massstorage.usbfd
Other drivers
  • bootkeyboard.usbfd - allows a USB keyboard to be used even before the USB stack is loaded
  • bootmouse.usbfd - allows a USB mouse to be used even before the USB stack is loaded
  • fpga.resource.kmod - allows to use the FPGA components which are present on some Amiga computers
  • i2c.resource.kmod - allows to use the i2c interface present on some Amiga computers
  • xena.resource.kmod - provides access to the Xena chip on the AmigaOne X1000

Misc modules

  • petunia.library.kmod - this module contains the Just-In-Time emulator that allows AmigaOS to run programs made for the Motorola 68k processor

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. Here is described a default AmigaOS installation.

  • C

This directory contains AmigaDOS Commands

  • Classes

contains different object elements easy to be used in any program: gadgets, requesters, graphic table, windows...

  • Devs

contains definition for Devices

  • Emulation

contains files used for the 68k emulation (though E-UAE)

  • Fonts

contains various systems fonts

  • Internet

contains a dialer to connect to Internet

  • Kickstart

contains the kickstart modules

  • L

contains handlers and filesystems

  • Libs

contains dynamic Librairies of functions

  • Locale

contains all files used to localise the system (catalogs, keymaps...)

  • MUI

contains the needed files for programs that use the MUI third party graphic interface

  • Prefs

contains the preference programs used to customise AmigaOS

  • S

contains the Scripts

  • SObjs

contains .so shared object library files

  • Storage

contains other optional files

  • System

contains some programs used by the system itself (i.e. you don't need to run them yourself) or low-level programs like disk tools

  • Utilities

contains several utilities

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 read each system configuration it finds. It shows all available configurations to the user.
  • 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.

AmigaOS System Tools

AmigaOS comes with a variety of programs to help in the preparation of your computer. These include tools for:

  • Drive preparation (Media Toolbox, Format, Format DCRW & Mounter).
  • Font Handling (TypeManager & FixFonts).
  • Script Languages (RexxMast and Python).
  • The Shell.
  • Miscellaneous Utilities (Find, Help, Grim Reaper & Ringhio Server).

AmigaOS Utilities

AmigaOS comes with a selection of utilities to assist the user, including:

  • Commodities.
  • Editors (Notepad, MEmacs, PrefsObjectEditor & IconEdit).
  • Postscript oriented apps (AmiPDF, AmiGS & Ghostscript).
  • Disk apps (PartitionWizard & RawDisk).
  • Screenblankers.
  • AmiDock and Dockies.
  • The Unarc dearchiver.
  • PlayCD.
  • Miscellaneous apps (Clock, printing apps, KeyShow, install apps, etc.).