EditorsAbout the SiteComes vs. MicrosoftUsing This Web SiteSite ArchivesCredibility IndexOOXMLOpenDocumentPatentsNovellNews DigestSite NewsRSS

11.20.09

Why Windows Seems Like a Dead End

Posted in Microsoft, Vista 7, Windows at 9:48 am by Dr. Roy Schestowitz

Summary: Yesterday’s USENET post from Richard Rasker quoted verbatim

Subject: Windows 7′s dirty secrets revealed
From: Richard Rasker <spamtrap@linetec.nl> (Linetec)
Date: Thursday 19 Nov 2009 18:07:34
Groups: comp.os.linux.advocacy


An interesting look under the hood of Windows -- and in particular Vista 7:

http://www.theregister.co.uk/2009/11/18/windows_7_heart/

It would appear that quite a bit of criticism on the technical
implementation of Windows and the knowledge of Microsoft's programmers
actually isn't all that far off the mark:

- Criticism: Windows is such a convoluted mess that even Microsoft doesn't
understand it any more:

 "the operating system is full of internal dependencies, and as Russinovich
  admitted: "We don't really understand those dependencies".
  Engineers have added features to low-level APIs that assume the presence
  of dynamic link libraries (DLLs) that belong with higher level APIs, and
  when you try to extract just those low-level components, they break."

The upside here is of course that they're actually working on improving
things in this respect, even though I think that the *nix way of dealing
with libraries is far superior.

- Criticism: Windows depends heavily on dirty hacks to offer at least the
illusion of speed:

 "Microsoft has been in the habit of combining unrelated APIs into the same
  DLL for performance reasons."

and

 "Microsoft also picked out 300 common user actions, such as clicking the
  Start menu or opening Control Panel, and gave them intensive optimisation
  to improve perceived performance."

- Criticism: Windows encourages sloppy, messy programming:

 "How about reliability? This was fascinating. Microsoft observed that 15
  per cent of all user-mode crashes and 30 per cent of shutdown crashes were
  caused by heap corruption: applications that try to access freed memory,
  or memory beyond what is allocated. Its solution was a feature called the
  Fault Tolerant Heap (FTH).
  ...
  "The user gets better reliability at the expense of performance, which
  suffers by up to 15 per cent or so, while buggy applications work better
  than you would expect."

I really don't think that this is a good idea. If there's one way to make a
computer behave less predictable and perhaps make programmers lazy and
sloppy, it's to implement fault tolerance for software bugs.

Richard Rasker
Share this post: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Digg
  • del.icio.us
  • Reddit
  • co.mments
  • DZone
  • email
  • Google Bookmarks
  • LinkedIn
  • NewsVine
  • Print
  • Technorati
  • TwitThis
  • Facebook

If you liked this post, consider subscribing to the RSS feed or join us now at the IRC channels.

Pages that cross-reference this one

12 Comments

  1. David Gerard said,

    November 20, 2009 at 3:32 pm

    Gravatar

    This sort of thing is why I’m amazed Wine works so well. And why I’m not surprised Alexandre Julliard is *incredibly* fussy about what gets into Wine.

    Natasiel Reply:

    This remember me a post on Slashdot, and I have read it somewhere else too. As a sample example:

    Civilisation II has been released on Windows 3.11 then somewhere in the code, the application freed some memory. Due to a bug in Windows 3.11, the memory was not properly freed and Civilisation had to access this “not properly freed memory” to read some data. This bug has been fixed in Windows 95, but the proper fix broke Civilisation II. So, binary speaking, to keep backward compatibility, Windows 95 had a hack to verify if the calling application was civ2.exe before freeing memory.

    This is but one known of the many “features” inside the hidden Windows code. Wine has a better win32 API implementation than any Windows. Otherwordly, to be 100% compatible, Wine has to implement bugs.

    -Dominic

    David Gerard Reply:

    Yeah, that example was from Raymond Chen’s blog. Which everyone should read, because it’s a shining example of what ensuring backward compatibility means in the real world: http://blogs.msdn.com/oldnewthing/ Fantastic stuff.

    The problem is that if you buy Windows 95 and your old programs don’t work, you’re not going to blame the old program – you’re going to blame the new OS. So they have to do stuff like that. That’s the pain of selling an OS for proprietary software. With free software, people are used to recompiling – GNU/Linux has extremely bad backwards binary compatibility, because it doesn’t need it.

    Wine is so far resisting app-specific hacks (Crossover has a few, but the winehq tree doesn’t), but yeah, eventually it’ll have to implement them. At the moment it confines itself to accurately reproducing more general Windows bugs ;-) Test-driven development, no new features without a conformance test, etc.

    Roy Schestowitz Reply:

    That’s also why Microsoft can’t quite depart from x86.

    David Gerard Reply:

    Well, yeah. Backwards compatibility is the only reason to keep buying this stuff. Let’s duplicate Win32 on ARM! Uh, what? HORRIBLE programming interface.

    Yuhong Bao Reply:

    Get The Old New Thing book too. Among other things, it has an example where a journalist wrote a bad review on Win95. MS ended up calling in the journalist to investigate the bad review, and it turned that the journalist installed it via XCOPY, and not only that was unsupported, it caused a third-party control panel to hit an untested error path and crash due to a double-free. Also look at the comments on the Louderback review of Windows 7. It was obvious from the review itself that the problem that caused the bad review was the lack of drivers.

    Yuhong Bao Reply:

    Yea, in the Alpha NT days DEC had FX!32 and MS was going to create it’s own solution to run x86 Win32 apps too. BTW, guess why a solution to run x86 DOS and Win16 apps came with non-x86 NT but not x86 Win32 apps?

    Roy Schestowitz Reply:

    It was obvious from the review itself that the problem that caused the bad review was the lack of drivers.

    Vista architecture. See? That’s why it’s called Vista 7.

    Yuhong Bao Reply:

    “Vista architecture. See? That’s why it’s called Vista 7. ”
    Yes I know, but not the problem. MS do try to ensure driver backward compatiblity, XP and Vista drivers often do work in 7. It was mentioned in the comments, and by DaemonFC on IRC too when I was discussing why my old Palm device did not work on Vista.

    Roy Schestowitz Reply:

    So that’s the “post-Vista” era of Windows; still, leaving a trail of almost-obsolete binaries.

    Yuhong Bao Reply:

    What helped, I think, was the five-year gap between XP and Vista.

    Roy Schestowitz Reply:

    It’s not about duration.

What Else is New


  1. Links - MSNokia Passes Blame, Bill Gates pushes GMOs, Open Access news





  2. Links 7/2/2012: Firefox 11 Enters Beta, Canonical Disappoints KDE

    Links for the day



  3. IRC Proceedings: February 6th, 2012

    IRC logs for February 6th, 2012



  4. IRC Proceedings: February 5th, 2012

    IRC logs for February 5th, 2012



  5. Links 6/2/2012: PCLinuxOS 2012.02 and Mint KDE Reviews

    Links for the day



  6. Bill Gates Indoctrinates Youth in the United States and India, Critics Speak Out

    Backlash against the Gates Crusade to brainwash the young minds all around the world



  7. Bill Gates Uses Symbolic 'Donation' to Force Taxpayers to Pay Microsoft (of Which He Holds Shares)

    The Gates Foundation goes lobbying for Microsoft again, this time in Vietnam



  8. Monopoly as Innovation?

    Challenging the old misconception that patents are beneficial to anything but few multinationals and their patent lawyers



  9. Links 5/2/2012: Lenovo in India, Netrunner 4.1 is Out

    Links for the day



  10. IRC Proceedings: February 4th, 2012

    IRC logs for February 4th, 2012



  11. OpenStack, Microsoft, Junk Patents, Microsoft Copyrights, and Oracle Copyrights

    Another look at the OpenStack situation, why Microsoft should not be allowed to enter, and more about patent and copyright complications



  12. Apple, Which Started Patent Wars, Gets What It Deserves

    Apple products get banned (for the time being) after Apple decided to attack Linux-supporting competitors and then received some blowback



  13. Unitary Patent and the Emergence of More Junk Patents

    The rise of the junk patents and what we are taught about them by the news, including some news about the unitary patent in Europe



  14. Backlash Against Bill Gates' Lobbying for Patented Life

    GMO, a robbery of the right of reproduction (and a potential health hazard), is promoted by Bill Gates for profit, whereupon critics strike back



  15. IRC Proceedings: February 3rd, 2012

    IRC logs for February 3rd, 2012



  16. Links 4/2/2012: Ubuntu 12.04 Alpha 2 Preview, ACTA Backlash in Europe

    Links for the day



  17. A Glimpse at Executives Who Left the Sinking Novell Ship

    A roundup of news about former Novell staff and where that staff is moving these days



  18. Novell Makes New Software for Microsoft Windows and Office

    PR spin from Novell and money-grabbing moves that promote proprietary software rather than Free/Open Source software



  19. Links 3/2/2012: BT Vision Goes for Linux, Linux 3.3 With Android

    Links for the day



  20. Debt in Attachmate

    The company that bought Novell has a poor outlook, financial issues, and little signs of expansion/renaissance



  21. Longtime SUSE Executive Holger Dyroff Moves on, SUSE in a Bad State

    Key people continue to leave SUSE and the distribution is left without a compelling sales pitch



  22. Groklaw Update on Android Patent Cases and Response to FUD From Microsoft Lobbyists

    A few updates of greater importance where the Linux situation is discussed in the context of Android and Novell



  23. IRC Proceedings: February 2nd, 2012

    IRC logs for February 2nd, 2012



  24. Links 2/2/2012: DEFT Linux 7, Mozilla Firefox 10

    Links for the day



  25. IRC Proceedings: February 1st, 2012

    IRC logs for February 1st, 2012



  26. IRC Proceedings: January 31st, 2012

    IRC logs for January 31st, 2012



  27. IRC Proceedings: January 30th, 2012

    IRC logs for January 30th, 2012



  28. Bill Gates is Hijacking Open Source While Attacking It Using Lobbyists, Patents, and Patent Trolls

    Response to reputation laundering from Wired Magazine, the latest nonsense from Microsoft's lobbyist Florian Müller, an update on Microsoft's trolling against Android, and a little more of Apple's



  29. The Gates Foundation is Still Hijacking the Voice of the Poor and Effectively Runs Paid Advertisements Inside 'News'

    Money still the vehicle by which opinions get heard, so Bill Gates exploits this for fame, power, and profit



  30. Bill Gates and Rupert Murdoch Liaise to Take Over Minds of Children

    The latest dangerous hijack of education systems and the role played by creepy plutocrats with control over the press


RSS 64x64RSS Feed: subscribe to the RSS feed for regular updates

Home iconSite Wiki: You can improve this site by helping the extension of the site's content

Chat iconIRC Channel: Come and chat with us in real time

Recent Posts