Welcome, Guest. Please login or register.

Author Topic: Classic AmigaOS On Modern Hardware - A Critical Analysis  (Read 14376 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline matthey

  • Hero Member
  • *****
  • Join Date: Aug 2007
  • Posts: 1294
    • Show all replies
AmigaOS trades features and security for speed, responsiveness, and compactness. Some of the features and security can be added in a modular way but the AmigaOS will likely never be a high security OS. High security multi-user support may be necessary for some applications but can be a hassle for the majority of users that don't need it.

Quote from: OlafS3;767611
Surpassing it in speed on ECS/AGA? I do not believe that this will ever happen. AmigaOS was highly optimized for this hardware, beating it there is almost impossible. What is more realistic is beating AmigaOS by adapting it to new FPGA hardware with special abilities.


I believe the exec.library, ffs and ram handler were written mostly in 68k assembler. They are often optimized for 68000-68030 performance though. There is room for performance increases on modern 68k processors although not much to be gained for code size. Note that ffs was blown away by better algorithms with pfs so maybe there is room for improvement even for these assembler parts. The higher level AmigaOS modules written in C have more potential for improvement. Some are compiled for the 68000 (SAS/C mostly). I have disassembled enough of them to tell you that it would be rare that I couldn't save 20% of the code while still optimizing for speed. Look no further than PeterK's icon.library for example. He has added support for many more icon types, gained much in speed optimized for speed while putting the icon.library on a major diet. ISA changes to an enhanced 68k processor could allow for another 5%-15% of AmigaOS size reduction. The AmigaOS doesn't have the bloat that many other operating systems do but there is still significant room for improvements in speed and code size. Much of it's speed and responsiveness is because of it's simplicity.
 

Offline matthey

  • Hero Member
  • *****
  • Join Date: Aug 2007
  • Posts: 1294
    • Show all replies
Re: Classic AmigaOS On Modern Hardware - A Critical Analysis
« Reply #1 on: June 26, 2014, 08:49:10 PM »
Quote from: TeamBlackFox;767637
I'll give you that compactness can be nice.

AmigaOS is my favorite graphical OS. If it had a more UNIX-like commandline and had some of the features I mentioned it missing it'd be pretty much the perfect OS.


The Unix like command line is just a few aliases away. I have added these aliases to my S:Shell-Startup:

Alias cp copy
Alias free avail
Alias kill break
Alias ls "list sort N"
Alias mkdir makedir
Alias ps status
Alias rn "run >NIL:
Ok, it's not quite Linux (or DOS) but something like this can make life easier for someone who constantly changes between shells on different platforms. Linux has more advanced options like pipes that are more powerful than the Amiga PIPE: device but the Amiga supports 3rd party shells also. The AmigaOS shell is easier to use, IMO, than any other CLI/shell that I have come across but it's not the most powerful.

Quote from: TeamBlackFox;767637

Since it won't likely get those for a long time, my bet is thrown in the hat with DragonFly BSD. What Matt Dillon promises is what people want of AmigaOS with the UNIX philosophy behind it. ( Once Wayland becomes BSD friendly we'll be able to ditch horrible X11 )


I have followed Matt Dillon's work and DragonFly looks promising (big brother OS to AmigaOS by a former Amigan). I wish DragonFly was more popular. If it was as popular as Free BSD, I would install it on my x86 box instead of Mint. I'm worried about lack of support though.
 

Offline matthey

  • Hero Member
  • *****
  • Join Date: Aug 2007
  • Posts: 1294
    • Show all replies
Re: Classic AmigaOS On Modern Hardware - A Critical Analysis
« Reply #2 on: June 26, 2014, 09:38:35 PM »
Quote from: TeamBlackFox;767645

Indeed. What hardware do you run? I'd be happy to tell you if its supported. Also HAMMERFS on either MorphOS or AmigaOS 4 would be awesome - it would bring ZFS like behaviours to Amigans. Imagine: snapshots, logical volumes, software RAID - the possibilities!


I don't currently have a Linux/BSD box setup but I have a spare Pentium 4 (with hyper- threading and 2GB of memory) box with Intel chipset and a new half Terrabyte SATA HD. It's nothing special but I figured I could try out Linux/BSD/AROS/Haiku etc. on it if I could find the time. I currently have my Pentium M Windows XP laptop networked to my Amiga using SMBFS. It gives me AmiDevCpp compiling, UAE, modern web browsing and a general file server. It's efficient and sufficient for my needs but it wouldn't hurt to have a backup computer. I have some Linux experience but I would like to avoid some of the time consuming Linux tediousness like hardcore shell usage, endless settings configurations and the need to compile everything. I would rather stay away from needless eye candy bloat and degenerative GUIs that require many clicks, have hidden gadgets, and no uniformity like Windows 8 and Ubuntu. I was leaning toward Mint but also considered Free BSD. I couldn't even find reviews for DragonFly. I want a no hassle OS that is as easy and fast to use as the AmigaOS but with more modern software (especially a browser). That's all :). Suggestions?
 

Offline matthey

  • Hero Member
  • *****
  • Join Date: Aug 2007
  • Posts: 1294
    • Show all replies
Re: Classic AmigaOS On Modern Hardware - A Critical Analysis
« Reply #3 on: June 26, 2014, 10:43:53 PM »
@TeamBlackFox
Thanks for the suggestions. That gives me some more to investigate. I could upgrade to a cheap duo-core x86_64 box which would pay for itself in electrical costs if I used the system for more than backup purposes but then I would lose my room heater in the winter ;).

I really like the compactness of the AmigaOS, also, and much of that comes from the 68k. I can debug and disassemble code while being able to read it which is a huge advantage. Optimizing is easier on code that is more human readable also (compilers are not doing their job). No other processor offers these advantages to the extent of the 68k. I am helping with the enhanced 68k Apollo/Phoenix project which is bringing out a new affordable accelerator. I would like to make compiler support easier through 68k ISA enhancements. I am also helping with the vbcc compiler (which also has Amiga roots). Hopefully, we will be able to bring back and enhance the AmigaOS on an enhanced 68k processor and bring more modern software to the Amiga. I actually prefer to stay 32 bit and shrink where most other processors have chosen to go bigger requiring more caches and longer pipelines. I do like a simplified MMU for partial memory protection, cache settings and debugging. Some form of memory expansion and partial program isolation (non-shared parts) may be possible through an extension of the 68k SFC/DFC registers without the overhead of supporting virtual addressing (and without the overhead of 64 bits). Most OS development has been too much of follow the leader and feature focus. Much of the OS innovation (and software innovation) has moved to Android, iOS and BlackBerryOS/QNX (playing catchup but QNX is solid) where some features are no longer expected. Unfortunately, ARM doesn't provide a consistent ISA and the hardware for smart phones and pads can vary considerably.
 

Offline matthey

  • Hero Member
  • *****
  • Join Date: Aug 2007
  • Posts: 1294
    • Show all replies
Re: Classic AmigaOS On Modern Hardware - A Critical Analysis
« Reply #4 on: June 27, 2014, 12:34:21 AM »
Quote from: TeamBlackFox;767652
I guess good luck with that. I'm probably NOT going to code for AmigaOS for a few reasons:

No compiler I particularly like for C, and I must use a compiler available for FreeBSD since thats my development system for platforms.


We would like to support vbcc, GNU/GCC and CLANG/LLVM. This requires some support back from the maintainers of the compilers. So far, we have received the most support from vbcc. Vbcc is also the smallest, most modular and has the least number of dependencies. We would like to support them all but we will have to focus efforts also. We will also have to become more popular before we gain more respect. Some are biased against fpga processor support. There has been some effort that has gone into Amiga/AROS or 68k support for all the compilers listed above.

Quote from: TeamBlackFox;767652

No POSIX compliance


Different levels of POSIX compliance are available through ixemul (GCC targeted), libnix (GCC targeted) and Frank Wille's Posix lib (vbcc targeted). Ixemul basically provides an emulated BSD environment on the Amiga. It makes porting BSD programs very easy but it's not always Amiga friendly and it's big. Libnix and the Posix lib are lighter weight and Amiga friendly but they are not as complete or BSD/Linux compatible. The source code is available so they can be extended as needed.

Quote from: TeamBlackFox;767652

No OpenGL


The most modern OpenGL/Mesa and 3D support is on AROS but it requires big resources too. It supports hardware rendering through Gallium but there is limited gfx card drivers. There is an old version of Mesa called StormMesa which works well enough with 3D hardware (Warp3D) or software rendering on AmigaOS. Wazp3D can be used for OpenGL/Mesa software rendering in many cases and works on many platforms. UAE can use the underlying OS 3D hardware support. The Amiga needs more work in the area of 3D though.

Quote from: TeamBlackFox;767652

I'll use it though, definitely as a user. If I were to add the things I want, I'd probably end up with DragonFlyBSD. So instead I stick to FreeBSD and track DFBSD development.


For all the bells and whistles on a workstation/server, DragonFly sounds like it would be super. A modern AmigaOS has possibilities as an efficient personal netbook/notebook/gadget OS. They are very different goals. What we need are options and choices rather than trying to make one OS and processor for everything. All that got us was a security and virus nightmare.
 

Offline matthey

  • Hero Member
  • *****
  • Join Date: Aug 2007
  • Posts: 1294
    • Show all replies
Re: Classic AmigaOS On Modern Hardware - A Critical Analysis
« Reply #5 on: June 27, 2014, 05:10:39 AM »
Quote from: NovaCoder;767659
Of course an OS designed in 85 cannot offer the same features as a modern OS, that would be crazy ;)

It was obviously very advanced when it was first released in 85 but in subsequent years Commodore didn't really do much with it apart from minor enhancements (same as what they did with the hardware!). Some serious effort was put into 3.9 (maybe 3.5 as well?) but that was still based on the original 85 code base.


C= did more to upgrade the AmigaOS than the hardware. AmigaOS 2.x was a major improvement but had it's share of flaws. AmigaOS 3.1 was the best upgrade all the way around. It added a lot of new support as well as key bug fixes. This was the first time that the AmigaOS felt professional. AmigaOS 3.5 and 3.9 were mostly bug fixes and 3rd party add-ons. It was hit and miss as far as improvements. Overall it's good but should have been better.

Quote from: NovaCoder;767659

Personally I like using Amiga OS 3.9 because of the simplicity and 'retro feel' but it does feel very week in some areas (like file management for example).    With a few minor updates it could be improved to make it even more usable (integrated file management, memory protection etc).


Workbench was improved but it could be better. It handles gfx boards and large hard drives better at least. A good file manager is still useful. PeterK's icon.library makes icons fast enough to be tolerable.

Quote from: NovaCoder;767659

I wouldn't actually want to run AmigaOS 3.x or even 4.x on my PC, maybe I'm in the minority here but I'm quite happy with running Windows on my PC and using my retro hardware for my retro OS fix.   Windows 7 isn't perfect but it's good enough to open my browser and run my Compiler, I don't really need much more from an OS these days.


I'm with you. It would seem like heresy. Using UAE on Windows is bad enough ;).