|
|
Subscribe / Log in / New account

Plasma Active Three released

Plasma Active Three released

Posted Oct 16, 2012 13:31 UTC (Tue) by viro (subscriber, #7872)
In reply to: Plasma Active Three released by efraim
Parent article: Plasma Active Three released

*snort*

Not to argue the merits or lack thereof of UI theorists and their, er, highly fertilizing output, but... You are spouting BS. DOS has introduced hierarchical filesystems in 2.0, which was essentially a v7 lookalike welded on top of CP/M clone. It *was* a Unix clone, wrt file-related interfaces. I suggest you to look at the file-related APIs in DOS 1.0 - those are copied from CP/M. FCB junk. 2.0 and later had normal file descriptors, chdir(), pathnames, etc. FS layout had been different (and v7 filesystem would be very painful on floppies with not enough RAM to cache the metadata), but the idea itself had not been independently created - it had been an explicit copy. I'm not familiar with the history of MacOS interfaces, but I very much doubt that it had been independent development there. Hell, it wasn't independent on Unix either, but there it was more that the whole thing started around the work by the core Multics filesystem developers after Bell Labs had pulled out of Multics project.


to post comments

Plasma Active Three released

Posted Oct 16, 2012 16:00 UTC (Tue) by efraim (guest, #65977) [Link] (21 responses)

Before you accuse someone of "spouting BS" please make sure you understand what you read. You didn't. Of course DOS did not invent the concept. But it implemented it in entirely independent way. Which means only one thing - it was a useful concept worth copying - not an implementation detail.

Anyways, nice chat, see you.

Plasma Active Three released

Posted Oct 16, 2012 17:20 UTC (Tue) by viro (subscriber, #7872) [Link] (4 responses)

"Entirely independent way" meaning...? Implementing fs-related parts of v7 API is trivial, especially when you essentially don't care about races (and I wouldn't bet a dime on safety of fs syscalls from what-was-it-called... their "stay in background, get woken up on interrupts" kludge... TSR? At most I'd expect them to disable interrupts in what they deemed to be critical areas; most likely would've missed a bunch of races, at that).

So no, I don't think they bothered to nick actual v7 source. But that definitely had been a (trivial) reimplementation of existing interface.

It's about a man-month of work to implement and such reimplementations had been done quite a few times. Including initial debugging, enough to make it mostly usable, if not quite safe. In their case I'd expect the most PITA to have come from making it play nice with the preexisting pile of garbage (FCB syscalls).

If your point was that hierarchical filesystems had turned out to be useful enough for a lot of systems to reimplement them - sure, that's true, but what the hell does that have to do with independent anything? If we are talking about bitty-box parodies on OS, might as well bring Amiga - at least there it really seems that influence might have been not entirely from Unix (I don't know the TRIPOS history well enough to tell, but at least in that case a direct influence from Multics is plausible).

Since late 60s it had been fairly common. And it's simple enough to describe and implement by such description, at least in the basic forms[1]. More to the point, a lot of software depends on having that available, so not implementing a hierarchical fs means serious self-inflicted PITA in porting and redesigning user interfaces. The tricky part is maintaining a sane directory tree layout, but "let's not bother with that" is a lousy answer - all attempts so far seem to have been sucky. FWIW, I'm very sceptical about the tags-based approaches - the problem is real, but I don't think it's solvable that way...

[1] Once you have to deal with the UCB bad trips (cross-directory renames, handling of dangling symlinks, etc.) the things get more hairy, of course, but that's a separate story.

Plasma Active Three released

Posted Oct 16, 2012 19:37 UTC (Tue) by anselm (subscriber, #2796) [Link] (1 responses)

Even the Apple II had a hierarchical file system with an OS that was not an obvious Unix knockoff. It is reasonable to say that in the early 1980s, hierarchical file systems were simply an idea whose time had come.

Plasma Active Three released

Posted Oct 16, 2012 21:01 UTC (Tue) by dgm (subscriber, #49227) [Link]

> It is reasonable to say that in the early 1980s, hierarchical file systems were simply an idea whose time had come.

I would be, if you replaced the date with mid to late 60s.

Plasma Active Three released

Posted Oct 16, 2012 21:06 UTC (Tue) by rmini (subscriber, #4991) [Link]

Interestingly enough, MS was a v7 licensee before MS-DOS was around (Xenix). As an historical aside, MS-DOS handled protecting its non-reentrant APIs by setting a flag in memory that TSRs were supposed to check (with interrupts disabled) before making any DOS calls.

Plasma Active Three released

Posted Oct 21, 2012 23:06 UTC (Sun) by efraim (guest, #65977) [Link]

My original point is: the "original reimplementation" thing just means that the creators of those system found the feature useful enough to implement it.

If those systems were UNIX-derived, it would not say much - after all they'd inherit the implementation together with source code or at least API design.
That's why it's important to mention those system whose codebase was very different. Like DOS (BTW, as already mentioned, DOS DID have minimal support for FS usage from TSR - the very hairy idea of InDOS flag)

Plasma Active Three released

Posted Oct 17, 2012 22:51 UTC (Wed) by nix (subscriber, #2304) [Link] (15 responses)

DOS 2.0's implementation of a hierarchical filesystem was so unrelated to Unix that there was an undocumented switch you could flip which switched the path separator from \ (a choice forced on them by the CPM-inspired choice of / as the option character) to /. Just like, um, Unix.

Heck, some of the code even emulated Xenix interfaces to some degree. It was explicitly Unix-inspired.

Plasma Active Three released

Posted Oct 18, 2012 22:56 UTC (Thu) by BenHutchings (subscriber, #37955) [Link] (14 responses)

DOS system calls accept either path separator (and so does Win32). But since a leading '/' (and even an embedded '/' in some cases) is treated as introducing an option, it cannot really be used as a path separator.

MS-DOS 2.0 and some later releases supported changing the option character, typically to '-', resulting in a more Unix-like behaviour. However, command line parsing was left to each program and there was no widely used getopt() function, so this was never universally supported. There was also no convention of a special argument like '--' that would disable option parsing in subsequent arguments

Plasma Active Three released

Posted Oct 20, 2012 8:46 UTC (Sat) by nix (subscriber, #2304) [Link] (13 responses)

Oh, yes, it was never well-implemented and never worked properly. But that they tried at all pretty much proves Al's point that the whole DOS 2.0 directory thing was intended to emulate Unix (at that point the intention was to eventually ditch DOS and migrate everyone to Xenix, IIRC).

Plasma Active Three released

Posted Oct 20, 2012 14:35 UTC (Sat) by raven667 (subscriber, #5198) [Link] (12 responses)

How different he world would be if that had happened. Everything would be a unix-derivitave or unix-alike maybe aside from some very niche mainframe or embedded systems. The ecosystems between MS, Apple and Linux would be more directly cross-pollinated, if Linux was even started at all.

I don't know if that would have been a better world but I'd like to think so. At least it would have saved the world years of aggravation dealing with win/dos instability.

Plasma Active Three released

Posted Oct 20, 2012 16:26 UTC (Sat) by viro (subscriber, #7872) [Link] (11 responses)

You are overestimating the effects. Or just forgetting what the situation really had been.

* MacOS had not been thrown out and replaced by a Unix derivative until very late in the game.
* there had been AmigaOS, which was also not a Unix by any stretch of imagination. Might or might not have died off; hell knows.
* IBM mistake of using Intel's design failure (286 protected mode architecture) would still have happened. Results wouldn't have been any prettier than in real history. By the time Intel has fixed the worst of that it was too late - OS/2 interfaces had been deeply affected by that horror and it was too late to fix them.
* Gary Kildall and his pile of garbage. That's the guy you have to thank for the mess, far more than Gates&co. A lot of bitty-box software had been out there and it had been cheerfully ignoring the nearly inexistent kernel. Porting _that_ to anything resembling an operating system would have been slow and painful.

Plasma Active Three released

Posted Oct 20, 2012 19:43 UTC (Sat) by raven667 (subscriber, #5198) [Link] (10 responses)

> You are overestimating the effects. Or just forgetting what the situation really had been

That may be, this is speculative history fiction after all.

The seeds for MacOS were planted when NeXT was founded and successfully created its successor. Apple might have turned out very differently in the late 80's and 90's has NeXT been done in-house. Lets just change one thing for speculation purposes though.

I can see how 286 protected-mode could have thrown a monkey wrench into the design but Xenix was ported to the 386 and available at the time a switch over could have been made from DOS. Compatibility could have been maintained with Merge for example or some other DOSBox-like technology created. Windows could have been designed for Xenix instead of DOS.

The rest of the systems turned out to be small fry or have fundamental flaws either technically or in the management of the companies supporting them. I don't think the winners and losers of the 80s-90s would have turned out differently but there was an opportunity that was missed.

Plasma Active Three released

Posted Oct 20, 2012 21:54 UTC (Sat) by viro (subscriber, #7872) [Link] (9 responses)

There had been lots and lots of software that would be hell to port to anything OS-like. Unix, VMS, whatever. Nothing short of fully virtualized system would help and that would be prohibitively costly on 286 (not to mention 8086). It didn't have to be written that way; it just had been the common culture on CP/M boxen and it had been transported over to DOS. And no, MacOS of the period hadn't been any better in that respect. And 386 had been too late to really affect that - by the time it had been widely deployed, there had been a huge market and it had been way too late. I suspect that this is what had really doomed any plans of transition to Xenix.

As for 286, I really wonder what would an OS Intel had in mind for that beast look like. Some kind of Ada environment, perhaps? Definitely not something resembling Unix...

Plasma Active Three released

Posted Oct 21, 2012 15:47 UTC (Sun) by raven667 (subscriber, #5198) [Link] (8 responses)

Aside from os/2 I don't think the 286 was relevant except as a a faster 8086 and the 386 was the transition point. Dosbox shows that the vm route is viable.

Plasma Active Three released

Posted Oct 21, 2012 18:43 UTC (Sun) by nix (subscriber, #2304) [Link] (5 responses)

The VM route is viable *with modern hardware*, because its CPUs are much much faster and memory much more capacious than the systems being emulated. On late-1980s and early-1990s CPUs like the 80386 (which was introduced in 1985 and was becoming common in the early 1990s), it is wholly impractical to expect to be able to do instruction-level, let alone cycle-accurate, emulation of even an 8086, let alone a 286.

Plasma Active Three released

Posted Oct 22, 2012 5:13 UTC (Mon) by raven667 (subscriber, #5198) [Link] (4 responses)

The 386 does run 8086 software just fine. Sure some runs too fast or whatever but the CPU has the appropriate guts to run 8086 software in a VM and that feature was in use at the time. For example Concurrent DOS 386.

Of course the rest of this is high speculation as it wasn't what happened.

Plasma Active Three released

Posted Oct 22, 2012 15:21 UTC (Mon) by nix (subscriber, #2304) [Link] (3 responses)

I know it does. But if insn-level emulation was required, it couldn't possibly have (i.e. if it had done what dosbox et al do now).

Plasma Active Three released

Posted Oct 22, 2012 17:12 UTC (Mon) by raven667 (subscriber, #5198) [Link] (2 responses)

Win3.1 with virtual memory enabled and WinNT, Win95 had the same problem so how they solved it should be sufficient. DOSBox does better but that may because it creates virtual video, sound and network devices in its VM. I don't think it does any more instruction emulation/trapping than a WinNT DOS window.

Plasma Active Three released

Posted Oct 24, 2012 15:49 UTC (Wed) by nix (subscriber, #2304) [Link] (1 responses)

The two are quite different. Win3.1/NT/95 were all 32-bit systems, so they had the benefit of being able to use VM86 to do 90% of the work for them. In long mode (64-bit mode), vm86 no longer exists, so this approach cannot be used.

Plasma Active Three released

Posted Oct 24, 2012 16:27 UTC (Wed) by raven667 (subscriber, #5198) [Link]

Thanks for the clear response, I hadn't thought about that. I'd forgotten about the differences between 32bit and 64bit mode on modern CPUs, and that dosemu and dosbox aren't the same thing.

Plasma Active Three released

Posted Oct 21, 2012 19:07 UTC (Sun) by viro (subscriber, #7872) [Link] (1 responses)

Remind me, when had 386 boxen become widespread enough? IIRC, in the very late 80s... And overhead of vm86, while nowhere near that of hacks possible on 286, could still be heavy, depending on what the turd running in it had been doing. IRH the things had eventually gone that way, but it took a lot of time. IBM had invested too much into 286 boxen; OS/2 was only the software half of disaster...

AFAICS, there were two critical points in the making of that mess; one in mid-70s, when CP/M had been designed and spread, with resulting traditions of software that assumed it had essentially solitary control of bare hardware and another in the end of 70s, when internal politics in Intel has lead to 80286 design picked. Hell knows what happened in there - at the same time they had an even worse disaster going on (iAPX432) and chances of iAPX286 design to get accepted had to depend on how much could it be internally sold as aligned with iAPX432 one, but details are probably impossible to reconstruct by now.

Plasma Active Three released

Posted Oct 22, 2012 5:17 UTC (Mon) by raven667 (subscriber, #5198) [Link]

In my speculative revised history I would think that the Xenix transition would happen in the early 90's, maybe with Win3.x and instead of developing new kernels for WinNT and Win9x. The result would probably have looked a lot like NeXT.


Copyright © 2025, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds