|
Amiga Logo - |
|
Friday April 4, 2003 News Events Forums Dealers About
-
- - -
  Club Amiga Monthly - Issue #3 Page 4 of 11

Club Amiga Monthly Index | Prev 1 2 3 4 5 6 7 8 9 10 11 Next

AmigaOS - Moving from the Past to the Future

With AmigaOS4.0 on the horizon, many people have been asking what the future holds for the AmigaOS. To understand the future we have mapped out, one also needs to spend a bit of time looking at the past.

The situation we inherited is of a hardware base of 68K machines, some of which have been extended via third party cards to support PPC processors, and graphic and audio chips. We even have some PCI expansion boards.

On the software side, we have AmigaOS3.9 as the latest release, and the additional hardware mentioned is supported by various third party solutions. This is to say nothing of the many third party patches, add-ons and enhancements that have been created and which pepper every user's installation to a level that would scare even a kit car enthusiast.

In short, we have a mess.

In considering the future that sees AmigaOS4.0 as the first rung on a long ladder back to the stars, we had to look at the following requirements for a future proof solution.

1. Compatibility with as much existing software as possible.
2. Move from a 68k processor and proprietary hardware to a new, open platform.

3. Abstract completely from the hardware domain.

4. Provide a powerful foundation for the future.

5. Prevent 1 and 2 from having a negative effect on 4.

6. Advance the functionality of the AmigaOS.

These six requirements taken separately represent complex problems but taken together, they present an immense engineering project. Most difficult of all has been how to achieve both points 1 and 6 in the same project. Backwards compatibility demands keeping a majority of the existing AmigaOS whilst advancing the product requires looking at new ideas, concepts and architectures. This led us to make a new distinction in the history of the AmigaOS.

Amiga Generation 1 (AG1) refers to all AmigaOS technology that is OS3 or lower, architecture built around a single address space trusted task model and firmly anchored to proprietary hardware architecture.

Amiga Generation 2 (AG2) refers to brand new, designed from scratch set of services that will be responsible for implementing point 6.

I will talk more about these, and particularly about AG2 later in the article, but for now, if I use them then at least you'll know what they mean.


Given the headaches and potential for disaster, it was decided that we would approach the project in stages, building from the bottom upwards and the top downwards at the same time to eventually meet in the middle.

Stage 1 - AmigaOS4.0

AmigaOS4.0 brings the AmigaOS to a new piece of hardware, the open platform AmigaOne. A customer would expect to be able to run the majority of their old AG1 software on it whilst having a faster and more stable experience. In addition, they would expect to see a more complete product that doesn't require a shed full of third party enhancements. Finally they would want to be able to take advantage of the new hardware standards open to them - integrated Ethernet, USB, PCI and AGP - finally being able to buy for their platform in standard computer retail outlets.

1.1 - Low Level Foundation

The first crucial stage has been to create the beginnings of a low-level hardware abstraction layer that frees the AmigaOS from any hardware dependencies inherited from AG1 whilst allowing AG1 applications to run. This has been done by the development of ExecSG and its new component influenced library model. It implements what is called a mixed binary modality, meaning that it can seamlessly marshal both PPC and 68K binaries and allow them to call between each other.

1.2 - Workbench and all that Jazz

Theoretically the low level foundation is all that is needed in order to get AG1 running on AmigaOS4.0 and that has been part of the test cycle. However, many of AG1 models were written in handcrafted 68k assembly code and are speed crucial to the operation of the operating system and so a second task has been to remove old BCPL code and to convert 68k code in C, a far more portable solution which can then be compiled directly into PPC binary form. Eventually the entire AmigaOS will be PPC native but concentrating on the most speed crucial pieces first maximizes development resources whilst minimizing time to market.

1.3 - New Features

Whilst having AmigaOS3 on new hardware would provide a much faster and more stable product, it is hardly going to set the world alight. A lot of effort has been spent both in removing the need for third party enhancements by expanding the functionality of the OS and in adding new functionality - an integrated TCP/IP stack, a media toolbox, a system wide service that registers and monitors running applications, and many graphical enhancements to Intuition and Workbench, for example.

1.4 - So what will it feel like?

AmigaOS4.0 will feel like an Amiga, but an Amiga on fire. It will look like an Amiga, but an Amiga that has moved from kindergarten finger painting to art college. It will be the best Amiga ever BUT it won't represent the giant leap forwards everyone has been calling for. This is because this is just the first step, and the most important part of that first step has been ensuring backwards compatibility whilst removing dependency on both an old processor and an old multimedia chipset. With that sorted out in a stable and efficient manner, we now have the foundation for the future.

Stage 2 - Amiga Generation 2 (AG2)

The first Amiga was launched in 1984, almost two decades ago. Since that time computing architecture and design has changed but the AmigaOS, thanks to business difficulties has been unable to advance, both in keeping up with and in setting the agenda.

This is not to say that change is always a good thing. The simplicity and efficiency of the original AmigaOS design is something that even the latest offerings from our competitors can only dream of attaining. What is clear though is that with the AG1 transition complete, it is time to undertake a complete review of the AmigaOS.

AG2 combines a review of the AmigaOS in general with a review of each individual component. This dual approach is very important to ensure that we develop a full rounded, and more importantly, an honest picture of the AmigaOS. The purpose of this review is to decide how we move our platform forwards in the coming months and years.

The review process consists of the following:

1. An assessment of the positive and negative of the AG1 element
2. A redefinition of that element
3. An identification of the various 'customers' for that redefined element
4. An investigation into what our potential competitors are doing
5. An investigation into current research and other blue sky thinking around that element
6. An identification of current trend in areas of usage that touch that element

As can be seen, this review process is intended to be detailed and comprehensive, utilizing a multi dimensional focus in other words looking at the domain from many different directions. This is important because many technologists only look at a domain from their own viewpoint and this end up producing a solution that is tailored to a minority of potential customers. We intend to look at each domain from the point of view of the designer, the developer, the user, the hardware engineer and any other identifiable customer. Only by doing this can we have a hope of providing a successful solution.

Given the large number of domains that need to be reviewed, the length of the reviews and then the work required, it will be sometime before AG2 technology can be experienced in full by the user but they will start to feel the effects of it fairly quickly.

As an example, consider the graphics service. With AG1 we have an essentially planar based graphics model wrapped into graphics.library which was tied to the custom chipsets but is now presented as a heavily patched solution sitting on top of the picasso96 third party RTG system. Sitting on top of this is Intuition and on top of this Workbench. Sitting to the side of graphics.library are the printing, video and 3D solutions. All of these are heavily dependent on their supporting layers, which ultimately leads back to graphics.library.

The AG2 review of the graphics service removes that approach. It introduces a customer and supplier model of analysis. Who will be the customers of the graphics service? What services will those customers require? Who will supply services to the graphics service? What services does the graphics service require in order to service its customers?

Suppliers to the graphics service will be the hardware abstraction layer, encapsulating the graphics hardware but there will also be other inputs into it - scanners, digital cameras, video cameras, and video feed in general - static and streaming graphics inputs.

Customers of the graphics service are in abundance. User environments, 2D, 3D and video applications, font users, printers, monitors, developers who need a flexible and powerful set of tools, professional DTP, graphics artists and video editors.

This review feeds back into the general review of the AmigaOS. How can this customer and supplier analysis lead to an entity model that leads to a flexible yet integrated operating system architecture that both provides what is needed now and yet which can grow with the future? What about AG1 backwards compatibility?

To extend the graphics service example, consider this development path. Once designed, the AG2 graphics service will be implemented from the bottom upwards. However, it will be implemented as an independent service that will sit next to graphics.library. In essence there will be two graphics services, one AG1 and one AG2. Initially the AG2 graphics service will be an exclusive mode that takes over the entire graphics hardware, suspending the AG1 graphics.library. Applications will have to specifically call the new graphics service to make use of its capabilities and there will be no mixing. It will either be the AG1 graphics.library or the AG2 graphics service.

From a user point of view this won't be that obvious because it will be wrapped into a screen switching operation. Where it will be obvious is that there will be no intuition support in the AG2 world. This means that AG2 using applications at this stage will most likely be games or those, which implement their own interfaces on full screen.

The next stage will be to create a proxy service solution. In this all AG1 graphics.library public API calls will be translated into AG2 graphics service calls. Again, this will be transparent to the user and they won't notice much of a difference from the first stage. This is because Workbench, Intuition, layers and all AG1 using apps will still be doing what they currently do. They only difference is that they will be using the AG2 graphics service instead of the AG1 graphics library. At this point, we may extend Intuition to be able to make use of the new features of the AG2 graphics service but it would only be a temporary measure.

The key achievement of this stage will be that we can finally remove graphics.library without affecting backwards compatibility, and for the first time ever, the AmigaOS will be running exclusively on its brand new AG2 graphics service.

With this, the AG2 graphics service will be complete. What will then happen (or more likely already be happening in parallel) is that other AG2 domain projects, for example the user environment domain, the printing domain, all of which had input into the AG2 graphics service project and all of which are customers of the new service will then begin their new implementation but directly on top of the AG2 graphics service.

For example, the AG2 user environment review will at the very least see Intuition re-implemented if not completely replaced, most likely with a descriptive producer model to allow for completely redefinable user environments.

What the last page or so should have shown was that the AmigaOS will move forwards and, unlike almost all other OS development, it will do so without being hamstrung by having to sacrifice the future for the past. Review of each domain is followed by independent but parallel implementation, which is then followed by replacement of the old by the new.

This should also answer all the questions about will AmigaOS4.0 introduce better printing, support for scanners and cameras etc. Since all are graphical, there is little point in spending considerable time on these services since they are customers of the graphics service itself and until it has been implemented, any effort spent would merely be relying on an old and soon to be replaced element. What is important is that those customers will have full input into the design of that which will supply them when they are finally implemented.

In summing up, the transition from old to new hardware and the creation of a foundation for AG2 has been our preoccupation for over 2 years now but with its approaching release, the future of the AmigaOS, of Amiga Generation 2 is being laid and users will get to experience this development first hand as more and more pieces of AG2 are released and then brought together to complete the picture, providing a platform for the future.


Fleecy Moss
CTO
Amig
a Inc


Club Amiga Monthly Index | Prev 1 2 3 4 5 6 7 8 9 10 11 Next

© 2002-2003 Amiga, Inc. | webmaster@os.amiga.com

Valid HTML 4.01!