ontolog-forum
[Top] [All Lists]

Re: [ontolog-forum] How not to write specifications

To: "[ontolog-forum]" <ontolog-forum@xxxxxxxxxxxxxxxx>
From: Ed Barkmeyer <edbark@xxxxxxxx>
Date: Tue, 01 Jul 2008 18:05:47 -0400
Message-id: <486AAA3B.4020403@xxxxxxxx>
John,    (01)

you wrote:    (02)

> EB> (1) a general lack of design principles in MS Windows in
>  > the 1990-95 period...
> 
> Not true.  Microsoft hired the chief designer of Digital's VMS,
> which was an outstanding operating system.  The foundation for
> NT was OS/2, which was jointly designed by IBM and MSFT.  ...    (03)

Which was not MS Windows in the 1990-95 period.    (04)

Windows NT was a separate product, and I said that, and I pointed to the 
VMS background.    (05)

> EB> (2) a poor hardware base...
> 
> EB> (3) upward compatibility requirements...
> 
> Neither of those is true.  Both NT and OS/2 were designed to run
> on any 32-bit hardware,     (06)

Except that Intel didn't actually build a 32-bit hardware architecture 
until 1994, which is what I said.  The problem with the previous 80x86 
designs was that the memory was never a single address space as seen by 
the instruction set, every I/O device control was thru a primary 
register, and all the DMA schemes were different.  The 1980 breakthrough 
in microcomputers (like the MC68000 used by Apple and the Z8000) was 
32-bit addressing in the processor and "memory-mapped", i.e. 
bus-addressable, devices.  And most of them involved shared bus control, 
which Intel had pioneered but IBM didn't use in the PC design.    (07)

And NT was not a part of the Windows 95 or Windows 97 or Windows 98 or 
Windows 2000 products.    (08)

> and the migration strategy outlined above
> would have allowed the old 3.1 GUI and a full 32-bit GUI to coexist
> on different applications running simultaneously.    (09)

Of course.  But that "GUI" included application intervention in keyboard 
interfaces, mouse movement, screen displays, sound management, etc. 
Microsoft actually made a significant investment in constructing a 
virtual environment to run such applications in Windows 95.  Part of the 
upward compatibility problem was to make the real operating system 
elements support that virtual environment.  It gave rise to a lot of 
cascading interface conversions, which became a bad habit at Microsoft.    (010)

And each system has introduced new upward compatibility issues, 
particularly in the graphics and sound areas, because the previous 
system functionality set was underdesigned with respect to the next 
generation hardware.  The general model being presented to the 
application has been different from the underlying support models since 
Windows 95, and each time it is augmented, the next generation of 
hardware modifies the support model and forces another transform. 
Almost all of this is about supporting the fancy graphics and sound 
capabilities needed by games and videos, which is where (4) comes in.    (011)

> EB> (4) all things to all men.  The Windows target market was
>  > businesses, control systems, gamers and hobbyists, and grandmothers.
> 
> Apple's OS X meets those requirements far better with a separable
> GUI on top of a Unix clone.  A server doesn't need a high-speed GUI,
> but a game machine needs a super-speed GUI.  If they're separate,
> you can support both with the same kernel.  For example, a game
> GUI could run in a virtual memory that is locked into unpaged RAM.    (012)

How and what Apple does in this diverse market I don't really know.  But 
unlike Microsoft, they didn't have 18 other companies making new and 
wonderful display hardware and graphics accelerators and enhanced sound 
systems that Dell and Sony and IBM and HP and ... elected to plug into 
their hardware platforms.  Each of the hardware vendors was targeting a 
particular market and seeking "best in class" in that market, but they 
all depended on Windows to support them.   Microsoft was only somewhat 
able to control the interface situation, and unlike Apple, they were not 
trying to create and control customer appetites (in that area).    (013)

The point I was making is that trying to support all of it, along with 
upward compatibility with earlier underdesigns, and bad ideas like 
"integrating" the browser into the operating system, had a much bigger 
impact than the degree of "modularity" in the software design.    (014)

> EB> (5) external pressure.  Vista is a hack on Windows XP whose
>  > primary objective was to lock down security before certain powerful...
> 
> Any OS designer with any smarts would know that those security features
> would be broken by a professional hacker in about 15 minutes.     (015)

I was recently given to understand that in mid-2008 Mac OS X is known by 
security freaks to have about the same level of vulnerability as Vista. 
  The advantage it has is that fewer criminals have chosen to attack it, 
because targeting 20% of the marketplace produces lower RoI than 
targeting 80% of it.    (016)

But you don't need to be a highly skilled professional hacker to 
penetrate most of these systems.  There are lots of stupid and careless 
people who have access and are just waiting to be used.    (017)

> Sony
> made the foolish decision to placate the RIAA, and Steve Jobs ate
> their lunch.  When an industry such as RIAA has an obsolete business
> model, getting in bed with them is suicide.    (018)

Yes, Apple and Microsoft can ignore certain industry complaints, and 
even big political campaigns from some industry organizations.  But I 
don't think it was the RIAA that created the security issues that 
spawned Vista.  Think who is liable for everything but the first $50 on 
credit card frauds, and who is deeply concerned about penetration of 
databases of private information that was acquired by law.  And imagine 
the pressure they can bring to bear.    (019)

> EB> And OBTW, the saga of Windows is a nearly one-for-one repeat of
>  > the sequence of mistakes IBM made in designing operating systems
>  > for the 360/370 series between 1964 and 1976.
> 
> I was at IBM in those years, and I plan to write some memoirs about
> those events.  The only thing in common was that pointy-haired
> bosses made technical decisions for political reasons.  The kinds
> of mistakes were very different.      (020)

Well, John, you and I seem to have different approaches to abstraction. 
  So it stands to reason we wouldn't see the same commonalities:
- bad systems design practices
- underdesigned hardware
- upward compatibility requirements
- all things to all men    (021)

But then, you don't believe that those were characteristic of the 
Windows legacy either.    (022)

In fairness, the IBM 360 effort was among the first of its kind, and 
some of the underdesign was a consequence of unknown territory.  But 
unfortunately, some of it was deliberate, and some of it was also 
failing to learn from prior experience, or to use the people who had it. 
  And once the mistakes were in place in the customer and developer 
shops, upward compatibility became an albatross.  MVS was every bit as 
ugly and ungainly as Vista, and for many of the same reasons.    (023)

Quod scripsi, scripsi.    (024)

-Ed    (025)

-- 
Edward J. Barkmeyer                        Email: edbark@xxxxxxxx
National Institute of Standards & Technology
Manufacturing Systems Integration Division
100 Bureau Drive, Stop 8263                Tel: +1 301-975-3528
Gaithersburg, MD 20899-8263                FAX: +1 301-975-4694    (026)

"The opinions expressed above do not reflect consensus of NIST,
  and have not been reviewed by any Government authority."    (027)

_________________________________________________________________
Message Archives: http://ontolog.cim3.net/forum/ontolog-forum/  
Subscribe/Config: http://ontolog.cim3.net/mailman/listinfo/ontolog-forum/  
Unsubscribe: mailto:ontolog-forum-leave@xxxxxxxxxxxxxxxx
Shared Files: http://ontolog.cim3.net/file/
Community Wiki: http://ontolog.cim3.net/wiki/ 
To Post: mailto:ontolog-forum@xxxxxxxxxxxxxxxx    (028)

<Prev in Thread] Current Thread [Next in Thread>