When new operating systems gets designed today, great systems such as Amiga, Atari and VMS, seems to get overlooked in regard to their original features not found on other OSes. It might be time to collect and categorize those special unique features under the great/lost ideas wiki, so new OSes don’t have to re-invent the wheel and re-innovate.
Can anyone explain the feature “placeholder” that Linux seems to have developed, and why it is important?
When any operating system is going be created, it has to have some features and thus, some feature will have to be re-written, unless theres features that are similar or the same in open source apps, so im not quite sure what you ment by “so new OSes dont have to re-invent the whell and re-innovate”
If an OS wants a gui, you’r going to have to re-invent! The same goes for file systems etc… You may not have to put a lot of thought into it, but its going to have to be done i fyou want a functional OS.
Also i think the Amiga Screens thingo was pretty nifty. Dont know too much about it but, but it sounds very nifty having seperate screens (like workspaces) but having all the properties of a screen such as back drop, resolutions and all being able to be changed independantly of each other. very cool!
Also, the copper chip allowed the screens of different resolutions to be able to be pulled down in front of each other so you could have two resolutions displaying on the same monitor… pretty nifty, or cool!
Placeholder probably means no information has been provided yet. The author is waiting for somebody’s opinion about the reusable aspects of Linux.
New operating systems have to reinvent the wheel because the code of most proprietary software was placed in a safe and hidden in a basement somewhere. It will be discovered in a few hundred years and people will wonder what all those strange words mean. It’s the “I’m the only one who must make money with this invention” mentality.
I thing these guys are a bit off course saying that Mac resource forks were a good idea. They had some good features, but ultimately they sucked because noone else used them, thus making Mac files incompatible with other machines. Now the extended Metadata that the Mac OS used was a very good idea – even MS is starting to include some extra metadata into NTFS (If only apps actually used them) but the metadata features of Mac OS should not be confused with the resource fork. Most features of the resource fork can easily be replicated by Apple’s bundle system of XML files and a special hidden directory structure.
My intension with this submission were to inform OS developers of the great usefulness of Path-Shortcuts found on the Amiga.
But Eugenia has sligthly rearranged/corrected my text 😉
http://ros.rubyforge.org/wiki/wiki.pl?WhatsPathShortcuts
—
Simon Strandgaard
What about a save/ restore feature for OSes. Palm, embedeo linux, etc (read PDAs) and virtual pc all have this, why cant my desktop machine have this?
Steve, two points:
1) When you want to develop an OS, you either do it all on your own, or you try to convince lots of over-hyped GPL groupies that there’s something that cannot be done in Linux. Both near to impossible. Or you create a company and pay developers to do the job. A company has to sell something. Now, you can either make your OS Open Source but so hard to understand and handle that you can sell manuals, precompiled distributions and nifty installers – or you make your OS simple to use and *charge* for your product. That’s called “free market”…
2) Most if not all of the stuff in that Wiki is about *design* questions. Design is not done in code, and in plain sight for anyone capable to see even if the code is proprietary. If anything, complain about patents that disallow being inspired by a design…
They listed Gentoo for portage, but ignored the Port Collection for the BSDs!
We have not ignored ports (BTW: I run freebsd5.1 at home). There exists many package systems, we don’t want this to just another listing of OS-features.
You are welcome to submit how you feel the ideal package system should be like? 🙂
—
Simon Strandgaard
Clustering, security model.
app.folders
Screens were a nice concept. But unfortunatly hardware dependant.
Few PC graphic chipsets supports interupt notify when a line has been outputted to the display.
If no notify, then it will require lots of polling.
—
Simon Strandgaard
Screens are useful enough without the dragging feature!
To Solar
>> Screens are useful enough without the dragging feature!
The way the screens in the Amiga were handled was way much better than the concept of virtual desktops.
First it allowed instant redraw of the screen, in fact there wasn’t such thing as redraw, only with a registry change on the video hardware you could see one screen or another, so you never saw windows and its content being redraw on the screen, like what happens with the virtual desktops in X.
The idea of dragging screens was very handy, it allowed you to see what was going on the background almost instantly. You dragged the screen to see if the background process had finished, if not you just pulled back the front screen. It was like dragging or folding a piece of paper to see what was going on the background screens.
As I said the response time was always instantaneous, in fact the whole Amiga GUI/IO input was that way, only when the processor was under extreme high loads you were able to notice some delays. To resume, it was a true user oriented system.
I feel so sad about the Amiga… Most of its features were far much better than Current OSes. Is quite difficult to explain how useful is to have path aliases to someone who never used it before, and is convinced that its loved UNIX clone is way much better than anything else in the world.
If Amiga-like path aliases would be incorporated in Linux, the stupid path problem from one distro to another would be able to be fixed in 5 mins.
For example suppose that one Linux distro (A) has its fonts located on
/usr/shared/fonts
And another Linux distro (B) has the same fonts spread across two different folders
/usr/shared/X11/fonts
/bin/shared/fonts
The problem is that you will need to recompile/package apps differently for Distro A or distro B with path aliases you can do this
On distro (A):
assign Fonts: /usr/shared/fonts
On distro (B):
assign Fonts: /usr/shared/X11/Fonts add /bin/shared/fonts
On both distros Fonts: now points to whatever fonts directories the distros are using, any program which wants to access the fonts doesn’t need to care anymore about where the physical path is, they will only try to read the content of Fonts: so let?s say my program requires to access the file ?verdana.ttf? I will do ?Fonts:verdana.ttf?
The same for libraries, gadgets, etc or anything you would like to imagine But as I said before explaining is not enough until you have seen it on action.
File versioning was the best VMS feature besides clustering. However, I think logicals are pretty cool.
In Unix, environment variables are all process-specific. In VMS, logicals act as environment variables. There are two types of logicals, SYSTEM and PROCESS.
SYSTEM logicals, as the name implies, are visible system-wide so that any process could potentially pick them up (assuming the process has the right privs). PROCESS logicals are similar to Unix environment variables in that they are specific to a particular process.
– For cluster system management, it is possible to change any system logical across your entire cluster without end-users having to do a thing. No re-login necessary. This is extremely useful.
– The file system can handle logicals directly, since logicals are part of the core OS rather than just part of the shell.
– A logical can point to a list of directories or files. This list of files or directories acts as a search path similar to the PATH variable, except much more generic.
IMHO, VMS logicals are environment variables done right.
att Ucedac,
Thanks for the great “fonts:” example, I have copied it.
—
Simon Strandgaard
VMS logicals sound much like AmigaDOS “set” / “setenv” – “set” did set a variable for the shell only, “setenv” sets it globally (by creating a file in ENV:, which happens to be located in RAM). Copying the file from ENV: to ENVARC: made it persistent across reboots (since ENVARC: resides on the system partition, and is copied to ENV: upon reboot).
@ Ucedac:
You’re not alone. AmigaOS had many designs that were so *simple* yet so utterly *effective*. I pretty much adopted the whole Amiga page in that Wiki, and often have to restrain myself from crying “AmigaOS, too” when I read some of the other OS’s pages… that OS was a beauty in its time, too bad that all the foster parents from 1984 onward were either careless, clueless, or both…
MFT (with extended metadata) is older than OS X (dates since NTFS 4).
<quote>
VMS logicals are environment variables done right.
</quote>
Wew.. cool. There has been submitted many really great ideas to the wiki by osnews visitors. 😉
Where can I find out more about the usefulness of Logicals?
BTW: I have added your example to OpenVMS, here
http://ros.rubyforge.org/wiki/wiki.pl?BestFeatures/OpenVMS
—
Simon Strandgaard
You just hit one of the reasons I like MorphOS.
There is an effort to create an Amiga-standard, called OpenAmiga, as well.
And AmigaOS 4, and AROS…
…but the shame remains, Amiga should have been more successful, from a technical standpoint. But it fell back too early in the race, stood still for years, and today is without any hope of even staying in the same lap as the rest.
Sorry, Nate, but that’s the state of affairs. :.-(
It was very successfull in a lot of domain, but the horse power of the pc has killed it while the power of amiga was not growing so fast…. remember while Apple launched the powerpc line, and the wintel word was growing with all the 486DX2-66 stuff, the most powerfull amiga (in standard) was the amiga 4000 with only a 68030 (of course, the system was hyper reactive but for brut force it started to date a little)… If you add the fact that the commodore division litterraly burned money (remeber Irving Gould buying its own jet with the commodore money ?) or in order to compete with the CDI or with the 16 bits console of this days (genesis and snes) with the CD32……..
In french, we’ll say ‘ils couraient trop de lievres à la fois’ (they ran too many race in the same time)
But I’ll never forget the first time I saw an amiga 1000 in action running Deluxe Paint and PerfectSound in the same time…. Deluxe paint was playing an animation while Perfectsoud was replaying perfectly a Prince’s song (batman)
……..
Ahhhhhhhhhhhhh……..
The Amiga was the high level of integration between its hardware and software, but above all the flexibility of the Operating system.
The dynamic Ram disk, the locales, the preferences system, the Icon tool types, the fixed menu bar, the draggable/multi screens, the assigns (path alias), the devices, the file systems built in on the partitions, the partitioning system, the mount lists… the data types, and a long etc.
But it doesn’t matter, if you haven’t used any of these features before, you won’t appreciate them because someone tell you about them.
I did explain the concept of the Amiga?s Dynamic Ram disk to many people, and everybody keeps saying like donkeys: “Yes you can do a ram disk on Windows/Linux”. Then the only think I can do is shut up because they won’t get it.
If you try to show the good old Amiga to anyone, they start that stupid song of how ugly the interface is, and then start an endless speech about how a modern graphical interface should look like?
I will love if some Linux advocates grasp some of the good (not the bad ones!) Amiga concepts and mix then in Linux, that could be the Kick Linux needs to become the mainstream OS it deserves to be.
Finally, someone is pointing out all the great ideas Amiga had that still haven’t been implemented, especially datatypes and virtual directories. Commodore’s engineering department did some brilliant things with that machine.
This is a really, really nice article that deserves a lot more attention (also because of the other OS’s, but especially because of the Amiga).
One thing to add to Amiga: the GUI and command-line interface were smoothly integrated in the system. This is unlike Windows, where one couldn’t launch windows programs from the command-line (can they now? I don’t know); unline Mac OS classic, where there WAS no command-line; unlike Mac OSX, where the manner of launching programs from the command line is counterintuitive; unlike *nix, where the GUI is a later add-on and behaves that way.
BTW, I don’t think QNX was the first hard RTOS, although I couldn’t for the life of me say what was. In any case, “hard RTOS” isn’t a “lost” technology, since lots of past & current OS’s have used it and continue to use it. It’s just an ignored technology.
You think Hard RTOS is ignored?
it may be ignored by the OS media or slashdot, but it’s what runs US radar stations & missile guidance systems.
and we have lots of both.
Somebody must be kidding me, right? That’s the worst thing that has come out of Redmond. The intention was good, but the implementation is ugly, unmanageable, fragile, too much overhead required to the benefits, … I could go on and on.
Even Microsoft acknowledge on this: their new developpement platform (aka .NET) is reverting to file config has it always been.
Don’t key me wrong though: the Registry has it’s utility, but not something we wish to ‘keep’ in new OSes… please no!
it may be ignored by the OS media or slashdot, but it’s what runs US radar stations & missile guidance systems.
You’re right, and that’s what I meant: it’s ignored by the OS media and slashdot 🙂 And for that matter by “mainstream” OS’s
One thing to add to Amiga: the GUI and command-line interface were smoothly integrated in the system. This is unlike Windows, where one couldn’t launch windows programs from the command-line (can they now?
You certainly can in XP and while it’s not something I can say I’ve ever done often, I seem to recall it’s always worked the times I have tried it – which version are you thinking of ?
Someone should really add KeyKOS (or similar) to the wiki, and explain its security which is based on capabilities. Almost all modern operating systems use security based on ACLs, which is MUCH more error prone, and seems mostly like a standing invitation to crackers, virus writers, etc.
Not that anyone would listen… people never do.. *sigh*
if you know have handson experience/ideas on how security could/should be.. then please submit some text about it.
I have absolutely no experience with security, the only thing I know of are unix permissions. afaik, there are drawsites of unix-environment-variables with suid. Anyway.. I know jack about security.
Its important that experts contributes on this matter.
Thanks one more time 😉
—
Simon Strandgaard
Amiga 4000 used a 68040 processor (some later versions used 68060 I think), the 68030 processor was used by Amiga 3000.
if you know have handson experience/ideas on how security could/should be.. then please submit some text about it.
People have written tons about it, much better than I could have, so I suggest that anyone even remotely interested looks up what it’s all about. I recommend papers written by Mark S. Miller and/or Jonathan S. Shapiro. (Google is your friend.)
There is also a nice starting points at http://www.cap-lore.com/CapTheory/
You also might want to check out the mailing lists of EROS (“Extremely Reliable Operating System”) and the secure programming language E:
http://www.eros-os.org/mailman/listinfo/eros-arch
http://www.eros-os.org/mailman/listinfo/e-lang
You certainly can in XP and while it’s not something I can say I’ve ever done often, I seem to recall it’s always worked the times I have tried it – which version are you thinking of ?
I haven’t touched Windows since “98”. 🙂 That’s why I said, “couldn’t”, and then asked, “can they now?”
“It’s the “I’m the only one who must make money with this invention” mentality.”
Funny? The world has been working with that model for most of it’s existance. It’s called “benefitting from one’s labours” (and yes “mental” counts.) The opposite is “brilliant inventor comes up with idea. Other’s “steal” idea while inventor dies pennyless and unknown”
Anyway back to the main topic. This is a good idea, but one of the problems is explaining to others, who lack hands on experience those unique features. That’s why emulation is so necessary. Although in the Amiga (and Atari) case, the close bond between hardware and software puts limits on the emulation experience.
That I am not the only old Amiga fart out there. Ahh, they were the good old days, the rivalry between Atari and Amiga over the Midi space. I remember the first time I recorded some music it was on an Atari. Like the Amiga, the Atari had a pretty good operating system as well and the GUI was very easy to use.
Too bad the IT world is filled with people who practice the “Not Invented Here” syndrome. Microsoft had a perfectly good UNIX and all they needed was to bolt a nice GUI onto it. Had they done that we would have had a rock solid operating system by 1995 but instead they re-invented the wheel in the form of Windows NT.
Linux has the same syndrome, we had a perfectly good toolkit, qt, however, then we had the merry band of NIH merchants claiming the creation of GTK was necessarily for the “protection and promotion” of “freedom”.
Yes, there were licensing issues, but instead of re-inventing the wheel, why not negotiate with Trolltech? why wasn’t that avenue stretched? had they done that, then said that Trolltech were unwilling to talk, then sure, create and promote a GTK desktop then, however, IMHO, it was nothing more than a big religious backlash rather than a technical one.
“Too bad the IT world is filled with people who practice the “Not Invented Here” syndrome. Microsoft had a perfectly good UNIX and all they needed was to bolt a nice GUI onto it. Had they done that we would have had a rock solid operating system by 1995 but instead they re-invented the wheel in the form of Windows NT”
Indeed. Xenix on a RS Model 16 with a winchester drive.
Windows NT pre 4.0 was actually decent. There might have been other issues that kept MS from the Unix space, other than NIH.
“Linux has the same syndrome, we had a perfectly good toolkit, qt, however, then we had the merry band of NIH merchants claiming the creation of GTK was necessarily for the “protection and promotion” of “freedom”. ”
We also had GNUStep. Were’s the “holy wars” and conspiracy theories there? Waaa, not fair that QT and GTK have all the fun. Anyway GTK was originally created for the GIMP, NOT for any “P & P of freedom” war between QT and GTK.
Apart from Logicals and the security model there are load of features in VMS that make it onto my list. Some of these do appear in other O/S’s
1) Clustering down to the desktop. The ability to add workstations into a full blown cluster on the fly makes system managemen a dream.
2) Upgrading the clusters O/S without taking down the cluster(Rolling upgrade)
3) proper implemetation of a Cluster ALIAS Network Address
4) O/S has been 64 bit for years (ok, since V7 on Alpha)
5) Decent range of storage management options for local and LAN/SAN connections.
6) Properly shared disks via storage controllers(Since Clustering came in about 1984 or so)
And above all IMHO
7) A decent pre-emptive multi tasking scheduler. No one task can grab hold of the whole system forever. Why couldn’t Dave Cutler do the same job in Windows is beyond me.
8) It just does not crash. It is real commercial grade O/S.
@ Harky:
If you care to read the text accompaigning the Windows Registry entry, you’ll find that that’s exactly what’s being said there: Good idea, shitty implementation.
@ N.N.:
Short: You’re wrong.
Long: The A4000 had it’s CPU on a “CPU board”, plugged into a special extension slot. The first A4000 did have a 68030 CPU, later models had a 68LC040. Never did Commodore produce 68060 boards, although they were available from third parties.
There are actually 4. System,group,process and user. System: visible to any process.
Group: visible to all processes in the same UIC group (the UIC feature can be used to virtually divide the computing environment on a single box into several).
Process: visible to a process and its children (spawned).
User: one-shot (temporary) process logicals e.g. automatically removed after being read.
Logicals can be used in programs as for example
#include “abc$xyz:myfile.h”
The logicals are inside kernel space whereas Linux envvars are outside (I believe).
Besides OpenVMS has 4 spaces e.g. 4 rings: kernel,executive,supervisor and user (whereas Linux and Windows has 2 – kernel and user). File systems and command line interpreters (DCL) are in the executive and supervisor rings to protect the kernel and to protect them from the user.
Another nice OpenVMS feature is the resource locking service (sys$enq). Its bascially a critical section protection mechanism but quite elaborate. Supports different modes such as concurrent and exclusive read and write in addition to atomic conversion between modes and is used to synchronize access to whatever the programmer desires. IBM has ported it to Linux under the name dlm.
Then there is structured error handling. OpenVMS functions do not return -1,0,1 and has no errno. Instead they return a code that results in a readable message indicating how good or bad, where and what. If fatal then in addition a nice stack dump with line numbers is produced. Wish Linux had that instead of having to examine core dumps (that is – if you remembered to enable them – otherwise it is too late).
OpenVMS is also tidy. For example, all system functions are prefixed sys$ and all system library function are prefixed lib$.
But allthough the command line interpreter (DCL) is easier, more structured and more feature rich than bash then piping and redirection is much easier on Linux.
Too bad the IT world is filled with people who practice the “Not Invented Here” syndrome. Microsoft had a perfectly good UNIX and all they needed was to bolt a nice GUI onto it. Had they done that we would have had a rock solid operating system by 1995 but instead they re-invented the wheel in the form of Windows NT
I believe they wanted to make a Desktop VMS, a very good idea per se, and probably Dave Cutler was hurried by the marketing department and couldn’t do as he wanted (@ SteveD).
While we’re at the subject of OS designers being rushed…
The Amiga hardware and its OS was developed by Amiga Inc., not Commodore. Commodore had the money when Amiga Inc. ran short of it, bought out the company before Atari did, and crippled the Amiga right from the start. That’s what I meant with foster parents that were either careless, clueless, or both. (Later, EsCOM, Gateway, and Amino Inc. joined that hall of shame.)
Jay Miner pictured the first Amiga as being a full-sized metal desktop case, with lots of room for expansions, and at least 512 kByte, better 1 MByte RAM. The HAM mode (hold-and-modify, in effect a hardware compression / bandwidth saving technology) was designed to suit a HSB (Hue, Saturation, Brightness) color model quite beautifully, which would have made the graphics capabilities of the Amiga even more astounding.
Commodore shipped the A1000 with a measly 256 kByte RAM available after booting, in a crappy undersized plastic box, and with a RGB color model that made HAM next to useless.
The original AmigaDOS, dubbed CAOS (Commodore-Amiga Operating System), didn’t make it in time for the ambitious release deadline for the Amiga, so they crammed TRIPOS in there, a third-party DOS that wasn’t even ABI compatible since it was written in BCPL – making the dos.library a strange beast to handle even in its latest incarnation, OS 3.9, over 15 years later.
From there, it went rapidly downhill, and I still consider it a loss for the computer industry at large.
Sorry, while it’s true that Commodore underfunded & mismanaged Amiga, it was not all downhill from their purchase. For all the problems incurred by the clowns at the top, Commodore engineering made some brilliant moves with Amiga, not the least of which were the datatypes libraries.
True, at least in part: Most of what we consider the essentials of AmigaOS was already in there from the beginning, with a few things (like Datatypes) coming only later.
But one of the first decisions of Commodore was to relocate the engineering staff from from Los Gatos, California, to the east coast. They refused to place the Amiga head-to-head with the IBM PC, instead marketing it as kid’s computer and gaming console trying to copy the success of the C64. “Quality Assurance” at Commodore delayed professional software titles by *months*, to the point that some were never actually released. “LIVE!”, the very first video digitizer, was delayed so long that the A1000, for which it was designed, was no longer in production once “LIVE!” passed QA…
The most successful Amiga ever was the A500 – and most of those were never booted into Workbench, but served as game consoles only. They were nearly impossible to expand to any degree.
They produced more than one model that failed to sell any significant numbers, serving only to confuse the product line (A2500, A500+, A600). They delayed crucial technology advancements (AGA, AAA) as to “not endanger the sales” of older models. They created breaking technology but failed to tell the people what it was good for (CDTV). And, and, and…
The engineers were bright, but with every year there were fewer of them, and their work was hampered by underfunding and bulls*** management decisions.
Don’t cry about the Amiga just yet. I think the fact that we are shedding the legacy hardware is a
good thing. It was to restrictive and became outdated very fast. Now that we are moving to more
modern hardware (AmigaOne), if OS 4.0 has many of the great features that you have discussed above,
we stand a good chance of making some kind of comeback.
Yogi29